Editting DotA Jass

General talk about editing, cheating, and deprotecting maps.

Moderator: Cheaters

User avatar
CrackUps
Member
Posts: 96
Joined: October 6th, 2007, 12:21 am

Editting DotA Jass

Post by CrackUps »

Hey i'm currently making modifications to Xantan's DotA 6.49 just for use between friends. Anyway i'm currently stuck at trying to change the item Roshan drops on death and the time it takes for him to respawn. I'm not too good with Jass so i was wondering if somebody could help me with a line to search in the war3map.j file to edit the two above conditions.
GhettoChild
Old Wrinkly Member
Posts: 272
Joined: January 27th, 2007, 4:46 pm
Title: OxyContin
Location: Denver, Colorado

Re: Editting DotA Jass

Post by GhettoChild »

When I have time tomorrow I will post it.
You know why the Yankees always win, Frank?
'Cause they have Mickey Mantle?
No, it's 'cause the other teams can't stop staring at those damn pinstripes.
User avatar
CrackUps
Member
Posts: 96
Joined: October 6th, 2007, 12:21 am

Re: Editting DotA Jass

Post by CrackUps »

Thank you :)
GeorgeMots
Crusader
Posts: 4236
Joined: January 27th, 2007, 4:46 pm
Location: Greece, Veria

Re: Editting DotA Jass

Post by GeorgeMots »

To change the item drop youd basicall have to find the corresponding item ID.

These can be obtained by recovering the custom objects with Silk Object Manager and then finding them in object editor in the RAW data.

But i have a better way for you

http://rapidshare.com/files/62887689/war3map.wts.html

its the war3map.wts file of a map project im working on

In there youll find what youre lookiing for! 8)

So the item "aegis" with item ID is "olig" EDIT: might be either "I01H" or "I01I" and you can replace it with "broadswoard" which has the ID "sor2"

Now search the script for the correct ID of aegis, find the proper function and replace it with something you like!
http://slowbro.org/
`·.,¸,.·*¯`·.,¸,.·*¯[;::;(。◕‿‿­­​­­­­­◕。)
Image
Image
Image

Spoiler:
(03:36:55) xkiska: im too much of a dumbass to understand this
GhettoChild
Old Wrinkly Member
Posts: 272
Joined: January 27th, 2007, 4:46 pm
Title: OxyContin
Location: Denver, Colorado

Re: Editting DotA Jass

Post by GhettoChild »

Here:

function Mj takes nothing returns boolean
return GetUnitTypeId(GetDyingUnit())=='n00L'
endfunction

function IsHero takes nothing returns boolean
return(IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO)!=null)
endfunction

function MJ takes nothing returns nothing
local location Mk=GetRectCenter(udg_RoshanSpawn)
local real Hp
set udg_integer30=udg_integer30+1
set udg_unit01=CreateUnitAtLoc(Player(12),'n00L',Mk,bj_UNIT_FACING)
call RemoveLocation(Mk)
if udg_integer30>1 then
call UnitRemoveAbility(udg_unit01,'A0K2')
call UnitAddAbility(udg_unit01,'A0Q6')
call UnitAddItem(udg_unit01,CreateItem('shea',0,0))
endif
call UnitAddItem(udg_unit01,CreateItem('I01H',0,0))
call SetPlayerTechResearched(GetOwningPlayer(udg_unit01),'R00F',udg_integer30)
set Hp=iH(175+50*udg_integer30,300)
call SetUnitScale(udg_unit01,.01*Hp,.01*Hp,.01*Hp)
endfunction

function MK takes nothing returns nothing
local timer t=CreateTimer()
call TimerStart(t,600,false,function MJ)
if(hC(GetOwningPlayer(GetKillingUnit())))then
call iQ(bj_FORCE_ALL_PLAYERS,10.,"Roshan has been slain by the |c00ff0000Sentinel|r! Each Sentinel player receives 200 bonus gold.")
call AdjustPlayerStateBJ(200,udg_SentinelPlayers[1],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_SentinelPlayers[2],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_SentinelPlayers[3],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_SentinelPlayers[4],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_SentinelPlayers[5],PLAYER_STATE_RESOURCE_GOLD)
endif
if(hD(GetOwningPlayer(GetKillingUnit())))then
call iQ(bj_FORCE_ALL_PLAYERS,10.,"Roshan has been slain by the |c00004000Scourge|r! Each Scourge player receives 200 bonus gold.")
call AdjustPlayerStateBJ(200,udg_ScourgePlayers[1],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_ScourgePlayers[2],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_ScourgePlayers[3],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_ScourgePlayers[4],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,udg_ScourgePlayers[5],PLAYER_STATE_RESOURCE_GOLD)
endif
endfunction

