DestroyVehicle(vid);
weg machen.
Beiträge von Jeffry
-
-
-
Hast du es mit mysql_log versucht?
-
Deshalb sollst du das mit dem MySQL Debug Modus machen, damit wir sehen wo bzw. was der Fehler ist.
-
COMMAND:delfraktionscar(playerid,params[])
{
new vid;
if(!strlen(params))
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"Du bist in keinem Fahrzeug!");
vid = GetPlayerVehicleID(playerid);
}
else
{
vid = strval(params);
if(!GetVehicleModel(vid)) return SendClientMessage(playerid,-1,"Dieses Fahrzeug existiert nicht!");
}
if(fracVehicle[vid][e_modelID] == 0) return SendClientMessage(playerid,-1,"Das Fahrzeug ist kein Fraktionsfahrzeug!");
new query[256];
format(query, sizeof(query), "DELETE FROM FracVehicles WHERE ID = %d", vid);
mysql_tquery(handle, query);
DestroyVehicle(vid);
LoadFracVehicles();
SendClientMessage(playerid,-1,"Fraktionsfahrzeug entfernt!");
return 1;
}Dann geht es sowohl im Fahrzeug als auch mit Angabe der ID.
-
Schalte bitte mal den MySQL Debug Modus an und poste dann was im MySQL Log steht.
Wie du das machst steht hier: Tipps: Scripting-Probleme richtig erklären (Kapitel 1.4) -
Mit den File Functions fwrite und fread.
Siehe dieses Tutorial: http://wiki.sa-mp.com/wiki/File_Functions -
Eine Variable bzw genauer ein Array hat in PAWN immer eine feste Größe, das geht also nicht.
Was du aber machen kannst ist, die Werte die du speichern willst in eine temporäre Datei zu schreiben oder in einer Datenbank zu speichern, und danach über eine Schleife auszulesen.
-
Du musst den NPC im NPC Skript teleportieren.
http://wiki.sa-mp.com/wiki/NPC:SetMyPosOder du nutzt ein solches Plugin:
http://forum.sa-mp.com/showthread.php?t=428066 -
Naja, das aus 0 machst du ja hier:
SpielerInfo[playerid][pLevelpunkte] = 0;
Beim Level hoch.Was mich wundert, warum das Level einfach hoch ging, der Print aber nicht kam.
Schau da mal nach, ob du da nicht irgendwo anders das überschreibst, vielleicht dadurch, dass du einen string in ein Integer aus dem enum packst. -
Printe mal den Pfad, was kommt da raus?
Und poste bitte einen Screenshot der Daten in der Datenbank. -
Welches Ergebnis hast du denn bekommen, aus dem Print?
-
Komisch. Bist du sicher, dass du es nirgends überschreibst?
Ändere mal das zu
SpielerInfo[playerid][pLevelpunkte]++;Das dürfte aber nicht der Grund sein.
-
SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
Du hast eine Klammer vergessen. -
Das liegt wohl am Query, da scheint die Variable zu klein. Das Problem mit der ID 1 ist, dass du das nicht prüfst.
format(pfad,50,"SELECT `ID` FROM `Clans` WHERE `name`='%s'",cname);
zu:
format(pfad,sizeof(pfad),"SELECT `ID` FROM `Clans` WHERE `name`='%s' OR `ID` = '%d'",cname,clan);Wiederum sei auch hier gesagt, dass das nicht wirklich performant ist.
-
Debugge es dann bitte so:
public PayDay(playerid)
{
SendClientMessage(playerid,info,"|____________Zahltag___________|");
GivePlayerMoney(playerid,2000);
SendClientMessage(playerid,hinweis,"Du hast 45 Minuten gespielt und bekommst nun dein Gehalt!");
SpielerInfo[playerid][pLevelpunkte] += 1;
SpielerInfo[playerid][pPayday] = 0;
printf("playerid: %d | pLevelPunkte: %d | Required: %d", playerid, SpielerInfo[playerid][pLevelpunkte], RequiredPoints(playerid));
if(SpielerInfo[playerid][pLevelpunkte] == RequiredPoints(playerid))//Hier
{
printf("Level hoch");
GivePlayerScore(playerid,1);
SpielerInfo[playerid][pLevelpunkte] = 0;
SpielerInfo[playerid][pLevel] ++;
SendClientMessage(playerid,erfolg,"Herzlichen Glückwunsch, du bist ein Level gestiegen!");
}
return 1;
}Was wird geprintet, wenn du ein paar PayDays durchlaufen lässt?
-
Kannst du den Code mit dem Fehler bitte posten?
-
Willkommen auf Breadfish!
Schalte bitte mal den MySQL Debug Modus an und poste was im Log steht, wenn du dich registrierst, dir das Level setzt, dich ausloggst und danach wieder einloggst.
Wie du das machst siehst du hier: Tipps: Scripting-Probleme richtig erklären (Kapitel 1.4)
-
Bekommst du denn das Geld und die Nachricht?
-
Die Reihenfolge aus dem SELECT.