Zeig mal wie du das Objekt erstellt
mfg ![]()
Zeig mal wie du das Objekt erstellt
mfg ![]()
if(LSPDTuer2 == 0)
{
MoveObject (LSPDinnen2,245.46582, 72.40785, 1002.59192,3);
LSPDTuer2 = 1;
}
else if(LSPDTuer2 == 1)
{
MoveObject (LSPDinnen2,245.46582, 70.40785, 1002.59192,3);
LSPDTuer2 = 0;
}
Hier veränderst du die Position ja garnicht ![]()
MoveObject (LSPDinnen2,245.46582, 70.40785, 1002.59192,3);
MoveObject (LSPDinnen2,245.46582, 72.40785, 1002.59192,3);
mfg ![]()
Ich habe das ganze nun mal so geschrieben.
SpielerInfo[userid][sTimeBan] = gettime() + (60*value);
if((gettime()<SpielerInfo[playerid][sTimeBan] && SpielerInfo[playerid][sTimeBan] != 0))
{
new days,hours,mins,wartezeit = SpielerInfo[playerid][sTimeBan],restzeit= wartezeit -gettime();
days = floatround(restzeit / 86400,floatround_floor),
hours = restzeit - (days * 86400),
hours = floatround(hours / 3600,floatround_floor),
mins = restzeit - ( (days * 86400) + (hours * 3600) ),
mins = floatround(mins / 60,floatround_floor);
format(string, sizeof(string), "Timeban: {FFFFFF}Du bist noch für %i Tage %i Stunden und %i Minuten gesperrt!", days, hours, mins),
SendClientMessage(playerid, Orange, string), KickEx(playerid);
return 1;
}
SpielerInfo[playerid][sTimeBan] = 0;
Dies klappt ganz gut.
Auserdem habe ich nun das Prinzip des "Systems" verstanden.
So später es wird, so größer wird der Timestamp in gettime().
Das heißt also wenn ich das ganze mal 60 nehme, und wenn dann nach jedem login abgefragt wird ob der aktuell timestamp größer als der alte, dann ist der spieler noch gesperrt!
mfg ![]()
Du musst aber dann auch die Textsize anpassen.
Sonst kann es passieren wenn du auf TextA klickst dass dann TextB ausgewählt wird.
mfg ![]()
format(query,sizeof(query),"SELECT * FROM spieler WHERE Username = '$s'", Name);
zu
format(query,sizeof(query),"SELECT * FROM spieler WHERE Username = '%s'", Name);
mfg ![]()
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar hätte ich da mal eine Frage.
Ich möchte einen Timeban in mein Skript hinzufügen & frage mich dann immer.
Wie genau soll das ganze Funktionieren.
SpielerInfo[playerid][sTimeBan] = gettime() * 60;
Ich hatte an sowas hier gedacht, aber wie läuft das ding automatisch ab.
Läuft es noch automatisch ab wenn der Server sich kurz neustartet.
Wie kann ich bei einloggen so eine nachricht übergeben lassen, (du bist noch für %i Tage | %i Stunden | %i Minuten | %i Sekunden gebannt)
Und da hätte ich an sowas gedacht.
days = floatround(restzeit / 86400,floatround_floor);
hours = restzeit - (days * 86400);
hours = floatround(hours / 3600,floatround_floor);
mins = restzeit - ( (days * 86400) + (hours * 3600) );
mins = floatround(mins / 60,floatround_floor);
Aber sicher bin ich mir nicht!
mfg ![]()
Was verstehst du denn dadran nicht?
Naja wie man herausfinden kann wo das 1. Zeichen von der Zensur oder von dem 2ten.
z.B "Spacko"
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 ![]()