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...
Not so much Xbox HATERS, but making games LIKE Xbox Games Haters.
/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
lol :P i already know warfreaks thoughts on things...
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
I never found a way to be secure, just accurate and error safe, but not secure.
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?
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.
Registry... never thought of that...
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.
People might start sharing the passwords around...
^ 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 :)
Just hash it...
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
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.
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.
Would you share YOUR achievements?