Problem | SERVER:Unknown Command

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
  • Habe mir das Login/Register System von MrMonat basiert auf Dini geholt. Alles funktioniert super nur die Adminbefehle
    beziehungsweise alle Befehle zeigen an SERVER : UNKNOWN COMMAND an. Hier alles benötigte. Im Serverlog kommt kein Fehler sowie das Script ohne Warnings/Errors compiled


    public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid))return 1;
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in der Datenbank gefunden somit kannst du nun dein Passwort eingeben","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib nun dein gewünschtes Passwort ein!","Register","Abbrechen");
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    return 1;
    }


    //STOCKS LOGIN


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,GELB,"Erfolgreich registriert.");
    SetPlayerScore(playerid,0);
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,GELB,"Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,GELB,"Fehlerhaftes Passwort bitte neu eingeben");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in der Datenbank gefunden somit kannst du dich nun mit deinem Passwort einloggen","Login","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du wurdest von unserem Server ausgeschlossen melde dich doch per Teamspeak bei einem Administrator");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    }
    return 1;
    }


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    //STOCK ADMIN


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



    //OCMDBEFEHLE ADMIn


    ocmd:kick(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    new pID, reason[128],string[128];
    if(IsPlayerAnAdmin(pID,1)) return SendClientMessage(playerid,GELB,"Du kannst keinen Administrator kicken");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GELB,"/kick [Spieler] [Grund]");
    format(string,sizeof(string),"CaneBot: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(GELB,string);
    Kick(pID);
    return 1;
    }


    ocmd:ban(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    new pID, reason[128],string[128];
    if(IsPlayerAnAdmin(pID,1)) return SendClientMessage(playerid,GELB,"Du kannst keinen Administrator bannen");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GELB,"/ban [Spieler] [Grund]");
    format(string,sizeof(string),"CaneBot: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(GELB,string);
    SetPVarInt(pID,"Baned",1);
    Kick(pID);
    return 1;
    }


    ocmd:setadmin(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,0))return SendClientMessage(playerid,ROT,"Du hast keine Rechte um diesen Befehl auszuführen");
    new pID, rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/setadmin [Spieler] [Level] | Um Level einzusehen /level");
    if(rank<0||rank>5)return SendClientMessage(playerid,ROT,"Maximaler Rank liegt bei 5");
    SetPVarInt(pID,"Adminlevel",rank);
    SendClientMessage(playerid,GELB,"Ausgewählter Spieler wurde zum Admin befördert");
    SpielerSpeichern(pID);
    return 1;
    }


    ocmd:gethere(playerid,params[])
    {
    new string[128],player;
    if(sscanf(params,"u",player))return SendClientMessage(playerid,GELB,"/gethere [Spieler]");
    if(IsPlayerAnAdmin(playerid,1))
    {
    new sendername[MAX_PLAYER_NAME],playername[MAX_PLAYER_NAME];
    GetPlayerName(player,sendername,sizeof sendername);
    GetPlayerName(playerid,playername,sizeof playername);
    format(string,sizeof string,"Teammitglied %s hat dich zu sich geportet.",playername);
    SendClientMessage(player,GELB,string);
    format(string,sizeof string,"Du hast %s zu dir geportet.",sendername);
    SendClientMessage(playerid,GELB,string);
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInAnyVehicle(player))
    {
    new autoid = GetPlayerVehicleID(player);
    SetVehiclePos(autoid, X, Y+4, Z);
    }
    else
    {
    SetPlayerPos(player,X,Y+2,Z);
    }
    }
    else
    {
    SendClientMessage(playerid, GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    }
    return 1;
    }


    ocmd:goto(playerid,params[])
    {
    new string[128],player;
    if(sscanf(params,"u",player))return SendClientMessage(playerid,GELB,"/goto [Spieler]");
    if(IsPlayerAnAdmin(playerid,1))
    {
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(player,sendername,sizeof sendername);
    format(string,sizeof string,"Du hast dich zu %s geportet.",sendername);
    SendClientMessage(playerid,BLAU,string);
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(player,X,Y,Z);
    if(IsPlayerInAnyVehicle(playerid))
    {
    new autoid = GetPlayerVehicleID(playerid);
    SetVehiclePos(autoid, X, Y+4, Z);
    }
    else
    {
    SetPlayerPos(playerid,X,Y+2,Z);
    }
    }
    else
    {
    SendClientMessage(playerid,GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    }
    return 1;
    }


    ocmd:setskin(playerid,params[])
    {
    new skinid1,pID,string[128];
    if(sscanf(params,"ud",pID,skinid1))return SendClientMessage(playerid, GELB,"/setskin [Spieler] [Skinnummer]");
    if(IsPlayerAnAdmin(playerid,1))
    {
    SetPlayerSkin(pID,skinid1);
    format(string,sizeof(string),"Ein Teammitglied hat dir den Skin %d zugewiesen!",skinid1);
    SendClientMessage(pID,GELB,string);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast keine Rechte um diesen Befehl auszuführen");
    }
    return 1;
    }


    ocmd:newcar(playerid,params[])
    {
    new Float:vehx,Float:vehy,Float:vehz;
    new vehid,cc1,cc2,string[128];
    if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, GELB,"/newcar [Autonummer] [Farbe 1] [Farbe 2]");
    if(IsPlayerAnAdmin(playerid,1))
    {
    GetPlayerPos(playerid,vehx,vehy,vehz);
    new carid = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1);
    SetVehicleNumberPlate(carid,"Adminauto");
    PutPlayerInVehicle(playerid, carid, 0);
    format(string,sizeof(string),"Du hast dir ein Auto gespawnt! (FahrzeugID :%d)",GetVehicleModel(GetPlayerVehicleID(playerid)));
    SendClientMessage(playerid,GELB,string);
    }
    else
    {
    SendClientMessage(playerid,GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    }
    return 1;
    }


    ocmd:wetter(playerid,params[])
    {
    new weatherid1,string[80];
    if(sscanf(params,"i",weatherid1))return SendClientMessage(playerid,GELB,"/wetter [Wetternummer]");
    if(IsPlayerAnAdmin(playerid,1))
    {
    SetWeather(weatherid1);
    format(string,sizeof(string),"Du hast das Wetter in die Nummer %d geändert!",weatherid1);
    SendClientMessage(playerid,GELB,string);
    }
    else
    {
    SendClientMessage(playerid, GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    }
    return 1;
    }


    ocmd:aduty(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    {
    new string[128],string2[128];
    new adminname[30];
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Nein";}
    case 1:{adminname="{00FF5A}Supporter";}
    case 2:{adminname="{572B54}Moderator";}
    case 3:{adminname="{858BBB}Super Moderator";}
    case 4:{adminname="{0000FF}Administrator";}
    case 5:{adminname="{FF0000}System-Administrator";}
    }
    #pragma unused params
    if(GetPVarInt(playerid,"AdminDuty"))
    {
    SetPlayerColor(playerid,WEISS);
    ResetPlayerWeapons(playerid);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    format(string,sizeof(string),"Teammitglied %s hat den Admindienst als %s beendet ",SpielerName(playerid),adminname);
    SendClientMessageToAll(BLAU,string);
    DeletePVar(playerid,"AdminDuty");
    return 1;
    }
    else
    {
    SetPlayerColor(playerid,GELB);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,15000);
    format(string2,sizeof(string2),"Teammitglied %s hat den Admindiest als %s begonnen",SpielerName(playerid),adminname);
    SendClientMessageToAll(GELB,string2);
    SendClientMessage(playerid,ROT,"[LOGGED] Das im negativen Sinne Benutzen des Admindienstes kann Folgen haben [LOGGED]");
    SetPVarInt(playerid,"AdminDuty",1);
    }
    return 1;
    }
    }


    ocmd:gmx(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,GELB,"Du hast keine Rechte um diesen Befehl auszuführen");
    SendRconCommand("gmx");
    GameTextForAll("| Server Restart |",5000,6);


    return 1;
    }