pokusavam da napravim ovo a nece

Započeo malipablo, Oktobar 28, 2019, 20:21:39 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): napravio sam anticit za pancire i nece da postavi nego kik sa servera jer ne ucita anticit a  treba da da pancir
Dio skripte: [pawn]public OnPlayerSpawn (  playerid  )
{
new potrebnavelicina=random(100); //uzimanje memorije potrebne velicine da moze da radi poruka
if(  IsPlayerConnected(  playerid  )   )
{
if(  UlogovanProvera[  playerid  ]  ==  true   )
{
new Float: anticheatarmor; //ukljucivanje anticita
new porukaodanticit[800+potrebnavelicina];
if(  GetPlayerArmour(  playerid, anticheatarmor   )  ==  0  &&  IsPlayerAdmin(  playerid  )  ==  0  )  //proveruje za anticit ako ima
{
Kick(   playerid   );
format(   porukaodanticit,   sizeof(porukaodanticit),   "HAKER SI kikovan si jer: koristite cit za armour citovanje."   );
}
else SetPlayerArmour(   playerid,  100   );
}
}
return ((true)); //dvostruka zastita za podatke
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ][ /code ]
Slika/video ingame problema(obavezno ako je ingame problem):

mislim da je kod dobar ali nesto zeza pawno ili samp mozda bi trebao da pokusam da ukucam callremotefunction to je jednom radilo na samp foorumu

Šta si ti tu druže zapravo napravio, jer ti kod prvenstveno nema nimalo smisla.

Prvo, za razliku od healtha koji se stavlja sam od sebe, armor ne. Gdje god stavljaš sa strane skripte igraču armor, postavi ga na 99.
I onda provjeravaj, ukoliko je Armor igrača 100, znači da je postavio sam sebi Armor.

Također, nije uopšte teško urediti čit i napraviti da igrač sam sebi postavi armor tipa 98, i samim time će bypassovati tvoj antičit, onda ćeš morati uraditi preko varijable što nije teško.

Također, ta poruka za antičit, čemu tolika veličina stringa.
Provjeravaj dužinu teksta ovdje: http://string-functions.com/length.aspx
Provjeravaj zajedno sa bojom, npr {FF0000}Banovan si., i onda ćeš znati koliko ti string otprilike mora biti veliki.

800 je previše.
Poslednja Izmena: Oktobar 28, 2019, 20:40:33 POSLE PODNE od Slade

a da li bi mogao preko calllocalfunction da pozovem ili da povezem sa bazom podataka da moze da proveri ako mu je anticit ukljucen

ja sam to misleo ovako:
if( playerid - GetPlayerArmour(  playerid,  anticheatarmour  ) & 3  ) return Kick(  playerid  )
celo jutro u skoli sam razmisljao ali mislim da ovo oduzima dobro i ucitava anti cit iz biblioteke

sad sam ovo pisao, nabrzinu i bez testiranja, ako ima problema urediš i to je to.

[pawn]// definicija
new playerArmour[ MAX_PLAYERS ];

// funkcija
forward AntiCheatArmour(playerid, armour);
public AntiCheatArmour(playerid, armour)
{
    playerArmour[playerid] = armour;
   return SetPlayerArmour(playerid, armour);
}

// korištenje u skripti:
CMD:armour(playerid, params[])
{
   #pragma unused params
   AntiCheatArmour(playerid, 100.0);
   return true;
}

// korištenje u filterskripti
CMD:armour(playerid, params[])
{
   #pragma unused params
   CallRemoteFunction("AntiCheatArmour", "ii", playerid, armour);
   return true;
}

// resetiranje, dosta važno! OnPlayerConnect, OnPlayerDeath, OnPlayerSpawn
playerArmour[playerid] = 0;

// detekcija (u timer od 1 sek ili tako neš)
new Float:armour;
GetPlayerArmour(playerid, armour);
if(armour > playerArmour[playerid]) return SCM(playerid, -1, "Izbacen si zbog koristenja Armour Cheatova."), Kick(playerid);[/pawn]

U suštini, ono što jedino ne provjerava jeste pad armora (osim gore navedenog kada igrač umre i slično).
Sam server nikada neće staviti armor na 100 (kao health), a igrač može čitom, i zbog toga je lako napraviti detekciju, čim je igračev armor veći od najviše postavljenog, ima čit. Testiraj opet.
Poslednja Izmena: Oktobar 28, 2019, 21:13:09 POSLE PODNE od Slade

a ja radim na strcmp komandiranju nece ovo cmd staro je

Način koji koristiš je najstariji, koristi pawn.cmd ili zcmd

[pawn]sizeof(porukaodanticit),   "HAKER SI kikovan si jer: koristite cit za armour citovanje."   );[/pawn]

:'(
Pasting code from the Internet into production code is like chewing gum found in the street.

Also known as:Marshall Bleach Newton




ali zcmd je star i pavcmd star mozda ycommand ali strcmp oduvek postoji on mi je najbolji aj mi prevedi na strcmp moze tako


ee ljudi popravio sam potrebnavelicina je bila mala pa sam promenio da radi jako optimizovano

return ((true)); //dvostruka zastita za podatke
really
Perfect Life <3

Prvo nauci osnove pa trazi pomoc. Kakve gluposti necu procitati ovdje...


bilo je lijepo dok je trajalo.