/Prison Fehler

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

  • if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [Spieler ID / Name] [Zeit in Minuten] [Grund]");
    return 1;
    }
    new playa;
    new money;
    new grund;
    new SpielerName;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    money = strval(tmp);
    grund = strval(tmp);
    if(playa == playerid)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst nicht dich selber einsperren!");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playa][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen höherrangigen Admin einsperren!");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s eingesperrt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "* Du wurdest von Admin %s in den Knast gesteckt.", sendername);
    SendClientMessage(playa, COLOR_LIGHTRED, string);
    ResetPlayerWeapons(playa);
    WantedPoints[playa] = 0;
    new all[250];
    format(all,sizeof(all),"%s wurde vom Admin %s für %d Minuten eingesperrt ! Grund : %s",SpielerName(playa),SpielerName(playerid),money*60,grund); //26930
    SendClientMessageToAll(COLOR_RED,all);
    PlayerInfo[playa][pJailed] = 1;
    PlayerInfo[playa][pJailTime] = money*60;
    SetPlayerInterior(playa, 3);
    SetPlayerPos(playa, 197.8290,161.8141,1003.0300);
    format(string, sizeof(string), "Du wurdest für %d Minuten eingesperrt. Kaution: Nein", money);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    return 1;
    }




    C:\Users\-\Desktop\GTA Scripts\Effected Reallife\gamemodes\ER.pwn(26930) : error 012: invalid function call, not a valid address
    C:\Users\-\Desktop\GTA Scripts\Effected Reallife\gamemodes\ER.pwn(26930) : warning 215: expression has no effect
    C:\Users\-\Desktop\GTA Scripts\Effected Reallife\gamemodes\ER.pwn(26930) : error 001: expected token: ";", but found ")"
    C:\Users\-\Desktop\GTA Scripts\Effected Reallife\gamemodes\ER.pwn(26930) : error 029: invalid expression, assumed zero
    C:\Users\-\Desktop\GTA Scripts\Effected Reallife\gamemodes\ER.pwn(26930) : fatal error 107: too many error messages on one line

  • Versuche das mal so, weil ich denke der Fehler liegt bei SpielerName().

    C
    format(all,sizeof(all),"%s wurde vom Admin %s für %d Minuten eingesperrt ! Grund : %s",giveplayer,sendername,money*60,grund);

    - EDIT:
    Oh, übersehen. Mache das, wie @Kaliber es sagte, oder nutze meine Möglichkeit (geht beides; aber new SpielerName; musst du trotzdem löschen)

    Einmal editiert, zuletzt von AirM4X ()

  • Es liegt daran, dass er am Anfang eine Variable new SpielerName; nennt....


    Es allerdings eine Funktion mit diesem Namen bereits gibt..also ändere den Variablen Namen (bzw lösch diese) und nutze die Funktion ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Funktioniert! andere frage wen ich jetzt 120min den einsperre steht für alle aufeinmal 7200 Minuten?!





    if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [Spieler ID / Name] [Zeit in Minuten] [Grund]");
    return 1;
    }
    new playa;
    new money;
    new grund[124];
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    money = strval(tmp);
    grund[124] = strval(tmp);
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playa][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen höherrangigen Admin einsperren!");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s eingesperrt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "* Du wurdest von Admin %s in den Knast gesteckt.", sendername);
    SendClientMessage(playa, COLOR_LIGHTRED, string);
    ResetPlayerWeapons(playa);
    WantedPoints[playa] = 0;
    new all[250];
    format(all,sizeof(all),"%s wurde von %s für %d Minuten zum Prison teleportiert. Grund : %s",giveplayer,sendername,money*60,grund);
    SendClientMessageToAll(COLOR_RED,all);
    PlayerInfo[playa][pJailed] = 1;
    PlayerInfo[playa][pJailTime] = money*60;
    SetPlayerInterior(playa, 3);
    SetPlayerPos(playa, 197.8290,161.8141,1003.0300);
    format(string, sizeof(string), "Du wurdest für %d Minuten eingesperrt. Kaution: Nein", money);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    return 1;
    }

  • Hier sind die Fehler:



    [list=1][*]PlayerInfo[playa][pJailTime] = money*60; <--- sowie hier Money definiert.
    [*]SetPlayerInterior(playa, 3);
    [*]SetPlayerPos(playa, 197.8290,161.8141,1003.0300);
    [*]format(string, sizeof(string), "Du wurdest für %d Minuten eingesperrt. Kaution: Nein", money); <--- du hast da Money difiniert
    [/list]


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents