Nein, du kannst es wie jede andere Funktion mehrmals verwenden. Der Fehler liegt woanders.
Beiträge von Jeffry
-
-
Sollte diese Meldung (viele Zahlen) nicht von dir gewollt sein (-d3 in pawn.cfg) dann füge unter den Includes noch das hier ein:
#pragma dynamic 100000
Erhöhe die Zahl gegebenefalls, falls die Meldung nicht weg geht. -
Mach ein return 1 nach dem ShowPlayerDialog hin, dann kommt die Nachricht nicht mehr.
-
-
Ihm scheint deine Einrückung nicht zu gefallen.
Den params Parameter kannst du bei ocmd weg lassen.ocmd:gmx(playerid)
{
if(PlayerInfo[playerid][pAdmin] == 7 || PlayerInfo[playerid][pAdmin] == 8)
{
SaveStuff();
Fight_Close();
SaveWars();
TextDrawShowForAll(GMXCOME);
TextDrawShowForAll(GMXCOME1);
SetTimer("GMXCOME5",10000,0);
}
return 1;
}Vom Vorschlag von Kaliber rate ich dir ab, da man darauf achten sollte, pro Zeile genau eine Anweisung zu schreiben, und nicht mehrere.
-
Du musst zuvor GetActorHealth nutzen, außerdem musst du abfragen, welcher Actor den Damage bekommen hat.
Erst dann kannst du, falls so gewollt, den amount abziehen.public OnPlayerGiveDamageActor(playerid, damaged_actorid, Float: amount, weaponid, bodypart)
{
new string[128], attacker[MAX_PLAYER_NAME], Float:health;
new weaponname[24];
GetPlayerName(playerid, attacker, sizeof (attacker));
GetWeaponName(weaponid, weaponname, sizeof (weaponname));
if(damaged_actorid == RezepLady)
{
format(string, sizeof(string), "%s has made %.0f damage to actor id %d, weapon: %s", attacker, -amount, RezepLady, weaponname);
SendClientMessageToAll(0xFFFFFFFF, string);
GetActorHealth(RezepLady, health);
SetActorHealth(RezepLady, health-amount);
}
return 1;
} -
Wenn es im leeren Filterscript geht, dann hast du in deinem anderen Code etwas falsch gemacht. Vergleiche beide Varianten mal und suche gegebenenfalls nach CallRemoteFunction, wo das überall steht, wo es im leeren Filterscript nicht steht.
Nicht, dass du es irgendwo nochmals definiert hast. -
Da musst du eine gesonderte Datei anlegen, in der sich alle Usernamen mit Level befinden. Alternativ kannst du mit dem FileManager Plugin durch alle Dateien loopen, aber das ist aus Performancegründen nicht so sonderlich gut.
Beste Möglichkeit wäre hier natürlich MySQL, da geht es ohne große Umstände.
-
Das kannst du gleich wie das Geld etc speichern.
Abfragen wie lange man noch gesperrt ist kann man so:
new str[128];
new h = SperreBis[playerid] / 3600;
new m = (SperreBis[playerid] - h*3600) / 60;
format(str, sizeof(str), "Du bist noch für %d:%d gesperrt.", h, m);
SendClientMessage(playerid, 0xFFFFFFFF, str); -
RemoveSpecialCharacter(text[])
{
print(text);
for (new i = 0; i < strlen(text); i++)
{
switch(text[i])
{
case '/', '?', '>':
{
strdel(text, i, i+1);
i--;
}
}
}
print(text);
return strlen(text);
}Zum Case kannst du dann alle Zeichen hinzufügen, die entfernt werden sollen.
@xCurry: Versuche es in einem leeren Filterscript, das sollte schon gehen.
-
plugins crashdetect.so streamer.so mysql.so sscanf.so FCNPC.so socket.so
-
Dateien oder MySQL?
-
SperreBis[playerid] = gettime() + 60*60*24; //24 Stunden
if(SperreBis[playerid] > gettime()) return SendClientMessage(playerid, 0xFF0000FF, "Error: Gesperrt.");
-
Zitat
CrashDetect must be loaded before 'streamer.so'
Ändere die Reihenfolge in deiner server.cfg.
-
Nutze diesen Streamer: http://forum.sa-mp.com/showthread.php?t=102865
-
@xCurry:
=false
muss aus dem public/forward raus.@Jorska:
Mit einem Timer http://wiki.sa-mp.com/wiki/SetTimer und einer Schleife durch alle Spieler. -
,PlayerText3D:UserText3D;
zu:
,PlayerText3D:UserText3D[MAX_PLAYERS]; -
Poste bitte mehr Code um das
,PlayerText3D:UserText3D;
herum. -
An die Parameter von publuc und forward müssen die Tags wie Float/bool hin, wie du es beim stock auch hast.
Nur bei dem Aufruf nach dem return brauchst du sie nicht. -
Die Parameter müssen im forward/public auch angegeben werden und mit CallRemoteFunction übergeben werden.
Außerdem:
return CreateVehicleEx(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, bool:reset=false);
zu:
return CreateVehicleEx(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, reset);