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
  • Immer wenn ich das:
    if(!strcmp(strget(cmdtext,0),"/goto"))
    {
    if(Spieler[playerid][Admin] >= 2)
    {
    if(!strlen(strget(cmdtext,1)))
    return
    SendClientMessage(playerid,Rot,"Benutze: /goto [ID]");
    new string[128];
    new spieler[MAX_PLAYER_NAME];
    new admin[MAX_PLAYER_NAME];
    new id = strval(strget(cmdtext,1));
    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(id,spieler,sizeof(spieler));
    format(string, sizeof(string), "%s hat sich zu dir geportet!", admin);
    SendClientMessage(id, Gelb, string);
    format(string, sizeof(string), "Du hast dich zu %s geportet!",spieler);
    SendClientMessage(playerid, Gelb, string);
    new Float:sx1,Float:sy1,Float:sz1;
    new Float:sa1;
    GetPlayerPos(id, sx1, sy1, sz1);
    GetPlayerFacingAngle(id, sa1);
    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehiclePos(playerid, sx1, sy1, sz1);
    SetVehicleZAngle(playerid, sa1);
    }
    else
    {
    SetPlayerPos(playerid, sx1, sy1, sz1);
    SetPlayerFacingAngle(playerid, sa1);
    }
    } else {
    SendClientMessage(playerid, Rot, "Du bist kein Admin/Supporter !");
    }
    }
    if(!strcmp(strget(cmdtext,0),"/get"))
    {
    if(Spieler[playerid][Admin] >= 2)
    {
    if(!strlen(strget(cmdtext,1)))
    return
    SendClientMessage(playerid,Rot,"Benutze: /get [ID]");
    new string[128];
    new spieler[MAX_PLAYER_NAME];
    new admin[MAX_PLAYER_NAME];
    new id = strval(strget(cmdtext,1));
    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(id,spieler,sizeof(spieler));
    format(string, sizeof(string), "%s hat dich zu sich geportet!", admin);
    SendClientMessage(id, Gelb, string);
    format(string, sizeof(string), "Du hast %s zu dir geportet!",spieler);
    SendClientMessage(playerid, Gelb, string);
    new Float:sx1,Float:sy1,Float:sz1;
    new Float:sa1;
    GetPlayerPos(playerid, sx1, sy1, sz1);
    GetPlayerFacingAngle(playerid, sa1);
    if(IsPlayerInAnyVehicle(id))
    {
    SetVehiclePos(id, sx1, sy1, sz1);
    SetVehicleZAngle(id, sa1);
    }
    else
    {
    SetPlayerPos(id, sx1, sy1, sz1);
    SetPlayerFacingAngle(id, sa1);
    }
    } else {
    SendClientMessage(playerid, Rot, "Du bist kein Admin/Supporter !");
    }
    }


    Einfüge stürzt Pawno ab wenn ich F5 drücke :(

  • ocmd:goto(playerid,params[])
    {
    if(Spieler[playerid][Admin] >= 2)
    {
    return SendClientMessage(playerid,ROT,"Sie sind nicht befugt diesen Befehl zu benutzen!");
    }
    if(!strlen(params))
    {
    return SendClientMessage(playerid,WEISS,"Benutze: /goto [playerid]");
    }
    new playerID =strval(params);
    if(!IsPlayerConnected(playerID))
    {
    return SendClientMessage(playerid,ROT,"Dieser Spieler ist zurzeit nicht online.");
    }
    new Float:sx,Float:sy,Float:sz;
    GetPlayerPos(playerID,sx,sy,sz);
    SetPlayerPos(playerid,sx,sy,sz);
    new text[128];
    new player[MAX_PLAYER_NAME];
    GetPlayerName(playerid,player,sizeof(player));
    format(text,sizeof(text),"Der Admin %s (ID:%d) hab sich erfolgreich zu dir teleportiert.",player,playerid);
    SendClientMessage(playerID,ROT,text);
    return 1;
    }
    ocmd:gethere(playerid,params[]) //dcmd commands start admin commands
    {
    if(Spieler[playerid][Admin] >= 2)
    {
    SendClientMessage(playerid,ROT,"Sie sind nicht befugt diesen Befehl zu benutzen!");
    }
    if(!strlen(params))
    {
    return SendClientMessage(playerid,WEISS,"Benutze: /gethere [playerid]");
    }
    new playerID =strval(params);
    if(!IsPlayerConnected(playerID))
    {
    return SendClientMessage(playerid,ROT,"Dieser Spieler ist zurzeit nicht online.");
    }
    new Float:sx,Float:sy,Float:sz;
    GetPlayerPos(playerid,sx,sy,sz);
    SetPlayerPos(playerID,sx,sy,sz);
    new text[128];
    new player[MAX_PLAYER_NAME];
    GetPlayerName(playerid,player,sizeof(player));
    format(text,sizeof(text),"Der Admin %s (ID:%d) hat dich erfolgreich zu ihm teleportiert.",player,playerid);
    SendClientMessage(playerID,ROT,text);
    return 1;
    }

  • Wie er den CMD jetzt macht ist doch eig egal wenn er damit klar kommt?! Diese Kommentare wie nutze doch ocmd, zcmd usw helfen ihn nicht bei sein Problem...


    zum Problem.. ich hätte jetzt auf nen Klammerfehler getippt.. aber ich finde da grad keinen.. existiert bei dir die Funktion "strget"?



    Noch was anderes.. mir fällt auf, dass du am ende nicht returnst. solltest du ändern...

  • Noch was anderes.. mir fällt auf, dass du am ende nicht returnst. solltest du ändern...


    Und genau das ist das Problem wieso Pawno Abstürzt.


    Ich kann es genau Sagen,weil ich das Problem auch mal hatte.;)
    Füge das return mal ein,ich bin mir sicher das es dann wieder Klappt.


    Lebe dein Leben so wie du bist und nicht wie du sein sollst. Nur dann ist dein Leben lebenswert.
    Ich bin wie ich bin. Die einen kennen mich, die anderen können mich!!!


  • bitte sollte Funktionieren du musst es nur noch anpassen.



    ocmd:goto(playerid,params[])
    {
    new pID,Float:XX,Float:YY,Float:ZZ;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /goto [spielerid/teildesnamens]");
    if (PlayerInfo[playerid][pAdmin] > 3 || IsPlayerAdmin(playerid)){
    GetPlayerPos(pID,XX,YY,ZZ);
    SetPlayerPos(playerid,XX,YY,ZZ);
    return 1;
    }
    return 1;
    }
    ocmd:gethere(playerid,params[])
    {
    new pID,Float:XX,Float:YY,Float:ZZ;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /goto [spielerid/teildesnamens]");
    if (PlayerInfo[playerid][pAdmin] > 3 || IsPlayerAdmin(playerid)){
    GetPlayerPos(playerid,XX,YY,ZZ);
    SetPlayerPos(pID,XX,YY,ZZ);
    return 1;
    }
    return 1;
    }

  • Und genau das ist das Problem wieso Pawno Abstürzt.
    Ich kann es genau Sagen,weil ich das Problem auch mal hatte.;)

    Dann kann ich dir genau sagen, dass du ein anderes Problem hattest, da an einem fehlendem Return der Compiler nicht abstürtzt. Muss was tiefsinnigeres sein, entweder wird die Matrix des Scriptes an der Stelle so demoliert, dass der darauffolgende Code für den Compiler keinen Sinn mehr ergibt, oder es sind einfach zu viele Fehler, wenn es zu viele sind, crasht Pawno einfach, anstatt dir Millionen Zeilen anzuzeigen.


    Der Fehler hier ist schon in der 6. und der 41. Zeile sichtbar, ein Return ohne Wert dahinter und ohne Semikolon. Ja, solche unvollständigen Returns können gern mal crashen lassen, wenn sie aber ganz fehlen, ist das nicht schlimm. Ist am Ende einer Funktion kein Return, es ist aber eins weiter innen in der Funktion, dann wird lediglich ein Fehler angezeigt.