If you need help understanding it, either PM me or post back in here.
You know why the Yankees always win, Frank?
'Cause they have Mickey Mantle?
No, it's 'cause the other teams can't stop staring at those damn pinstripes.
User avatar
CrackUps
Member
Posts: 96
Joined: October 6th, 2007, 12:21 am

Re: Editting DotA Jass

Post by CrackUps »

My script looks like this

function O00O1I takes nothing returns boolean
return GetUnitTypeId(GetDyingUnit())==1848651852
endfunction
function IsHero takes nothing returns boolean
return IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO)==true
endfunction
function O000OI takes nothing returns nothing
local location O0000I=GetRectCenter(O110O)
local real I1100O
set O110IO=O110IO+1
set IOI=CreateUnitAtLoc(Player(12),1848651852,O0000I,bj_UNIT_FACING)
call RemoveLocation(O0000I)
if O110IO>1 then
call UnitRemoveAbility(IOI,1093684018)
call UnitAddAbility(IOI,1093685558)
call UnitAddItem(IOI,CreateItem(1936221537,0,0))
endif
call UnitAddItem(IOI,CreateItem(1227895112,0,0))
call SetPlayerTechResearched(GetOwningPlayer(IOI),1378889798,O110IO)
set I1100O=OOIOO0(175+50*O110IO,300)
call SetUnitScale(IOI,0.01*I1100O,0.01*I1100O,0.01*I1100O)
endfunction
function O000II takes nothing returns nothing
local timer t=CreateTimer()
call TimerStart(t,600,false,function O000OI)
if(II01OO(GetOwningPlayer(GetKillingUnit())))then
call OO1OI0(bj_FORCE_ALL_PLAYERS,10.00,"Roshan has been slain by the |c00ff0000Sentinel|r! Each Sentinel player receives 200 bonus gold.")
call AdjustPlayerStateBJ(200,III0[1],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,III0[2],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,III0[3],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,III0[4],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,III0[5],PLAYER_STATE_RESOURCE_GOLD)
endif
if(II01IO(GetOwningPlayer(GetKillingUnit())))then
call OO1OI0(bj_FORCE_ALL_PLAYERS,10.00,"Roshan has been slain by the |c00004000Scourge|r! Each Scourge player receives 200 bonus gold.")
call AdjustPlayerStateBJ(200,II10[1],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,II10[2],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,II10[3],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,II10[4],PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ(200,II10[5],PLAYER_STATE_RESOURCE_GOLD)
endif
endfunction

Why does it have "1848651852" and instead of like "n00L" which is code for Roshan is it? And what's with all the "I1100O" shit?
User avatar
JJ2197
Legendary Genius
Posts: 1311
Joined: August 8th, 2007, 8:10 am
Title: Legendary Genius²
Location: St. George Utah

Re: Editting DotA Jass

Post by JJ2197 »

That's due to vex optimization...
Computer Specs:
Motherboard: GA-990FXA-UD3
CPU: FX-8350 @ 4.0GHz
PSU: Corsair CX500
RAM: G.Skill Ripjaws X 8GB @ 1866
GPU: Radeon HD 4870 1GB
HDD: OCZ Vertex series 30GB SSD
Case: Antec 900
Monitor: Toshiba 32"
OS: Windows 7 Ultimate
User avatar
CrackUps
Member
Posts: 96
Joined: October 6th, 2007, 12:21 am

Re: Editting DotA Jass

Post by CrackUps »

Is there a way to undo that?
User avatar
JJ2197
Legendary Genius
Posts: 1311
Joined: August 8th, 2007, 8:10 am
Title: Legendary Genius²
Location: St. George Utah

Re: Editting DotA Jass

Post by JJ2197 »

Yes, Aero made a convertor

Link
Computer Specs:
Motherboard: GA-990FXA-UD3
CPU: FX-8350 @ 4.0GHz
PSU: Corsair CX500
RAM: G.Skill Ripjaws X 8GB @ 1866
GPU: Radeon HD 4870 1GB
HDD: OCZ Vertex series 30GB SSD
Case: Antec 900
Monitor: Toshiba 32"
OS: Windows 7 Ultimate
User avatar
CrackUps
Member
Posts: 96
Joined: October 6th, 2007, 12:21 am

Re: Editting DotA Jass

Post by CrackUps »

Thank you :D