Hallo,
Ich hab ein Problem, wenn jemand wegen Rapidfire gebannt wird, wird der Chat voll gespammt und in der Bann Tabelle wird der User auch 4 oder 5 mal reingeschrieben
Wieso?
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
User[playerid][Shots] ++;
if(hittype == BULLET_HIT_TYPE_PLAYER){
User[playerid][Hits] ++;
}
//Anti
new day,month,year,stunde,minute,query[264],datum[24],uhrzeit[24],str[128];
if((gettime() - User[playerid][ShotTime]) < 1)User[playerid][Shot]+=1;
else User[playerid][Shot]=0;
if(User[playerid][Shot] > 15){
getdate(year, month, day);
format(datum,24,"%d/%d/%d",day,month,year);
gettime(stunde,minute);
format(uhrzeit,24,"%d:%d",stunde,minute);
format(query,264,"INSERT INTO `Bannedplayer` (`Name`, `Admin`, `Grund`, `Datum`,`Uhrzeit`) VALUES('%s','ANTICHEAT','Rapidfire','%s','%s')",PlayerName(playerid),datum,uhrzeit);
mysql_tquery(mycon, query, "", "");
format(str,128,"[ANTICHEAT] Der Spieler %s wurde vom System gebannt, Grund: Rapidfire",PlayerName(playerid));
SendClientMessageToAll(ROT,str);
Ban(playerid);
}
User[playerid][ShotTime] = gettime();
Chat wird beim Ban voll gespammt
- LucareLLi
- Geschlossen
- Erledigt
-
-
Ich vermute mal das Ban(playerid) mit einem Timer läuft.
Setz einfach eine Variable auf true und frage diese ab, wenn sie positiv ist dann einfach returnen. -
Setzte eine eine Abfrage mit einer Variable.
- Vor dem Bannen abfragen, ob die Variable 0 ist, falls nicht returnen
- Beim bannen die Variable auf 1 setzen. -
Ich vermute mal das Ban(playerid) mit einem Timer läuft.
Setz einfach eine Variable auf true und frage diese ab, wenn sie positiv ist dann einfach returnen.
Wie meinst du das jtzt genau?
Ja Ban Player läuft durch einen Timer (Banfix Include) -
....
//Anti
if(GetPVarInt(playerid, "playerBanned")) return 1; // Hier wird abgefragt
new day,month,year,stunde,minute,query[264],datum[24],uhrzeit[24],str[128];
if((gettime() - User[playerid][ShotTime]) < 1)User[playerid][Shot]+=1;
else User[playerid][Shot]=0;
if(User[playerid][Shot] > 15){
getdate(year, month, day);
format(datum,24,"%d/%d/%d",day,month,year);
gettime(stunde,minute);
format(uhrzeit,24,"%d:%d",stunde,minute);
format(query,264,"INSERT INTO `Bannedplayer` (`Name`, `Admin`, `Grund`, `Datum`,`Uhrzeit`) VALUES('%s','ANTICHEAT','Rapidfire','%s','%s')",PlayerName(playerid),datum,uhrzeit);
mysql_tquery(mycon, query, "", "");
format(str,128,"[ANTICHEAT] Der Spieler %s wurde vom System gebannt, Grund: Rapidfire",PlayerName(playerid));
SendClientMessageToAll(ROT,str);
Ban(playerid);
SetPVarInt(playerid, "playerBanned", 1); // Hier wird gesetzt
.... -
breadfish.de
Hat das Thema geschlossen.