Save/Load Code, Yet Another

> None of the custom scripts are working.

That's a classic in this thread here...

Open the save/load map,
trigger editor,
click on the map's name at the very top of the trigger list.

See that bunch of text there?

Select it all and copy & paste it into your own map's custom header.
 
-load (unspent)Hero Skill Points...

Hello, I'm trying to make the code remember hero's skill points (unspent) after learned skills. But every time I load the hero with learned skills it does not have the correct skill point amount (has amount equal to level - skill learned instead of real amount)...
So far I got it to remember my hero, exp, str, dex, int, gold, lumber, items and learned skills. Just need this skill points to be saved! I tried putting

(save trigger) Set Save[SaveCount]=(Unspent skill points of Picked unit))
and
(load trigger) Hero - Modify unspent skill points of (Picked unit): Set to Save[SaveCount]

before and after the abilities loop and neither worked so far... argh:banghead:

anyway thanks for code ace, here's a hart 4 u <3

EDIT: on further testing it seems that triggers wont add a skill point if hero has all skills learned... anyone know a way around that?
Also the code is only remembering 2 skills learned... how would I make it 5? and the skill only can load up to level 3? how could i make that 10 or more?

well heres my codes...
Code:
SaveLoad Save All
    Events
        Player - Player 1 (Red) types a chat message containing -save as An exact match
    Conditions
    Actions
        -------- Prepare the save array with this player's Hero --------
        Set SaveCount = 0
        Set UnitGroup = (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True))
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                -------- Save the Hero --------
                Set SaveCount = (SaveCount + 1)
                Set TempUnit = (Picked unit)
                Custom script:   set udg_Save[udg_SaveCount] = SaveLoad_Unit2Integer( udg_TempUnit )
                -------- Hero Skill Points --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = (Unspent skill points of (Picked unit))
                -------- Hero Experience --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = (Hero experience of (Picked unit))
                -------- Hero Strength --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = (Strength of (Picked unit) (Exclude bonuses))
                -------- Hero Dexterity --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = (Agility of (Picked unit) (Exclude bonuses))
                -------- Hero Intelligence --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = (Intelligence of (Picked unit) (Exclude bonuses))
                -------- Player's Gold --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = ((Triggering player) Current gold)
                -------- Player's Lumber --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = ((Triggering player) Current lumber)
                -------- How many items does he carry --------
                Set SaveCount = (SaveCount + 1)
                Set Save[SaveCount] = (Number of items carried by (Picked unit))
                -------- Add all items --------
                For each (Integer A) from 1 to 6, do (Actions)
                    Loop - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                ((Item carried by (Picked unit) in slot (Integer A)) is owned) Equal to True
                            Then - Actions
                                -------- The actual item --------
                                Set SaveCount = (SaveCount + 1)
                                Set TempItem = (Item carried by (Picked unit) in slot (Integer A))
                                Custom script:   set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
                                -------- The number of charges it has --------
                                Set SaveCount = (SaveCount + 1)
                                Set Save[SaveCount] = (Charges remaining in (Item carried by (Picked unit) in slot (Integer A)))
                            Else - Actions
                -------- Add all abilities --------
                For each (Integer A) from 1 to SaveLoad_Abilities_LastIndex, 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 (Picked unit)) Greater than 0
                            Then - Actions
                                -------- The actual ability --------
                                Set SaveCount = (SaveCount + 1)
                                Set Save[SaveCount] = (Integer A)
                                -------- Its level --------
                                Set SaveCount = (SaveCount + 1)
                                Set Save[SaveCount] = (Level of SaveLoad_Abilities[(Integer A)] for (Picked unit))
                            Else - Actions
        -------- Turn values into code --------
        Custom script:   set udg_Code = SaveLoad_Encode()
        -------- Show code to player --------
        Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
        Quest - Display to (Player group((Triggering player))) the Secret message: (Saved: Level  + ((String((Hero level of TempUnit))) + (  + (Name of TempUnit))))
        Game - Display to (Player group((Triggering player))) for 300.00 seconds the text: Code

