wc3edit.net
https://forum.wc3edit.net/

Enabling Singleplayer
http://forum.wc3edit.net/deprotection-cheating-f64/enabling-singleplayer-t774.html
Page 1 of 1

Author:  DeadlyLegion [ May 26th, 2007, 12:30 pm ]
Post subject:  Enabling Singleplayer

Hey!
I'd like very much to learn how to enable singleplayer in an ORPG map like Defi4nc3 ORPG or Master crafters. I know those maps have already been cheated, but I want to learn how I can do it myself so I can help other people too.
What aproach should I take? Tutorial somewhere?
Thanks in advance to anyone willing to help.

Author:  Xantan [ May 26th, 2007, 12:31 pm ]
Post subject: 

I plan to write a tutorial for this in the near future - but as it is different on just about every rpg it seems, its sorta hard to! =/

Author:  bojanglemistser [ May 26th, 2007, 4:12 pm ]
Post subject: 

Xantan wrote:
I plan to write a tutorial for this in the near future - but as it is different on just about every rpg it seems, its sorta hard to! =/

just write a tutorial for several different famous ones and once a month or so u can add a new one =D

Author:  DeadlyLegion [ May 26th, 2007, 5:41 pm ]
Post subject: 

I mean just a general... tip... on what to do - I have no idea where to begin. Do I break something in the Jass or should I deprotect map and then add some misc. trigger?

Author:  bojanglemistser [ May 26th, 2007, 5:47 pm ]
Post subject: 

DeadlyLegion wrote:
I mean just a general... tip... on what to do - I have no idea where to begin. Do I break something in the Jass or should I deprotect map and then add some misc. trigger?


this is usualy what i do for some maps in singleplayer

play the game non-hacked in singleplayer and when it says u cannot save because of whatever thats what ur gonna search for in Jasscraft just go to search and type in that message

look for any relation to another trigger that may have somtin to do with playing alone if u notice that this trigger is the trigger that wont let u play in singleplayer then u just have to figure out what to do

usualy for alot of maps i cheat its sorta like this

Code:
function bla bla bla takes nothing returns nothing boolean
if bla bla bla then
return false
endif
return true



Code:
function bla bla bla takes nothing returns nothing boolean
if bla bla bla then
return false <---
endif
return true <----


i usualy switch these =D and thats a solution for some maps

so

Code:
function bla bla bla takes nothing returns nothing boolean
if bla bla bla then
return true
endif
return false


this doesnt always work but its how i did singleplayer for FFF 1c and everquest 3.5 the uncharted lands xD
not to mention some maps may do it differently and i dunno how defiance does it but this is the one ive seen more then any others

btw another way to try to find the no singleplayer thing is to start by typing single, singleplayer, single player, or save into the search box

Author:  DeadlyLegion [ May 29th, 2007, 4:02 pm ]
Post subject: 

so it's basically just alot of trial and error?

Where is it... that string of jass? Is it under function main or after endglobals?

Author:  namespoofer [ June 6th, 2007, 8:22 pm ]
Post subject: 

Heh, all I do is just Cntrl-F in JASSCraft, and search for 'save'.

Browse through stuff, heres an example:
(Dawn of the Dead 5.2F)

Code:
boolean array udg_SaveAllowed
trigger gg_trg_Save=null


Code:
function Trig_Save_Func003C takes nothing returns boolean
if(not (udg_SaveAllowed[GetConvertedPlayerId(GetTriggerPlayer())]==false))then
return false
endif
return true
endfunction


Just look for those kind of functions, and usually when you switch the boolean value, it works!

Also you might stumble upon the saves allowed..

Code:
function Trig_Save_Func002C takes nothing returns boolean
if(not (udg_HasSaved[GetConvertedPlayerId(GetTriggerPlayer())]==true))then
return false
endif
return true
endfunction


Switch em' around and you can save as many times as you want.. I think!
I guess you could say it's trial+error..

And I think you have to change it where all the other functions are.. After endglobals..

Edit: Also see how Xantan put it.. he makes way more sense than I do..
http://forum.wc3edit.net/viewtopic.php?t=429

Author:  chiem [ June 13th, 2007, 7:50 pm ]
Post subject: 

WOW THAT REALLY HELPED!! thx!!! And if u guys played guantlet dark ends part 2, I found that the creator of the map made cheats!!! !!!! WOAH!! i can edit these for my name!!!!! want me to show u the cheats?

