Problem with protection.

General talk about editing, cheating, and deprotecting maps.

Moderator: Cheaters

Apple
Forum Staff
Posts: 1470
Joined: November 3rd, 2010, 10:48 am
Title: Best Player
Location: Singapore

Problem with protection.

Post by Apple »

I want to know what kind of protection is stopping my sgguy's cp to work.
after I inserted the cp I protected it with a program.
It seems like the protection I've used made sgguy cp not working.
so how do I remove the protection which cause the problem?
PS: I want the remaining protections and I just want to remove the one which stops the cheatpack to function.


___________________________________________________________________________________
*UPDATE*
1st problem DONE
2nd problem
There's a 2nd problem about protection, help me please:D
____________________________________________________
Here's my another problem with protection, I'll post it here too.
2nd problem

Spoiler:

Code: Select all

function rb takes nothing returns nothing
return
call CreateQuestBJ(0,"3.14159","IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIII","ReplaceableTextures\\CommandButtons\\BTNHolyBolt.blp")
endfunction
I get to know this is called the Multi Quest Line Protection.
Once clicked save, the jass error caused the map to be unplayable.
Now, since it can't be saved, how to insert this anticheat protection into the map at first?
A tutorial would be much appreciated. (:
You do not have the required permissions to view the files attached to this post.
Last edited by Apple on May 9th, 2012, 10:48 am, edited 3 times in total.
Request a map? Follow the rulesHERE
Request templateHERE
Please, do not PM me.
On the side note, I'm still playing vampirism speed on malaysia room, occasionally in Garena. Bcuz too lazy to find out where else I can play them.
User avatar
haxorico
Super Moderator
Posts: 3196
Joined: February 24th, 2009, 1:31 pm
Location: JEW LAND
Been thanked: 1 time

Re: Problem with protection.

Post by haxorico »

after I inserted the cp I protected it with a program.
So you want us to guess what protection you used?
Image
Spoiler:
(02:24:09)

Code: Select all

ChatBot: FatherSpace logs into the Chat.
(02:24:28) Lanaya: Gtfo ken.
(02:24:33) ChatBot: FatherSpace logs out of the Chat.
(02:24:40) Lanaya: Thought so. bitch.
(02:24:44) ChatBot: FatherSpace logs into the Chat.
(02:24:48) FatherSpace: Can I come back yet?
(02:24:51) Lanaya: What'd i say earlier.
(02:24:51) Lanaya: No.
(02:24:58) FatherSpace: Let's try this...
(02:25:01) ChatBot: Lanaya has been logged out (Kicked).

Code: Select all


(14:33:51) 2Pac: Do you know what'S so funny?
(14:34:01) Lanaya: No, please show me.
(14:34:07) 2Pac: This.
(14:34:09) ChatBot: Lanaya has been logged out (Kicked).
(14:34:10) 2Pac: 

Code: Select all

(14:35:59) haxorico: No one will belive me if I say "I got this song from 2pac on MSN" lolz ^^
(14:36:02) Lanaya: lolz.
(14:36:16) 2Pac: I AIN'T DEAD FFS.
(14:36:26) 2Pac: I'm a living legend, y'now.
(14:37:17) haxorico: why is 2Pac a legend?
(14:37:28) Lanaya: He's the worse rapper evar.

Code: Select all

(15:42:51) Lanaya: can i suck , . . .

Code: Select all

(13:55:21) ChatBot: 2Pac rolls 1d100 and gets 1.
(13:55:21) ChatBot: haxorico rolls 1d2 and gets 2.
(13:55:27) haxorico: owned?

Code: Select all

GeorgeMots: xplain what happens in SP. Why cant you save?
dast.-:i need play with 2 players

Code: Select all

(21:53:08) (673237): plzplzplz, im sorry about before.
(21:53:26) FatherSpace: I'm sorry you were born.
(21:53:31) ChatBot: (673237) has been logged out (Kicked).

Code: Select all

(10:08:02) Bartimaeus: you do know run I youtube channel for my favorite music, right?
User avatar
Vegas
Shopping Maul USA Creator
Posts: 1759
Joined: January 18th, 2007, 11:07 am
Title: No Comment
Location: Calgary Canada
Has thanked: 36 times
Been thanked: 8 times

Re: Problem with protection.

Post by Vegas »

I think he is wanting to know what type of protection is in the map. It's not HIS protection, but the protection the author used prevents the CP from not working.
Apple
Forum Staff
Posts: 1470
Joined: November 3rd, 2010, 10:48 am
Title: Best Player
Location: Singapore

Re: Problem with protection.

Post by Apple »

haxorico wrote:
after I inserted the cp I protected it with a program.
So you want us to guess what protection you used?
Yeah exactly :D
Vegas wrote:I think he is wanting to know what type of protection is in the map. It's not HIS protection, but the protection the author used prevents the CP from not working.
Stop assuming. I obviously tested putting just the cheats. it worked.
and then I added protection with some tools. and sgguy cp can't be used after protecting it. So it's MINE protection, not the map author's.
Request a map? Follow the rulesHERE
Request templateHERE
Please, do not PM me.
On the side note, I'm still playing vampirism speed on malaysia room, occasionally in Garena. Bcuz too lazy to find out where else I can play them.
naturesfury
Forum Spammer
Posts: 610
Joined: March 30th, 2009, 9:02 pm

Re: Problem with protection.

Post by naturesfury »

what tools?
Apple
Forum Staff
Posts: 1470
Joined: November 3rd, 2010, 10:48 am
Title: Best Player
Location: Singapore

Re: Problem with protection.

Post by Apple »

extprotect
Request a map? Follow the rulesHERE
Request templateHERE
Please, do not PM me.
On the side note, I'm still playing vampirism speed on malaysia room, occasionally in Garena. Bcuz too lazy to find out where else I can play them.
User avatar
Bartimaeus
Tyrannical Drama Queen
Posts: 4430
Joined: November 19th, 2007, 5:05 am
Been thanked: 2 times

Re: Problem with protection.

Post by Bartimaeus »

God.Is.A.Dog wrote:
Vegas wrote:I think he is wanting to know what type of protection is in the map. It's not HIS protection, but the protection the author used prevents the CP from not working.
Stop assuming. I obviously tested putting just the cheats. it worked.
Ah, yes, that was *so* "obvious" from your original post...which is why both Haxorico and Vegas were unsure what you were asking for. So very clearly obvious.

Regardless, if you use extprotect when it's not cheated does it still work?
Apple
Forum Staff
Posts: 1470
Joined: November 3rd, 2010, 10:48 am
Title: Best Player
Location: Singapore

Re: Problem with protection.

Post by Apple »

Bartimaeus wrote:
God.Is.A.Dog wrote:
Vegas wrote:I think he is wanting to know what type of protection is in the map. It's not HIS protection, but the protection the author used prevents the CP from not working.
Stop assuming. I obviously tested putting just the cheats. it worked.
Ah, yes, that was *so* "obvious" from your original post...which is why both Haxorico and Vegas were unsure what you were asking for. So very clearly obvious.

Regardless, if you use extprotect when it's not cheated does it still work?
Nope I didn't try that because I want the whole war3map.j including the CP to be optimized with extprotect.
Anyways, I'm just curious how this program made the CP unable to be used.
LOL Bart you nasty sarcastic admin :lol:
Request a map? Follow the rulesHERE
Request templateHERE
Please, do not PM me.
On the side note, I'm still playing vampirism speed on malaysia room, occasionally in Garena. Bcuz too lazy to find out where else I can play them.
User avatar
haxorico
Super Moderator
Posts: 3196
Joined: February 24th, 2009, 1:31 pm
Location: JEW LAND
Been thanked: 1 time

Re: Problem with protection.

Post by haxorico »

I can't find a CP in the map you posted. The tool you used might have detected and deleted the CP.
If you want to see what the tool does exactly try this:

1)Extract and keep a bakup of the original war3map.j file.
2)Delete all its content. and make it look like this:
Spoiler:

