Pawno stürzt ab.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi Leute, ich bin noch sehr unerfahren in Pawno deswegen bitte nicht so hart rannehmen wenn ich was nicht verstehe ;)


    Also folgendes Problem:
    Ich habe einen Befehl gescriptet, aber wenn ich compilen will dann stürzt Pawno ab, woran könnte es liegen?



    if(strcmp(cmd, "/kaufescheine", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPlayerMoney(playerid) < 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast nicht genug Geld !");
    return 1;
    }
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /kaufescheine [Schein]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbar: Flying, Sailing, Fishing, Weapon, Motorrad, LKW, Perso.");
    return 1;
    }
    if (strcmp(x_nr,"Flying", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen Flugschein.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pFlyLic] = 1;
    return 1;
    }
    }
    else if (strcmp(x_nr,"Sailing", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen Bootsschein.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pBoatLic] = 1;
    return 1;
    }
    }
    else if (strcmp(x_nr,"Fishing", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen Angelschein.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pFishLic] = 1;
    return 1;
    }
    }
    else if (strcmp(x_nr,"Weapon", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen Waffenschein.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pGunLic] = 1;
    return 1;
    }
    }
    else if (strcmp(x_nr,"Motorrad", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen Motorradschein.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pMotoLic] = 1;
    return 1;
    }
    }
    else if (strcmp(x_nr,"LKW", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen LKW-Schein.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pLKWLic] = 1;
    return 1;
    }
    }
    else if (strcmp(x_nr,"Perso", true) == 0)
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /Kaufescheine [Schein]");
    return 1;
    }
    if(IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "* Du kaufst einen Personalausweis.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, - 1000);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerInfo[giveplayerid][pOwnPerso] = 1;
    return 1;
    }
    }
    if(GetPlayerMoney(playerid) < 1000)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast zuwenig Geld dabei!");
    return 1;
    }
    }

  • Zähl mal die Anzahl von geschweiften Klammern - da hast du ein klares Defizit. Schau dir mal die Zeilen 18, 36 54, 72, 90, 108 und 126 an. Da hast du die falsche Klammer verwendet (statt >>{<<, >>}<<). Sollte den Crash erklären.

  • Hat funktioniert Danke :)


    Aber dafür springen mir jetzt 26 Errors entgegen, wo mehr als die hälfte davon nichts mit dem Zutun hat. Woran kann es liegen?


  • : error 017: undefined symbol "SetCodeArray"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(386) : error 017: undefined symbol "IsAnAdmin"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(4341) : error 017: undefined symbol "IsPlayerInFrac"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(5359) : error 017: undefined symbol "SetCodeArray"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(5775) : error 004: function "OnPlayerCarUpdate" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(6211) : error 004: function "RemoveRoadblock" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(6246) : error 004: function "MoveObjektRot" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(6259) : error 004: function "MoveObjektRot" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(6265) : error 004: function "MoveObjektRot" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(6349) : error 017: undefined symbol "SetPlayerToKnast"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(6825) : error 004: function "ClearBlack" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(7065) : error 004: function "GetPlayerMafia" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(7945) : error 004: function "GetDistanceToClosestInside" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(7953) : error 017: undefined symbol "GetClosestInsideID"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(7965) : error 004: function "GetDistanceToClosestOutside" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(7967) : error 017: undefined symbol "GetClosestOutsideID"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8590) : error 017: undefined symbol "BuyUhr"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8591) : error 017: undefined symbol "BuyUhr"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8592) : error 017: undefined symbol "BuyUhr"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8593) : error 017: undefined symbol "BuyUhr"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8594) : error 017: undefined symbol "BuyUhr"
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8648) : error 004: function "OnPlayerFailedPruefung" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8657) : error 004: function "OnPlayerFailedPruefung" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8666) : error 004: function "OnPlayerFailedPruefung" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8675) : error 004: function "OnPlayerFailedPruefung" is not implemented
    C:\Users\Michael\Desktop\Ordner\SAMP Script\samp03csvr_R2-2_win32\gamemodes\SoL.pwn(8886) : error 004: function "ProxDetector" is not implemented


    Sind alle Errors, haben aber kaum was mit dem zutun was ich gescriptet hab.

  • Dann zieh doch mal dein ganzen Gamemode in "Notepad++" und zähle { sowie }.
    Wenn diese unterschiedlich sind, gehst du public für Public mit der gleichen Methode durch, dann solltest ihn schnell finden können.

  • Dann wird's lustig, da Du wahrscheinlich Dein Script nicht unter Versionskontrolle gestellt hast. Poste oder finde zumindest alle von Dir zuletzt getätigten Änderungen. Da führt kein Weg dran vorbei.


    Und nutz in Zukunft sowas wie Git. Dann siehst Du was Du zuletzt geändert hast oder was Du vor Jahren mal an einer Stelle im Code geändert hast und warum Du etwas hinzugefügt hast.
    Beispiel:



    Dann sind sowas wie Klammerfehler Geschichte. Ich öffne diese Ansicht, checke kurz wo ich was entfernt (rot) oder hinzugefügt (grün) habe und gucke mir an wo ich da evtl. einen Fehler gemacht hab.