/knast

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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


    ich habe mal eine Frage


    ich habe jetzt in adm sys von mir /knast und /unknast gemacht alles schön und gut nur wenn man drine ist kann man sich weg porten kann mir einer sagen wie man das so macht
    das man sich nicht mehr porten kann ?


  • // Variablen: Du definierst zB new bool:InKnast[MAX_PLAYERS];


    // Im Command auf 1 / true setzen
    InKnast[playerid] = true;



    // Bei den Anderen Ports eine Abfrage ( zB )
    if(!Knast[playerid])
    { }
    else { }



    // Natürlich bei OnPlayerDisconect wieder auf "fasle" / 0 setzen

  • Was gabs daran jez nicht zu verstehen?




    //oben
    new IstKnast[MAX_PLAYERS];
    //onplayerconnect und disconnect sowie bei unknast
    IstKnast[playerid] = 0;
    //in den knast cmd
    IstKnast[playerid] = 1;
    //in teleport cmd
    if(CMD "/dm")
    {
    if(IstKnast[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR,"Du kannst dich jetzt nicht weg teleportieren!");
    return 1;
    }
    //rest des cmd

  • ne da ist das nicht drine und hier ist mal das /knast und /unknast (nur der command)


    if(strcmp(cmd, "/knast", true) == 0)
    {
    if (AccountInfo[playerid][AdminLevel] >= 2)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, grün, "Nutze: /knast [playername/id] [Grund]");
    SendClientMessage(playerid, grün, "Damit geht der User in knast !!");
    return 1;
    }
    new targetid = ReturnUser(tmp);
    if(IsPlayerConnected(targetid))
    {
    if(targetid != INVALID_PLAYER_ID)
    {
    if(AccountInfo[giveplayerid][Jail] == 0)
    {
    GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new reason[128];
    reason = strtok(cmdtext, idx);
    if(!strlen(reason)) return SendClientMessage(playerid, rot, "Nutze: /knast [playername/id] [Grund]");
    format(string, sizeof(string), "Du bist jetzt in knast ! by Admin %s. Grund: %s", sendername, reason);
    SendClientMessage(targetid, ADMIN_rot, string);
    format(string, sizeof(string), "-| Administrator %s Bring in knast %s. [ Grund: %s ] |-",sendername,giveplayername, reason);
    SendClientMessageToAll(ADMIN_rot,string);
    AccountInfo[targetid][Jail] = 1;
    OnPlayerJailed(targetid);
    return 1;
    }
    else SendClientMessage(playerid, rot, "Der Player ist schon in knast!");
    }
    else
    {
    format(string, sizeof(string), "%d ist nicht on .", targetid);
    SendClientMessage(playerid, rot, string);
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist nicht on.", targetid);
    SendClientMessage(playerid, rot, string);
    }
    }
    else SendClientMessage(playerid, rot, "Du bist kein admin/oder dein admin level ist zu klein.");
    return 1;
    }


    if(strcmp(cmd, "/unknast", true) == 0)
    {
    if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, blau, "Nutze: /unknast [playername/id]");
    return 1;
    }


    new targetid = ReturnUser(tmp);
    if(targetid != INVALID_PLAYER_ID)
    {
    if(AccountInfo[giveplayerid][Jail] == 1)
    {
    GetPlayerName(targetid, giveplayername, sizeof(giveplayername));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Administrator %s macht Unknast bei %s ",sendername, giveplayername);
    SendClientMessageToAll(ADMIN_rot,string);
    AccountInfo[targetid][Jail] = 0;
    OnPlayerUnjailed(targetid);
    }
    else SendClientMessage(playerid, rot, "Der Player/user ist nicht in Knast!");
    }
    else
    {
    format(string, sizeof(string), "%d ist nicht on.", targetid);
    SendClientMessage(playerid, rot, string);
    }
    }
    else SendClientMessage(playerid, rot, "Du bist kein admin !/oder dein admin level ist zu klein.");
    return 1;
    }

  • so...


    if(strcmp(cmd, "/lv", true) == 0) {
    SetPlayerPos(playerid, 1699.2, 1435.1, 10.7);
    GameTextForPlayer(playerid, "~r~Willkommen", 5000, 5);
    if(AccountInfo[playerid][Jail] == 1)
    SendClientMessage(playerid,rot,"Du kannst dich jetzt nicht weg teleportieren!");
    return 1;
    }

  • ich wusste es -.-
    Pawno arbeitet von oben nach unten! Wenn du die Abfrage unten reinmachst wird zuerst der code darüber ausgeführt...
    Das return beendet den cmd sodas der rest nicht ausgeführt wird.



    if(strcmp(cmd, "/lv", true) == 0)
    {
    if(AccountInfo[playerid][Jail] == 1)
    {
    SendClientMessage(playerid,rot,"Du kannst dich jetzt nicht weg teleportieren!");
    return 1;
    }
    SetPlayerPos(playerid, 1699.2, 1435.1, 10.7);
    GameTextForPlayer(playerid, "~r~Willkommen", 5000, 5);
    return 1;
    }