Brauhe hilfe mkit einem befehl

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
  • Also ich hab es so ,das ich abfrage ich habe ein stock gemacht :


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



    dann sage ich im stock Register noch:


    dini_IntSet(Spielerdatei,"Adminlevel",0);



    dasselbe mit Supporterlevel etc. und bei fragen sagen wir mal einem Command


    if(strcmp(cmdtext,"/restart",true)==0)
    {
    if(!isPlayerAnAdmin(playerid,2000)) return SendClientMessage(playerid,ROT,"Du hast nicht den entsprechenden Adminrank!");
    SendRconCommand("gmx");
    return 1;
    }


    das if(!isPlayerAnAdmin(playerid,2000))return SendClientMessage ....


    die Abfrage !bedeutet einfach gesagt wenn er kein Admin ist grob umschrieben.


    dan unsere Abfrage isPlayerAnAdmin fragt ob ob er admin ist


    also guckt das System jz wenn er Admin ist soll in diesem bsp der gmx Command komm wenn nicht soll der Spieler eine Nachtricht bekommen das er kein Admin ist oder nicht entsprechenden Rank.


    dann (playerid,2000)) playerid is hoffendlich klar und die 2000 ist der AdminRank wenn du nur 5 Ränge haben willst kannst auch machen das (playerid,5)) dan wäre z.B. AdminRank5 dein höchster rank.


    und dan halt noch was ausgeführt werden soll in díesem Fall ein Server Restart.


    Hoffe ich konnte helfen ich gebe zu bin nicht sehr gut als scripter aber was ich weiß kann ich ja wohl teilen ;D


    sry für die schlechte Gramatik

  • Ganz einfach:
    ocmd:ahelpf(playerid,params[])//Der Befehl mit den params & der ID
    {//Befehl Öffnen
    if(IsPlayerAnAdmin(playerid,1))//Die ABfrage ob der Spieler, in dem falle, Admin Rank1 oder X ist
    {
    SendClientMessage(playerid,BLAU,"***Willkommen im Hilfsmenü***");//Erklärt sich von selbst..
    SendClientMessage(playerid,BLAU,"/kick, /ban, /setadmin, /newcar, /wetter & /aduty");//Das auch..
    }
    else
    {
    SendClientMessage(playerid, ROT,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Supporter");//& das natürlich auch..
    }
    return 1;//Funktion schliessen, damit es nicht dauernd ausgeführt wird
    }//& Befehl schliessen

  • also ichhabe dasjetzt soo :


    if(strcmp("/aduty",cmdtext,true)==0)
    {
    if(Spieler[playerid][[Adminlevel]) = 1)
    {
    SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");
    return 1;
    }
    if(Spieler[playerid][[Adminlevel]) = 0)
    {
    SendClientMessage (playerid,Rot,"Du kein Admin.");
    return 1;
    }
    }



    und bekomme diese errors:


    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : warning 215: expression has no effect
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 001: expected token: ";", but found "]"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.




    hier mal ein stock wo das geladen wird:


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, dini_Int(Spielerdatei, "Geld"));
    Spieler[playerid][Level]=dini_Int(Spielerdatei, "Level");
    Spieler[playerid][Adminlevel]=dini_Int(Spielerdatei, "Adminlevel");
    Spieler[playerid][Fraktion]=dini_Int(Spielerdatei, "Fraktion");
    Spieler[playerid][Tode]=dini_Int(Spielerdatei, "Tode");
    Spieler[playerid][Morde]=dini_Int(Spielerdatei, "Morde");
    format(Spieler[playerid][Name], MAX_PLAYER_NAME, "%s",dini_Get(Spielerdatei, "Name"));
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }





    was mache ich falsch ??


  • if(strcmp("/aduty",cmdtext,true)==0)
    {
    if(Spieler[playerid][[Adminlevel]) = 1)
    {
    SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");
    return 1;
    }
    if(Spieler[playerid][[Adminlevel]) = 0)
    {
    SendClientMessage (playerid,Rot,"Du kein Admin.");
    return 1;
    }
    }

    Somit würdest du mitif(Spieler[playerid][[Adminlevel]) = 1) einen Spieler den Rank geben.
    Lösung

    if(Spieler[playerid][[Adminlevel]) == 1)
    {
    SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");
    return 1;
    }
    if(Spieler[playerid][[Adminlevel]) == 0)
    {
    SendClientMessage (playerid,Rot,"Du kein Admin.");
    return 1;
    }
    }

    Jetzt liegt es bei dir, soll der Spieler exakt Level eins haben und dann weiter zu kommen, oder soll er es ab Wert 1 erst können.

  • Also mit meiner Art würde es so Aussehen:


    if(strcmp("/aduty",cmdtext,true)==0)
    {
    if(!isPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Du bist kein Administrator!");
    SetPlayerColor(playerid,SCHWARZ);
    SendClientMessage(playerid,BLAU,"Du bist nun als Administrator im Dienst.");
    return 1;
    }
    return 1;
    }


    ich hab den Admin jz ne extra Farbe gegeben das man ihn auf der minimap erkennt da bei mir keiner Schwarz sein wird außer /aduty Admins

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • also ich habs jetzt soo


    if(strcmp("/aduty",cmdtext,true)==0)
    {
    if(Spieler[playerid][[Adminlevel]) >= 1)
    {
    SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");
    SetPlayerColor(playerid,Blau);
    return 1;
    }
    if(Spieler[playerid][[Adminlevel]) == 0)
    {
    SendClientMessage (playerid,Rot,"Du kein Admin.");
    return 1;
    }
    }





    und bekomme diese errors:





    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : warning 215: expression has no effect
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 001: expected token: ";", but found "]"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • bin leicht verwirrt möchtest du das di eleute sehen das ein admin (im dienst ist) oder einfach nur für sich selbst welchen adminrank man hat ? Oder das man ein bestimmten rank benötigt um ein bestimmten befehl auszuführen?

  • wow jetzt ist es soo:


    if(strcmp("/aduty",cmdtext,true)==0)
    {
    if(Spieler[playerid][[Adminlevel] >= 1)
    {
    SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");
    SetPlayerColor(playerid,Blau);
    return 1;
    }
    if(Spieler[playerid][[Adminlevel] == 0)
    {
    SendClientMessage (playerid,Rot,"Du kein Admin.");
    return 1;
    }
    }



    und es kommen diese errors:



    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : warning 215: expression has no effect
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 001: expected token: ";", but found "]"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4442) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    //edit ich möchte einfach nur wissen wie ich bestimme welchen befehl nur admins machen können und ab welchem rang

  • SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");


    bin leicht verwirrt möchtest du das di eleute sehen das ein admin (im dienst ist) oder einfach nur für sich selbst welchen adminrank man hat ? Oder das man ein bestimmten rank benötigt um ein bestimmten befehl auszuführen?


    Daran erkennst du doch, das nur der Admin sehen soll, das er sich erfolgreich im Dienst angemeldet hat.

  • if(strcmp("/aduty",cmdtext,true)==0)
    {
    if(Spieler[playerid][Adminlevel] != 0) return
    SendClientMessage (playerid,Blau,"Du bist kein Admin");
    {
    SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst");
    SetPlayerColor(playerid,Blau);
    return 1;
    }
    }



    if(strcmp("/aduty",cmdtext,true)==0)
    {
    switch(Spieler[playerid][Adminlevel])
    {
    case 0: {SendClientMessage (playerid,Blau,"Du bist nicht berechtigt");}
    case 1: {SendClientMessage (playerid,Blau,"Du bist nun als Suporter im Dienst"); SetPlayerColor(playerid,Blau);}
    case 2: {SendClientMessage (playerid,Blau,"Du bist nun als Moderator im Dienst"); SetPlayerColor(playerid,Rot);}
    case 3: {SendClientMessage (playerid,Blau,"Du bist nun als Admin im Dienst"); SetPlayerColor(playerid,Grün);
    }}
    return 1;
    }

  • Zitat

    Daran erkennst du doch, das nur der Admin sehen soll, das er sich erfolgreich im Dienst angemeldet hat.

    Ja klar aber es kann ja sein das er möchte , dass alle user wissen das ein Admin on ist. oder etwar nicht? z.b. für ein /report befehl oder so. das die user wissen das einer on ist.