Code: Select all

globals

endglobals

function main takes nothing returns nothing

endfunction
3) Insert the CheatPack.
4) Add and overide the war3map.j file
5) Protect the map
6) Extract the war3map.j file to see what has been changed.
Image
Spoiler:
(02:24:09)

Code: Select all

ChatBot: FatherSpace logs into the Chat.
(02:24:28) Lanaya: Gtfo ken.
(02:24:33) ChatBot: FatherSpace logs out of the Chat.
(02:24:40) Lanaya: Thought so. bitch.
(02:24:44) ChatBot: FatherSpace logs into the Chat.
(02:24:48) FatherSpace: Can I come back yet?
(02:24:51) Lanaya: What'd i say earlier.
(02:24:51) Lanaya: No.
(02:24:58) FatherSpace: Let's try this...
(02:25:01) ChatBot: Lanaya has been logged out (Kicked).

Code: Select all


(14:33:51) 2Pac: Do you know what'S so funny?
(14:34:01) Lanaya: No, please show me.
(14:34:07) 2Pac: This.
(14:34:09) ChatBot: Lanaya has been logged out (Kicked).
(14:34:10) 2Pac: 

Code: Select all

(14:35:59) haxorico: No one will belive me if I say "I got this song from 2pac on MSN" lolz ^^
(14:36:02) Lanaya: lolz.
(14:36:16) 2Pac: I AIN'T DEAD FFS.
(14:36:26) 2Pac: I'm a living legend, y'now.
(14:37:17) haxorico: why is 2Pac a legend?
(14:37:28) Lanaya: He's the worse rapper evar.

Code: Select all

(15:42:51) Lanaya: can i suck , . . .

Code: Select all

(13:55:21) ChatBot: 2Pac rolls 1d100 and gets 1.
(13:55:21) ChatBot: haxorico rolls 1d2 and gets 2.
(13:55:27) haxorico: owned?

Code: Select all

GeorgeMots: xplain what happens in SP. Why cant you save?
dast.-:i need play with 2 players

Code: Select all

(21:53:08) (673237): plzplzplz, im sorry about before.
(21:53:26) FatherSpace: I'm sorry you were born.
(21:53:31) ChatBot: (673237) has been logged out (Kicked).

Code: Select all

