Recent Posts

Pages: [1] 2 3 ... 10
1
News / Re: Unleashing a HTTP-based API for the Soldat Lobby
« Last post by surfersat on Today at 10:32:24 am »
Hi!

New version off my phone app show all servers and their players.
Screenshot attached.

Greetings!
2
News / Re: Unleashing a HTTP-based API for the Soldat Lobby
« Last post by surfersat on Yesterday at 05:09:17 pm »
Excellent API!

Cannot get it work directly by CORS, i have to use a proxy to add the header 'Access-Control-Allow-Origin'.
I make a phone app to see who is playing in my server.

Attached is an app's screenshot .

Greetings!

3
Modding Ideas / General Discussions / Re: Mod idea - Speed hacker detector
« Last post by soldat-game on March 11, 2019, 04:13:47 pm »
Lags = TP and speedhack
If you talk about my anti m79 method, get hit. involving the acceleration, flight m79 round, which the player suffers an earlier explosion and fly away - which will not die. No u dont can detect it without local client :P
Lost UDP and move = tp and good mode for climb :P

Can use this:
https://forums.soldat.pl/index.php?topic=24104.0
+ (to remove lagers from the game(team or active in game))
https://forums.soldat.pl/index.php?topic=43574.msg520623
4
Scripting Releases / Re: Antiskin
« Last post by surfersat on March 07, 2019, 06:15:16 pm »
Excellent Dominik!

I will try this on my server later.

Greetings!
5
Scripting Releases / Re: ZitroFUN 2.0 Beta Release
« Last post by soldat-game on March 07, 2019, 05:14:34 pm »
I wonder if it is worth to do so advanced statistics about weapons. Or, however, remove the record of statistics on weapons and do extensive classical statistics? Do you want statistics for the map server?
Currently, I am collecting 480+ different data about the player.. I constantly correct mistakes and rewrite and simplify the old data. I have been adding a multigamemode (no only CTF mode). I Remove balance from script but creature modified Cube (balance) script to can using player points for balance teams :P Do you have an idea for new statistics? Or what do you think is unnecessary?

Code: [Select]
'hashid' : Result:=Memory[Num];

'name' : Result:=Memory[Num+1];

'points' : Result:=ReadPiece(Memory[Num+2],':',0);
'password' : Result:=ReadPiece(Memory[Num+2],':',1);
'hwid' : Result:=ReadPiece(Memory[Num+2],':',2);
'ip' : Result:=ReadPiece(Memory[Num+2],':',3);
'autologin' : Result:=ReadPiece(Memory[Num+2],':',4);
'firstuse' : Result:=ReadPiece(Memory[Num+2],':',5);
'bigtext' : Result:=ReadPiece(Memory[Num+2],':',6);
'mail' : Result:=ReadPiece(Memory[Num+2],':',7);

'registerdate' : Result:=ReadPiece(Memory[Num+3],':',0);
'lastplaydate' : Result:=ReadPiece(Memory[Num+3],':',1);
'timeplayed' : Result:=ReadPiece(Memory[Num+3],':',2);
'timealive' : Result:=ReadPiece(Memory[Num+3],':',3);
'timedeads' : Result:=ReadPiece(Memory[Num+3],':',4);
'timespec' : Result:=ReadPiece(Memory[Num+3],':',5);
'avereneping' : Result:=ReadPiece(Memory[Num+3],':',6);

'kills' : Result:=ReadPiece(Memory[Num+4],':',0);
'deaths' : Result:=ReadPiece(Memory[Num+4],':',1);
'selfkills' : Result:=ReadPiece(Memory[Num+4],':',2);
'teamkills' : Result:=ReadPiece(Memory[Num+4],':',3);
'deathsbyteam' : Result:=ReadPiece(Memory[Num+4],':',4);
'postromuskill' : Result:=ReadPiece(Memory[Num+4],':',5);
'assist' : Result:=ReadPiece(Memory[Num+4],':',6);
'revengekills' : Result:=ReadPiece(Memory[Num+4],':',7);
'avengerfriend' : Result:=ReadPiece(Memory[Num+4],':',8);
'savior' : Result:=ReadPiece(Memory[Num+4],':',9);
'avoiddeaths' : Result:=ReadPiece(Memory[Num+4],':',10);
'surviror' : Result:=ReadPiece(Memory[Num+4],':',11);
'survirorfriend': Result:=ReadPiece(Memory[Num+4],':',12);
'lastsurvivor' : Result:=ReadPiece(Memory[Num+4],':',13);
'killrambo' : Result:=ReadPiece(Memory[Num+4],':',14);
'killswhenbow' : Result:=ReadPiece(Memory[Num+4],':',15);
'killlessbow' : Result:=ReadPiece(Memory[Num+4],':',16);
'alphakills' : Result:=ReadPiece(Memory[Num+4],':',17);
'bravokills' : Result:=ReadPiece(Memory[Num+4],':',18);
'charliekills' : Result:=ReadPiece(Memory[Num+4],':',19);
'deltakills' : Result:=ReadPiece(Memory[Num+4],':',20);
'alphadeatchs' : Result:=ReadPiece(Memory[Num+4],':',21);
'bravokills' : Result:=ReadPiece(Memory[Num+4],':',22);
'charliekills' : Result:=ReadPiece(Memory[Num+4],':',23);
'deltakills' : Result:=ReadPiece(Memory[Num+4],':',24);

'flaggrab' : Result:=ReadPiece(Memory[Num+4],':',25);
'flagreturn' : Result:=ReadPiece(Memory[Num+4],':',26);
'flagscore' : Result:=ReadPiece(Memory[Num+4],':',27);
'flagdrop' : Result:=ReadPiece(Memory[Num+4],':',28);
'flagthrown' : Result:=ReadPiece(Memory[Num+4],':',29);
'capassist' : Result:=ReadPiece(Memory[Num+4],':',30);
'flagassisttime': Result:=ReadPiece(Memory[Num+4],':',31);
'flagdefendtime': Result:=ReadPiece(Memory[Num+4],':',32);
'timewhenflag'  : Result:=ReadPiece(Memory[Num+4],':',33);
'flagdefend' : Result:=ReadPiece(Memory[Num+4],':',34);
'killswhenflag' : Result:=ReadPiece(Memory[Num+4],':',35);
'flagerkills' : Result:=ReadPiece(Memory[Num+4],':',36);
'deadwhenflag' : Result:=ReadPiece(Memory[Num+4],':',37);
'defendflager' : Result:=ReadPiece(Memory[Num+4],':',38);
'ctf_alphacaps' : Result:=ReadPiece(Memory[Num+4],':',39);
'ctf_bravocaps' : Result:=ReadPiece(Memory[Num+4],':',40);
'htf_timewhenflag' : Result:=ReadPiece(Memory[Num+4],':',41);
'htf_alphapoints' : Result:=ReadPiece(Memory[Num+4],':',42);
'htf_bravopoints' : Result:=ReadPiece(Memory[Num+4],':',43);
'htf_alphaurpoints' : Result:=ReadPiece(Memory[Num+4],':',44);
'htf_bravourpoints' : Result:=ReadPiece(Memory[Num+4],':',45);
'pm_timewhenflag' : Result:=ReadPiece(Memory[Num+4],':',46);
'pm_extrapoints' : Result:=ReadPiece(Memory[Num+4],':',47);
'pm_killswhenflag' : Result:=ReadPiece(Memory[Num+4],':',48);
'pm_extratriple' : Result:=ReadPiece(Memory[Num+4],':',49);
'pm_extramulti' : Result:=ReadPiece(Memory[Num+4],':',50);
'pm_extramultix2' : Result:=ReadPiece(Memory[Num+4],':',51);
'pm_extraserial' : Result:=ReadPiece(Memory[Num+4],':',52);
'pm_extrainsane' : Result:=ReadPiece(Memory[Num+4],':',53);
'pm_extragimode' : Result:=ReadPiece(Memory[Num+4],':',54);
'pm_extramasta' : Result:=ReadPiece(Memory[Num+4],':',55);
'pm_extracheater' : Result:=ReadPiece(Memory[Num+4],':',56);
'inf_defendpoints' : Result:=ReadPiece(Memory[Num+4],':',57);
'inf_timewhenflag' : Result:=ReadPiece(Memory[Num+4],':',58);
'inf_pointsgain' : Result:=ReadPiece(Memory[Num+4],':',59);

'wins' : Result:=ReadPiece(Memory[Num+4],':',60);
'lose' : Result:=ReadPiece(Memory[Num+4],':',61);
'draws' : Result:=ReadPiece(Memory[Num+4],':',62);
'alphawins' : Result:=ReadPiece(Memory[Num+4],':',63);
'alphalose' : Result:=ReadPiece(Memory[Num+4],':',64);
'bravowins' : Result:=ReadPiece(Memory[Num+4],':',65);
'bravolose' : Result:=ReadPiece(Memory[Num+4],':',66);
'charliewin' : Result:=ReadPiece(Memory[Num+4],':',67);
'charlielose' : Result:=ReadPiece(Memory[Num+4],':',68);
'deltawin' : Result:=ReadPiece(Memory[Num+4],':',69);
'deltalose' : Result:=ReadPiece(Memory[Num+4],':',70);
'roundswins' : Result:=ReadPiece(Memory[Num+4],':',71);
'roundslose' : Result:=ReadPiece(Memory[Num+4],':',72);

'shoots' : Result:=ReadPiece(Memory[Num+4],':',73);
'exphurts' : Result:=ReadPiece(Memory[Num+4],':',74);
'shoothits' : Result:=ReadPiece(Memory[Num+4],':',75);
'selfhits' : Result:=ReadPiece(Memory[Num+4],':',76);
'expselfhurts' : Result:=ReadPiece(Memory[Num+4],':',77);
'friendlyhits' : Result:=ReadPiece(Memory[Num+4],':',78);
'expfriehurts' : Result:=ReadPiece(Memory[Num+4],':',79);
'hitsbyfriends' : Result:=ReadPiece(Memory[Num+4],':',80);
'exphurtbyfrie' : Result:=ReadPiece(Memory[Num+4],':',81);
'doublekills' : Result:=ReadPiece(Memory[Num+4],':',82);
'triplekills' : Result:=ReadPiece(Memory[Num+4],':',83);
'multikills' : Result:=ReadPiece(Memory[Num+4],':',84);
'multikillsx2' : Result:=ReadPiece(Memory[Num+4],':',85);
'serialkills' : Result:=ReadPiece(Memory[Num+4],':',86);
'insanekills' : Result:=ReadPiece(Memory[Num+4],':',87);
'gimodekills' : Result:=ReadPiece(Memory[Num+4],':',88);
'mastakills' : Result:=ReadPiece(Memory[Num+4],':',89);
'cheaterkills' : Result:=ReadPiece(Memory[Num+4],':',90);

'headshoot' : Result:=ReadPiece(Memory[Num+4],':',91);
'bodyshoot' : Result:=ReadPiece(Memory[Num+4],':',92);
'legsshoot' : Result:=ReadPiece(Memory[Num+4],':',93);
'selfhitshead' : Result:=ReadPiece(Memory[Num+4],':',94);
'selfhitsbody' : Result:=ReadPiece(Memory[Num+4],':',95);
'selfhitslegs' : Result:=ReadPiece(Memory[Num+4],':',96);
'hitsbyfriendh' : Result:=ReadPiece(Memory[Num+4],':',97);
'hitsbyfriendb' : Result:=ReadPiece(Memory[Num+4],':',98);
'hitsbyfriendl' : Result:=ReadPiece(Memory[Num+4],':',99);

'0shoots' : Result:=ReadPiece(Memory[Num+5],':',0);
'0shoothits' : Result:=ReadPiece(Memory[Num+5],':',1);
'0friendshits' : Result:=ReadPiece(Memory[Num+5],':',2);
'0selfhits' : Result:=ReadPiece(Memory[Num+5],':',3);
'0kills' : Result:=ReadPiece(Memory[Num+5],':',4);
'0deathby' : Result:=ReadPiece(Memory[Num+5],':',5);
'0throw' : Result:=ReadPiece(Memory[Num+5],':',6);
'0poke' : Result:=ReadPiece(Memory[Num+5],':',7);
'0timeplayed' : Result:=ReadPiece(Memory[Num+5],':',8);
'0hitby' : Result:=ReadPiece(Memory[Num+5],':',9);
'0hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',10);
'0hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',11);
'0hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',12);
'0hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',13);
'0enemyhead' : Result:=ReadPiece(Memory[Num+5],':',14);
'0friendshead' : Result:=ReadPiece(Memory[Num+5],':',15);
'0selfhead' : Result:=ReadPiece(Memory[Num+5],':',16);
'0enemybody' : Result:=ReadPiece(Memory[Num+5],':',17);
'0friendsbody' : Result:=ReadPiece(Memory[Num+5],':',18);
'0selfbody' : Result:=ReadPiece(Memory[Num+5],':',19);
'0enemylegs' : Result:=ReadPiece(Memory[Num+5],':',20);
'0friendslegs' : Result:=ReadPiece(Memory[Num+5],':',21);
'0selflegs' : Result:=ReadPiece(Memory[Num+5],':',22);

'1shoots' : Result:=ReadPiece(Memory[Num+5],':',23);
'1shoothits' : Result:=ReadPiece(Memory[Num+5],':',24);
'1friendshits' : Result:=ReadPiece(Memory[Num+5],':',25);
'1selfhits' : Result:=ReadPiece(Memory[Num+5],':',26);
'1kills' : Result:=ReadPiece(Memory[Num+5],':',27);
'1deathby' : Result:=ReadPiece(Memory[Num+5],':',28);
'1throw' : Result:=ReadPiece(Memory[Num+5],':',29);
'1poke' : Result:=ReadPiece(Memory[Num+5],':',30);
'1timeplayed' : Result:=ReadPiece(Memory[Num+5],':',31);
'1hitby' : Result:=ReadPiece(Memory[Num+5],':',32);
'1hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',33);
'1hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',34);
'1hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',35);
'1hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',36);
'1enemyhead' : Result:=ReadPiece(Memory[Num+5],':',37);
'1friendshead' : Result:=ReadPiece(Memory[Num+5],':',38);
'1selfhead' : Result:=ReadPiece(Memory[Num+5],':',39);
'1enemybody' : Result:=ReadPiece(Memory[Num+5],':',40);
'1friendsbody' : Result:=ReadPiece(Memory[Num+5],':',41);
'1selfbody' : Result:=ReadPiece(Memory[Num+5],':',42);
'1enemylegs' : Result:=ReadPiece(Memory[Num+5],':',43);
'1friendslegs' : Result:=ReadPiece(Memory[Num+5],':',44);
'1selflegs' : Result:=ReadPiece(Memory[Num+5],':',45);

'2shoots' : Result:=ReadPiece(Memory[Num+5],':',46);
'2shoothits' : Result:=ReadPiece(Memory[Num+5],':',47);
'2friendshits' : Result:=ReadPiece(Memory[Num+5],':',48);
'2selfhits' : Result:=ReadPiece(Memory[Num+5],':',49);
'2kills' : Result:=ReadPiece(Memory[Num+5],':',50);
'2deathby' : Result:=ReadPiece(Memory[Num+5],':',51);
'2throw' : Result:=ReadPiece(Memory[Num+5],':',52);
'2poke' : Result:=ReadPiece(Memory[Num+5],':',53);
'2timeplayed' : Result:=ReadPiece(Memory[Num+5],':',54);
'2hitby' : Result:=ReadPiece(Memory[Num+5],':',55);
'2hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',56);
'2hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',57);
'2hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',58);
'2hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',59);
'2enemyhead' : Result:=ReadPiece(Memory[Num+5],':',60);
'2friendshead' : Result:=ReadPiece(Memory[Num+5],':',61);
'2selfhead' : Result:=ReadPiece(Memory[Num+5],':',62);
'2enemybody' : Result:=ReadPiece(Memory[Num+5],':',63);
'2friendsbody' : Result:=ReadPiece(Memory[Num+5],':',64);
'2selfbody' : Result:=ReadPiece(Memory[Num+5],':',65);
'2enemylegs' : Result:=ReadPiece(Memory[Num+5],':',66);
'2friendslegs' : Result:=ReadPiece(Memory[Num+5],':',67);
'2selflegs' : Result:=ReadPiece(Memory[Num+5],':',68);

'3shoots' : Result:=ReadPiece(Memory[Num+5],':',69);
'3shoothits' : Result:=ReadPiece(Memory[Num+5],':',70);
'3friendshits' : Result:=ReadPiece(Memory[Num+5],':',71);
'3selfhits' : Result:=ReadPiece(Memory[Num+5],':',72);
'3kills' : Result:=ReadPiece(Memory[Num+5],':',73);
'3deathby' : Result:=ReadPiece(Memory[Num+5],':',74);
'3throw' : Result:=ReadPiece(Memory[Num+5],':',75);
'3poke' : Result:=ReadPiece(Memory[Num+5],':',76);
'3timeplayed' : Result:=ReadPiece(Memory[Num+5],':',77);
'3hitby' : Result:=ReadPiece(Memory[Num+5],':',78);
'3hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',79);
'3hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',80);
'3hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',81);
'3hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',82);
'3enemyhead' : Result:=ReadPiece(Memory[Num+5],':',83);
'3friendshead' : Result:=ReadPiece(Memory[Num+5],':',84);
'3selfhead' : Result:=ReadPiece(Memory[Num+5],':',85);
'3enemybody' : Result:=ReadPiece(Memory[Num+5],':',86);
'3friendsbody' : Result:=ReadPiece(Memory[Num+5],':',87);
'3selfbody' : Result:=ReadPiece(Memory[Num+5],':',88);
'3enemylegs' : Result:=ReadPiece(Memory[Num+5],':',89);
'3friendslegs' : Result:=ReadPiece(Memory[Num+5],':',90);
'3selflegs' : Result:=ReadPiece(Memory[Num+5],':',91);

'4shoots' : Result:=ReadPiece(Memory[Num+5],':',92);
'4shoothits' : Result:=ReadPiece(Memory[Num+5],':',93);
'4friendshits' : Result:=ReadPiece(Memory[Num+5],':',94);
'4selfhits' : Result:=ReadPiece(Memory[Num+5],':',95);
'4kills' : Result:=ReadPiece(Memory[Num+5],':',96);
'4deathby' : Result:=ReadPiece(Memory[Num+5],':',97);
'4throw' : Result:=ReadPiece(Memory[Num+5],':',98);
'4poke' : Result:=ReadPiece(Memory[Num+5],':',99);
'4timeplayed' : Result:=ReadPiece(Memory[Num+5],':',100);
'4hitby' : Result:=ReadPiece(Memory[Num+5],':',101);
'4hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',102);
'4hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',103);
'4hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',104);
'4hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',105);
'4enemyhead' : Result:=ReadPiece(Memory[Num+5],':',106);
'4friendshead' : Result:=ReadPiece(Memory[Num+5],':',107);
'4selfhead' : Result:=ReadPiece(Memory[Num+5],':',108);
'4enemybody' : Result:=ReadPiece(Memory[Num+5],':',109);
'4friendsbody' : Result:=ReadPiece(Memory[Num+5],':',110);
'4selfbody' : Result:=ReadPiece(Memory[Num+5],':',111);
'4enemylegs' : Result:=ReadPiece(Memory[Num+5],':',112);
'4friendslegs' : Result:=ReadPiece(Memory[Num+5],':',113);
'4selflegs' : Result:=ReadPiece(Memory[Num+5],':',114);

'5shoots' : Result:=ReadPiece(Memory[Num+5],':',115);
'5shoothits' : Result:=ReadPiece(Memory[Num+5],':',116);
'5friendshits' : Result:=ReadPiece(Memory[Num+5],':',117);
'5selfhits' : Result:=ReadPiece(Memory[Num+5],':',118);
'5kills' : Result:=ReadPiece(Memory[Num+5],':',119);
'5deathby' : Result:=ReadPiece(Memory[Num+5],':',120);
'5throw' : Result:=ReadPiece(Memory[Num+5],':',121);
'5poke' : Result:=ReadPiece(Memory[Num+5],':',122);
'5timeplayed' : Result:=ReadPiece(Memory[Num+5],':',123);
'5hitby' : Result:=ReadPiece(Memory[Num+5],':',124);
'5hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',125);
'5hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',126);
'5hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',127);
'5hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',128);
'5enemyhead' : Result:=ReadPiece(Memory[Num+5],':',129);
'5friendshead' : Result:=ReadPiece(Memory[Num+5],':',130);
'5selfhead' : Result:=ReadPiece(Memory[Num+5],':',131);
'5enemybody' : Result:=ReadPiece(Memory[Num+5],':',132);
'5friendsbody' : Result:=ReadPiece(Memory[Num+5],':',133);
'5selfbody' : Result:=ReadPiece(Memory[Num+5],':',134);
'5enemylegs' : Result:=ReadPiece(Memory[Num+5],':',135);
'5friendslegs' : Result:=ReadPiece(Memory[Num+5],':',136);
'5selflegs' : Result:=ReadPiece(Memory[Num+5],':',137);

'6shoots' : Result:=ReadPiece(Memory[Num+5],':',138);
'6shoothits' : Result:=ReadPiece(Memory[Num+5],':',139);
'6friendshits' : Result:=ReadPiece(Memory[Num+5],':',140);
'6selfhits' : Result:=ReadPiece(Memory[Num+5],':',141);
'6kills' : Result:=ReadPiece(Memory[Num+5],':',142);
'6deathby' : Result:=ReadPiece(Memory[Num+5],':',143);
'6throw' : Result:=ReadPiece(Memory[Num+5],':',144);
'6poke' : Result:=ReadPiece(Memory[Num+5],':',145);
'6timeplayed' : Result:=ReadPiece(Memory[Num+5],':',146);
'6hitby' : Result:=ReadPiece(Memory[Num+5],':',147);
'6hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',148);
'6hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',149);
'6hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',150);
'6hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',151);
'6enemyhead' : Result:=ReadPiece(Memory[Num+5],':',152);
'6friendshead' : Result:=ReadPiece(Memory[Num+5],':',153);
'6selfhead' : Result:=ReadPiece(Memory[Num+5],':',154);
'6enemybody' : Result:=ReadPiece(Memory[Num+5],':',155);
'6friendsbody' : Result:=ReadPiece(Memory[Num+5],':',156);
'6selfbody' : Result:=ReadPiece(Memory[Num+5],':',157);
'6enemylegs' : Result:=ReadPiece(Memory[Num+5],':',158);
'6friendslegs' : Result:=ReadPiece(Memory[Num+5],':',159);
'6selflegs' : Result:=ReadPiece(Memory[Num+5],':',160);

'7shoots' : Result:=ReadPiece(Memory[Num+5],':',161);
'7shoothits' : Result:=ReadPiece(Memory[Num+5],':',162);
'7friendshits' : Result:=ReadPiece(Memory[Num+5],':',163);
'7selfhits' : Result:=ReadPiece(Memory[Num+5],':',164);
'7kills' : Result:=ReadPiece(Memory[Num+5],':',165);
'7deathby' : Result:=ReadPiece(Memory[Num+5],':',166);
'7throw' : Result:=ReadPiece(Memory[Num+5],':',167);
'7poke' : Result:=ReadPiece(Memory[Num+5],':',168);
'7timeplayed' : Result:=ReadPiece(Memory[Num+5],':',169);
'7hitby' : Result:=ReadPiece(Memory[Num+5],':',170);
'7hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',171);
'7hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',172);
'7hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',173);
'7hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',174);
'7enemyhead' : Result:=ReadPiece(Memory[Num+5],':',175);
'7friendshead' : Result:=ReadPiece(Memory[Num+5],':',176);
'7selfhead' : Result:=ReadPiece(Memory[Num+5],':',177);
'7enemybody' : Result:=ReadPiece(Memory[Num+5],':',178);
'7friendsbody' : Result:=ReadPiece(Memory[Num+5],':',179);
'7selfbody' : Result:=ReadPiece(Memory[Num+5],':',180);
'7enemylegs' : Result:=ReadPiece(Memory[Num+5],':',181);
'7friendslegs' : Result:=ReadPiece(Memory[Num+5],':',182);
'7selflegs' : Result:=ReadPiece(Memory[Num+5],':',183);

'8shoots' : Result:=ReadPiece(Memory[Num+5],':',184);
'8shoothits' : Result:=ReadPiece(Memory[Num+5],':',185);
'8friendshits' : Result:=ReadPiece(Memory[Num+5],':',186);
'8selfhits' : Result:=ReadPiece(Memory[Num+5],':',187);
'8kills' : Result:=ReadPiece(Memory[Num+5],':',188);
'8deathby' : Result:=ReadPiece(Memory[Num+5],':',189);
'8throw' : Result:=ReadPiece(Memory[Num+5],':',190);
'8poke' : Result:=ReadPiece(Memory[Num+5],':',191);
'8timeplayed' : Result:=ReadPiece(Memory[Num+5],':',192);
'8hitby' : Result:=ReadPiece(Memory[Num+5],':',193);
'8hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',194);
'8hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',195);
'8hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',196);
'8hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',197);
'8enemyhead' : Result:=ReadPiece(Memory[Num+5],':',198);
'8friendshead' : Result:=ReadPiece(Memory[Num+5],':',199);
'8selfhead' : Result:=ReadPiece(Memory[Num+5],':',200);
'8enemybody' : Result:=ReadPiece(Memory[Num+5],':',201);
'8friendsbody' : Result:=ReadPiece(Memory[Num+5],':',202);
'8selfbody' : Result:=ReadPiece(Memory[Num+5],':',203);
'8enemylegs' : Result:=ReadPiece(Memory[Num+5],':',204);
'8friendslegs' : Result:=ReadPiece(Memory[Num+5],':',205);
'8selflegs' : Result:=ReadPiece(Memory[Num+5],':',206);

'9shoots' : Result:=ReadPiece(Memory[Num+5],':',207);
'9shoothits' : Result:=ReadPiece(Memory[Num+5],':',208);
'9friendshits' : Result:=ReadPiece(Memory[Num+5],':',209);
'9selfhits' : Result:=ReadPiece(Memory[Num+5],':',210);
'9kills' : Result:=ReadPiece(Memory[Num+5],':',211);
'9deathby' : Result:=ReadPiece(Memory[Num+5],':',212);
'9throw' : Result:=ReadPiece(Memory[Num+5],':',213);
'9poke' : Result:=ReadPiece(Memory[Num+5],':',214);
'9timeplayed' : Result:=ReadPiece(Memory[Num+5],':',215);
'9hitby' : Result:=ReadPiece(Memory[Num+5],':',216);
'9hitbyfriends' : Result:=ReadPiece(Memory[Num+5],':',217);
'9hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',218);
'9hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',219);
'9hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',220);
'9enemyhead' : Result:=ReadPiece(Memory[Num+5],':',221);
'9friendshead' : Result:=ReadPiece(Memory[Num+5],':',222);
'9selfhead' : Result:=ReadPiece(Memory[Num+5],':',223);
'9enemybody' : Result:=ReadPiece(Memory[Num+5],':',224);
'9friendsbody' : Result:=ReadPiece(Memory[Num+5],':',225);
'9selfbody' : Result:=ReadPiece(Memory[Num+5],':',226);
'9enemylegs' : Result:=ReadPiece(Memory[Num+5],':',227);
'9friendslegs' : Result:=ReadPiece(Memory[Num+5],':',228);
'9selflegs' : Result:=ReadPiece(Memory[Num+5],':',229);

