Spontan fällt mir da nur das hier ein:
Global Custom Skins - automatische Skin/Vehikle/Objekte Model Download & Integration
In Verbindung mit dem hier gegebenenfalls:
http://forum.sa-mp.com/showthread.php?t=286609
Spontan fällt mir da nur das hier ein:
Global Custom Skins - automatische Skin/Vehikle/Objekte Model Download & Integration
In Verbindung mit dem hier gegebenenfalls:
http://forum.sa-mp.com/showthread.php?t=286609
Wäre es nicht eine Möglichkeit, dass beide denn /sup nutzen können? Das dürfte doch einfacher sein.
Füge da einfach zu dem annehmen Code das hier hinzu:
DeinSupport[playerid] = pID;
TicketAngenommen[playerid] = 1;
Dann können beide mit /sup schreiben.
Sonst müsstest du eine weitere Variable anlegen, die dann zum Beispiel "DeineAnnahme" heißt, und es dann gleich wie bei /sup machen, nur mit "DeineAnnahme".
Also das /sup ist für den Spieler, der das Ticket gestellt hat? Und /asup soll dann für den Admin sein, um mit dem Ticketstarter zu schreiben?
So?
Wenn ja, poste bitte den Code, wie der Admin das Ticket annimmt.
Du machst einen Timer, der jede Minute aufgerufen wird. Dort machst du eine Schleife durch alle Spieler und prüfst, ob die Position noch der alten Position entspricht (in einer Variable gespeichert). Wenn ja, dann zählst du eine Variable um 1 hoch und wenn diese 10 ist, dann kickst du den Spieler.
Nach der Positionsprüfung schreibst du die aktuelle Position wieder in die Variable mit der alten Position.
Ich bin davon ausgegangen, dass du die Änderungen übernommen hast.
Dann so:
stock SpritArt(auto_model)
{
new art[16] = "Unknown";
if(auto_model >= 400 && auto_model <= 611)
{
switch(sprit[auto_model-400])
{
case 0: art = "Diesel";
case 1: art = "Benzin";
case 2: art = "Lkw Diesel";
case 3: art = "Elektro";
case 4: art = "Kerosin";
case 5: art = "Gas";
case 6: art = "None";
}
}
return art;
}
Versuche es so.
Wenn es nicht geht, poste was im Server Log steht, wenn du den Befehl eingibst.
COMMAND:sup(playerid,params[])
{
printf("params: %s", params);
printf("TicketAngenommen: %d | pID: %d", TicketAngenommen[playerid], DeinSupport[playerid]);
new string[145], pID = DeinSupport[playerid], name[MAX_PLAYER_NAME];
if(!params[0]) return SendClientMessage(playerid, COLOR_GREY,"* Benutzung: /sup [Nachricht]");
if(TicketAngenommen[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY,"Du bist in keinem aktivem Report!");
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string),"--> %s", params);
print(string);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "%s schrieb: %s", name, params);
print(string);
SendClientMessage(pID, COLOR_YELLOW, string);
return 1;
}
Du sendest ein Query ohne Content, also ein leeres Query. Wahrscheinlich nutzt du mysql_query vor format.
[18:23:40] [ERROR] CMySQLQuery::Execute[()] - (error #1060) Duplicate column name 'Friedhof'
[18:23:40] [ERROR] CMySQLQuery::Execute[()] - (error #1060) Duplicate column name 'pMarried'
[18:23:40] [ERROR] CMySQLQuery::Execute[()] - (error #1060) Duplicate column name 'pArchs0'
Diese Felder existieren im Query doppelt.
Feld existiert in der Tabelle nicht.
[18:24:30] [ERROR] CMySQLQuery::Execute[()] - (error #1136) Column count doesn't match value count at row 1
Im INSERT hast du mehr/weniger Spaltennamen als Werte (VALUES).
[18:24:58] [ERROR] mysql_escape_string - destination size is too small (must be at least as big as source)
Beim escapen muss die Zielvariable gleich groß oder größer als die Quellvariable sein.
[18:24:58] [ERROR] CMySQLQuery::Execute[()] - (error #1452) Cannot add or update a child row: a foreign key constraint fails (`german-midnight`.`gm_account_blacklist`, CONSTRAINT `gm_account_blacklist_ibfk_1` FOREIGN KEY (`id`) REFERENCES `gm_account_main` (`id`) ON DELETE CASCADE)
https://kittblog.com/article/1…constraint-fails-umgehen/
[18:28:53] [ERROR] CMySQLQuery::Execute[()] - (error #1146) Table 'german-midnight.onlines' doesn't exist
Diese Tabelle existiert nicht.
Feld existiert in der Tabelle nicht.
Versuche erst mal selbst, wie viele der Fehler du selbst beheben kannst.
Oops ![]()
if(auto_model >= 400 && auto_model <= 611)
Dann geht's.
Die Lösung ist die Reihenfolge der Plugins in der server.cfg zu ändern. Was genau ist denn dein Problem?
Wie lässt man am besten einen Vehicle Teleporter detecten?
Der steht doch in Post #2 bereits.
Ein string für SendClientMessage der mehr als 145 Zeichen hat ist nicht notwendig, da SendClientMessage nicht mehr anzeigen kann.
if(sscanf(params,"uis",pID,time,reason))
zu:
if(sscanf(params,"uis[64]",pID,time,reason))
Das wäre für den ersten Fehler.
Bei welchem Code kommt der zweite Fehler?
PS: Lasse bitte diese Vollzitate, die machen keinen Sinn.
stock SpritArt(auto_model)
{
new art[16] = "Unknown";
if(auto_model >= 400 && auto_model <= 611)
{
switch(sprit[auto_model-400])
{
case 0: art = "Diesel";
case 1: art = "Benzin";
case 2: art = "Lkw Diesel";
case 3: art = "Elektro";
case 4: art = "Gas";
case 5: art = "None";
}
}
return art;
}
Oder wie es Mencent vorgeschlagen hat, aber das ist nicht ganz so schön, weil man das irgendwann vergisst.
Am stock dini_BoolSet muss man nichts ändern in der dini.inc.
Müssen nicht, aber es wäre sinnvoll das zu ändern, dann kannst du nämlich
pInfo[playerid][pLeader] = dini_Bool(spName,"Leader");
nutzen, ohne den Cast. ![]()
Wie hast du diese Sprit-Konstanten denn nummeriert?