Code:
function InitTrig_Dark_End_Mask_of_Kial_Thul takes nothing returns nothing
set gg_trg_Dark_End_Mask_of_Kial_Thul = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Mask_of_Kial_Thul, Player(0), "K$LAF", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Mask_of_Kial_Thul, Player(1), "K$LAF", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Mask_of_Kial_Thul, Player(2), "K$LAF", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Mask_of_Kial_Thul, Player(3), "K$LAF", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Mask_of_Kial_Thul, Player(4), "K$LAF", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Mask_of_Kial_Thul, Player(5), "K$LAF", true )
call TriggerAddAction( gg_trg_Dark_End_Mask_of_Kial_Thul, function Trig_Dark_End_Mask_of_Kial_Thul_Actions )
endfunction
function Trig_Dark_End_Armageddon_Armor_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_1671" )
call CreateItemLoc( 'rde0', GetRectCenter(gg_rct_TownArea) )
call UnitAddItemSwapped( GetLastCreatedItem(), udg_PlayerHeroArray[GetConvertedPlayerId(GetTriggerPlayer())] )
endfunction
function InitTrig_Dark_End_Armageddon_Armor takes nothing returns nothing
set gg_trg_Dark_End_Armageddon_Armor = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Armageddon_Armor, Player(0), "DarkEndZeroHour", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Armageddon_Armor, Player(1), "DarkEndZeroHour", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Armageddon_Armor, Player(2), "DarkEndZeroHour", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Armageddon_Armor, Player(3), "DarkEndZeroHour", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Armageddon_Armor, Player(4), "DarkEndZeroHour", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Armageddon_Armor, Player(5), "DarkEndZeroHour", true )
call TriggerAddAction( gg_trg_Dark_End_Armageddon_Armor, function Trig_Dark_End_Armageddon_Armor_Actions )
endfunction
function Trig_Dark_End_Destruction_Shield_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_1672" )
call CreateItemLoc( 'I00G', GetRectCenter(gg_rct_TownArea) )
call UnitAddItemSwapped( GetLastCreatedItem(), udg_PlayerHeroArray[GetConvertedPlayerId(GetTriggerPlayer())] )
endfunction
function InitTrig_Dark_End_Destruction_Shield takes nothing returns nothing
set gg_trg_Dark_End_Destruction_Shield = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Destruction_Shield, Player(0), "DAO5R3W", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Destruction_Shield, Player(1), "DAO5R3W", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Destruction_Shield, Player(2), "DAO5R3W", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Destruction_Shield, Player(3), "DAO5R3W", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Destruction_Shield, Player(4), "DAO5R3W", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Destruction_Shield, Player(5), "DAO5R3W", true )
call TriggerAddAction( gg_trg_Dark_End_Destruction_Shield, function Trig_Dark_End_Destruction_Shield_Actions )
endfunction
function Trig_Dark_End_Blood_Crown_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_1673" )
call CreateItemLoc( 'I00F', GetRectCenter(gg_rct_TownArea) )
call UnitAddItemSwapped( GetLastCreatedItem(), udg_PlayerHeroArray[GetConvertedPlayerId(GetTriggerPlayer())] )
endfunction
function InitTrig_Dark_End_Blood_Crown takes nothing returns nothing
set gg_trg_Dark_End_Blood_Crown = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Blood_Crown, Player(0), "AOXLOC2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Blood_Crown, Player(1), "AOXLOC2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Blood_Crown, Player(2), "AOXLOC2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Blood_Crown, Player(3), "AOXLOC2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Blood_Crown, Player(4), "AOXLOC2", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Blood_Crown, Player(5), "AOXLOC2", true )
call TriggerAddAction( gg_trg_Dark_End_Blood_Crown, function Trig_Dark_End_Blood_Crown_Actions )
endfunction
function Trig_Dark_End_War_Ring_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_1012" )
call CreateItemLoc( 'rde2', GetRectCenter(gg_rct_TownArea) )
call UnitAddItemSwapped( GetLastCreatedItem(), udg_PlayerHeroArray[GetConvertedPlayerId(GetTriggerPlayer())] )
endfunction
function InitTrig_Dark_End_War_Ring takes nothing returns nothing
set gg_trg_Dark_End_War_Ring = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_War_Ring, Player(0), "UU3M9", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_War_Ring, Player(1), "UU3M9", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_War_Ring, Player(2), "UU3M9", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_War_Ring, Player(3), "UU3M9", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_War_Ring, Player(4), "UU3M9", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_War_Ring, Player(5), "UU3M9", true )
call TriggerAddAction( gg_trg_Dark_End_War_Ring, function Trig_Dark_End_War_Ring_Actions )
endfunction
function Trig_Dark_End_Battle_Drums_Actions takes nothing returns nothing
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), "TRIGSTR_1010" )
call CreateItemLoc( 'ward', GetRectCenter(gg_rct_TownArea) )
call UnitAddItemSwapped( GetLastCreatedItem(), udg_PlayerHeroArray[GetConvertedPlayerId(GetTriggerPlayer())] )
endfunction
function InitTrig_Dark_End_Battle_Drums takes nothing returns nothing
set gg_trg_Dark_End_Battle_Drums = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Battle_Drums, Player(0), "589Z1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Battle_Drums, Player(1), "589Z1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Battle_Drums, Player(2), "589Z1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Battle_Drums, Player(3), "589Z1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Battle_Drums, Player(4), "589Z1", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Dark_End_Battle_Drums, Player(5), "589Z1", true )
call TriggerAddAction( gg_trg_Dark_End_Battle_Drums, function Trig_Dark_End_Battle_Drums_Actions )
endfunction

Author:  weirdone2 [ June 13th, 2007, 11:11 pm ]
Post subject: 

Here's some general tips on finding the no single.

Trigger disabled, this is when the game doesn't end but you can no longer save just look for disable trigger, make sure its the no single trig and do w/e you want to it.

Game Ends, easyest to find just look for customdefeat, make sure it's the rite one and then do w/e you want to it.

Disabled menus and all that good shit, I actually don't know the trigger for this so either get someone to tell you the jass for doing this so that you may find it or look for the no single thru fucntions with GetPlayerSlotState and GetPlayerController, and make sure what you found is indeedy the single and then do whatever you want to it.

Something thats not 1 of those 3, well then if the map hasnt had all the trigs, variables renamed see if you can't find something with a name pertaining to no single, if it has been renamed or you can't find anything try searching for the slotstate's and playercontrollers like in number3. Other wise try and figure out what the did and look for that. Like if they just remove your hero search for a unit remove trig.(though i dont think any maps implement this.) :)

Thats pretty much all the protection ever implemented in no Single that i've ever seen at least, it's sad I know. :(

Still can't find it? Then you don't have enough patience, or your just dumb, or I finally got off my lazy ass and made a map with all my protection skills. :P

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/