'10shoots' : Result:=ReadPiece(Memory[Num+5],':',230);
'10shoothits' : Result:=ReadPiece(Memory[Num+5],':',231);
'10friendshits' : Result:=ReadPiece(Memory[Num+5],':',232);
'10selfhits' : Result:=ReadPiece(Memory[Num+5],':',233);
'10kills' : Result:=ReadPiece(Memory[Num+5],':',234);
'10deathby' : Result:=ReadPiece(Memory[Num+5],':',235);
'10throw' : Result:=ReadPiece(Memory[Num+5],':',236);
'10poke' : Result:=ReadPiece(Memory[Num+5],':',237);
'10timeplayed' : Result:=ReadPiece(Memory[Num+5],':',238);
'10hitby' : Result:=ReadPiece(Memory[Num+5],':',239);
'10hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',240);
'10hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',241);
'10hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',242);
'10hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',243);
'10enemyhead' : Result:=ReadPiece(Memory[Num+5],':',244);
'10friendshead' : Result:=ReadPiece(Memory[Num+5],':',245);
'10selfhead' : Result:=ReadPiece(Memory[Num+5],':',246);
'10enemybody' : Result:=ReadPiece(Memory[Num+5],':',247);
'10friendsbody' : Result:=ReadPiece(Memory[Num+5],':',248);
'10selfbody' : Result:=ReadPiece(Memory[Num+5],':',249);
'10enemylegs' : Result:=ReadPiece(Memory[Num+5],':',250);
'10friendslegs' : Result:=ReadPiece(Memory[Num+5],':',251);
'10selflegs' : Result:=ReadPiece(Memory[Num+5],':',252);

'11shoots' : Result:=ReadPiece(Memory[Num+5],':',253);
'11shoothits' : Result:=ReadPiece(Memory[Num+5],':',254);
'11friendshits' : Result:=ReadPiece(Memory[Num+5],':',255);
'11selfhits' : Result:=ReadPiece(Memory[Num+5],':',256);
'11kills' : Result:=ReadPiece(Memory[Num+5],':',257);
'11deathby' : Result:=ReadPiece(Memory[Num+5],':',258);
'11throw' : Result:=ReadPiece(Memory[Num+5],':',259);
'11throwhit' : Result:=ReadPiece(Memory[Num+5],':',260);
'11poke' : Result:=ReadPiece(Memory[Num+5],':',261);
'11timeplayed' : Result:=ReadPiece(Memory[Num+5],':',262);
'11hitby' : Result:=ReadPiece(Memory[Num+5],':',263);
'11hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',264);
'11hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',265);
'11hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',266);
'11hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',267);
'11enemyhead' : Result:=ReadPiece(Memory[Num+5],':',268);
'11friendshead' : Result:=ReadPiece(Memory[Num+5],':',269);
'11selfhead' : Result:=ReadPiece(Memory[Num+5],':',270);
'11enemybody' : Result:=ReadPiece(Memory[Num+5],':',271);
'11friendsbody' : Result:=ReadPiece(Memory[Num+5],':',272);
'11selfbody' : Result:=ReadPiece(Memory[Num+5],':',273);
'11enemylegs' : Result:=ReadPiece(Memory[Num+5],':',274);
'11friendslegs' : Result:=ReadPiece(Memory[Num+5],':',275);
'11selflegs' : Result:=ReadPiece(Memory[Num+5],':',276);

'12shoots' : Result:=ReadPiece(Memory[Num+5],':',277);
'12shoothits' : Result:=ReadPiece(Memory[Num+5],':',278);
'12friendshits' : Result:=ReadPiece(Memory[Num+5],':',279);
'12selfhits' : Result:=ReadPiece(Memory[Num+5],':',280);
'12kills' : Result:=ReadPiece(Memory[Num+5],':',281);
'12deathby' : Result:=ReadPiece(Memory[Num+5],':',282);
'12throw' : Result:=ReadPiece(Memory[Num+5],':',283);
'12poke' : Result:=ReadPiece(Memory[Num+5],':',284);
'12timeplayed' : Result:=ReadPiece(Memory[Num+5],':',285);
'12hitby' : Result:=ReadPiece(Memory[Num+5],':',286);
'12hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',287);
'12hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',288);
'12hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',289);
'12hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',290);
'12enemyhead' : Result:=ReadPiece(Memory[Num+5],':',291);
'12friendshead' : Result:=ReadPiece(Memory[Num+5],':',292);
'12selfhead' : Result:=ReadPiece(Memory[Num+5],':',293);
'12enemybody' : Result:=ReadPiece(Memory[Num+5],':',294);
'12friendsbody' : Result:=ReadPiece(Memory[Num+5],':',295);
'12selfbody' : Result:=ReadPiece(Memory[Num+5],':',296);
'12enemylegs' : Result:=ReadPiece(Memory[Num+5],':',297);
'12friendslegs' : Result:=ReadPiece(Memory[Num+5],':',298);
'12selflegs' : Result:=ReadPiece(Memory[Num+5],':',299);

'13shoots' : Result:=ReadPiece(Memory[Num+5],':',300);
'13shoothits' : Result:=ReadPiece(Memory[Num+5],':',301);
'13friendshits' : Result:=ReadPiece(Memory[Num+5],':',302);
'13selfhits' : Result:=ReadPiece(Memory[Num+5],':',303);
'13kills' : Result:=ReadPiece(Memory[Num+5],':',304);
'13deathby' : Result:=ReadPiece(Memory[Num+5],':',305);
'13throw' : Result:=ReadPiece(Memory[Num+5],':',306);
'13poke' : Result:=ReadPiece(Memory[Num+5],':',307);
'13timeplayed' : Result:=ReadPiece(Memory[Num+5],':',308);
'13hitby' : Result:=ReadPiece(Memory[Num+5],':',309);
'13hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',310);
'13hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',311);
'13hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',312);
'13hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',313);
'13enemyhead' : Result:=ReadPiece(Memory[Num+5],':',314);
'13friendshead' : Result:=ReadPiece(Memory[Num+5],':',315);
'13selfhead' : Result:=ReadPiece(Memory[Num+5],':',316);
'13enemybody' : Result:=ReadPiece(Memory[Num+5],':',317);
'13friendsbody' : Result:=ReadPiece(Memory[Num+5],':',318);
'13selfbody' : Result:=ReadPiece(Memory[Num+5],':',319);
'13enemylegs' : Result:=ReadPiece(Memory[Num+5],':',320);
'13friendslegs' : Result:=ReadPiece(Memory[Num+5],':',321);
'13selflegs' : Result:=ReadPiece(Memory[Num+5],':',322);

