[ocmd] Befehl kann entweder jede oder keiner (als Admin)

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,


    Ich Arbeite mit ocmd und sscanf finde es ist einfacher und das Problem ist wenn ich das so mache



    ocmd:gotols(playerid,params[])
    {
    if(IsPlayerConnected(playerid)){
    if (Spieler[playerid][pAdmin] <= 2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");//Abfrage
    if (GetPlayerState(playerid) == 2){
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1480.2058,-1687.0397,14.0469);
    }else{
    SetPlayerPos(playerid, 1480.2058,-1687.0397,14.0469);
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert!");
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    Spieler[playerid][pInt] = 0;
    }
    return 1;
    }
    Kann jeder denn befehl machen.
    Aber wenn ich das so mache


    ocmd:gotols(playerid,params[])
    {
    if(IsPlayerConnected(playerid)){
    if (Spieler[playerid][pAdmin] >= 2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!"); //Abfrage
    if (GetPlayerState(playerid) == 2){
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1480.2058,-1687.0397,14.0469);
    }else{
    SetPlayerPos(playerid, 1480.2058,-1687.0397,14.0469);
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert!");
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    Spieler[playerid][pInt] = 0;
    }
    return 1;
    }
    kann das keiner obwohl ich Admin 4 bin
    hat jemand eine Ahnung warum ?



    /E:Titel und Befehl bearbeitet!

    Einmal editiert, zuletzt von AC/DC ()

  • Selfmade auch wenn der befehl wie im Gf aussieht konnte mir aber den befehl nicht anders vorstellen :s zu sehr am GF gearbeitet :s


    und das fragt ab was der Aktuelle zustand ist also habe es so von Wiki Übersetzt :s English nicht grade gut.

  • if (strcmp("/gotols", cmdtext, true, 10) == 0)
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du bist kein Admin oder dein Level ist zu niedrig!.");
    SetPlayerPos(playerid, 1536.0193,-1672.1040,13.3828);
    SendClientMessage(playerid, Gelb, "Du hast dich erfolgreich teleportiert!");
    ShowPlayerDialog(playerid, DIALOG_ABUSE, DIALOG_STYLE_MSGBOX,"ABUSE","Bitte das Porten nicht ausnutzen","OK","CLOSE");
    return 1;
    }
    so gehts ^^
    musst nu rdas admin ändern

  • Ehm Lol ?
    Was bringt mir dein befehl ?
    ich benutze OCMD und du nicht
    und außerdem ist das dann das gleiche.
    Und das GetPlayerState fragt er ab ob er im Auto ist das hat ja nichts mit der Admin abfrage zu tuen. :pinch:

  • Also:



    ocmd:gotols(playerid,params[])//Befehl
    {
    if(IsPlayerConnected(playerid)){//Ob er Connect ist
    if (Spieler[playerid][pAdmin] >= 2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!"); //Admin abfrage
    if (GetPlayerState(playerid) == 2){//Ob er im Auto ist
    new tmpcar = GetPlayerVehicleID(playerid);//Eine Variable von dem Auto x zuweisen
    SetVehiclePos(tmpcar, 1480.2058,-1687.0397,14.0469);//Wenn er im Auto ist das Auto und ihn Porten
    }else{//Wenn er es nicht ist.
    SetPlayerPos(playerid, 1480.2058,-1687.0397,14.0469);//Soll er nur geportet werden
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert!");//Die Nachricht
    SetPlayerInterior(playerid,0);//Der Interior soll "0"
    SetPlayerVirtualWorld(playerid, 0);//Virtuelle World auch "0"
    Spieler[playerid][pInt] = 0;//Da wird es in der Spieler Datei geschrieben.
    }
    return 1;
    }



    Besser ? :s

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • es Funktioniert leider immer noch nicht :S


    //E: Habe heraus gefunden das es jetzt mit allen Befehlen ist :S

    Einmal editiert, zuletzt von GamerXIOS ()

  • Dann versuch ich mal mein Glück:


    ocmd:gotols(playerid)
    {
    if (Spieler[playerid][pAdmin] > 2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");//Abfrage
    if (GetPlayerState(playerid) == 2){
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1480.2058,-1687.0397,14.0469);
    PutPlayerInVehicle(playerid,tmpcar,0);
    }else{
    SetPlayerPos(playerid, 1480.2058,-1687.0397,14.0469);
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert!");
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    Spieler[playerid][pInt] = 0;
    }

    und connectet abfrage bringt eig nichts: da wenn derjenige nicht connectet ist auch nicht /gotols eingibt ;)
    und man muss den spieler ins vehicle setzen^^
    und... probiers mal so^^

  • 1.Muss ich ihn nicht ins Auto setzen das ist schon automatisch und ich will das man es aber level 2 kann und wäre ja mit der Abfrage dann richtig

  • Ehm ja....
    Ganz simpler Fehler:
    Statt:
    if (Spieler[playerid][pAdmin] >= 2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");//Abfrage


    Das:
    if (Spieler[playerid][pAdmin] <= 2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");//Abfrage



  • Hier nochmal zu verstehen :pinch: :wacko:

  • Ich habs raus gemacht :s, und






    ocmd:gotols(playerid,params[])
    {
    if (Spieler[playerid][pAdmin] <=2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    if (GetPlayerState(playerid) == 2){
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1480.2058,-1687.0397,14.0469);
    }else{
    SetPlayerPos(playerid, 1480.2058,-1687.0397,14.0469);
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert!");
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    Spieler[playerid][pInt] = 0;
    return 1;
    }

    Kann jeder denn befehl machen.
    Aber wenn ich das so mache



    ocmd:gotols(playerid,params[])
    {
    if (Spieler[playerid][pAdmin] >=2) return SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    if (GetPlayerState(playerid) == 2){
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1480.2058,-1687.0397,14.0469);
    }else{
    SetPlayerPos(playerid, 1480.2058,-1687.0397,14.0469);
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast dich Teleportiert!");
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    Spieler[playerid][pInt] = 0;
    return 1;
    }


    kann das keiner obwohl ich Admin 4 bin
    hat jemand eine Ahnung warum ?


    Und was ist daran nicht zu verstehen ? :o
    Wenn es so ist <= Kann jeder den befehl auch die die kein Admin sind
    und
    wenn es so ist >= Kann keiner den befehl auch wenn ich höheres Admin habe es kann einfach keiner.