HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Saving Data/Gamecache to harddisk (mutliplayer)

07-02-2006, 11:29 AM#1
The)TideHunter(
Now, iv heard its possible a few times, and i just wanted to clerify.
Iv heard using SyncStoredInteger and SyncReady saves things to harddisk.
I was wondering if this method could be used to store things forever, in a mutliplayer map so people can come back to there saved stuff.

I know it sounds stupid, because it if its possible it would have probally been figured out before, but it is?
07-02-2006, 12:32 PM#2
Captain Griffen
I very much doubt it is possible. Even if it was found to be possible, it would be very likely to be fixed in the patch following such a discovery, as it would pose a major security risk (ergo the reason it wasn't included in the first place).

Syncing merely makes all computers have the same value for the data.
07-02-2006, 01:40 PM#3
shadow1500
SyncStoredInteger and SyncReady do not save anything to the hard drive, the only function that does is SaveGameCache and it doesnt work in multiplayer.
07-02-2006, 01:54 PM#4
Vexorian
It is impossible, completelly impossible. Sync functions just sync the contents of the gamecache that is on RAM to all the players in case they are different.
07-03-2006, 12:52 AM#5
PipeDream
It is of course trivial with new natives.
07-03-2006, 01:43 AM#6
shadow1500
Quote:
It is of course trivial with new natives.
Yes, but whats the point? You cant use ithem on Battle.Net anyway.
07-03-2006, 01:56 AM#7
COOLer
Quote:
Originally Posted by shadow1500
Yes, but whats the point? You cant use ithem on Battle.Net anyway.

you can if everyone has the same dll and common.j
07-03-2006, 02:05 AM#8
shadow1500
I heard that you cant run bnet with the hacked dll.
07-03-2006, 02:06 AM#9
PipeDream
You don't modify any warcraft files to use custom natives. The new code is loaded at runtime.
07-03-2006, 02:15 AM#10
shadow1500
Yes, but then all of the players need to have the natives loaded which means that you can only use it for inhouse games.
07-03-2006, 10:15 AM#11
Anitarf
Well, technicaly it would be possible; if someone posted a standardised set of additional natives, someone you could trust that those natives couldn't be used to do anything harmful, mapmakers could use some of them and simply specify that their map requires this set of natives to work. The problem is, of course, what happens if someone enters a game without those natives, downloads the map and then the game starts? What does the war3 parser do when it hits an undefined function? Thread crash? Game crash?

I don't know, if it's a thread crash only, then you could easily detect that with a test function at start of game and inform the players that don't have the native pack about it. Otherwise, it would proove a difficulty to spread such a native pack, and as shadow1500 says maps that use them would be limited to inhouse games.
07-03-2006, 10:26 AM#12
PipeDream
The game would not load. It might give you an error message about "Unregistered native", but chances are it would just dump you back to game selection screen. common.j is loaded very early.
07-03-2006, 03:20 PM#13
xttocs
If people were using a loader with custom natives to load maps that required those natives no one else could join their games. The game WILL NOT load a map that has natives that it does not recognize. Hence... only people using the loader could join and load your game on battle.net.
07-03-2006, 03:31 PM#14
shadow1500
What error message does it show? It should hint that the user needs some libary to join game, instead of some "the game is not availible" or w/e.
07-03-2006, 08:03 PM#15
Anitarf
Quote:
Originally Posted by xttocs
If people were using a loader with custom natives to load maps that required those natives no one else could join their games. The game WILL NOT load a map that has natives that it does not recognize. Hence... only people using the loader could join and load your game on battle.net.
That makes no sense. You can join games even if you don't have the map being played, as it automaticaly downloads from one of the people in that game who already have it. Your game can't know what natives a map uses before it actualy has the map. It can't load it, but it can't prevent you from joining a game either.