'14shoots' : Result:=ReadPiece(Memory[Num+5],':',323);
'14shoothits' : Result:=ReadPiece(Memory[Num+5],':',324);
'14friendshits' : Result:=ReadPiece(Memory[Num+5],':',325);
'14selfhits' : Result:=ReadPiece(Memory[Num+5],':',326);
'14kills' : Result:=ReadPiece(Memory[Num+5],':',327);
'14deathby' : Result:=ReadPiece(Memory[Num+5],':',328);
'14throw' : Result:=ReadPiece(Memory[Num+5],':',329);
'14poke' : Result:=ReadPiece(Memory[Num+5],':',330);
'14timeplayed' : Result:=ReadPiece(Memory[Num+5],':',331);
'14hitby' : Result:=ReadPiece(Memory[Num+5],':',332);
'14hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',333);
'14hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',334);
'14hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',335);
'14hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',336);
'14enemyhead' : Result:=ReadPiece(Memory[Num+5],':',337);
'14friendshead' : Result:=ReadPiece(Memory[Num+5],':',338);
'14selfhead' : Result:=ReadPiece(Memory[Num+5],':',339);
'14enemybody' : Result:=ReadPiece(Memory[Num+5],':',340);
'14friendsbody' : Result:=ReadPiece(Memory[Num+5],':',341);
'14selfbody' : Result:=ReadPiece(Memory[Num+5],':',342);
'14enemylegs' : Result:=ReadPiece(Memory[Num+5],':',343);
'14friendslegs' : Result:=ReadPiece(Memory[Num+5],':',344);
'14selflegs' : Result:=ReadPiece(Memory[Num+5],':',345);

'15shoots' : Result:=ReadPiece(Memory[Num+5],':',346);
'15shoothits' : Result:=ReadPiece(Memory[Num+5],':',347);
'15friendshits' : Result:=ReadPiece(Memory[Num+5],':',348);
'15selfhits' : Result:=ReadPiece(Memory[Num+5],':',349);
'15kills' : Result:=ReadPiece(Memory[Num+5],':',350);
'15deathby' : Result:=ReadPiece(Memory[Num+5],':',351);
'15throw' : Result:=ReadPiece(Memory[Num+5],':',352);
'15poke' : Result:=ReadPiece(Memory[Num+5],':',353);
'15timeplayed' : Result:=ReadPiece(Memory[Num+5],':',354);
'15hitby' : Result:=ReadPiece(Memory[Num+5],':',355);
'15hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',356);
'15hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',357);
'15hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',358);
'15hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',359);
'15enemyhead' : Result:=ReadPiece(Memory[Num+5],':',360);
'15friendshead' : Result:=ReadPiece(Memory[Num+5],':',361);
'15selfhead' : Result:=ReadPiece(Memory[Num+5],':',362);
'15enemybody' : Result:=ReadPiece(Memory[Num+5],':',363);
'15friendsbody' : Result:=ReadPiece(Memory[Num+5],':',364);
'15selfbody' : Result:=ReadPiece(Memory[Num+5],':',365);
'15enemylegs' : Result:=ReadPiece(Memory[Num+5],':',366);
'15friendslegs' : Result:=ReadPiece(Memory[Num+5],':',367);
'15selflegs' : Result:=ReadPiece(Memory[Num+5],':',368);

'16shoots' : Result:=ReadPiece(Memory[Num+5],':',369);
'16shoothits' : Result:=ReadPiece(Memory[Num+5],':',370);
'16friendshits' : Result:=ReadPiece(Memory[Num+5],':',371);
'16selfhits' : Result:=ReadPiece(Memory[Num+5],':',372);
'16kills' : Result:=ReadPiece(Memory[Num+5],':',373);
'16deathby' : Result:=ReadPiece(Memory[Num+5],':',374);
'16throw' : Result:=ReadPiece(Memory[Num+5],':',375);
'16poke' : Result:=ReadPiece(Memory[Num+5],':',376);
'16timeplayed' : Result:=ReadPiece(Memory[Num+5],':',377);
'16hitby' : Result:=ReadPiece(Memory[Num+5],':',378);
'16hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',379);
'16hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',380);
'16hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',381);
'16hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',382);
'16enemyhead' : Result:=ReadPiece(Memory[Num+5],':',383);
'16friendshead' : Result:=ReadPiece(Memory[Num+5],':',384);
'16selfhead' : Result:=ReadPiece(Memory[Num+5],':',385);
'16enemybody' : Result:=ReadPiece(Memory[Num+5],':',386);
'16friendsbody' : Result:=ReadPiece(Memory[Num+5],':',387);
'16selfbody' : Result:=ReadPiece(Memory[Num+5],':',388);
'16enemylegs' : Result:=ReadPiece(Memory[Num+5],':',389);
'16friendslegs' : Result:=ReadPiece(Memory[Num+5],':',390);
'16selflegs' : Result:=ReadPiece(Memory[Num+5],':',391);

'30shoots' : Result:=ReadPiece(Memory[Num+5],':',392);
'30shoothits' : Result:=ReadPiece(Memory[Num+5],':',393);
'30friendshits' : Result:=ReadPiece(Memory[Num+5],':',394);
'30selfhits' : Result:=ReadPiece(Memory[Num+5],':',395);
'30kills' : Result:=ReadPiece(Memory[Num+5],':',396);
'30deathby' : Result:=ReadPiece(Memory[Num+5],':',397);
'30throw' : Result:=ReadPiece(Memory[Num+5],':',398);
'30poke' : Result:=ReadPiece(Memory[Num+5],':',399);
'30timeplayed' : Result:=ReadPiece(Memory[Num+5],':',400);
'30hitby' : Result:=ReadPiece(Memory[Num+5],':',401);
'30hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',402);
'30hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',403);
'30hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',404);
'30hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',405);
'30enemyhead' : Result:=ReadPiece(Memory[Num+5],':',406);
'30friendshead' : Result:=ReadPiece(Memory[Num+5],':',407);
'30selfhead' : Result:=ReadPiece(Memory[Num+5],':',408);
'30enemybody' : Result:=ReadPiece(Memory[Num+5],':',409);
'30friendsbody' : Result:=ReadPiece(Memory[Num+5],':',410);
'30selfbody' : Result:=ReadPiece(Memory[Num+5],':',411);
'30enemylegs' : Result:=ReadPiece(Memory[Num+5],':',412);
'30friendslegs' : Result:=ReadPiece(Memory[Num+5],':',413);
'30selflegs' : Result:=ReadPiece(Memory[Num+5],':',414);

