• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Save / load item Dupe :((:(:

Status
Not open for further replies.
Level 3
Joined
Sep 8, 2013
Messages
21
please help me in my map somebody drops his item and he write load code and his item going to double how i close this bug . please help me
 
Level 3
Joined
Sep 8, 2013
Messages
21
no i mean orpg map save / load system somebody buys an item and write -save then he drop his item then he write his save code so he have 1 item and 1 dropped item 1+1 = 2 he has got 2 item :( i want to know how to if he write load code remove all his item entire map
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
Remove all dropped items when he loads and ignore such dropped items when other players save. All the common systems are annoying and place stupid restrictions on players.

The idea is you use an item list (be it array list or linked list) to keep track of the items dropped that a player has touched. When the player loads a hero, it removes all such items from the game, thus preventing duping. Also such items should not be save-able by other players to prevent the classic item discard after save and drop dupe method.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
or disable loading if you already had a hero... there's really not much reason to use load mid-game on an ORPG map
Really? I see people loading mid-game all the time.

Here are some of the cases where I have seen people load mid-game.
- The load code generated was corrupted or bugged resulting in nonsense output. The player could load a previous version that was not bugged allowing him to still play as opposed to being forced to leave.
- In team based RPGs key team members have left. In stead of remaking the player could load an alternative role to fill in the gapes that were left. This allows the session to continue.
- The player has reached an intended milestone for a certain character and wishes to obtain a different milestone with a different character. This requires loading the alternative character mid game.
- The player enters an un-recoverable state due to a map bug. In stead of leaving he could re-load, or save/load, to return him to a known safe state allowing him to continue progressing.
- In a session with players at a variety of progression levels some players might want to re-load characters at different progression levels that are similar to other players to form groups and make progression easier.
- A player may have made a serious mistake resulting in huge state regression. A reload allows him to continue without remaking or having to waste time recovering the regressed progress. An example of this would be the accidental destruction of a rare or hard to obtain item by either vendoring it or a troll killing it.
- To check if the obtained code was recorded correctly. Although no longer necessary using modern code dump techniques, players still using traditional paper or text file methods may want this extra validation to prevent progress regression.
- To compare state of various characters with each other. Rapid switching between heroes may be required to notice differences between them.
- The wrong save code was loaded initially, either being an old version or containing the wrong progress set. Reloading allows the correct progress set to be loaded without having to remake. This happens if people are disorganized or have not played for an extended period and forgot to prepare the last captured state.

As you can see it is quite important to be able to reload mid-session for the convenience of the player. Although some problems can be addressed by proper mapping practices or are not applicable to certain game styles, it is better to be safe than sorry in this case and support it.
 
I know that it took me a long time to adress all possible exploits with the save/load system and a lot of coding when making Gaias Retaliation exploit-save.

What you need is a robust scripted item system that renders any item in one of two states: bound and unbound.

By default, all items are unbound, so all players can pick them up or use them. As soon as a player saves, all items in his possession get bound to that character. He can still sell them to vendors or drop them, but other players can not loot them anymore ("This item belongs to player X"). When a player loads, all loaded items also need to be bound to this player.

To do that, you can use a hashtable and store an integer variable to each item handle id. The integer variable indicates the bound owner: 0 for an unbound item, 1-16 for the corresponding players.


You also need to prevent players from trading money in the game, or they could dupe gold by saving/loading.
 
Level 3
Joined
Sep 8, 2013
Messages
21
in my system gold isnt saveable but all have backpack how to remove in backpacks items in inventory
 
Level 19
Joined
Aug 8, 2007
Messages
2,765
but i dont know how to lock items for save code writer player ?

when an item is picked up, use Item -> Set Item Custom Value to the player index of triggering player. If the custom value is not zero (meaning it was picked up previously), than drop it.

in my system gold isnt saveable but all have backpack how to remove in backpacks items in inventory

what system are you using?
 
Level 3
Joined
Sep 8, 2013
Messages
21
i use acehart's system and im not very good at we help me with trigger actions picture or map to i copy my map
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
I just feel like allowing them to re-load mid-game gives them allowance for mistakes that they commit
Most of the mistakes I find myself needing to reload are not mine, but caused by other players or by the map maker himself not knowing how to map. You can add penalties like Diablo III 1.x does so that you are encouraged to commit.

An example was the other day when I loaded a code and got a broken hero. I could not play and could not start new/reload so I had to quit. Another example from long ago was my hero getting stuck somewhere on the map with no rescue command forcing me to quit. A final example was when my hero was removed, forcing me to quit.
 
Status
Not open for further replies.
Top