Ich weis, aber verstehe das nie mit der Zeichenposition
mfg
Ich weis, aber verstehe das nie mit der Zeichenposition
mfg
ZitatAlles anzeigenHier, schreib es so:
for(new i,pos;i<sizeof(BadWords);i++) {
pos = strfind(text, BadWords[i], true);
if(pos == -1) continue;
new tmp[16],l=strlen(BadWords[i]);
strdel(text,pos,pos+l);
for(new x; x<l; x++) tmp[x] = '*';
strins(text,tmp,pos,144);
}
Vielen Dank, dieser Quellcode klappt sehr gut.
Jetzt erkläre mir aber doch noch den Vorgang von
strdel(text,pos,pos+l);
und
strins(text,tmp,pos,144);
mfg.
Alles anzeigenfor(new i;i<sizeof(BadWords);i++)
{
new j;
if((j = strfind(text, BadWords[i], true)) != -1)
{
for(new i,l=strlen(BadWords[i]); i<l; i++)
{
BadWords[j+1] = '*';
}
}
}
Okey jetzt stellt sich die frage ich ich das nun in den string packen kann.
Beispiel:
Alter String - Man man was bist du denn für ein Spacko!
Neuer String - Man man was bist du denn für ein ******!
mfg
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal eure Hilfe!
Ich möchte eine "Zensur" im Chat haben.
Das soll bedeuten, Person a schreibt "Spacko" dann wird aus Spacko ****** da "Spacko" 6 Zeichen enthält.
Ich habe mal so angefangen
for(new i;i<sizeof(BadWords);i++)
{
if(strfind(text, BadWords[i], true) != -1)
{
for(new j,l=strlen(BadWords[i]); j<l; j++)
{
format(BadWords[j], 1, "*");
}
}
}
Weiterhin hätte ich die Idee mit strdel & strins zu arbeiten, da ich dies aber noch nicht gemacht habe bräuchte ich dabei hilfe.
mfg
Auch da ist die Klammersetzung deines If-Clauses wieder falsch
Ja das war einer der 2 Fehler
Jetzt Funktioniert es wie gewollt!
Danke
mfg
Alles anzeigenJa.
Aber vorerst lass es mal so laufen:
value = GetPlayerSpeed(playerid);
printf("Model: %d == 520 && %d >= 250", GetVehicleModel(GetPlayerVehicleID(playerid)), value);
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520 && value >= 250)
{
printf("Ban wegen %d km/h", value);
printf("%d", value);
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), value);
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
Und poste dann was im Log steht.
Dann poste dazu den gesamten, aktualisierten, Timer.
Das ist ein bisschen komisch
[22:48:07] Number of vehicle models: 0
[22:48:17] 520
[22:48:17] Model: 520 == 520 && 1 >= 250
[22:48:18] 520
[22:48:18] Model: 520 == 520 && 0 >= 250
[22:48:19] 520
[22:48:19] Model: 520 == 520 && 0 >= 250
[22:48:20] 520
[22:48:20] Model: 520 == 520 && 0 >= 250
[22:48:21] 520
[22:48:21] Model: 520 == 520 && 3 >= 250
[22:48:22] 520
[22:48:22] Model: 520 == 520 && 11 >= 250
[22:48:23] 520
[22:48:23] Model: 520 == 520 && 20 >= 250
[22:48:24] 520
[22:48:24] Model: 520 == 520 && 16 >= 250
[22:48:25] 520
[22:48:25] Model: 520 == 520 && 12 >= 250
[22:48:26] 520
[22:48:26] Model: 520 == 520 && 21 >= 250
[22:48:27] 520
[22:48:27] Model: 520 == 520 && 63 >= 250
[22:48:28] 520
[22:48:28] Model: 520 == 520 && 120 >= 250
[22:48:29] 520
[22:48:29] Model: 520 == 520 && 163 >= 250
[22:48:30] 520
[22:48:30] Model: 520 == 520 && 205 >= 250
[22:48:31] 520
[22:48:31] Model: 520 == 520 && 232 >= 250
[22:48:31] 232
Alles anzeigen
Ich glaub ich hab den Fehler gefunden
Der Fehler müsste hier liegen
if(GetVehicleModel(GetPlayerVehicleID(playerid) != 520) && GetPlayerSpeed(playerid) >= 225)
{
printf("%d", GetPlayerSpeed(playerid));
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), GetPlayerSpeed(playerid));
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
ZitatZeig uns am Besten mal die komplette Funktion. Ich fange langsam an daran zu zweifeln, dass wir uns im richtigen Abteil befinden.
Du meinst den ganzen Timer ?
Es Funktioniert trotz den logischen argumenten immer noch nicht
value = GetPlayerSpeed(playerid);
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520 && value >= 250)
{
printf("%d", value);
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), value);
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
Liegt es vllt daran das ich den Spieler beim Kicken freezen lasse (Unwarscheinlich da KickEx ganz unten ausgeführt wird)
stock KickEx(playerid)
{
TogglePlayerControllable(playerid, false);
return SetTimerEx("KickTimer", 10, false, "i", playerid);
}
[22:39:36] 520
[22:39:37] 520
[22:39:38] 520
[22:39:39] 520
[22:39:40] 520
[22:39:41] 520
[22:39:42] 520
[22:39:43] 520
[22:39:44] 520
[22:39:45] 520
[22:39:46] 520
[22:39:47] 520
[22:39:48] 520
[22:39:49] 520
[22:39:50] 520
[22:39:51] 520
[22:39:52] 520
[22:39:53] 520
[22:39:53] 239
Alles anzeigen
mfg
Du versteht nicht Kaliber, ich fliege in einer Hydra mit der Geschwindigkeit 238/239. Dafür werde ich wegen Speedhack gesperrt, erlaubt für die Hydra sind aber 250!
...was ist denn der Fehler..ist doch alles richtig?
Mit der Hydra soll man maximal 250 fliegen können!
So möge man uns den neuen, bearbeiteten Code veröffentlichen, auf dass der Pöbel nicht mehr in der Jauche ungewisser Arbeit wühlen muss.
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520 && GetPlayerSpeed(playerid) >= 250)
{
printf("%d", GetPlayerSpeed(playerid));
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), GetPlayerSpeed(playerid));
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
[22:22:01] 520
[22:22:02] 520
[22:22:03] 520
[22:22:04] 520
[22:22:05] 520
[22:22:06] 520
[22:22:07] 520
[22:22:08] 520
[22:22:09] 520
[22:22:10] 520
[22:22:11] 520
[22:22:12] 520
[22:22:13] 520
[22:22:14] 520
[22:22:14] 238
Alles anzeigen
mfg
Mir fällt gerade ein das 240 nicht die modelid war, sondern die geprintet geschwindigkeit
Dennoch funktioniert es jetzt immer noch nicht!
mfg
Da fehlt ne schließende Klammer für's GetVehicleModel.
Es gibt ja keinen Error, es ist einfach nur Ingame falsch.
Dennoch hab ichs jetzt mal so geschrieben:
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 520 && GetPlayerSpeed(playerid) >= 250))
mfg
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal eure Hilfe!
Ich habe ein Anti-Speedhack geschríeben, leider stimmt da was nicht mit der Hydra!
printf("%d", GetVehicleModel(GetPlayerVehicleID(playerid)));
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 520) && GetPlayerSpeed(playerid) >= 250)
{
printf("%d", GetPlayerSpeed(playerid));
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `Bans` (`Datum`,`Uhrzeit`,`Benutzername`,`Grund`,`Verantwortlicher`,`active`) VALUES ('%e','%e','%e','Speedhack','Anti-Cheat System',1)",gDate(), gTime(), GetName(playerid));
mysql_pquery(dbhandle, query, "", "");
format(string, sizeof(string), "Ban: {FFFFFF}%s wurde vom Anti - Cheat gebannt. Grund: Speedhack (Geschwindigkeit: %d)", GetName(playerid), GetPlayerSpeed(playerid));
SendClientMessageToAll(Orange, string);
KickEx(playerid);
return 1;
}
Am ende sagt er mir in der Log das ich der Modelid 240 sitze, somit gilt die erlaubte geschwindigkeit 250 nicht mehr!
Log:
[22:03:50] 520
[22:03:51] 520
[22:03:52] 520
[22:03:53] 520
[22:03:54] 520
[22:03:55] 520
[22:03:56] 520
[22:03:57] 520
[22:03:58] 520
[22:04:00] 520
[22:04:01] 520
[22:04:02] 520
[22:04:03] 520
[22:04:04] 520
[22:04:05] 520
[22:04:05] 240
Alles anzeigen
mfg
Die maximal Geschwindigkeit bei deiner Berechnung, liegt bei 241
mfg.
Das habe ich auch gerade herausgefunden, wie hast du das herausgefunden?
Gerechnet oder Getestet ?
mfg
Kommt ganz auf deine Rechnung an...
Hier die Berechnung:
stock GetPlayerSpeed(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)GetVehicleVelocity(GetPlayerVehicleID(playerid), pPos[0], pPos[1], pPos[2]);
else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)GetPlayerVelocity(playerid, pPos[0], pPos[1], pPos[2]);
pPos[3] = floatsqroot(pPos[0] * pPos[0] + pPos[1] * pPos[1]);
return floatround(pPos[3] * 100 * 1.61);
}
Guten Tag,
Mein Name lautet CIBERKILLER.
Und zwar wollte ich fragen wie schnell maximal eine Hydra fliegen kann ?
mfg
Guten Tag,
Mein Name lautet CIBERKILLER.
Könnte mir jemand sagen, wie diese Animation heißt ? (Lib + Name)
EDIT://
Habs mit diesem Quellcode herausgefunden!
if(GetPlayerAnimationIndex(playerid))
{
new lib[32], nam[32];
GetAnimationName(GetPlayerAnimationIndex(playerid), lib, 32, nam, 32),
format(string, sizeof(string), "Du führst gerade die Animation %s in der lib %s aus!", nam, lib),
SendClientMessage(playerid, Weis, string);
}
Es war DEALER & DEALER_IDLE
mfg
Probier es doch aus in dem du dir das ausgibst, sollte jedoch schon der Fall sein ?
Anscheinend nicht, aber wenn ich GetPlayerAmmo(playerid)-1 rechne, dann komme ich auf das richtige ergebnis!
EDIT:// Das Anti-Munnitions Cheat funktioniert nun wie gewollt!
mfg
Ist ja nicht so als würde es dieses Callback auch geben
OnPlayerWeaponShot
Also ich habe das Callback mal getestet, Funktioniert einwandfrei!
Nur ist bis dahin schon GetPlayerAmmo aktuell ?
mfg