jedoch erstellt er sie jetzt nicht..
Kannst du den Code nochmal leserlich posten, und einen Screenshot der Daten aus der MySQL Tabelle "ATMs"?
jedoch erstellt er sie jetzt nicht..
Kannst du den Code nochmal leserlich posten, und einen Screenshot der Daten aus der MySQL Tabelle "ATMs"?
Existieren alle Ordner Pfade?
Der Server scheint hier beim Auflisten eines Pfades abzustürzen:
[02:03:15] [debug] #0 native dir_list () [b70e7b20] from filemanager.so
Schau mal wo das im Code verwendet wird beim Server Start und prüfe ob die Pfade dazu existieren.
Lade dir die aktuelle sscanf Version herunter:
https://github.com/maddinat0r/sscanf/releases
Entferne das
#if defined filterscript
Sowie das
#endif
Und die letzte geschweifte Klammer zu.
Ändere außerdem
main()
Zu
OnFilterScriptInit()
Es könnte sein, dass er, dadurch dass FrakName leer ist, den Dialog nicht anzeigt.
Ändere das bei den drei ShowPlayerDialog mal zu "Test" oder so.
Keys fragst du besser so ab:
if(newkeys & KEY_NO)
Falls das nichts ändert, prüfe ob du am richtigen Ort und in der richtigen Fraktion bist.
Dann hängt es eventuell an dieser Funktion:
IsAllowedFactionToBuyState
Vor ChangeVehicleColor:
new vehicleid = GetPlayerVehicleID(playerid);
Die Funktion kann nur für normale Labels genutzt werden, nicht für gestreamte.
Lösche stattdessen das Label und erstelle es mit CreateDynamic3DTextLabel neu. Über den Parameter attachedplayer kannst du es dann an den Spieler attachen.
Bekommst du irgend eine Meldung angezeigt im Chat oder Log?
Kannst du den Code hierzu mal posten?
An error has occured. (Error ID: 1054, Unknown column 'Archivments' in 'field list')
Diese Spalte (Archivments) existiert in deiner Tabelle nicht.
Edit:
@-Entire-Reallife-
Super! Gerne ![]()
Nutze die "price" Variable.
if(price < 50 || price > 125) return SendClientMessage(playerid, COLOR_GREY, "Nutze 50$ - 125$!");
CMD:heal(playerid, params[])
{
if(!IsLoggedIn(playerid))return 1;
new string[128], pID, price;
if(Spieler[playerid][pFraktion] == 3 && IsPlayerInAnyVehicle(playerid))
{
if(sscanf(params, "ud", pID, price))return SendClientMessage(playerid, COLOR_GREY, "Benutze /heal [SpielerID/Name] [Preis]");
new vehicleid = GetPlayerVehicleID(playerid);
new fV = IsAFraktionsVeh(vehicleid);
if(!(fVehicle[fV][vehFraktion] == Spieler[playerid][pFraktion]))return SendClientMessage(playerid, COLOR_GREY, "Zum heilen von anderen Spielern musst du in einem Fraktions-Fahrzeug sitzen.");
if(playerid == pID)return SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber heilen.");
if(GetPlayerVehicleID(pID) != GetPlayerVehicleID(playerid))return SendClientMessage(playerid, COLOR_GREY, "Nicht im selben Fahrzeug.");
SetPlayerHealth(pID, 125);
GiveMoney(pID, -price);
GiveMoney(playerid, price);
Frak[3][frakKasse] += price/2;
if(pMaske[pID] == 0){
format(string, sizeof(string), "* Sanitäter %s versorgt die Wunden von %s für $%d.", GetName(playerid), GetName(pID), price);
RoundMessage(playerid, COLOR_PURPLE, string, 20.0);
}else{
format(string, sizeof(string), "* Sanitäter %s versorgt die Wunden von Maskiertem %d für $%d.", GetName(playerid), pMaskeNumber[pID], price);
RoundMessage(playerid, COLOR_PURPLE, string, 20.0);
}
format(string, sizeof(string), "Sanitäter %s hat dich für $%d geheilt.", GetName(playerid), price);
SendClientMessage(pID, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "~y~du hast~n~~w~%s geheilt~n~~g~%d$", GetName(playerid), price);
GameTextForPlayer(playerid, string, 1200, 1);
return 1;
}
Möglicherweise wird der Code gar nicht aufgerufen, weil er zuvor in ein return läuft.
Das würde er hier ja nach dem GivePlayerWeapon auch.
Da müsste noch mehr über den eigentlichen Fehler stehen.
Falls nicht, schalte den Debug Modus mal mit allen Logs ein (siehe Link 1.4) und lasse den Log neu erzeugen.
@Jeffry komm ma TS von breadfish
Bin nicht am PC, sorry ![]()
Am besten du löschst den Log und lässt ihn nochmal neu erzeugen, indem du den Spieler nochmal speichern lässt.
Da wird wahrscheinlich Log angesammelt worden sein, aus mehreren Tagen oder Wochen.
Den dürftest du bei deiner MySQL Version direkt im Server Ordner finden, wo auch der Server Log ist.
Eventuell musst du das Logging erst einschalten: Tipps: Scripting-Probleme richtig erklären
Siehe Punkt 1.4.
if(stunde == 20)
zu:
if(stunde >= 20)
Da es 21:32 ist.
Möglicherweise ist das MySQL Query durch das neue Achievement zu lang geworden. Erhöhe den endstring mal um 100 Zeichen.
Gibt dir der MySQL Log etwas aus?