Battlezone Universe

Battlezone Universe => Battlezone 2 => Maps and Modding => Topic started by: TheJamsh on September 24, 2009, 08:08:26 PM

Title: launching one-time maps.
Post by: TheJamsh on September 24, 2009, 08:08:26 PM
for s-mod i plan to use an achievement system. Although there are some xbox haters (and i admit i used to be one of them, but i do enjoy a good console bash now and again).

The achievement system won't 'unlock' anything as such (unless i can find a way to safely do so in a non-hackable way, AND make it MP-safe, which may be possible), But i do want an in-game viewer of some sort.

My idea, rather than use a shell that pulls variables out from somewhere (which wouldnt work), is that when a button is pressed in-shell, a single-purpose map will load up, and you can DRIVE around this map looking at youre achievements. Now this will be possible because a .dll will 'read-in' variables from an external file that the SP mission .dll's save to on youre computer, (how to make this hack-proof im not sure).

The problem is, i don't know and severely doubt if there is a console command that can be used with a shell button to launch this custom map. The map will remain the same, but the achievement items will be generated by the .dll. Honestly im not sure quite how im going to do this yet.

Does anyone know if its possible to just make a map launch in this way? Rather than select it from a pre-filled list, i can actually make BZ2 launch it from a button??

Thoughts/Comments/Put downs welcome...
Title: Re: launching one-time maps.
Post by: Warfreak on September 24, 2009, 10:06:37 PM
Not so much Xbox HATERS, but making games LIKE Xbox Games Haters.
Title: Re: launching one-time maps.
Post by: Nielk1 on September 24, 2009, 10:21:31 PM
/me looks at list of notes and sketches and things he has tucked away for mods.

Stop doing that... I have that filed as almost a year old an idea here. :-P
Title: Re: launching one-time maps.
Post by: TheJamsh on September 25, 2009, 12:18:05 AM
lol :P i already know warfreaks thoughts on things...
Title: Re: launching one-time maps.
Post by: AHadley on September 25, 2009, 03:39:18 PM
Though an achievements plan would be interesting (and it could even be implemented into most mods and even the original once first done) it would take a lot of work to make it safe and un-hackable. I'm still waiting to play a Steam game I can get achievements on :P
Title: Re: launching one-time maps.
Post by: Nielk1 on September 25, 2009, 04:45:40 PM
I never found a way to be secure, just accurate and error safe, but not secure.
Title: Re: launching one-time maps.
Post by: TheJamsh on September 25, 2009, 05:58:36 PM
Well i just found out i CAN indeed do exactly what i asked. A bit of console exploration and voila. So now i have another map to make. Modding is so much fun when it works out...

Making it secure probably isn't possible unless the achievement progress is stored WITHIN the pilot.dat file, as that makes it un-editable. However, i doubt its possible to do such a thing. TO make it hack proof-ish, you could save in binary rather than ASCII.

or would that not work ever?
Title: Re: launching one-time maps.
Post by: Nielk1 on September 25, 2009, 06:10:08 PM
Could make DLLs save data into registry and have the map read it.

Back when the Site B map was released I wanted to do a Hunting mod were you got trophies. That system would have worked for it but I began to find the premise boring.
Title: Re: launching one-time maps.
Post by: TheJamsh on September 25, 2009, 06:47:42 PM
Registry... never thought of that...
Title: Re: launching one-time maps.
Post by: Zero Angel on September 26, 2009, 12:00:23 PM
One way you could go about it (to prevent cheating) is for each achievement to have a 'password' which upon accomplishment is stored in the registry (ie: 100_kills = mayhem) and the achievement map will check if the password is correct and show the chosen achievement if it is.
Title: Re: launching one-time maps.
Post by: AHadley on September 26, 2009, 12:18:29 PM
People might start sharing the passwords around...
Title: Re: launching one-time maps.
Post by: TheJamsh on September 26, 2009, 12:23:41 PM
^ what he said. Anything that can be 'shared' easily is a no-go really, unless it turns out to be the only way to do it...

The hardest part was making a one-time launch map... which ive now got working :)
Title: Re: launching one-time maps.
Post by: Nielk1 on September 26, 2009, 06:44:00 PM
Just hash it...
Title: Re: launching one-time maps.
Post by: Zero Angel on September 26, 2009, 07:23:33 PM
Well you could run the hash against the user's SID (or username or other commonly available variable) as well as the name of the variable in question.

Something like icarus100KOfalse (icarus: computer name -> 100KO: achievement name -> false: value), then all you have to do is simply hash that puppy using something like MD5 or SHA-1
Title: Re: launching one-time maps.
Post by: Mr X on September 26, 2009, 07:26:01 PM
I have a suggestion that works as an extension of the password idea,

you prove to someone in charge that you accomplished something and then they remote access your computer to input the password, no more than one person need ever know the password.
Title: Re: launching one-time maps.
Post by: TheJamsh on September 26, 2009, 08:14:40 PM
ooo big no-go on remote access. A) too much work and B) i dont think everyone likes the idea of that... especially not something as low-priority as this.
Title: Re: launching one-time maps.
Post by: bb1 on September 26, 2009, 09:38:15 PM
Would you share YOUR achievements?