/freeze |/unfreeze geht nicht

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
  • Hallo zusammen,


    mein /freeze und mein /unfreeze


    gibt leider keine Reaktion


    es passiert NIX



    Hier mal der Code


    ocmd:freeze(playerid,params[])
    {
    if(!isAdmin(playerid,2))
    {
    new pID,string[128];
    if(sscanf(params,"u", pID))return SendClientMessage(playerid, RED, "INFO: /freeze [PlayerID | Spielername]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Spieler nicht verbunden");
    TogglePlayerControllable(pID,0);
    format(string,sizeof(string),"Du hast den Spieler %s erfolgreich gefreezed!");
    SendClientMessage(playerid,-1,string);
    format(string,sizeof(string),"Der [4RL] %s : %s (ID: %i) hat dich gefreezed",GetPlayerAdminName(playerid),getPlayerName(playerid),playerid);
    SendClientMessage(pID,-1,string);
    }
    return 1;
    }
    ocmd:unfreeze(playerid,params[])
    {
    if(!isAdmin(playerid,2))
    {
    new pID,string[128];
    if(sscanf(params, "u", pID))return
    SendClientMessage(playerid, RED, "INFO: /unfreeze [PlayerID | Spielername]");
    TogglePlayerControllable(pID,1);
    format(string,sizeof(string),"Du hast den Spieler %s erfolgreich unfreezed!");
    SendClientMessage(playerid,-1,string);
    format(string,sizeof(string),"Der [4RL] %s : %s (ID: %i) hat dich unfreezed",GetPlayerAdminName(playerid),getPlayerName(playerid),playerid);
    SendClientMessage(pID,-1,string);
    }
    return 1;
    }


    Vielen Dank für jede Hilfe


  • So kann das nur der Rang 2, aber niemand darüber.


    ocmd:freeze(playerid,params[])
    {
    if(isAdmin(playerid,0)) { SendClientMessage(COLOR_RED, playerid, "Das kannst du nicht!"); }
    else
    {
    new pID,string[128];
    if(sscanf(params,"u", pID))return SendClientMessage(playerid, RED, "INFO: /freeze [PlayerID | Spielername]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Spieler nicht verbunden");
    TogglePlayerControllable(pID,0);
    format(string,sizeof(string),"Du hast den Spieler %s erfolgreich gefreezed!");
    SendClientMessage(playerid,-1,string);
    format(string,sizeof(string),"Der [4RL] %s : %s (ID: %i) hat dich gefreezed",GetPlayerAdminName(playerid),getPlayerName(playerid),playerid);
    SendClientMessage(pID,-1,string);
    }
    return 1;
    }
    ocmd:unfreeze(playerid,params[])
    {
    if(isAdmin(playerid,0)) { SendClientMessage(COLOR_RED, playerid, "Das kannst du nicht!"); }
    else
    {
    new pID,string[128];
    if(sscanf(params, "u", pID))return
    SendClientMessage(playerid, RED, "INFO: /unfreeze [PlayerID | Spielername]");
    TogglePlayerControllable(pID,1);
    format(string,sizeof(string),"Du hast den Spieler %s erfolgreich unfreezed!");
    SendClientMessage(playerid,-1,string);
    format(string,sizeof(string),"Der [4RL] %s : %s (ID: %i) hat dich unfreezed",GetPlayerAdminName(playerid),getPlayerName(playerid),playerid);
    SendClientMessage(pID,-1,string);
    }
    return 1;
    }






  • So und darf ich jetzt mal Fragen woher ihr wissen wollt wie seine stock Funktion aussieht?


    Poste mal deine stock Funktion "isAdmin'

  • @Ewu:
    Bevor du hier so einen Müll absonderst solltest du dir mal den Startpost anschauen.
    Denn dort wird die Funktion isAdmin verwendet, undzwar ganz einfach fehlerhaft. :whistling:

    @N0SKILL
    Jetzt muss frage ich mal dich, was du hier für einen Müll absonderst?
    Das er isAdmin verwendet habe ich auch gesehen, was ich jetzt wissen möchte ist.
    Wie hat er diese Funktion geschrieben?


    Hat er sei so geschrieben:


    stock IsAdmin(playerid,level)
    {
    if(GetPVarInt(playerid,"Adminlevel")<level)return 1;
    return 0;
    }



    Oder vielleicht so?:



    stock IsAdmin(playerid,level)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=level)return 1;
    return 0;
    }


    .. Man weiß es nicht woher auch? er hat ja nicht seine "isAdmin" Funktion gepostet.
    aber nun gut .. wenn er nach euren er achtens die Funktion gepostet hat. Okaaay 8o


    @Direct_Player


    Ich weiß das Thema ist zwar schon von dir als erledigt Markiert worden.
    Aber ich will dir nur Sagen wenn du deine Funktion so aufgebaut hast:


    Wenn deine Funktion so aussieht, heißt es. Ist der Wert kleiner als der genannte Wert. ( Jeder unter Adminlevel 2 könnte diesen nutzen )
    Sprich: isAdmin(playerid, 2) // könnte jeder unter "Adminlevel - 2" diese Funktion nutzen.


    stock IsAdmin(playerid,level)
    {
    if(GetPVarInt(playerid,"Adminlevel")<level)return 1;
    return 0;
    }



    Wenn deine Funktion so aussieht, heißt es. Ist der Wert Größer als der genannte Wert. ( Jeder über Adminlevel 2 könnte diesen nutzen )
    Sprich: isAdmin(playerid, 2) // könnte jeder Über "Adminlevel - 2" diese Funktion nutzen.


    stock IsAdmin(playerid,level)
    {
    if(GetPVarInt(playerid,"Adminlevel")>level)return 1;
    return 0;
    }


    Ich hoffe ich hab das so richtig erklärt :wacko:
    Du kannst dir das auch alles hier Nachlesen ^^


    http://wiki.sa-mp.com/wiki/Scripting_Basics_DE
    [ SCRIPTING ] Bedeutung der Operatoren





    Grüße