Szerző Téma: rCon belépés spam  (Megtekintve 1124 alkalommal)

rCon belépés spam
« Dátum: 2016. Január 16. - 16:47:29 »
0
Sziasztok, ezzel a scriptel mi a probléma? Mikor belépek az rconba, legalább 50x kifloodolja, sőt néha nem is az én nevemet írja oda hanem valaki más nevét aki a szerveren van. Ötleteket előre is köszönöm.
 

public OnRconLoginAttempt(ip[], password[], success)
{
    new string[128];
if(!success)
{
    for(new i=0; i<MAX_PLAYERS; i++)
   {
   GetPlayerName(i,nev,sizeof(nev));
   format(string,sizeof(string),\"* Kirugtuk \'%s\'-t. Indok: Hibás rCon jelszó\",nev);
   SendAdminMessage(RED,string);
   TimeKick(i);
   getdate(ev,honap,nap);
   gettime(ora,perc,masodperc);
        format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s kickelve lett. Indok: Hibás rCon jelszó\",ev,honap,nap,ora,perc,masodperc,nev);
   SzerverLog(logstring);
}
}
if(success)
{
    for(new i=0; i<MAX_PLAYERS; i++)
   {
   GetPlayerName(i,nev,sizeof(nev));
   format(string,sizeof(string),\"* %s beírta az rCon jelszót\",nev);
   SendAdminMessage(LIGHTRED,string);
   getdate(ev,honap,nap);
   gettime(ora,perc,masodperc);
            format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s beírta az rCon jelszót\",ev,honap,nap,ora,perc,masodperc,nev);
   SzerverLog(logstring);
}
}
return 1;
}

rCon belépés spam
« Válasz #1 Dátum: 2016. Január 16. - 17:01:40 »
0
Tegyük fel, hogy játszanak a szerveren 6-an
ID - NÉV
1 - Jancsi
0 - Pista
3 - Géza
4 - Sára
7 - Árpád
6 - Juli
Az ID-k aszerint változnak, hogy melyik a legalacsonyabb olyan ID, ami nem foglalt. Na most ha például Pista beírja hibásan az RCON jelszót, akkor 6x lefog futni a loop, azaz a 0,1,2,3,4,5-ös IDkkel próbál játékost találni, de a 2-es és az 5-öst nem találja, mert éppen leléptek azzal az ID-vel, így hibát dobhat. Ha viszont megtalálta, akkor kickeli a 0,1,3,4 idjű játékosokat, és ezt leírja a logba.
Ez egy hiányos kód, méghozzá azért, mert sehol nem ellenőrzöd le azt, hogy az adott játékos (i) IP-je az ip[]-vel egyezik-e meg. Ha megegyezik, csak akkor kellene lefutnia a kódnak. Valamint egy looppal is meg lehetett volna oldani, 1-1 kiírással. :)

rCon belépés spam
« Válasz #2 Dátum: 2016. Január 16. - 17:11:39 »
0
Valamit nem jól csináltam, 1 errort ad.
insiderpg.pwn(2046) : error 029: invalid expression, assumed zero
 

if(!success)
{
    for(new i=0; i<MAX_PLAYERS; i++)
   {
       new ipp[16];
       GetPlayerIp(i,ipp,sizeof(ipp));
       if(ip[] == ipp)
       {
      GetPlayerName(i,nev,sizeof(nev));
      format(string,sizeof(string),\"* Kirugtuk \'%s\'-t. Indok: Hibás rCon jelszó\",nev);
      SendAdminMessage(RED,string);
      TimeKick(i);
      getdate(ev,honap,nap);
      gettime(ora,perc,masodperc);
        format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s kickelve lett. Indok: Hibás rCon jelszó\",ev,honap,nap,ora,perc,masodperc,nev);
      SzerverLog(logstring);
   }
}
}

rCon belépés spam
« Válasz #3 Dátum: 2016. Január 16. - 17:33:37 »
0

if(!success)
{
new id, ipp[16];
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
GetPlayerIp(i, ipp, sizeof(ipp));
if(!strcmp(ipp, ip, true)) id = i; break;
}
GetPlayerName(i, nev, sizeof(nev));
format(string, sizeof(string),\"* Kirugtuk \'%s\'-t. Indok: Hibás rCon jelszó\",nev);
SendAdminMessage(RED, string);
TimeKick(i);
getdate(ev,honap,nap);
gettime(ora,perc,masodperc);
format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s kickelve lett. Indok: Hibás rCon jelszó\",ev,honap,nap,ora,perc,masodperc,nev);
SzerverLog(logstring);
}

rCon belépés spam
« Válasz #4 Dátum: 2016. Január 16. - 18:03:31 »
0
C:\\Users\\Aron\\Documents\\SAMP Szerver\\gamemodes\\insiderpg.pwn(2057) : warning 225: unreachable code
C:\\Users\\Aron\\Documents\\SAMP Szerver\\gamemodes\\insiderpg.pwn(2056) : warning 204: symbol is assigned a value that is never used: \"id\"

rCon belépés spam
« Válasz #5 Dátum: 2016. Január 16. - 18:10:57 »
0
if(!success)
{
new id, ipp[16];
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
GetPlayerIp(i, ipp, sizeof(ipp));
if(!strcmp(ipp, ip, true)) id = i; break;
}
GetPlayerName(id, nev, sizeof(nev));
format(string, sizeof(string),\"* Kirugtuk \'%s\'-t. Indok: Hibás rCon jelszó\", nev);
SendAdminMessage(RED, string);
TimeKick(id);
getdate(ev,honap,nap);
gettime(ora,perc,masodperc);
format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s kickelve lett. Indok: Hibás rCon jelszó\",ev,honap,nap,ora,perc,masodperc,nev);
SzerverLog(logstring);
}

rCon belépés spam
« Válasz #6 Dátum: 2016. Január 16. - 18:20:27 »
0
Tökély.. Köszi szépen!!  :thumbsup:  :thumbsup:

Nem elérhető anGeL

  • Adminisztrátor
  • 2158
    • Profil megtekintése
rCon belépés spam
« Válasz #7 Dátum: 2016. Január 16. - 18:20:49 »
0
[gmod]Téma megoldva gomb ne maradjon el legközelebb![/gmod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal