Szerző Téma: R**SAMP: Fake kill  (Megtekintve 8908 alkalommal)

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #45 Dátum: 2013. június 15. - 13:48:15 »
0 Show voters
Idézetet írta: DrAkE date=1371296001\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38445\" data-ipsquote-contentclass=\"forums_Topic
Inkább a link kellene (ha fórum), ahol találtad. De úgy is jó, ha elküldöd a legújabbat.
 
elküldtem mindenestõl :D

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #46 Dátum: 2013. június 15. - 14:18:38 »
0 Show voters
Na, majd tanulás után megcsinálom :D

R**SAMP: Fake kill
« Válasz #47 Dátum: 2013. június 15. - 14:22:00 »
0 Show voters
Ezt próbáljátok ki szerintem(külön filterscript):
 

#include <a_samp>
#undef MAX_PLAYERS
#define MAX_PLAYERS (50) // ide a slotszámot :D
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;
}
« Utoljára szerkesztve: 2013. június 15. - 14:23:57 írta lackos888 »

Nem elérhető krisk

  • 2380
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #48 Dátum: 2013. június 15. - 14:33:08 »
0 Show voters
Idézetet írta: DrAkE date=1371295768\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38445\" data-ipsquote-contentclass=\"forums_Topic
Amit küldtél témát, abba postoltam is egy ilyet :D 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 :D
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.
« Utoljára szerkesztve: 2013. június 15. - 14:37:53 írta krisk »

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #49 Dátum: 2013. június 15. - 14:40:34 »
0 Show voters
botserials.db -t megtudom valahogy nyitni? vagy eltudtátok küldeni olyan formába hogy megnézhessem?

Nem elérhető krisk

  • 2380
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #50 Dátum: 2013. június 15. - 14:56:28 »
0 Show voters
Idézetet írta: Csabesz date=1371300034\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38445\" data-ipsquote-contentclass=\"forums_Topic
botserials.db -t megtudom valahogy nyitni? vagy eltudtátok küldeni olyan formába hogy megnézhessem?
 
Tölts le egy SQLite viewert.

R**SAMP: Fake kill
« Válasz #51 Dátum: 2013. június 15. - 14:57:15 »
+1 Show voters
Egy kevés tesztelés után itt van a mûködõ kód:
 
#include <a_samp>
new pDrunkLevelLast[MAX_PLAYERS];
new pFPS[MAX_PLAYERS];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\"Anti-Raksamp script by Easy0101\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\"Anti-Raksamp script by Easy0101\");
print(\"----------------------------------\\n\");
}
#endif
public 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];
}

 
Tesztként felmentem a bottal a szerómra és folyamatosan 0 fpse volt. És így ki lehet játszani. És kis plusszként hogy jobban mûködjön lehet belerakni egy 10mps timert mert akinek rosszabb a gépe annak is lehet 0 fpse.
« Utoljára szerkesztve: 2013. június 15. - 15:04:00 írta EasyHUN »

R**SAMP: Fake kill
« Válasz #52 Dátum: 2013. június 15. - 15:12:55 »
0 Show voters
Idézetet írta: krisk date=1371299588\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38445\" data-ipsquote-contentclass=\"forums_Topic


Amit küldtél témát, abba postoltam is egy ilyet :D 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 :D
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.

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #53 Dátum: 2013. június 15. - 15:24:24 »
0 Show voters
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.  :)

R**SAMP: Fake kill
« Válasz #54 Dátum: 2013. június 15. - 15:27:54 »
0 Show voters
Idézetet írta: Csabesz date=1371302664\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38445\" data-ipsquote-contentclass=\"forums_Topic
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.  :)
 
Ok tesztelem Csabesz.

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #55 Dátum: 2013. június 15. - 15:53:45 »
0 Show voters
Már nem azért, de 5 perce próbálok rájönni hogy hogy kéne kiszûrni és sikerült :D jó gyors vagyok  8) ( még teszt fázisba van a cucc, vagyis már csak emberekkel kéne kipróbálni )
Igaz ez se 100%os, mivel ha elindítja X idõnek el kell telnie mire minden feltétel érvényes lesz a csalóra és csak akkor rakja ki.

R**SAMP: Fake kill
« Válasz #56 Dátum: 2013. június 15. - 16:10:24 »
0 Show voters
Talán késleltetni lehetne az OnPlayerDeath alatt lévõ dolgokat, gondolom az OnPlayerSpawn nem hívódik meg ha ezt a fakekillt használják. Igaz ehhez kellene az a retek program hogy tesztelni lehessen.

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
R**SAMP: Fake kill
« Válasz #57 Dátum: 2013. június 15. - 16:14:44 »
0 Show voters
Most verbuválom az embereket és majd írok ha sikerült megcsinálni :) ( Zsolti, küldtem letöltõ linket )

R**SAMP: Fake kill
« Válasz #58 Dátum: 2013. június 15. - 16:20:19 »
0 Show voters
Lackossal eggyütt megirtuk az alábbi kódot ami egybõl kirúgva a hamis botokat. A rendes embereket pedig nem.
 
#include <a_samp>
new pDrunkLevelLast[MAX_PLAYERS];
new pFPS[MAX_PLAYERS];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\"Anti-Raksamp script by Easy0101 & Lackos888\");
print(\"--------------------------------------\\n\");
//SetTimer( \"BotCheck\" , 9000 , 1 );
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\"Anti-Raksamp script by Easy0101 & Lackos888\");
print(\"----------------------------------\\n\");
}
#endif
public 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];
}
« Utoljára szerkesztve: 2013. június 15. - 16:30:05 írta EasyHUN »

R**SAMP: Fake kill
« Válasz #59 Dátum: 2013. június 15. - 17:21:57 »
0 Show voters
Jha nem rossz kis program kár hogy a készítõje ilyenre pazarolja az idejét, amúgy ez ellen a kick lófaszt se ér automatikus újracsatlakozással rendelkezik.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal