[Include] Demo recorder
#1

Demo-Recorder


Github: https://github.com/RogueDrifter/Demo-recorder

Installation


Simply install to your project:
Code:
sampctl package install RogueDrifter/Demo-recorder
Include in your code and begin using the library:
pawn Code:
#include <DemoRecorder>
Testing


To test, simply run the package:
Code:
sampctl package run
Purpose of this is just as a fallback if you wanna confirm someone cheated or anything, concept is very easy as well just include it in your gamemode and everything is done on its own, check for the saved NPC files in your server folder with the player name starting with DEMO_ and ending with either _VEHICLE or _FOOT

FAQ:

1- So this catches all cheaters? No because it overwrites so things will go missing.

2- Will this fill up my space with recorded files? No because it overwrites the files per-player

3- So how does it work? Once someone connects a file is set under their name on foot, that changes every time they get in/out of a car and it gets overwritten, so every player can only have 2 files, one inside of a car and one on-foot.

4- How do i play it? If you've ever used NPCs you'll know how to get it done, just spectate the NPC once you play the recorded file if you wanna check for anything.

Topic is always open for discussion/suggestions.
Reply
#2

Aight, you shoulda made a killcam system instead, or some similar sort of implementation so players could actually replay the record file in a seperate virtual world.
Reply
#3

Great idea, but I do not know if this would affect performance if many players are online, and I think the final file size is not a problem if the server is hosted in a VPS with several GB of space, and in addition we could exclude automatically old script with a simple script, so you can use the example format: "nickname.date" or "nickname.loginid".

Another implementation could be done with FCNPC, the administrator could see the replay directly from the server using FCNPC_StartPlayingPlayback without having to download the file, however I do not know if FCNPC can access files directly from scriptfiles.
Reply
#4

Quote:
Originally Posted by ForT
View Post
Great idea, but I do not know if this would affect performance if many players are online, and I think the final file size is not a problem if the server is hosted in a VPS with several GB of space, and in addition we could exclude automatically old script with a simple script, so you can use the example format: "nickname.date" or "nickname.loginid".

Another implementation could be done with FCNPC, the administrator could see the replay directly from the server using FCNPC_StartPlayingPlayback without having to download the file, however I do not know if FCNPC can access files directly from scriptfiles.
Yes it can. You can also use a regular NPC for this by escaping the npcmodes directory (file name can be communicated from your gamemode to the npc script).
Reply
#5

@Gammix i assume it'd be used to be played later separately after someone reports a player for some reason or if someone gets banned by your anti cheat and claims 'I didn't do that!' So you can confirm it this way, although you got a good point it'd be a good update.

@Fort i didn't try it on big servers feel free to do so, also, the reason it overwrites is because i already tried to use the date format so every player would have a full-on record although it was just too much for me but you can edit that easily if you want maybe i'll separate it into versions.

Also i never really used FCNPC so feel free to fork it and show us your works if you're good for it :)
Reply
#6

Exactly how is it? Is it like the counter strike 1.6 (record demo, stop demo, view demo)? Because I've always looked for something like that so nobody has excuses.
Reply
#7

It is a good idea but kind of a naked release thus far. There is no real substance but it looks like a pretty good prototype idea to expand on.

Quick idea -
Code:
RecordLocation(Float:x,Float;y,Float:z);
Records all players entering a specific area
- Timestamp when player enters area, leaves area, spawns, or dies
- Save: timestamp, player name, eventtype, recording file name

That is just for starters, it feels like you didn't even try when making this.

1-Star from me overall it is completely incomplete. I am not going to vote because it could be a lot better and wouldn't take long to make it better.
Reply
#8

@SapMan yeah you're right thats what i had in mind making this

@Pottus Yeah you're right but then again the whole idea of making it with a date format makes it too crowded on the scriptfiles folder but i'll see about creating a few functions going forward.
Reply
#9

pretty neat
Reply
#10

Another good one from Rogue good job!
Reply
#11

Thanks @all the above
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)