Code:
SaveLoad Load All
    Events
        Player - Player 1 (Red) types a chat message containing -load  as A substring
    Conditions
        (Substring((Entered chat string), 1, 6)) Equal to (Matched chat string)
        (Length of (Entered chat string)) Greater than 6
    Actions
        -------- Try to decode what was typed --------
        Set Code = (Substring((Entered chat string), 7, (Length of (Entered chat string))))
        Custom script:   set udg_Validate = SaveLoad_Decode( udg_Code )
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Validate Equal to False
            Then - Actions
                -------- Invalid code --------
                Game - Display to (Player group((Triggering player))) the text: Invalid code!
                Skip remaining actions
            Else - Actions
        -------- It worked, let's do something with it --------
        Unit Group - Pick every unit in (Units owned by (Triggering player) matching (((Matching unit) is A Hero) Equal to True)) and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
        Set TempInteger = SaveCount
        Set SaveCount = 0
        -------- Restore Hero --------
        Set SaveCount = (SaveCount + 1)
        Custom script:   set udg_TempUnitType = SaveLoad_Integer2Unit(udg_Save[udg_SaveCount])
        Unit - Create 1 TempUnitType for (Triggering player) at ((Triggering player) start location) facing (Random angle) degrees
        -------- Set Skill Points --------
        Set SaveCount = (SaveCount + 1)
        Hero - Modify unspent skill points of (Picked unit): Set to Save[SaveCount] points
        -------- Set Experience --------
        Set SaveCount = (SaveCount + 1)
        Hero - Set (Last created unit) experience to Save[SaveCount], Hide level-up graphics
        -------- Set Strength --------
        Set SaveCount = (SaveCount + 1)
        Hero - Modify Strength of (Last created unit): Set to Save[SaveCount]
        -------- Set Dexterity --------
        Set SaveCount = (SaveCount + 1)
        Hero - Modify Agility of (Last created unit): Set to Save[SaveCount]
        -------- Set Intelligence --------
        Set SaveCount = (SaveCount + 1)
        Hero - Modify Intelligence of (Last created unit): Set to Save[SaveCount]
        -------- Restore Gold --------
        Set SaveCount = (SaveCount + 1)
        Player - Set (Triggering player) Current gold to Save[SaveCount]
        -------- Restore Lumber --------
        Set SaveCount = (SaveCount + 1)
        Player - Set (Triggering player) Current lumber to Save[SaveCount]
        -------- Recreate all items --------
        Set SaveCount = (SaveCount + 1)
        For each (Integer A) from 1 to Save[SaveCount], do (Actions)
            Loop - Actions
                -------- The actual item --------
                Set SaveCount = (SaveCount + 1)
                Custom script:   set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
                Hero - Create TempItemType and give it to (Last created unit)
                -------- Number of charges --------
                Set SaveCount = (SaveCount + 1)
                Item - Set charges remaining in (Last created item) to Save[SaveCount]
        -------- Add all abilities --------
        For each (Integer SaveCount) from (SaveCount + 1) to TempInteger, do (Actions)
            Loop - Actions
                For each (Integer A) from 1 to Save[(SaveCount + 1)], do (Actions)
                    Loop - Actions
                        Custom script:   call SelectHeroSkill( GetLastCreatedUnit(), udg_SaveLoad_Abilities[ udg_Save[ udg_SaveCount ] ] )
                Set SaveCount = (SaveCount + 1)
 
there are 2 things that bother me ...
first, I tried to use a paladin, it loads but No items are being loaded (the same ones that the blood mage loads)
and the next is that I cannot save the abilities and their level for the hero I'm saving.... pls help
 
I think I understood to make this thing work for my needs, but one thing reamins:
Is there ANY way to make it save Hero Abilities and thier current Lvl
(e.g. Holy Light 4 lvl on 15 lvl Paladin Hero)
and wjen I load the Paladin will have his ability not 4 abbility points ...
 
There's three categories:
- one that saves a bunch of numbers
- one that saves a basic Hero
- one that does it all

Have a look at what they do and how and get some inspiration from there.
 
I am trying to make this save agil str and int (ignoring bonuses) as well as Health ...
I've created integers SaveLoadSlotsgil/str/int but I have no idea how to make them save ?
would it be like gold or ... ?
 
There's an array, that holds a list of numbers.
That's it already.
And a counter to tell the code how many numbers are in that array.
What you do with them is something the code does not care about.

> would it be like gold

Yes.
 