'50shoots' : Result:=ReadPiece(Memory[Num+5],':',415);
'50shoothits' : Result:=ReadPiece(Memory[Num+5],':',416);
'50friendshits' : Result:=ReadPiece(Memory[Num+5],':',417);
'50selfhits' : Result:=ReadPiece(Memory[Num+5],':',418);
'50kills' : Result:=ReadPiece(Memory[Num+5],':',419);
'50deathby' : Result:=ReadPiece(Memory[Num+5],':',420);
'50throw' : Result:=ReadPiece(Memory[Num+5],':',421);
'50poke' : Result:=ReadPiece(Memory[Num+5],':',422);
'50timeplayed' : Result:=ReadPiece(Memory[Num+5],':',423);
'50hitby' : Result:=ReadPiece(Memory[Num+5],':',424);
'50hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',425);
'50hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',426);
'50hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',427);
'50hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',428);
'50enemyhead' : Result:=ReadPiece(Memory[Num+5],':',429);
'50friendshead' : Result:=ReadPiece(Memory[Num+5],':',430);
'50selfhead' : Result:=ReadPiece(Memory[Num+5],':',431);
'50enemybody' : Result:=ReadPiece(Memory[Num+5],':',432);
'50friendsbody' : Result:=ReadPiece(Memory[Num+5],':',433);
'50selfbody' : Result:=ReadPiece(Memory[Num+5],':',434);
'50enemylegs' : Result:=ReadPiece(Memory[Num+5],':',435);
'50friendslegs' : Result:=ReadPiece(Memory[Num+5],':',436);
'50selflegs' : Result:=ReadPiece(Memory[Num+5],':',437);

'52shoots' : Result:=ReadPiece(Memory[Num+5],':',438);
'52shoothits' : Result:=ReadPiece(Memory[Num+5],':',439);
'52friendshits' : Result:=ReadPiece(Memory[Num+5],':',440);
'52selfhits' : Result:=ReadPiece(Memory[Num+5],':',441);
'52kills' : Result:=ReadPiece(Memory[Num+5],':',442);
'52deathby' : Result:=ReadPiece(Memory[Num+5],':',443);
'52throw' : Result:=ReadPiece(Memory[Num+5],':',444);
'52poke' : Result:=ReadPiece(Memory[Num+5],':',445);
'52timeplayed' : Result:=ReadPiece(Memory[Num+5],':',446);
'52hitby' : Result:=ReadPiece(Memory[Num+5],':',447);
'52hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',448);
'52hitbyinhead' : Result:=ReadPiece(Memory[Num+5],':',449);
'52hitbyinbody' : Result:=ReadPiece(Memory[Num+5],':',450);
'52hitbyinlegs' : Result:=ReadPiece(Memory[Num+5],':',451);
'52enemyhead' : Result:=ReadPiece(Memory[Num+5],':',452);
'52friendshead' : Result:=ReadPiece(Memory[Num+5],':',453);
'52selfhead' : Result:=ReadPiece(Memory[Num+5],':',454);
'52enemybody' : Result:=ReadPiece(Memory[Num+5],':',455);
'52friendsbody' : Result:=ReadPiece(Memory[Num+5],':',456);
'52selfbody' : Result:=ReadPiece(Memory[Num+5],':',457);
'52enemylegs' : Result:=ReadPiece(Memory[Num+5],':',458);
'52friendslegs' : Result:=ReadPiece(Memory[Num+5],':',459);
'52selflegs' : Result:=ReadPiece(Memory[Num+5],':',460);

'255shoots' : Result:=ReadPiece(Memory[Num+5],':',461);
'255shoothits' : Result:=ReadPiece(Memory[Num+5],':',462);
'255friendshits': Result:=ReadPiece(Memory[Num+5],':',463);
'255selfhits' : Result:=ReadPiece(Memory[Num+5],':',464);
'255kills' : Result:=ReadPiece(Memory[Num+5],':',465);
'255deathby' : Result:=ReadPiece(Memory[Num+5],':',466);
'255throw' : Result:=ReadPiece(Memory[Num+5],':',467);
'255poke' : Result:=ReadPiece(Memory[Num+5],':',468);
'255timeplayed' : Result:=ReadPiece(Memory[Num+5],':',469);
'255hitby' : Result:=ReadPiece(Memory[Num+5],':',470);
'255hitbyfriends': Result:=ReadPiece(Memory[Num+5],':',471);
'255hitbyinhead': Result:=ReadPiece(Memory[Num+5],':',472);
'255hitbyinbody': Result:=ReadPiece(Memory[Num+5],':',473);
'255hitbyinlegs': Result:=ReadPiece(Memory[Num+5],':',474);
'255enemyhead' : Result:=ReadPiece(Memory[Num+5],':',475);
'255friendshead': Result:=ReadPiece(Memory[Num+5],':',476);
'255selfhead' : Result:=ReadPiece(Memory[Num+5],':',477);
'255enemybody' : Result:=ReadPiece(Memory[Num+5],':',478);
'255friendsbody': Result:=ReadPiece(Memory[Num+5],':',479);
'255selfbody' : Result:=ReadPiece(Memory[Num+5],':',480);
'255enemylegs' : Result:=ReadPiece(Memory[Num+5],':',481);
'255friendslegs': Result:=ReadPiece(Memory[Num+5],':',482);
'255selflegs' : Result:=ReadPiece(Memory[Num+5],':',483);
6
Scripting Releases / Re: Antiskin
« Last post by soldat-game on March 07, 2019, 05:03:16 pm »
I've added the color range here
Can edit in const, Color is a number, add a number to the color to increase or decrease the range of colors.
   PlusShirtColor = 10;
   MiniusShirtColor = 10;
   PlusPantsColor = 10;
   MiniusPantsColor = 10;

Code: [Select]
{
*  Unit antiSkin
*  Version: 1.0.1
*  Server version: 2.8.1
*  Script Core v.: 3
*  Creation date: 07.03.2019
*  Written by SaTaNiC set by Dominik
}

const
BigTextLayer = 5;
UseLowerCase = true;
PlusShirtColor = 10;
MiniusShirtColor = 10;
PlusPantsColor = 10;
MiniusPantsColor = 10;

var
i: byte;

function isBanned(shirtColor, pantsColor:longint): Boolean;
var i: integer; shirtList, pantsList: TStringList;
begin
result := false;
shirtList := File.CreateStringListFromFile('antiSkin/shirt.txt'); pantsList := File.CreateStringListFromFile('antiSkin/pants.txt');
for i := 0 to shirtList.count-1 do if (shirtColor >= (strtoint(shirtList[i])-MiniusShirtColor)) and (shirtColor <= (strtoint(shirtList[i])+PlusShirtColor)) and (pantsColor >= (strtoint(pantsList[i])-MiniusPantsColor)) and (pantsColor <= (strtoint(pantsList[i])+PlusPantsColor)) then begin
result := true;
break;
end;
shirtList.Free; pantsList.Free;
end;

procedure JoinTeam(Player: TActivePlayer; Team: TTeam);
begin
if (isBanned(Player.ShirtColor, Player.PantsColor)) then begin
Player.BigText(BigTextLayer,'Por favor cambia tu skin',500,$FF0000,0.20,20,200);
if Player.Team <> 5 then Player.Team := 5;
WriteLn('[*] antiSkin-> ID:' + IntToStr(Player.ID) + ' NICK:' + Player.Name + ' Shirt:' + IntToStr(Player.ShirtColor) + ' Pants:' + IntToStr(Player.PantsColor) + ' esta baneado');
end else WriteLn('[*] antiSkin-> ID:' + IntToStr(Player.ID) + ' NICK:' + Player.Name + ' Shirt:' + IntToStr(Player.ShirtColor) + ' Pants:' + IntToStr(Player.PantsColor) + ' entro');
end;

