• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

[Trigger] Codegen 1.0.2 saving pet problem

Status
Not open for further replies.
Level 3
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
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()
CodeGen Save
  • 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))
      • -------- -------------------- --------
      • -------- 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))
      • -------- -------------------- --------
      • -------- 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)
CodeGen Load
  • 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
      • -------- -------------------- --------
      • -------- 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
      • -------- -------------------- --------
      • -------- 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
      • -------- -------------------- --------
      • Set HS_Bool[(Player number of (Triggering player))] = True
 
Status
Not open for further replies.
Top