- Joined
- Apr 8, 2016
- Messages
- 58
hey guys,
can someone help me with this for my rpg map?
umm.. i modify codegen 1.0.2 to able save the pet, and also the pet's item too..
but, why when i load my character, my pet can't be loaded, but the pet's item loaded, and drops at the ground near my heroes, and the pet's item which i loaded will be lost by 1 ( i save 6 item on pet, but only 5 are loaded)
*Note: variable named "Bag" mean Pet
please checks my trigger,
rep+ and credits on my map for anyone who solve this problem
sorry 4 my bad english and thank you!!
Map Header
CodeGen Init
can someone help me with this for my rpg map?
umm.. i modify codegen 1.0.2 to able save the pet, and also the pet's item too..
but, why when i load my character, my pet can't be loaded, but the pet's item loaded, and drops at the ground near my heroes, and the pet's item which i loaded will be lost by 1 ( i save 6 item on pet, but only 5 are loaded)
*Note: variable named "Bag" mean Pet
please checks my trigger,
rep+ and credits on my map for anyone who solve this problem
sorry 4 my bad english and thank you!!
Map Header
JASS:
function CodeGen_SaveToDisk takes string loadcode, string filename returns nothing
call PreloadGenClear()
call PreloadGenStart()
call Preload(loadcode)
call PreloadGenEnd(filename)
call ClearSelection()
endfunction
function CodeGen_Init takes nothing returns nothing
local integer i = 1
local integer b = udg_SaveLoad_Base
local integer m = udg_SaveLoad_MaxValue
loop
exitwhen i >= udg_SaveLoad_MaxValue
set udg_SaveLoad_Char[i] = SubString(udg_SaveLoad_Alphabet, i, i+1)
set i = i + 1
endloop
set udg_SaveLoad_Alphabet = SubString(udg_SaveLoad_Alphabet, 0, 1) + SubString(udg_SaveLoad_Alphabet, m + 1, b)
set udg_SaveLoad_Base = b - m
endfunction
function CodeGen_ConvertItem_1 takes integer id returns integer
local integer i = 1
loop
exitwhen i > udg_SaveLoad_ItemCount
if (id == udg_SaveLoad_Item[i]) then
return i
endif
set i = i + 1
endloop
return 0
endfunction
function CodeGen_ConvertHero takes integer id returns integer
local integer i = 1
loop
exitwhen i > udg_SaveLoad_HeroCount
if (id == udg_SaveLoad_Hero[i]) then
return i
endif
set i = i + 1
endloop
return 0
endfunction
function CodeGen_ConvertItem_2 takes integer id returns integer
local integer i = 1
loop
exitwhen i > udg_SaveLoad_ItemCount
if (id == udg_SaveLoad_Item[i]) then
return i
endif
set i = i + 1
endloop
return 0
endfunction
function CodeGen_ConvertBag takes integer id returns integer
local integer i = 1
loop
exitwhen i > udg_SaveLoad_BagCount
if (id == udg_SaveLoad_Bag[i]) then
return i
endif
set i = i + 1
endloop
return 0
endfunction
function CodeGen_Encode takes integer i returns string
local integer b
local string s = ""
if i <= udg_SaveLoad_Base then
return SubString(udg_SaveLoad_Alphabet, i, i + 1)
endif
loop
exitwhen i <= 0
set b = i - (i / udg_SaveLoad_Base) * udg_SaveLoad_Base
set s = SubString(udg_SaveLoad_Alphabet, b, b + 1) + s
set i = i / udg_SaveLoad_Base
endloop
return s
endfunction
function CodeGen_StrPos takes string s returns integer
local integer i = 0
loop
exitwhen i > udg_SaveLoad_Base
if s == SubString(udg_SaveLoad_Alphabet, i, i + 1) then
return i
endif
set i = i + 1
endloop
return -1
endfunction
function CodeGen_Decode takes string s returns integer
local integer a = 0
loop
exitwhen StringLength(s) == 1
set a = a * udg_SaveLoad_Base + udg_SaveLoad_Base * CodeGen_StrPos(SubString(s, 0, 1))
set s = SubString(s, 1, 99)
endloop
return a+CodeGen_StrPos(s)
endfunction
function CodeGen_StringChecksum takes string in returns integer
local integer i = 0
local integer l = StringLength(in)
local integer t = 0
local integer o = 0
loop
exitwhen i >= l
set t = CodeGen_Decode(SubString(in, i, i + 1))
set o = o + t
set i = i + 1
endloop
return o
endfunction
function CodeGen_Color takes string char returns string
local integer i = 0
local integer l = StringLength(udg_SaveLoad_Full)
local string x = ""
loop
exitwhen i >= l
set x = SubString(udg_SaveLoad_Full, i, i + 1)
if char == x then
if (x=="0" or S2I(x) > 0) then
return udg_SaveLoad_Number + char + "|r"
elseif StringCase(x, false) == x then
return udg_SaveLoad_Lower + char + "|r"
elseif StringCase(x, true) == x then
return udg_SaveLoad_Upper + char + "|r"
endif
endif
set i = i + 1
endloop
return char
endfunction
function CodeGen_Format takes string s returns string
local integer i = 0
local integer x = StringLength(s)
local integer j = 1
local string s2 = ""
loop
exitwhen i >= x
set s2 = s2 + CodeGen_Color(SubString(s, i, i + 1))
if (j >= udg_SaveLoad_HyphenSpace and i != (x-1)) then
set j = 0
set s2 = s2 + udg_SaveLoad_SeperationChar
endif
set j = j + 1
set i = i + 1
endloop
return s2
endfunction
function CodeGen_Strip takes string s returns string
local integer i = 0
local integer x = StringLength(s)
local string out = ""
local string a = ""
loop
exitwhen i >= x
set a = SubString(s, i, i + 1)
if (a != udg_SaveLoad_SeperationChar) then
set out = out + a
endif
set i = i + 1
endloop
return out
endfunction
// yeeahh descriptive variables
function CodeGen_Load takes string s returns nothing
local string str = CodeGen_Strip(s)
local string tmp = ""
local string c = ""
local integer x = 0
local integer i = 1
local integer l = 0
local integer j = 1
local integer f = 0
local boolean b = true
set udg_SaveLoad_Valid = false
if (udg_SaveLoad_Security) then
loop
exitwhen i > 3
if (CodeGen_Decode(SubString(str, 0, i)) == CodeGen_StringChecksum(SubString(str, i, 999))) then
set udg_SaveLoad_Valid = true
set str = SubString(str, i, 999)
set i = 4
endif
set i = i + 1
endloop
endif
if (not udg_SaveLoad_Valid) then
set udg_SaveLoad_Error = "Invalid Code"
return
endif
set i = 0
set l = StringLength(str)
if (udg_SaveLoad_CheckName) then
set c = CodeGen_Encode(CodeGen_StringChecksum(GetPlayerName(GetTriggerPlayer())))
set i = StringLength(c)
if (c != SubString(str, l - i, i)) then
set udg_SaveLoad_Valid = false
set udg_SaveLoad_Error = "Wrong username"
return
endif
set l = l - i
endif
set i = 0
loop
exitwhen i >= l
set tmp = SubString(str, i, i + 1)
set b = true
set f = 0
set j = 1
loop
exitwhen f >= (udg_SaveLoad_MaxValue)
if (tmp == udg_SaveLoad_Char[f]) then
set j = f + 2
set udg_Load[x] = CodeGen_Decode(SubString(str, i + 1, i + (j)))
set b = false
set f = udg_SaveLoad_MaxValue
endif
set f = f + 1
endloop
if (b) then
set udg_Load[x] = CodeGen_Decode(tmp)
endif
set i = i + j
set x = x + 1
endloop
set udg_SaveLoad_Valid = true
endfunction
function CodeGen_Compile takes nothing returns string
local integer i = 0
local integer j = 0
local string out = ""
local string ln = ""
local string x = ""
loop
exitwhen i > udg_SaveCount
set x = CodeGen_Encode(udg_Save[i])
set j = StringLength(x)
if (j > 1) then
set out = out + udg_SaveLoad_Char[j-1]
endif
set out = out + x
set i = i + 1
endloop
if (udg_SaveLoad_CheckName) then
set out = out + CodeGen_Encode(CodeGen_StringChecksum(GetPlayerName(GetTriggerPlayer())))
endif
if (udg_SaveLoad_Security) then
set out = CodeGen_Encode(CodeGen_StringChecksum(out)) + out
endif
if udg_SaveLoad_SaveToDisk and GetLocalPlayer() == GetTriggerPlayer() then
call CodeGen_SaveToDisk(out, udg_SaveLoad_Directory + "\\" + udg_SaveLoad_Filename)
endif
return CodeGen_Format(out)
endfunction
CodeGen Init
-
CodeGen Init
-
Events
- Map initialization
- Conditions
-
Actions
- -------- -------------------- --------
- -------- The below options are for saving load codes to the Warcraft III folder. --------
- -------- You can modify the filename via the SaveLoad_Filename variable within the save trigger. --------
- -------- -------------------- --------
- Set SaveLoad_SaveToDisk = True
- Set SaveLoad_Directory = Save
- -------- -------------------- --------
- -------- Some configurables --------
- -------- -------------------- --------
- Set SaveLoad_Alphabet = abcdefghkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789
- Set SaveLoad_CheckName = True
- Set SaveLoad_Security = True
- Set SaveLoad_HyphenSpace = 4
- Set SaveLoad_SeperationChar = -
- Set SaveLoad_Lower = |c002a4580
- Set SaveLoad_Number = |cffffcc00
- Set SaveLoad_Upper = |cff008000
- -------- -------------------- --------
- -------- Increase the value if you want to save bigger numbers --------
- -------- Decrease it if you want to generate a smaller save code but only be able to save smaller values --------
- -------- It's suggested to not increase it above 7 --------
- -------- -------------------- --------
- Set SaveLoad_MaxValue = 7
- -------- -------------------- --------
- -------- Store all the heroes you want to be able to be saved below. --------
- -------- -------------------- --------
- Set SaveLoad_Hero[0] = Stickman
- Set SaveLoad_Hero[1] = Warrior [Tier 1]
- Set SaveLoad_Hero[2] = Warrior [Tier 2]
- Set SaveLoad_Hero[3] = Warrior [Tier 3]
- Set SaveLoad_Hero[4] = Assasin [Tier 1]
- Set SaveLoad_Hero[5] = Assasin [Tier 2]
- Set SaveLoad_Hero[6] = Assasin [Tier 3]
- Set SaveLoad_Hero[7] = Mage [Tier 1]
- Set SaveLoad_Hero[8] = Mage [Tier 2]
- Set SaveLoad_Hero[9] = Mage [Tier 3]
- Set SaveLoad_Hero[10] = Angel [Tier 1]
- Set SaveLoad_Hero[11] = Angel [Tier 2]
- Set SaveLoad_Hero[12] = Angel [Tier 3]
- Set SaveLoad_Hero[13] = Archer [Tier 1]
- Set SaveLoad_Hero[14] = Archer [Tier 2]
- Set SaveLoad_Hero[15] = Archer [Tier 3]
- Set SaveLoad_Hero[16] = Berserker [Tier 1]
- Set SaveLoad_Hero[17] = Berserker [Tier 2]
- Set SaveLoad_Hero[18] = Berserker [Tier 3]
- Set SaveLoad_Hero[19] = Priest [Tier 1]
- Set SaveLoad_Hero[20] = Priest [Tier 2]
- Set SaveLoad_Hero[21] = Priest [Tier 3]
- Set SaveLoad_HeroCount = 21
- -------- -------------------- --------
- -------- Store all the bags you want to be able to be saved below. --------
- -------- -------------------- --------
- Set SaveLoad_Bag[0] = Owl
- Set SaveLoad_BagCount = 0
- -------- -------------------- --------
- -------- Store all the abilities you want to be able to be saved below. --------
- -------- -------------------- --------
- Set SaveLoad_Abilities[0] = Flame Strike
- Set SaveLoad_Abilities[1] = Siphon Mana
- Set SaveLoad_Abilities[2] = Phoenix
- Set SaveLoad_Abilities[3] = Banish
- Set SaveLoad_AbilityCount = 3
- -------- -------------------- --------
- -------- Store all the items you want to be able to be saved below. --------
- -------- -------------------- --------
- Set SaveLoad_Item[0] = (Item-type of No item)
- Set SaveLoad_Item[1] = Helm Kayu
- Set SaveLoad_Item[2] = Cincin Perunggu
- Set SaveLoad_Item[3] = Baju Kayu
- Set SaveLoad_Item[4] = Pedang Kayu
- Set SaveLoad_Item[5] = Helm Kobold
- Set SaveLoad_Item[6] = Cincin Kobold
- Set SaveLoad_Item[7] = Baju Kobold
- Set SaveLoad_Item[8] = Pedang Kobold
- Set SaveLoad_Item[9] = Helm Srigala
- Set SaveLoad_Item[10] = Cincin Srigala
- Set SaveLoad_Item[11] = Baju Srigala
- Set SaveLoad_Item[12] = Pedang Srigala
- Set SaveLoad_Item[13] = Helm Raja Kobold
- Set SaveLoad_Item[14] = Cincin Raja Kobold
- Set SaveLoad_Item[15] = Baju Raja Kobold
- Set SaveLoad_Item[16] = Pedang Raja Kobold
- Set SaveLoad_Item[17] = Helm Raja Srigala
- Set SaveLoad_Item[18] = Cincin Raja Srigala
- Set SaveLoad_Item[19] = Baju Raja Srigala
- Set SaveLoad_Item[20] = Pedang Raja Srigala
- Set SaveLoad_Item[21] = Helm Penguasa Hutan
- Set SaveLoad_Item[22] = Cincin Penguasa Hutan
- Set SaveLoad_Item[23] = Baju Penguasa Hutan
- Set SaveLoad_Item[24] = Pedang Penguasa Hutan
- Set SaveLoad_Item[25] = Helm Katak
- Set SaveLoad_Item[26] = Cincin Katak
- Set SaveLoad_Item[27] = Baju Katak
- Set SaveLoad_Item[28] = Pedang Katak
- Set SaveLoad_Item[29] = Helm Raja Katak
- Set SaveLoad_Item[30] = Cincin Raja Katak
- Set SaveLoad_Item[31] = Baju Raja Katak
- Set SaveLoad_Item[32] = Pedang Raja Katak
- Set SaveLoad_Item[33] = Helm Troll
- Set SaveLoad_Item[34] = Cincin Troll
- Set SaveLoad_Item[35] = Baju Troll
- Set SaveLoad_Item[36] = Pedang Troll
- Set SaveLoad_Item[37] = Helm Golem
- Set SaveLoad_Item[38] = Cincin Golem
- Set SaveLoad_Item[39] = Baju Golem
- Set SaveLoad_Item[40] = Pedang Golem
- Set SaveLoad_Item[41] = Sayap Peri [Tahap 1]
- Set SaveLoad_Item[42] = Helm Raja Golem
- Set SaveLoad_Item[43] = Cincin Raja Golem
- Set SaveLoad_Item[44] = Baju Raja Golem
- Set SaveLoad_Item[45] = Kapak Raja Golem
- Set SaveLoad_Item[46] = Pisau Raja Golem
- Set SaveLoad_Item[47] = Tongkat Raja Golem
- Set SaveLoad_Item[48] = Helm Beruang
- Set SaveLoad_Item[49] = Cincin Beruang
- Set SaveLoad_Item[50] = Baju Beruang
- Set SaveLoad_Item[51] = Senjata Tabu
- Set SaveLoad_Item[52] = Kapak Beruang
- Set SaveLoad_Item[53] = Pisau Beruang
- Set SaveLoad_Item[54] = Tongkat Beruang
- Set SaveLoad_Item[55] = Helm Tuskarr
- Set SaveLoad_Item[56] = Cincin Tuskarr
- Set SaveLoad_Item[57] = Baju Tuskarr
- Set SaveLoad_Item[58] = Kapak Tuskarr
- Set SaveLoad_Item[59] = Pisau Tuskarr
- Set SaveLoad_Item[60] = Tongkat Tuskarr
- Set SaveLoad_Item[61] = Helm Yeti
- Set SaveLoad_Item[62] = Cincin Yeti
- Set SaveLoad_Item[63] = Baju Yeti
- Set SaveLoad_Item[64] = Kapak Yeti
- Set SaveLoad_Item[65] = Pisau Yeti
- Set SaveLoad_Item[66] = Tongkat Yeti
- Set SaveLoad_Item[67] = Sayap Peri [Tahap 2]
- Set SaveLoad_Item[68] = Helm Bandit
- Set SaveLoad_Item[69] = Cincin Bandit
- Set SaveLoad_Item[70] = Baju Bandit
- Set SaveLoad_Item[71] = Kapak Bandit
- Set SaveLoad_Item[72] = Pisau Bandit
- Set SaveLoad_Item[73] = Tongkat Bandit
- Set SaveLoad_Item[74] = Helm Tengkorak
- Set SaveLoad_Item[75] = Cincin Tengkorak
- Set SaveLoad_Item[76] = Baju Tengkorak
- Set SaveLoad_Item[77] = Kapak Tengkorak
- Set SaveLoad_Item[78] = Pisau Tengkorak
- Set SaveLoad_Item[79] = Tongkat Tengkorak
- Set SaveLoad_Item[80] = Helm Raja Bandit
- Set SaveLoad_Item[81] = Cincin Raja Bandit
- Set SaveLoad_Item[82] = Baju Raja Bandit
- Set SaveLoad_Item[83] = Kapak Raja Bandit
- Set SaveLoad_Item[84] = Pisau Raja Bandit
- Set SaveLoad_Item[85] = Tongkat Raja Bandit
- Set SaveLoad_Item[86] = Helm Raja Tengkorak
- Set SaveLoad_Item[87] = Cincin Raja Tengkorak
- Set SaveLoad_Item[88] = Baju Raja Tengkorak
- Set SaveLoad_Item[89] = Kapak Raja Tengkorak
- Set SaveLoad_Item[90] = Pisau Raja Tengkorak
- Set SaveLoad_Item[91] = Tongkat Raja Tengkorak
- Set SaveLoad_Item[92] = Helm Katak Purba
- Set SaveLoad_Item[93] = Cincin Katak Purba
- Set SaveLoad_Item[94] = Baju Katak Purba
- Set SaveLoad_Item[95] = Kapak Katak Purba
- Set SaveLoad_Item[96] = Pisau Katak Purba
- Set SaveLoad_Item[97] = Tongkat Katak Purba
- Set SaveLoad_Item[98] = Helm Kappa
- Set SaveLoad_Item[99] = Cincin Kappa
- Set SaveLoad_Item[100] = Baju Kappa
- Set SaveLoad_Item[101] = Kapak Kappa
- Set SaveLoad_Item[102] = Pisau Kappa
- Set SaveLoad_Item[103] = Tongkat Kappa
- Set SaveLoad_Item[104] = Helm Penjaga Pulau
- Set SaveLoad_Item[105] = Cincin Penjaga Pulau
- Set SaveLoad_Item[106] = Baju Penjaga Pulau
- Set SaveLoad_Item[107] = Kapak Penjaga Pulau
- Set SaveLoad_Item[108] = Pisau Penjaga Pulau
- Set SaveLoad_Item[109] = Tongkat Penjaga Pulau
- Set SaveLoad_Item[110] = Helm Prajurit Iblis
- Set SaveLoad_Item[111] = Cincin Prajurit Iblis
- Set SaveLoad_Item[112] = Baju Prajurit Iblis
- Set SaveLoad_Item[113] = Kapak Prajurit Iblis
- Set SaveLoad_Item[114] = Pisau Prajurit Iblis
- Set SaveLoad_Item[115] = Tongkat Prajurit Iblis
- Set SaveLoad_Item[116] = Helm Envy
- Set SaveLoad_Item[117] = Baju Envy
- Set SaveLoad_Item[118] = Helm Sloth
- Set SaveLoad_Item[119] = Baju Sloth
- Set SaveLoad_Item[120] = Helm Baal (Bertahan)
- Set SaveLoad_Item[121] = Helm Baal (Penyerang)
- Set SaveLoad_Item[123] = Cincin Baal
- Set SaveLoad_Item[124] = Baju Baal (Bertahan)
- Set SaveLoad_Item[125] = Baju Baal (Penyerang)
- Set SaveLoad_Item[126] = Kapak Baal
- Set SaveLoad_Item[127] = Pisau Baal
- Set SaveLoad_Item[128] = Tongkat Baal
- Set SaveLoad_ItemCount = 128
- -------- -------------------- --------
- -------- Don't modify below this line. --------
- -------- This is just here to copy variables to your map --------
- -------- -------------------- --------
- Set SaveLoad_Full = SaveLoad_Alphabet
- Set SaveLoad_Error = <Empty String>
- Set SaveLoad_Base = (Length of SaveLoad_Alphabet)
- Set SaveLoad_Char[0] = <Empty String>
- Set Load[0] = 0
- Set LoadCount = 0
- Custom script: call CodeGen_Init()
-
Events
-
CodeGen Save
-
Events
- Player - Player 1 (Red) types a chat message containing -save as An exact match
- Player - Player 2 (Blue) types a chat message containing -save as An exact match
- Player - Player 3 (Teal) types a chat message containing -save as An exact match
- Player - Player 4 (Purple) types a chat message containing -save as An exact match
- Player - Player 5 (Yellow) types a chat message containing -save as An exact match
- Player - Player 6 (Orange) types a chat message containing -save as An exact match
- Player - Player 7 (Green) types a chat message containing -save as An exact match
- Player - Player 8 (Pink) types a chat message containing -save as An exact match
- Player - Player 9 (Gray) types a chat message containing -save as An exact match
- Conditions
-
Actions
- -------- -------------------- --------
- -------- Find the players hero, and save it. I realize it leaks but it's just for demonstration. --------
- -------- -------------------- --------
- Set SaveCount = 0
- Unit Group - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True)) and do (Set Hero = (Picked unit))
- Custom script: set udg_Save[udg_SaveCount] = CodeGen_ConvertHero(GetUnitTypeId(udg_Hero))
- -------- -------------------- --------
- -------- Save heroes level. --------
- -------- -------------------- --------
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = (Hero level of Hero)
- -------- -------------------- --------
- -------- Save heroes exp. --------
- -------- -------------------- --------
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = (Hero experience of Hero)
- -------- -------------------- --------
- -------- Save heroes stats --------
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = (Strength of Hero (Exclude bonuses))
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = (Agility of Hero (Exclude bonuses))
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = (Intelligence of Hero (Exclude bonuses))
- -------- -------------------- --------
- -------- Save players gold. --------
- -------- -------------------- --------
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = ((Owner of Hero) Current gold)
- -------- -------------------- --------
- -------- Save players lumber. --------
- Set SaveCount = (SaveCount + 1)
- Set Save[SaveCount] = ((Owner of Hero) Current lumber)
- -------- -------------------- --------
- -------- Save heroes items. --------
- -------- -------------------- --------
-
For each (Integer A) from 1 to 7, do (Actions)
-
Loop - Actions
- Set SaveCount = (SaveCount + 1)
- Set Item_1 = (Item carried by Hero in slot (Integer A))
- Custom script: set udg_Save[udg_SaveCount] = CodeGen_ConvertItem_1(GetItemTypeId(udg_Item_1))
-
Loop - Actions
- -------- -------------------- --------
- -------- Save bags items. --------
- -------- -------------------- --------
- Unit Group - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is A flying unit) Equal to True)) and do (Set Bag = (Picked unit))
- Custom script: set udg_Save[udg_SaveCount] = CodeGen_ConvertBag(GetUnitTypeId(udg_Bag))
-
For each (Integer A) from 1 to 7, do (Actions)
-
Loop - Actions
- Set SaveCount = (SaveCount + 1)
- Set Item_2 = (Item carried by Bag in slot (Integer A))
- Custom script: set udg_Save[udg_SaveCount] = CodeGen_ConvertItem_2(GetItemTypeId(udg_Item_2))
-
Loop - Actions
- -------- -------------------- --------
- -------- Set the filename for where the loadcode will be stored. --------
- -------- -------------------- --------
- Set SaveLoad_Directory = Bert RPG Maker
- Set SaveLoad_Filename = (((Dunia Impian RPG S1 v1.3 + (Name of (Triggering player))) + (('s Lv + (String((Level of Hero)))) + ( + (((Name of Hero) + <Empty String>) + .txt))))
- -------- -------------------- --------
- -------- Show Code --------
- -------- -------------------- --------
- Custom script: set udg_Code = CodeGen_Compile()
- Game - Display to (Player group((Triggering player))) for 60.00 seconds the text: |c00FF7F00Karakter ...
- Game - Display to (Player group((Triggering player))) for 60.00 seconds the text: (|c0000FF00Code:|r + Code)
-
Events
-
CodeGen Load
-
Events
- Player - Player 1 (Red) types a chat message containing -load as A substring
- Player - Player 2 (Blue) types a chat message containing -load as A substring
- Player - Player 3 (Teal) types a chat message containing -load as A substring
- Player - Player 4 (Purple) types a chat message containing -load as A substring
- Player - Player 5 (Yellow) types a chat message containing -load as A substring
- Player - Player 6 (Orange) types a chat message containing -load as A substring
- Player - Player 7 (Green) types a chat message containing -load as A substring
- Player - Player 8 (Pink) types a chat message containing -load as A substring
- Player - Player 9 (Gray) types a chat message containing -load as A substring
-
Conditions
- (String((Substring((Entered chat string), 1, 6))) as Lower case) Equal to -load
- HS_Bool[(Player number of (Triggering player))] Equal to False
-
Actions
- -------- -------------------- --------
- -------- Check if load is valid --------
- -------- -------------------- --------
- Set Code = (Substring((Entered chat string), 7, 999))
- Custom script: call CodeGen_Load(udg_Code)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- SaveLoad_Valid Equal to False
-
Then - Actions
- Game - Display to (Player group((Triggering player))) for 10.00 seconds the text: SaveLoad_Error
- Set HS_Bool[(Player number of (Triggering player))] = False
- Skip remaining actions
- Else - Actions
-
If - Conditions
- -------- -------------------- --------
- -------- We being with loading the hero first (because that's what we saved first). --------
- -------- -------------------- --------
- Set LoadCount = 0
- Unit Group - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True)) and do (Unit - Remove (Picked unit) from the game)
- Unit - Create 1 SaveLoad_Hero[Load[LoadCount]] for (Triggering player) at (Center of Hero Setup <gen>) facing Default building facing degrees
- Set Hero = (Last created unit)
- Selection - Select (Last created unit) for (Triggering player)
- -------- -------------------- --------
- -------- Load heroes level --------
- -------- -------------------- --------
- Set LoadCount = (LoadCount + 1)
- Hero - Set (Last created unit) Hero-level to Load[LoadCount], Hide level-up graphics
- -------- -------------------- --------
- -------- Load heroes exp --------
- Set LoadCount = (LoadCount + 1)
- Hero - Set (Last created unit) experience to Load[LoadCount], Hide level-up graphics
- -------- -------------------- --------
- -------- Load heroes stats --------
- -------- -------------------- --------
- Set LoadCount = (LoadCount + 1)
- Hero - Modify Strength of Hero: Set to Load[LoadCount]
- Set LoadCount = (LoadCount + 1)
- Hero - Modify Agility of Hero: Set to Load[LoadCount]
- Set LoadCount = (LoadCount + 1)
- Hero - Modify Intelligence of Hero: Set to Load[LoadCount]
- -------- -------------------- --------
- -------- Now load players gold --------
- -------- -------------------- --------
- Set LoadCount = (LoadCount + 1)
- Player - Set (Triggering player) Current gold to Load[LoadCount]
- -------- -------------------- --------
- -------- Now load players lumber --------
- Set LoadCount = (LoadCount + 1)
- Player - Set (Triggering player) Current lumber to Load[LoadCount]
- -------- -------------------- --------
- -------- Now heroes items --------
- -------- -------------------- --------
-
For each (Integer A) from 1 to 6, do (Actions)
-
Loop - Actions
- Set LoadCount = (LoadCount + 1)
- Hero - Create SaveLoad_Item[Load[LoadCount]] and give it to Hero
-
Loop - Actions
- -------- -------------------- --------
- -------- Now bags items --------
- -------- -------------------- --------
- Unit Group - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is A flying unit) Equal to True)) and do (Unit - Remove (Picked unit) from the game)
- Unit - Create 1 SaveLoad_Bag[Load[LoadCount]] for (Triggering player) at (Center of Bag Setup <gen>) facing Default building facing degrees
- Set Bag = (Last created unit)
-
For each (Integer A) from 1 to 6, do (Actions)
-
Loop - Actions
- Set LoadCount = (LoadCount + 1)
- Hero - Create SaveLoad_Item[Load[LoadCount]] and give it to Bag
-
Loop - Actions
- -------- -------------------- --------
- Set HS_Bool[(Player number of (Triggering player))] = True
-
Events