function OnCommandAntiSkin(Player: TActivePlayer; Command: string): Boolean;
var i: byte; TempName: string;
begin
result:=false;
if lowercase(copy(Command, 1, 9)) = '/antiskin' then begin
if UseLowerCase=true then TempName := lowercase(copy(Command, 11, 24)) else TempName := copy(Command, 11, 24);
for i := 1 to Game.MaxPlayers do if Players[i].Active then begin
if lowercase(Players[i].Name) = TempName then begin
if not (isBanned(Players[i].ShirtColor,Players[i].PantsColor)) then begin
WriteLnFile('antiSkin/shirt.txt', IntToStr(Players[i].ShirtColor));
WriteLnFile('antiSkin/pants.txt', IntToStr(Players[i].PantsColor));
WriteLn('[*] antiSkin-> '+Player.Name+' ha baneado el skin de '+Players[i].Name);
Player.Tell('[*] antiSkin-> '+Players[i].Name+' skin baneado');
Players[i].BigText(BigTextLayer,'Tu skin ha sido baneado',500,$FF0000,0.20,20,200);
if Player.Team <> 5 then Players[i].Team := 5;
end else Player.Tell('[*] antiSkin-> '+Players[i].Name+' skin ya estaba baneado');
Exit;
end;
end;
Player.Tell('[*] antiSkin-> Error, intenta nuevamente');
end;
end;

begin
for i := 1 to Game.MaxPlayers do Players[i].OnCommand := @OnCommandAntiSkin;
for i := 0 to 5 do Game.Teams[i].OnJoin := @JoinTeam;
end.
7
Scripting Releases / Re: Antiskin
« Last post by soldat-game on March 07, 2019, 04:49:41 pm »
Thank you!

I think in color range but not sure how to implement that, maybe in future versions.

Greetings!

Code: [Select]
{
*  Unit antiSkin
*  Version: 1
*  Server version: 2.8.1
*  Script Core v.: 3
*  Creation date: 22.02.2019
*  Written by SaTaNiC
}
const
BigTextLayer = 5;
UseLowerCase = true;

function isBanned(shirtColor:string; pantsColor:string): Boolean;
var i: integer; shirtList, pantsList: TStringList;
begin
result := false;
shirtList := File.CreateStringListFromFile('antiSkin/shirt.txt'); pantsList := File.CreateStringListFromFile('antiSkin/pants.txt');
for i := 0 to shirtList.count-1 do if (shirtColor = shirtList[i]) and (pantsColor = pantsList[i]) then begin
result := true;
break;
end;
shirtList.Free; pantsList.Free;
end;

procedure JoinTeam(Player: TActivePlayer; Team: TTeam);
begin
if (isBanned(IntToStr(Player.ShirtColor), IntToStr(Player.PantsColor))) then begin
Player.BigText(BigTextLayer,'Por favor cambia tu skin',500,$FF0000,0.20,20,200);
if Player.Team <> 5 then Player.Team := 5;
WriteLn('[*] antiSkin-> ID:' + IntToStr(Player.ID) + ' NICK:' + Player.Name + ' Shirt:' + IntToStr(Player.ShirtColor) + ' Pants:' + IntToStr(Player.PantsColor) + ' esta baneado');
end else WriteLn('[*] antiSkin-> ID:' + IntToStr(Player.ID) + ' NICK:' + Player.Name + ' Shirt:' + IntToStr(Player.ShirtColor) + ' Pants:' + IntToStr(Player.PantsColor) + ' entro');
end;

function OnCommandAntiSkin(Player: TActivePlayer; Command: string): Boolean;
var i: byte; TempName: string;
begin
result:=false;
if lowercase(copy(Command, 1, 9)) = '/antiskin' then begin
if UseLowerCase=true then TempName := lowercase(copy(Command, 11, 24)) else TempName := copy(Command, 11, 24);
for i := 1 to Game.MaxPlayers do if Players[i].Active then begin
if lowercase(Players[i].Name) = TempName then begin
if not (isBanned(IntToStr(Players[i].ShirtColor), IntToStr(Players[i].PantsColor))) then begin
WriteLnFile('antiSkin/shirt.txt', IntToStr(Players[i].ShirtColor));
WriteLnFile('antiSkin/pants.txt', IntToStr(Players[i].PantsColor));
WriteLn('[*] antiSkin-> '+Player.Name+' ha baneado el skin de '+Players[i].Name);
Player.Tell('[*] antiSkin-> '+Players[i].Name+' skin baneado');
Players[i].BigText(BigTextLayer,'Tu skin ha sido baneado',500,$FF0000,0.20,20,200);
if Player.Team <> 5 then Players[i].Team := 5;
end else Player.Tell('[*] antiSkin-> '+Players[i].Name+' skin ya estaba baneado');
Exit;
end;
end;
Player.Tell('[*] antiSkin-> Error, intenta nuevamente');
end;
end;

var i: byte;
begin
for i := 1 to Game.MaxPlayers do Players[i].OnCommand := @OnCommandAntiSkin;
for i := 0 to 5 do Game.Teams[i].OnJoin := @JoinTeam;
end.

See full and added a few amendments
8
Scripting Releases / Re: Antiskin
« Last post by surfersat on March 07, 2019, 04:19:21 pm »
Thank you!

I think in color range but not sure how to implement that, maybe in future versions.

Greetings!
9
Scripting Releases / Re: Antiskin
« Last post by soldat-game on March 07, 2019, 04:06:27 pm »
Good idea but:
there is no need to use Explode can use TStringList
Procedure ..(..); TStringList
var Temp:TStringList;
begin
Temp := File.CreateStringListFromFile(Path);
Next can use of string list Temp[1..*]

Add color ranges - just change one color number to be on the white list and the color will be almost the same. And the player will join the game :D

Code: [Select]
function isBanned(shirtColor:string; pantsColor:string): Boolean;
var
c: integer;
shirtList: TStringList;
pantsList: TStringList;
begin
shirtList := File.CreateStringListFromFile('antiSkin/shirt.txt');
pantsList := File.CreateStringListFromFile('antiSkin/pants.txt');
for c := 0 to shirtList.count do begin
if ((shirtColor = shirtList[c]) and (pantsColor = pantsList[c])) then begin
result:=true;
break;
end else begin
result:=false;
end;
end;
end;
10
Scripting Releases / Antiskin
« Last post by surfersat on March 07, 2019, 12:25:15 pm »
*  Unit antiSkin
*  Version: 1
*  Server version: 2.8.1
*  Script Core v.: 3
*  Creation date: 22.02.2019
*  Written by SaTaNiC

This script avoid players to join a game wearing banned clothes combinations (like Mayor default skin)
Pages: [1] 2 3 ... 10