DCMD geht nie, warum? Büdde Hilfe !

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
  • Guten Tag,
    ich habe schon seit längerem das Problem, dass meine DCMD Befehle einfach nicht wollen. Der
    Pawn compiler compieled die, aber nichts passiert Ingame. Ich werde jetzt alle hier rein posten.
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    /* DCMD DEFINES */
    dcmd(help,4,cmdtext);
    dcmd(skin,4,cmdtext);
    dcmd(tp,2,cmdtext);
    dcmd(exit,4,cmdtext);
    dcmd(kick,4,cmdtext);
    dcmd(ban,3,cmdtext);
    dcmd(makeadmin,9,cmdtext);
    dcmd(stats,5,cmdtext);
    /* DCMD DEFINES ENDE */
    return 1;
    }
    /* Allgemeine Befehle */
    dcmd_help(playerid,params[])
    {
    #pragma unused params
    ShowPlayerDialog(playerid,15,DIALOG_STYLE_LIST,"Hilfe Menü","Allgemeine Befehle\nTP - Hilfe\nAdmins\nReport","Weiter","Abbrechen");
    TogglePlayerControllable(playerid,0);
    }
    dcmd_skin(playerid,params[])
    {
    new string[123], skin;
    if(!sscanf(params,"d",skin))
    {
    SetPlayerSkin(playerid,skin);
    format(string,sizeof(string),"Du hast den Skin Nummer %i dir gegeben",skin);
    SendClientMessage(playerid,COLOR_BLACK,string);
    }
    }
    dcmd_stats(playerid,params[])
    {
    #pragma unused params
    new string[123];
    format(string,sizeof(string),"Level: %i - Adminlevel: %i",Spieler[playerid][Score],Spieler[playerid][Adminlevel]);
    SendClientMessage(playerid,COLOR_RED,"[ --- Stats --- ]");
    SendClientMessage(playerid,COLOR_RED,string);
    SendClientMessage(playerid,COLOR_RED,"[ --- Stats --- ]");
    }
    dcmd_tp(playerid,params[])
    {
    #pragma unused params
    if(Spieler[playerid][Zone] == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Error, du musst außerhalb einer DM Zone sein");
    }
    else
    {
    ShowPlayerDialog(playerid,18,DIALOG_STYLE_LIST,"Teleports","Death Match\nStunts","Weiter","Abbrechen");
    }
    }
    dcmd_exit(playerid,params[])
    {
    #pragma unused params
    if(Spieler[playerid][Zone] == 0)
    {
    SetPlayerPos(playerid,Spawn);
    Spieler[playerid][Zone] = 1;
    ResetPlayerWeapons(playerid);
    }
    }
    /* ADMIN SYSTEM */
    /* RANG 1 */
    dcmd_kick(playerid,params[])
    {
    new pID;
    if(Spieler[playerid][Adminlevel] >= 1) return SendClientMessage(playerid,COLOR_GRAY,"Sie dürfen diesen Befehl nicht verwenden!");
    {
    new string[128];
    new grund[128];
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    if(sscanf(params,"us",pID,grund))
    format(string,sizeof string,"Du wurdest von %s gekickt. Grund: %s",spieler,grund);
    SendClientMessage(pID,COLOR_GRAY,string);
    format(string,sizeof string,"Du hast %s gekickt. Grund: %s",spieler2,grund);
    SendClientMessage(playerid,COLOR_GRAY,string);
    format(string,sizeof string,"%s wurde von %s gekickt. Grund: %s",spieler2,spieler,grund);
    SendClientMessageToAll(COLOR_GRAY,string);
    Kick(pID);
    }
    return 1;
    }
    dcmd_ban(playerid,params[])
    {
    new pID;
    if(Spieler[playerid][Adminlevel] >= 1) return SendClientMessage(playerid,COLOR_GRAY,"Sie dürfen diesen Befehl nicht verwenden!");
    {
    new string[128];
    new grund[128];
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    if(sscanf(params,"us",pID,grund))
    format(string,sizeof string,"Du wurdest von %s gebannt. Grund: %s",spieler,grund);
    SendClientMessage(pID,COLOR_GRAY,string);
    format(string,sizeof string,"Du hast %s gebannt. Grund: %s",spieler2,grund);
    SendClientMessage(playerid,COLOR_GRAY,string);
    format(string,sizeof string,"%s wurde von %s gebannt. Grund: %s",spieler2,spieler,grund);
    SendClientMessageToAll(COLOR_GRAY,string);
    Ban(pID);
    }
    return 1;
    }
    /* RANG 5 */
    dcmd_makeadmin(playerid,params[])
    {


    if(Spieler[playerid][Adminlevel] >= 5)
    {
    new adminlevel;
    new pID;
    new string[124];
    if(sscanf(params,"ui",pID,adminlevel))
    format(string,sizeof(string),"%s wurde zum Administrator Level %i befeurdert",pID,adminlevel);
    SendClientMessageToAll(COLOR_GRAY,string);
    Spieler[pID][Adminlevel] = adminlevel;
    }
    return 1;
    }
    /* ADMIN SYSTEM ENDE */


    Makeadmin und exit gehen zum Beispiel nicht -.-

  • Vielleicht weil er einfach nicht als Admin definiert ist?

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    /* DCMD DEFINES */
    dcmd(help,4,cmdtext);
    dcmd(skin,4,cmdtext);
    dcmd(tp,2,cmdtext);
    dcmd(exit,4,cmdtext);
    dcmd(kick,4,cmdtext);
    dcmd(ban,3,cmdtext);
    dcmd(makeadmin,9,cmdtext);
    dcmd(stats,5,cmdtext);
    /* DCMD DEFINES ENDE */
    return 0;
    }