I need to figure out why this save trigger is adding random abilities instead of the ones that are learnt through items , it wont save the spell thats added at level one i have tried so many different ways i want to make it where the hero has no spells at start accept for the one u start with and as u play the game u get spells from boss drops and level them up with same items again but when i save it doesnt load the first spell or set the levels of the other ones and sometimes adds another random one
-
Save Abilities
-
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
-
-
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_ConvertUnit(GetUnitTypeId(udg_Hero))
-
-------- Save heroes level. --------
-
Set SaveCount = (SaveCount + 1)
-
Set Save[SaveCount] = (Hero level of Hero)
-
-------- Save players gold. --------
-
Set SaveCount = (SaveCount + 1)
-
Set Save[SaveCount] = ((Triggering player) Current gold)
-
-------- Save heroes items. --------
-
Set SaveCount = (SaveCount + 1)
-
Set Save[SaveCount] = (Number of items carried by Hero)
-
For each (Integer A) from 1 to Save[SaveCount], do (Actions)
-
Loop - Actions
-
Set SaveCount = (SaveCount + 1)
-
Set Item = (Item carried by Hero in slot (Integer A))
-
Custom script: set udg_Save[udg_SaveCount] = CodeGen_ConvertItem(GetItemTypeId(udg_Item))
-
-
-
-------- Save players Lumber. --------
-
Set SaveCount = (SaveCount + 1)
-
Set Save[SaveCount] = ((Triggering player) Current lumber)
-
-------- Save heroes skills --------
-
For each (Integer A) from 0 to SaveLoad_AbilityCount, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of SaveLoad_Abilities[(Integer A)] for Hero) Greater than 0
-
-
Then - Actions
-
-------- save skill level --------
-
Set SaveCount = (SaveCount + 1)
-
Set Save[SaveCount] = (Level of SaveLoad_Abilities[(Integer A)] for Hero)
-
Game - Display to (All players) the text: (String(Save[SaveCount]))
-
Set SaveCount = (SaveCount + 1)
-
Set Save[SaveCount] = (Level of SaveLoad_Abilities[(Integer A)] for Hero)
-
Set SaveCount = (SaveCount + 1)
-
Custom script: set udg_Save[udg_SaveCount] = bj_forLoopAIndex
-
-
Else - Actions
-
-
-
-
-------- Show Code --------
-
Custom script: set udg_Code = CodeGen_Compile()
-
Game - Display to (Player group((Triggering player))) for 60.00 seconds the text: Code
-
-
-
Load Abilities
-
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
-
-
Conditions
-
(String((Substring((Entered chat string), 1, 6))) as Lower case) Equal to -load
-
-
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
-
Skip remaining actions
-
-
Else - Actions
-
-
-------- Start loading, load the hero 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 Region 008 <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
-
-------- Now load players gold --------
-
Set LoadCount = (LoadCount + 1)
-
Player - Set (Triggering player) Current gold to Load[LoadCount]
-
-------- Now items --------
-
Set LoadCount = (LoadCount + 1)
-
Set ItemCount = Load[LoadCount]
-
For each (Integer A) from 1 to Load[LoadCount], do (Actions)
-
Loop - Actions
-
Set LoadCount = (LoadCount + 1)
-
Hero - Create SaveLoad_Item[Load[LoadCount]] and give it to Hero
-
-
-
-------- abilities --------
-
For each (Integer A) from 1 to 5, do (Actions)
-
Loop - Actions
-
Set LoadCount = (LoadCount + 1)
-
Set AbilityLevel = Load[LoadCount]
-
Game - Display to (All players) the text: (String(AbilityLevel))
-
Set LoadCount = (LoadCount + 1)
-
For each (Integer B) from 1 to AbilityLevel, do (Actions)
-
Loop - Actions
-
Custom script: call UnitAddAbility(udg_Hero, udg_SaveLoad_Abilities[udg_Load[udg_LoadCount]])
-
-
-
-
-
-