(10:08:02) Bartimaeus: you do know run I youtube channel for my favorite music, right?
Apple
Forum Staff
Posts: 1470
Joined: November 3rd, 2010, 10:48 am
Title: Best Player
Location: Singapore

Re: Problem with protection.

Post by Apple »

Globals
Spoiler:

Code: Select all

globals
integer array O31698
integer array O31798
dialog array O31906
button array O32018
integer array O32054
button array O32132
button array O32170
integer array O32274
boolean array O32323
button array O32364
boolean array O32488
string array O32597
boolean array O32676
integer O60328=0
integer array O32795
dialog O58556=null
button array O32809
boolean array O32930
dialog O58653=null
boolean array O33007
boolean array O33093
boolean array O33116
button array O33198
trigger array O33252
triggeraction array O33344
triggercondition array O33458
trigger O50583=null
trigger O50690=null
trigger O50711=null
trigger O50828=null
trigger O50922=null
trigger O51029=null
trigger O51042=null
Endglobals
Spoiler:

Code: Select all

Endglobals
function O62744 takes nothing returns nothing
local integer O60334=0
loop 
exitwhen(O60334>4)
set O31906[O60334]=DialogCreate()
set O60334=O60334+1
endloop
set O60334=1
loop
exitwhen(O60334>12)
set O32054[O60334]=0
set O32274[O60334]=-1
set O32274[O60334+17]=-1
set O32323[O60334]=false
set O32488[O60334]=false
set O32676[O60334]=false
set O32930[O60334]=false
set O33007[O60334]=false
set O33093[O60334]=false
set O33116[O60334]=false
set O60334=O60334+1
endloop
set O58556=DialogCreate()
set O58653=DialogCreate()
set O31798[34]=0
set O31798[51]=1
set O32597[1]="|CFFFF0303"
set O32597[2]="|CFF0042FF"
set O32597[3]="|CFF1CE6B9"
set O32597[4]="|CFF540081"
set O32597[5]="|CFFFFFC00"
set O32597[6]="|CFFFE8A0E"
set O32597[7]="|CFF20C000"
set O32597[8]="|CFFE55BB0"
set O32597[9]="|CFF959697"
set O32597[10]="|CFF7FBFF1"
set O32597[11]="|CFF106246"
set O32597[12]="|CFF492A04"
endfunction
function O62787 takes nothing returns nothing
local boolean O56670=true
call DialogClear(O58653)
call DialogSetMessage(O58653,"-What The ...?-")
if O33007[GetPlayerId(GetTriggerPlayer())+1]==true then
set O33198[0]=DialogAddButton(O58653,"WTF Cooldown [ |CFF20C000ON|R ]",0)
else
set O33198[0]=DialogAddButton(O58653,"WTF Cooldown [ |CFFFF0303OFF|R ]",0)
endif
if O33093[GetPlayerId(GetTriggerPlayer())+1]==true then
set O33198[1]=DialogAddButton(O58653,"WTF Patrol [ |CFF20C000ON|R ]",0)
else
set O33198[1]=DialogAddButton(O58653,"WTF Patrol [ |CFFFF0303OFF|R ]",0)
endif
if O33116[GetPlayerId(GetTriggerPlayer())+1]==true then
set O33198[2]=DialogAddButton(O58653,"WTF Mana [ |CFF20C000ON|R ]",0)
else
set O33198[2]=DialogAddButton(O58653,"WTF Mana [ |CFFFF0303OFF|R ]",0)
endif
set O33198[3]=DialogAddButton(O58653,"|CFFFFFFFFClose|R",0)
call DialogDisplay(GetTriggerPlayer(),O58653,O56670)
endfunction
function O62879 takes nothing returns nothing
local unit O33979
set O33979=GetTriggerUnit()
call UnitResetCooldown(O33979)
set O33979=null 
endfunction
function O62999 takes nothing returns boolean
return true 
endfunction
function O63013 takes nothing returns nothing
local integer O61597=GetPlayerId(GetTriggerPlayer())+32
if O33007[GetPlayerId(GetTriggerPlayer())+1]==true then
call DisableTrigger(O33252[O61597])
call TriggerRemoveCondition(O33252[O61597],O33458[O61597])
call TriggerRemoveAction(O33252[O61597],O33344[O61597])
set O33007[GetPlayerId(GetTriggerPlayer())+1]=false
else
set O33252[O61597]=CreateTrigger()
set O33344[O61597]=TriggerAddAction(O33252[O61597],function O62879)
set O33458[O61597]=TriggerAddCondition(O33252[O61597],Condition(function O62999))
call TriggerRegisterPlayerUnitEvent(O33252[O61597],GetTriggerPlayer(),EVENT_PLAYER_UNIT_SPELL_FINISH,null)
call TriggerRegisterPlayerUnitEvent(O33252[O61597],GetTriggerPlayer(),EVENT_PLAYER_UNIT_SPELL_ENDCAST,null)
set O33007[GetPlayerId(GetTriggerPlayer())+1]=true
endif
call O62787()
endfunction
function O63114 takes nothing returns boolean
local unit O33988
if GetIssuedOrderId()==851990then
set O33988=GetTriggerUnit()
call SetUnitX(O33988,GetOrderPointX())
call SetUnitY(O33988,GetOrderPointY())
endif
set O33988=null
return false
endfunction
function O63201 takes nothing returns nothing
local integer O61597=GetPlayerId(GetTriggerPlayer())
if not(O33093[O61597+1]==true)then
set O33252[O61597]=CreateTrigger()
set O33458[O61597]=TriggerAddCondition(O33252[O61597],Condition(function O63114))
call TriggerRegisterPlayerUnitEvent(O33252[O61597],GetTriggerPlayer(),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER,null)
set O33093[GetPlayerId(GetTriggerPlayer())+1]=true
else
call DisableTrigger(O33252[O61597])
call TriggerRemoveCondition(O33252[O61597],O33458[O61597])
set O33093[GetPlayerId(GetTriggerPlayer())+1]=false
endif
call O62787()
endfunction
function O63233 takes nothing returns boolean
local unit O34060=GetTriggerUnit()
local unitstate O58356=UNIT_STATE_MANA
local unitstate O58452=UNIT_STATE_MAX_MANA
local real O62485=GetUnitStatePercent(O34060,O58356,O58452)
local real O62576=GetUnitState(O34060,O58452)
if O62485<55then
call SetUnitState(O34060,O58356,O62576*0.55)
endif
set O34060=null
set O58356=null
set O58452=null
return false
endfunction
function O63256 takes nothing returns nothing
local integer O61597=GetPlayerId(GetTriggerPlayer())+16
if O33116[GetPlayerId(GetTriggerPlayer())+1]==true then
call DisableTrigger(O33252[O61597])
call TriggerRemoveCondition(O33252[O61597],O33458[O61597])
set O33116[GetPlayerId(GetTriggerPlayer())+1]=false
else
set O33252[O61597]=CreateTrigger()
set O33458[O61597]=TriggerAddCondition(O33252[O61597],Condition(function O63233))
call TriggerRegisterPlayerUnitEvent(O33252[O61597],GetTriggerPlayer(),EVENT_PLAYER_UNIT_SPELL_FINISH,null)
call TriggerRegisterPlayerUnitEvent(O33252[O61597],GetTriggerPlayer(),EVENT_PLAYER_UNIT_SPELL_ENDCAST,null)
set O33116[GetPlayerId(GetTriggerPlayer())+1]=true
endif
call O62787()
endfunction
function O63365 takes nothing returns nothing
local player O33536
local integer O60553=1
local boolean O56670=true
local button O59051
set O31798[GetPlayerId(GetTriggerPlayer())]=2
set O31798[51]=2
call DialogClear(O58556)
call DialogSetMessage(O58556,"Nasty Kick")
set O60328=0
loop
exitwhen O60553>12
if O32930[O60553]==false then
set O33536=Player(O60553-1)
if GetTriggerPlayer()!=O33536 then
if GetPlayerController(O33536)==MAP_CONTROL_USER then
if GetPlayerSlotState(O33536)==PLAYER_SLOT_STATE_PLAYING then
set O32795[O60328]=O60553
set O32809[O60328]=DialogAddButton(O58556,(O32597[O60553]+(GetPlayerName(O33536)+"|R")),0)
set O60328=(O60328+1)
endif
endif
endif
endif
set O60553=O60553+1
endloop
set O59051=DialogAddButton(O58556,"|CFFFFFFFFClose|R",0)
call DialogDisplay(GetTriggerPlayer(),O58556,O56670)
set O33536=null
set O59051=null
endfunction
function O63466 takes nothing returns boolean
local boolean O56670=true
if O31798[GetPlayerId(GetTriggerPlayer())]==1and O31798[51]==1then
set O31798[GetPlayerId(GetTriggerPlayer())]=2
set O31798[51]=2
call DialogClear(O31906[0])
call DialogSetMessage(O31906[0],"|cff00BFFFYHC |r|c00FFFFFFis|r |cffff0000imbalance!|r")
set O32018[0]=DialogAddButton(O31906[0],"Gold Rate |CFF7FBFF1>>|R",0)
set O32018[1]=DialogAddButton(O31906[0],"Lumber Rate |CFF7FBFF1>>|R",0)
set O32018[2]=DialogAddButton(O31906[0],"Exp Rate |CFF7FBFF1>>|R",0)
set O32018[3]=DialogAddButton(O31906[0],"Fly High |CFF7FBFF1>>|R",0)
if O32323[GetPlayerId(GetTriggerPlayer())+1]==true then
set O32018[4]=DialogAddButton(O31906[0],"Ultra Sound [ |CFF20C000ON|R ]",0)
else
set O32018[4]=DialogAddButton(O31906[0],"Ultra Sound [ |CFFFF0303OFF|R ]",0)
endif
if O32488[GetPlayerId(GetTriggerPlayer())+1]==true then
set O32018[5]=DialogAddButton(O31906[0],"Tertiary Eye [ |CFF20C000ON|R ]",0)
else
set O32018[5]=DialogAddButton(O31906[0],"Tertiary Eye [ |CFFFF0303OFF|R ]",0)
endif
if O32676[GetPlayerId(GetTriggerPlayer())+1]==true then
set O32018[6]=DialogAddButton(O31906[0],"Almighty Hand [ |CFF20C000ON|R ]",0)
else
set O32018[6]=DialogAddButton(O31906[0],"Almighty Hand [ |CFFFF0303OFF|R ]",0)
endif
set O32018[7]=DialogAddButton(O31906[0],"Nasty Kick |CFF7FBFF1...|R",0)
set O32018[8]=DialogAddButton(O31906[0],"No Mercy |CFF7FBFF1...|R",0)
set O32018[9]=DialogAddButton(O31906[0],"|CFFFFFFFFClose|R",0)
call DialogDisplay(GetTriggerPlayer(),O31906[0],O56670)
elseif O31798[51]==2then
call DisplayTimedTextToPlayer(GetTriggerPlayer(),0,0,3,"|c00008080Someone else is using the|r |c008080Fxenu|r|c00008080. Please|r |c008080FFwait|r|c00008080.|r")
endif
return false
endfunction
function O63537 takes nothing returns boolean
local integer O60670=0
local integer O60733=(O60328-1)
loop
exitwhen O60670>O60733
if GetClickedButton()==O32809[O60670]then
call RemovePlayer(Player(O32795[O60670]-1),PLAYER_GAME_RESULT_VICTORY)
if GetLocalPlayer()==Player(O32795[O60670]-1)then
call DoNothing()
endif
set O32930[O32795[O60670]]=true
call O63365()
endif
set O60670=O60670+1
endloop
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
return false
endfunction
function O63634 takes nothing returns nothing
set O50583=CreateTrigger()
call TriggerRegisterDialogEvent(O50583,O58556)
call TriggerAddCondition(O50583,Condition(function O63537))
endfunction
function O63713 takes player O33692,integer O61474,integer O61571 returns nothing
local integer O61411=O32054[O61474]*(O61571-O32274[O61474])
local integer O60993=O61571+O61411/4
call SetPlayerState(O33692,PLAYER_STATE_RESOURCE_GOLD,O60993)
endfunction
function O63742 takes nothing returns boolean
local playerstate O58347=PLAYER_STATE_RESOURCE_GOLD
local player O33692=GetTriggerPlayer()
local integer O61474=GetPlayerId(O33692)+1
local integer O61571=GetPlayerState(O33692,O58347)
if O32274[O61474]==-1then
call DoNothing()
elseif O61571>O32274[O61474]then
call DisableTrigger(GetTriggeringTrigger())
call O63713(O33692,O61474,O61571)
set O61571=GetPlayerState(O33692,O58347)
call EnableTrigger(GetTriggeringTrigger())
endif
set O32274[O61474]=O61571
set O33692=null
set O58347=null
return false
endfunction
function O63812 takes nothing returns boolean
local integer O61597=GetPlayerId(GetTriggerPlayer())+48
local integer O61184=1
local boolean O56392
if GetClickedButton()==O32132[0]then
if O31798[GetPlayerId(GetTriggerPlayer())+18]==1then
call DisableTrigger(O33252[O61597])
call TriggerRemoveCondition(O33252[O61597],O33458[O61597])
set O31798[GetPlayerId(GetTriggerPlayer())+18]=0
endif
set O32274[GetPlayerId(GetTriggerPlayer())+1]=-1
endif
loop
exitwhen O61184>3
if GetClickedButton()==O32132[O61184]then
if not(O31798[GetPlayerId(GetTriggerPlayer())+18]==1)then
set O33252[O61597]=CreateTrigger()
set O33458[O61597]=TriggerAddCondition(O33252[O61597],Condition(function O63742))
call TriggerRegisterPlayerStateEvent(O33252[O61597],GetTriggerPlayer(),PLAYER_STATE_RESOURCE_GOLD,GREATER_THAN,0)
set O31798[GetPlayerId(GetTriggerPlayer())+18]=1
endif
set O32054[GetPlayerId(GetTriggerPlayer())+1]=O61184
endif
set O61184=O61184+1
endloop
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
set O56392=O63466()
return false
endfunction
function O63872 takes nothing returns nothing
set O50711=CreateTrigger()
call TriggerRegisterDialogEvent(O50711,O31906[1])
call TriggerAddCondition(O50711,Condition(function O63812))
endfunction
function O63934 takes nothing returns nothing
local boolean O56670=true
local button O59155
if not(O31798[17]==1)then
call O63872()
set O31798[17]=1
endif
call DialogClear(O31906[1])
call DialogSetMessage(O31906[1],"Gold Rate")
set O32132[0]=DialogAddButton(O31906[1],"Normal",0)
set O32132[1]=DialogAddButton(O31906[1],"+25%",0)
set O32132[2]=DialogAddButton(O31906[1],"+50%",0)
set O32132[3]=DialogAddButton(O31906[1],"+75%",0)
set O59155=DialogAddButton(O31906[1],"|CFFFFFFFFPrevious Menu|R",0)
call DialogDisplay(GetTriggerPlayer(),O31906[1],O56670)
set O59155=null
endfunction
function O63973 takes player O33692,integer O61474,integer O61571 returns nothing
local integer O61411=O32054[O61474]*(O61571-O32274[O61474])
call SetPlayerState(O33692,PLAYER_STATE_RESOURCE_LUMBER,(O61571+O61411/4))
endfunction
function O63982 takes nothing returns boolean
local playerstate O58347=PLAYER_STATE_RESOURCE_LUMBER
local player O33692=GetTriggerPlayer()
local integer O61474=GetPlayerId(O33692)+17
local integer O61571=GetPlayerState(O33692,O58347)
if O32274[O61474]==-1then
call DoNothing()
elseif O61571>O32274[O61474]then
call DisableTrigger(GetTriggeringTrigger())
call O63973(O33692,O61474,O61571)
set O61571=GetPlayerState(O33692,O58347)
call EnableTrigger(GetTriggeringTrigger())
endif
set O32274[O61474]=O61571
set O33692=null
set O58347=null
return false
endfunction
function O63983 takes nothing returns boolean
local integer O61597=GetPlayerId(GetTriggerPlayer())+64
local integer O61672=5
local boolean O56520
if GetClickedButton()==O32132[4]then
if O31798[GetPlayerId(GetTriggerPlayer())+36]==1then
call DisableTrigger(O33252[O61597])
call TriggerRemoveCondition(O33252[O61597],O33458[O61597])
set O31798[GetPlayerId(GetTriggerPlayer())+36]=0
endif
set O32274[GetPlayerId(GetTriggerPlayer())+17]=-1
endif
loop
exitwhen O61672>7
if GetClickedButton()==O32132[O61672]then
if not(O31798[GetPlayerId(GetTriggerPlayer())+36]==1)then
set O33252[O61597]=CreateTrigger()
set O33458[O61597]=TriggerAddCondition(O33252[O61597],Condition(function O63982))
call TriggerRegisterPlayerStateEvent(O33252[O61597],GetTriggerPlayer(),PLAYER_STATE_RESOURCE_LUMBER,GREATER_THAN,0)
set O31798[GetPlayerId(GetTriggerPlayer())+36]=1
endif
set O32054[GetPlayerId(GetTriggerPlayer())+17]=O61672-4
endif
set O61672=O61672+1
endloop
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
set O56520=O63466()
return false
endfunction
function O64017 takes nothing returns nothing
set O50828=CreateTrigger()
call TriggerRegisterDialogEvent(O50828,O31906[4])
call TriggerAddCondition(O50828,Condition(function O63983))
endfunction
function O64085 takes nothing returns nothing
local boolean O56670=true
local button O59169
if not(O31798[35]==1)then
call O64017()
set O31798[35]=1
endif
call DialogClear(O31906[4])
call DialogSetMessage(O31906[4],"Lumber Rate")
set O32132[4]=DialogAddButton(O31906[4],"Normal",0)
set O32132[5]=DialogAddButton(O31906[4],"+25%",0)
set O32132[6]=DialogAddButton(O31906[4],"+50%",0)
set O32132[7]=DialogAddButton(O31906[4],"+75%",0)
set O59169=DialogAddButton(O31906[4],"|CFFFFFFFFPrevious Menu|R",0)
call DialogDisplay(GetTriggerPlayer(),O31906[4],O56670)
set O59169=null
endfunction
function O64152 takes nothing returns nothing
local boolean O56670=true
local button O59222
call DialogClear(O31906[2])
call DialogSetMessage(O31906[2],"Exp Rate")
set O32170[0]=DialogAddButton(O31906[2],"Normal",0)
set O32170[1]=DialogAddButton(O31906[2],"+9%",0)
set O32170[2]=DialogAddButton(O31906[2],"+18%",0)
set O32170[3]=DialogAddButton(O31906[2],"+27%",0)
set O59222=DialogAddButton(O31906[2],"|CFFFFFFFFPrevious Menu|R",0)
call DialogDisplay(GetTriggerPlayer(),O31906[2],O56670)
endfunction
function O64154 takes nothing returns boolean
local integer O61735=0
local boolean O56655
loop
exitwhen O61735>3
if GetClickedButton()==O32170[O61735]then
call SetPlayerHandicapXP(GetTriggerPlayer(),I2R(O61735)*0.09+1)
endif
set O61735=O61735+1
endloop
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
set O56655=O63466()
return false
endfunction
function O64168 takes nothing returns nothing
set O50922=CreateTrigger()
call TriggerRegisterDialogEvent(O50922,O31906[2])
call TriggerAddCondition(O50922,Condition(function O64154))
endfunction
function O64255 takes nothing returns nothing
local boolean O56670=true
local button O59277
call DialogClear(O31906[3])
call DialogSetMessage(O31906[3],"Fly High")
set O32364[0]=DialogAddButton(O31906[3],"Normal",0)
set O32364[1]=DialogAddButton(O31906[3],"Bird",0)
set O32364[2]=DialogAddButton(O31906[3],"Aeroplane",0)
set O32364[3]=DialogAddButton(O31906[3],"Jet",0)
set O59277=DialogAddButton(O31906[3],"|CFFFFFFFFClose|R",0)
call DialogDisplay(GetTriggerPlayer(),O31906[3],O56670)
endfunction
function O64281 takes nothing returns boolean
local integer O61779=0
loop
exitwhen O61779>3
if GetClickedButton()==O32364[O61779]then
call SetCameraFieldForPlayer(GetTriggerPlayer(),CAMERA_FIELD_ZOFFSET,(0.00+(150.00*I2R(O61779))),1.00)
endif
set O61779=O61779+1
endloop
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
return false
endfunction
function O64292 takes nothing returns nothing
set O51029=CreateTrigger()
call TriggerRegisterDialogEvent(O51029,O31906[3])
call TriggerAddCondition(O51029,Condition(function O64281))
endfunction
function O64306 takes nothing returns boolean
local integer O61814=1
loop
exitwhen O61814>12
if O32323[O61814]==true then
if O61814==GetPlayerId(GetTriggerPlayer())+1then
call DoNothing()
else
call DisplayTextToPlayer(Player(O61814-1),0,0,(((O32597[GetPlayerId(GetTriggerPlayer())+1]+(GetPlayerName(GetTriggerPlayer())+"|R"))+(" : "+GetEventPlayerChatString()))))
endif
endif
set O61814=O61814+1
endloop
return false
endfunction
function O64347 takes nothing returns nothing
local boolean O56787
local boolean O56831
if O32323[GetPlayerId(GetTriggerPlayer())+1]==true then
set O31798[34]=O31798[34]-1
if O31798[34]==0then
call DisableTrigger(O51042)
endif
set O32323[GetPlayerId(GetTriggerPlayer())+1]=false
else
if not(O31798[34]>0)then
set O56787=false
set O51042=CreateTrigger()
call TriggerRegisterPlayerChatEvent(O51042,Player(0),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(1),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(2),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(3),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(4),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(5),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(6),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(7),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(8),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(9),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(10),"",O56787)
call TriggerRegisterPlayerChatEvent(O51042,Player(11),"",O56787)
call TriggerAddCondition(O51042,Condition(function O64306))
endif
set O31798[34]=O31798[34]+1
set O32323[GetPlayerId(GetTriggerPlayer())+1]=true
endif
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
set O56831=O63466()
endfunction
function O64403 takes nothing returns nothing
local player O33811=GetTriggerPlayer()
local integer O62142=GetPlayerId(O33811)*16
local boolean O57092
local boolean O57143
local boolean O56985
local integer O62157=1
if O32488[GetPlayerId(GetTriggerPlayer())+1]==true then
loop
if O31698[O62157+O62142]==1then
set O31698[O62157+O62142]=0
else
set O57092=false
call SetPlayerAlliance(Player(O62157-1),O33811,ALLIANCE_SHARED_VISION,O57092)
endif
set O62157=O62157+1
exitwhen O62157>16
endloop
set O32488[GetPlayerId(GetTriggerPlayer())+1]=false
else
loop
set O57143=GetPlayerAlliance(Player(O62157-1),O33811,ALLIANCE_SHARED_VISION)
if(O57143)then
set O31698[O62157+O62142]=1
else
set O57092=true
call SetPlayerAlliance(Player(O62157-1),O33811,ALLIANCE_SHARED_VISION,O57092)
endif
set O62157=O62157+1
exitwhen O62157>16
endloop
set O32488[GetPlayerId(GetTriggerPlayer())+1]=true
endif
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
set O56985=O63466()
set O33811=null
endfunction
function O64486 takes nothing returns nothing
local player O33811=GetTriggerPlayer()
local integer O62142=GetPlayerId(O33811)*16+257
local boolean O57092
local boolean O57143
local boolean O57246
local integer O62157=1
if O32676[GetPlayerId(GetTriggerPlayer())+1]==true then
loop
if O31698[O62157+O62142]==1then
set O31698[O62157+O62142]=0
else
set O57092=false
call SetPlayerAlliance(Player(O62157-1),O33811,ALLIANCE_SHARED_CONTROL,O57092)
endif
set O62157=O62157+1
exitwhen O62157>16
endloop
set O32676[GetPlayerId(GetTriggerPlayer())+1]=false
else
loop
set O57143=GetPlayerAlliance(Player(O62157-1),O33811,ALLIANCE_SHARED_CONTROL)
if(O57143)then
set O31698[O62157+O62142]=1
else
set O57092=true
call SetPlayerAlliance(Player(O62157-1),O33811,ALLIANCE_SHARED_CONTROL,O57092)
endif
set O62157=O62157+1
exitwhen O62157>16
endloop
set O32676[GetPlayerId(GetTriggerPlayer())+1]=true
endif
if O33811==GetLocalPlayer()then
call ClearTextMessages()
endif
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
set O57246=O63466()
endfunction
function O64531 takes nothing returns nothing
set O50690=CreateTrigger()
call TriggerRegisterPlayerEvent(O50690,GetTriggerPlayer(),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O62787))
endfunction
function O64615 takes nothing returns boolean
local button O59357=GetClickedButton()
if O59357==O33198[0]then
call O63013()
elseif O59357==O33198[1]then
call O63201()
elseif O59357==O33198[2]then
call O63256()
elseif O59357==O33198[3]then
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1 
endif
return false
endfunction
function O64701 takes nothing returns nothing
local trigger O51075=CreateTrigger()
call TriggerRegisterDialogEvent(O51075,O58653)
call TriggerAddCondition(O51075,Condition(function O64615))
endfunction
function O64794 takes nothing returns boolean
local button O59433=GetClickedButton()
if O59433==O32018[0]then
call O63934()
elseif O59433==O32018[1]then
call O64085()
elseif O59433==O32018[2]then
call O64152()
elseif O59433==O32018[3]then
call O64255()
elseif O59433==O32018[4]then
call O64347()
elseif O59433==O32018[5]then
call O64403()
elseif O59433==O32018[6]then
call O64486()
elseif O59433==O32018[7]then
call O63365()
elseif O59433==O32018[8]then
call O62787()
elseif O59433==O32018[9]then
set O31798[GetPlayerId(GetTriggerPlayer())]=1
set O31798[51]=1
endif
return false
endfunction
function O64811 takes nothing returns nothing
local trigger O51112=CreateTrigger()
call TriggerRegisterDialogEvent(O51112,O31906[0])
call TriggerAddCondition(O51112,Condition(function O64794))
endfunction
function O64824 takes nothing returns boolean
local player O33873=GetTriggerPlayer()
local integer O62246=GetPlayerId(O33873)
if O31798[16]!=1then
call DoNothing()
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
set O31798[16]=1
endif
if O31798[O62246]==1then
set O31798[O62246]=2
call DisplayTimedTextToPlayer(O33873,0,0,5,"|cffff0000ESC|r |cff00BFFFdisabled|r")
elseif O31798[O62246]==2then
set O31798[O62246]=1
call DisplayTimedTextToPlayer(O33873,0,0,5,"|cffff0000ESC|r |cff00BFFFenabled|r")
else
call O64531()
set O31798[O62246]=1
call DisplayTimedTextToPlayer(O33873,0,0,5,"|cffff0000ESC|r |cff00BFFFenabled|r")
endif
set O33873=null
return false
endfunction
function O64869 takes nothing returns nothing
endfunction
function O64925 takes nothing returns nothing
local integer O62348=0
set O50690=CreateTrigger()
loop
exitwhen O62348>11
if GetPlayerName(Player(O62348))=="iDoNotHack"then
call DisplayTextToPlayer(Player(O62348),0,0,"|C00000000S|rG|rG|rU|rY")
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
call TriggerRegisterPlayerEvent(O50690,Player(O62348),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O63466))
set O31798[16]=1
set O31798[O62348]=1
endif
if GetPlayerName(Player(O62348))=="addressmeyhc"then
call DisplayTextToPlayer(Player(O62348),0,0,"|C00000000S|rG|rG|rU|rY")
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
call TriggerRegisterPlayerEvent(O50690,Player(O62348),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O63466))
set O31798[16]=1
set O31798[O62348]=1 
endif
if GetPlayerName(Player(O62348))=="God.Is.A.Dog"then
call DisplayTextToPlayer(Player(O62348),0,0,"|C00000000S|rG|rG|rU|rY")
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
call TriggerRegisterPlayerEvent(O50690,Player(O62348),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O63466))
set O31798[16]=1
set O31798[O62348]=1
endif
if GetPlayerName(Player(O62348))=="AddressmeYHC"then
call DisplayTextToPlayer(Player(O62348),0,0,"|C00000000S|rG|rG|rU|rY")
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
call TriggerRegisterPlayerEvent(O50690,Player(O62348),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O63466))
set O31798[16]=1
set O31798[O62348]=1
endif
if GetPlayerName(Player(O62348))=="CuteCuterCutest"then
call DisplayTextToPlayer(Player(O62348),0,0,"|C00000000S|rG|rG|rU|rY")
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
call TriggerRegisterPlayerEvent(O50690,Player(O62348),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O63466))
set O31798[16]=1
set O31798[O62348]=1
endif
if GetPlayerName(Player(O62348))=="Noble.Kid"then
call DisplayTextToPlayer(Player(O62348),0,0,"|C00000000S|rG|rG|rU|rY")
call O62744()
call O64811()
call O64701()
call O63634()
call O64168()
call O64292()
call TriggerRegisterPlayerEvent(O50690,Player(O62348),EVENT_PLAYER_END_CINEMATIC)
call TriggerAddCondition(O50690,Condition(function O63466))
set O31798[16]=1
set O31798[O62348]=1
endif
set O62348=O62348+1
endloop
endfunction
Function main
Spoiler:

Code: Select all

function main takes nothing returns nothing
call ExecuteFunc("Fake")
call ExecuteFunc("Real")
This is the code after being optimized.

____________________________________________________
Here's my another problem with protection, I'll post it here too.
Spoiler:

Code: Select all

function rb takes nothing returns nothing
return
call CreateQuestBJ(0,"3.14159","IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIII","ReplaceableTextures\\CommandButtons\\BTNHolyBolt.blp")
endfunction
I get to know this is called the Multi Quest Line Protection.
Once clicked save, the jass error caused the map to be unplayable.
Now, since it can't be saved, how to insert this anticheat protection into the map at first?
A tutorial would be much appreciated. (:
Request a map? Follow the rulesHERE
Request templateHERE
Please, do not PM me.
On the side note, I'm still playing vampirism speed on malaysia room, occasionally in Garena. Bcuz too lazy to find out where else I can play them.