ID:164829
 
..im trying to read the save files of my players....some dont log on so i cant check in game..and don't ask why I want to check because its confusing.

Anyways I tried doing things such as this..

mob/verb/read_File(F as file)
usr << file2text(F)


of course thats just the simplest one and the first one...i tried more complicated ones but they all end up with no result or a runtime error.

I also realized that the file2text command was meant for .txt files and such...my mistake, but I want to know if there is anyway to read these save files. I also heard something about kernel debugging but I don't really get it and it doesnt seem like it can be "coded in using dream maker".
Read the DM Guide. Namely the savefiles section (doh). Also use the DM Ref.
In response to Kaioken
I spent quite some time studying that area of DM guide but its the fact that DreamMaker encrypts everything it saves so its not readable..and I suppose I could always rename the file to me key and load it but thats not what I want to do.
In response to SS10trunks
Uh, of course its readable, by definition. What would be the point otherwise?
If you want to print a savefile in text for a person to read, its entirely possible. And theres even a built in proc that does it already, look up the savefile procs on the DM Ref.
In response to Kaioken
I looked through it but nothing pops out that it will perform the operation I want, it doesnt say anything about it auto encrypting the files or anything...unless i missed it. Can you point me in the right direction..tell me where to start in save files section?
In response to SS10trunks
It doesn't encrypt it... if its not in plain text it doesn't mean its encrypted, its just encoded in binary and DM, as said, has built-in functions for converting to plain-text and back.
I already pointed you right at it, look in the 'savefile procs' reference entry, it has links to all the damn procs. And the ones you want are in the beginning anyway.
You need to export the text into a language you can understand. To do this you would use the ImportText() and ExportText(). It shows a clear way to do this in the DM ref.

[file2text(txtfile)]

That is straight from the savefile proc in the ref so I dont know what you were looking at before, but its plainly right there.
In response to Derekjeterisgod
yea but in that code, in the read verb its a txt file not a .sav file...will that work if I just adapt it to my save files?
In response to SS10trunks
if its a .txt then you can read it outside the program. Inside you will have to look at some procs in the DM guide (don't remember where it would be).




<small>
On a side note, this sounds like a rip. This is not a flame, just an observation.
</small>
In response to SS10trunks
Thats just an example there. No actual savefile is being written or read, just a temporary one created each time. Again, the reference tells you all about this. Work a bit for your own instead of wanting to be spoon fed with everything.

<small>And yes Shlaklava, hes pretty obviously making a rip. no offence jut saying</small>
uh nope your wrong, I'm not making a rip. It was a question I had because I wanted to make it an owner verb, and I dont trust my host with save files so I want to be able to check them, along with other players because for w/e reason might come up.



And on the other thing, thank you guys for your help. (especially Kaioken for those words of encourgaement.... >.>)

In response to SS10trunks
In that case, why don't you set up some hashing system?

Eg:
mob/proc/TakeHP(amt=0) //a general system used to take health away
if(hashhp!=md5(hp)) //if the hash'd hp does not equal to the HP before damage is done:
world << "[name] is a cheater!"
Ban(src)//bans the cheater
hp=max(0,min(hp-amt,maxhp)) //makes the highest HP possible the maxhp, lowest possible is 0
hashhp=md5(hp) //hash's the new HP value


Of course this is a basic rundown of what I mean, this isn't that secure... if I did something like hashhp=md5("a[hp]#@"), it'll be a bit more secure

- GhostAnime
In response to Kaioken
Kaioken, why did you mention me?
In response to GhostAnime
GhostAnime wrote:
In that case, why don't you set up some hashing system?

Eg:
mob/proc/TakeHP(amt=0) //a general system used to take health away
> if(hashhp!=md5(hp)) //if the hash'd hp does not equal to the HP before damage is done:
> world << "[name] is a cheater!"
> Ban(src)//bans the cheater
> hp=max(0,min(hp-amt,maxhp)) //makes the highest HP possible the maxhp, lowest possible is 0
> hashhp=md5(hp) //hash's the new HP value

Of course this is a basic rundown of what I mean, this isn't that secure... if I did something like hashhp=md5("a[hp]#@"), it'll be a bit more secure

- GhostAnime


Yea, but the thing is, he has "hacking" exp but a shell server which I sorta need to host my game. Therefore he has access to the save files even while not playing game. What I had planned to do was download his savefile and convert it into a txt file. That way I can read it every few days and see if hes on a lot. I have a log system already coded showing him inparticular, each time he logs in and wat time it is when he does. If he was only on for 10 min and his lvl went up by 100 I will know he hacked his save.


That might have been sorta hard to follow but this is the MAIN reason I want to know how to do this. But on another hand a hash system would still be helpful, since im not familiar with hackers abilities or crackers and I don't plan to.
In response to Revojake
Whoops, got confused with Shlaklava >_> fixed. Guess I'm more used to seeing your name around. :p
In response to SS10trunks
Please, learn about what the terms you use instead of guessing their meaning. He's not "hacking" his exp, he's modifying his exp through the same means as you want to do most likely, which is editing his savefile. Which means if you edit it and place it back, he'll know and either: 1) edit it back or 2) Go all crazy and shut down the server permanently.

But on another hand a hash system would still be helpful, since im not familiar with hackers abilities or crackers and I don't plan to

Hashing is basically an crypted value. A hashing/verification system is something used to see if an crypted value has not changed with the uncrypted value, if it did - well, there may be a foul play around... but hey, it's your game if you want it in or not

- GhostAnime
In response to Kaioken
Im not a hooker though...