Inkább a link kellene (ha fórum), ahol találtad. De úgy is jó, ha elküldöd a legújabbat.
#include <a_samp>#undef MAX_PLAYERS#define MAX_PLAYERS (50) // ide a slotszámot stock BanFakeKill(playerid){new ip[16], name[MAX_PLAYER_NAME], rconcmd[128];GetPlayerIp(playerid, ip, sizeof(ip));GetPlayerName(playerid, name, sizeof(name));printf(\"FAKE KILL, IP: %s, ID: %d\", ip, playerid);format(rconcmd, sizeof(rconcmd), \"banip %s\", ip);SendRconCommand(rconcmd);BanEx(playerid, \"Fake Kill\");Kick(playerid);return 1;}public OnPlayerDeath(playerid, killerid, reason){if(killerid != INVALID_PLAYER_ID){ new pstate = GetPlayerState(playerid), ip[16], ip2[16];if(pstate == 7 && GetPlayerWeapon(playerid) != reason){ GetPlayerIp(playerid, ip, sizeof(ip)); for(new i = 0; i <= MAX_PLAYERS; i++){ if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; GetPlayerIp(i, ip2, sizeof(ip2)); if(!strcmp(ip, ip2, true)){ BanFakeKill(i); } } return 1;}}return 1;}
Amit küldtél témát, abba postoltam is egy ilyet 512db serialt tartalmaz. Ezt még Anthonyval csináltuk (vagyis inkább õ jött rá), és azt vette észre, hogy a serialok egy adatbázisban van \"elrejtve\" és az hashelve van. Egyetlen megoldásként megkellet várni, míg mind az 512 serial begyûjtõdik. Meg ha jól tudom, akkor a RSAMPnak mindig kirakják a source kódját.
botserials.db -t megtudom valahogy nyitni? vagy eltudtátok küldeni olyan formába hogy megnézhessem?
#include <a_samp>new pDrunkLevelLast[MAX_PLAYERS];new pFPS[MAX_PLAYERS];#if defined FILTERSCRIPTpublic OnFilterScriptInit(){print(\"\\n--------------------------------------\");print(\"Anti-Raksamp script by Easy0101\");print(\"--------------------------------------\\n\");return 1;}public OnFilterScriptExit(){return 1;}#elsemain(){print(\"\\n----------------------------------\");print(\"Anti-Raksamp script by Easy0101\");print(\"----------------------------------\\n\");}#endifpublic OnPlayerConnect(playerid){ pDrunkLevelLast[playerid] = 0; pFPS[playerid] = 0; if(GetPlayerFPS(playerid) == 0) Kick(playerid); print(\"Bot kirugva!\");}public OnPlayerUpdate(playerid){ new drunknew; drunknew = GetPlayerDrunkLevel(playerid); if (drunknew < 100){ SetPlayerDrunkLevel(playerid, 2000); }else{ if (pDrunkLevelLast[playerid] != drunknew){ new wfps = pDrunkLevelLast[playerid] - drunknew; if ((wfps > 0) && (wfps < 200)) pFPS[playerid] = wfps; pDrunkLevelLast[playerid] = drunknew; } }}stock GetPlayerFPS(playerid){return pFPS[playerid];}
Amit küldtél témát, abba postoltam is egy ilyet 512db serialt tartalmaz. Ezt még Anthonyval csináltuk (vagyis inkább õ jött rá), és azt vette észre, hogy a serialok egy adatbázisban van \"elrejtve\" és az hashelve van. Egyetlen megoldásként megkellet várni, míg mind az 512 serial begyûjtõdik. Meg ha jól tudom, akkor a RSAMPnak mindig kirakják a source kódját. Még korábban láttam azt az adatbázist, ki kell próbálni, azért írtam Az IP és IP2 változók nincsenek deklarálva az OnPlayerDeath-nél. Plusz látok némi keveredést a playerid és a killerid változók közt a scriptben.Ahogy nézem ez is azon alapul, hogy a RakSAMP-os botok nem hívák meg az OnPlayerSpawn() függvényt. Viszont ennyi erõvel lehet használni Anthony scriptjét, az már kapcsolódásnál kiszûri ezeket. [/quote]Deklarálva van, én így próbáltam ki legelõsször, felküldtem 15 botot, mindegyikre rányomtam a fakekillt, és a végén mindegyik elszállt.Direkt így írtam meg, mivel a killerid egy másik player volt, és a playerid pedig mindig az volt, aki elkezdte a fakekillezést.
Anthony/DrAkE álltal írt védelem nem mûködik, mivel más szériaszámokat használ a program.lackos, ne csak sima botokkal tesztelj.. hanem emberekkel is. Ha azokat nem dobja ki, a botokat viszont igen, akkor jó amit csináltál.
#include <a_samp>new pDrunkLevelLast[MAX_PLAYERS];new pFPS[MAX_PLAYERS];#if defined FILTERSCRIPTpublic OnFilterScriptInit(){print(\"\\n--------------------------------------\");print(\"Anti-Raksamp script by Easy0101 & Lackos888\");print(\"--------------------------------------\\n\");//SetTimer( \"BotCheck\" , 9000 , 1 );return 1;}public OnFilterScriptExit(){return 1;}#elsemain(){print(\"\\n----------------------------------\");print(\"Anti-Raksamp script by Easy0101 & Lackos888\");print(\"----------------------------------\\n\");}#endifpublic OnPlayerConnect(playerid){ pDrunkLevelLast[playerid] = 0; pFPS[playerid] = 0; SetTimerEx(\"BotCheck\", 5000, 0, \"d\", playerid);}forward BotCheck(playerid);public BotCheck(playerid){ if(GetPlayerFPS(playerid) == 0) { Kick(playerid); print(\"Bot kirugva!\"); return 1; } return 1;}new formatted[128];public OnPlayerCommandText(playerid, cmdtext[]){if (strcmp(\"/fps\", cmdtext, true, 10) == 0){ new fps = GetPlayerFPS(playerid); format(formatted, sizeof(formatted), \"FPS-ed: %d\", fps); SendClientMessage(playerid,-1,formatted);return 1;}return 0;}public OnPlayerUpdate(playerid){ new drunknew; drunknew = GetPlayerDrunkLevel(playerid); if (drunknew < 100){ SetPlayerDrunkLevel(playerid, 2000); }else{ if (pDrunkLevelLast[playerid] != drunknew){ new wfps = pDrunkLevelLast[playerid] - drunknew; if ((wfps > 0) && (wfps < 200)) pFPS[playerid] = wfps; pDrunkLevelLast[playerid] = drunknew; } }}stock GetPlayerFPS(playerid){return pFPS[playerid];}