i was looking through and couldnt find where you set code=(the encoded mush)
 
I need some help with a code for saving a integer, like in NotD. I saw the one a couple pages back but... i got confused... I make maps alot just, save/load kills me. i can never figure it out. Please can someone explain it like your talking to a 10 year old...(im not 10 by the way!)
 
Can any1 help me with modyfi it so it saves this:
Hero
Items
Items Charges
Gold
Lumber
Experiance

I have tried but i just get alot of errors and stuff. So if you could Attach a file or something so i can get it. It would be very helpfull.
 
AceHart, how can I add all my "Kills", "Deaths", "PvPPoints" ect. to the code?
Thanks :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    A probate is usually done with a will, yes? If so I am sorry for your loss
    +1
  • The Helper The Helper:
    Yeah Tom, me too sorry for your loss buddy my mom told me she finds out her olds friend died from Google searching them. She had not talked to one of her old friends in a year and found out she died from Google. Also another one in the same session. RIP all of them my sincere condolences Tom
    +1
  • Varine Varine:
    We have some elderly guests that regularly come hang out at the bar at the end of the night, and every once in a while we don't see someone for a few weeks and then someone shows up with their obituary.
  • Varine Varine:
    We usually let them do their memorials there in the morning if they want to and I'll make them some snacks and drinks. There was one guy named Tom that came in like every night and would sit by himself and get a bunch of soup and a glass of wine. idk why but he LOVED our fucking soup, like he would order a fucking quart of it at a time and would always get so sad when we stop doing it for the summer.
    +1
  • Varine Varine:
    But he also loved our calamari, which is another thing I hate but it sells super well so I can't change it. There was one day he came in and was asking me how to make it, because he tried to at home once in the off season when we stop running it and he really wanted it lol
  • Varine Varine:
    I think he's one of the only people I've made recipes for for free because he really wanted a broccoli cheddar, and it was like dude I don't have a recipe, it's just whatever I have, but here, this is how you do it
  • Varine Varine:
    I don't think he ever figured out how to do the calamari in a pan though, like idk how to do that either. He was afraid of the at home deep fryers though and it's like yeah, that's fair, I am too
  • Varine Varine:
    He was just such a sweet old man, we had two servers pregnant and they held a baby shower together, he was soooooo fucking excited to get to see a baby. Unfortunately he died a month or so before they were born
  • The Helper The Helper:
    So I decided to Google some people that I had not seen or heard from in a while and sure enough one of my old best friends, we had a falling out years ago but whatever, find out he died of Pancreatic Cancer in January. I have also lost a few of my closer acquaintances from growing up the last year. Getting old - people die - I kinda thought it was going to be this way a few years ago....
    +2
  • The Helper The Helper:
    Forum running super slow again
  • Ghan Ghan:
    Not really clear from the stats as to what is causing the slowness.
  • Ghan Ghan:
    We get a lot of guest traffic so it may just be the load is getting too high and not from any particular source.
  • Ghan Ghan:
    Looks like the server is maxed out on CPU.
  • Ghan Ghan:
    Oh it looks like a lot of the traffic is Silkroad Forums. That domain isn't protected by Cloudflare.
  • Ghan Ghan:
    But the old Silkroad site is still on its own server. I just had a test site set up on this server for it.
  • Ghan Ghan:
    I just disabled that test site. Let's see if that helps the load.
  • Ghan Ghan:
    Looks much better already.
  • The Helper The Helper:
    I had actually forgot about the Silkroad site. I had asked
  • The Helper The Helper:
    SD Ryoko about it and he said the couple of people left on there really like it, that was a few years ago, maybe I should check back
  • jonas jonas:
    I guess when you're getting old, and the last day of soup season draws near, you start wondering
  • jonas jonas:
    will I make it to the start of the next season? or was this the last time I'll ever have my favorite dish?
  • The Helper The Helper:
    I am doing my first Vibe Coding project. In installed the environment and tools according to instructions but it is all chat doing this for me at my direction. It is fun really and holy shit I might finish in 2 hours what it would have taken a day to in my Access and this would be an electron app complete new
  • Ghan Ghan:
    Good stuff.
  • Ghan Ghan:
    Just make sure it is secure. :)
  • The Helper The Helper:
    It will only be on internal network

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top