Fehler bei den Befehlen

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 habe ein Problem mit den Befehlen und zwar immer wenn ich / eingebe kommt das was bei OnPlayerCommandText oben steht als befehl:
    public OnPlayerCommandText(playerid, cmdtext[]){ new string[256];// new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME];// new playername[MAX_PLAYER_NAME]; new cmd[256]; new tmp[256]; new giveplayerid, idx; /*if(strcmp(cmd, "/restart", true) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pAdmin] >= 3) { GameTextForPlayer(playerid, "~r~ Server Neustart", 5000, 1); GameModeExit(); } else { SendClientMessage(playerid, COLOR_GRAD1, " Das darfst du nicht tun !"); } } return 1; }*/ /*if(strcmp(cmd, "/getip", true) == 0) { if (PlayerInfo[playerid][pAdmin] >= 2) {// new tmp[256]; tmp = strtok(cmdtext,idx); if(!strlen(tmp)) { SendClientMessage(playerid,COLOR_GRAD1,"FEHLER: /getip [playerid]"); return 1; } giveplayerid = ReturnUser(tmp); new playersip[16]; GetPlayerIp(giveplayerid,playersip,sizeof(playersip)); format(string,sizeof(string),"IP: %s",playersip); SendClientMessage(playerid,COLOR_GRAD2,string); } return 1; }*/ if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0) { if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "BENUTZUNG: (/a)dmin [admin chat]"); return 1; } if (PlayerInfo[playerid][pAdmin] >= 1) { format(string, sizeof(string), "*%d Admin %s: %s", PlayerInfo[playerid][pAdmin], sFendername, result); SendAdminMessage(COLOR_LIGHTBLUE, string); } else { if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du kannst nicht sprechen, du wurdest gemutet !"); return 1; } format(string, sizeof(string), "*Zivilist %s: %s", sendername, result); SendAdminMessage(COLOR_LIGHTBLUE, string); SendClientMessage(playerid, COLOR_LIGHTBLUE, " Deine Nachricht wurde an die Admins gesendet."); } printf("Zivilist %s: %s", sendername, result); //Log("OA-Chat.txt",string); } return 1; } if(strcmp(cmd, "/mute", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /mute [playerid]"); return 1; } new playa; playa = ReturnUser(tmp); if (PlayerInfo[playerid][pAdmin] >= 1) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(PlayerInfo[playa][pMuted] == 0) { PlayerInfo[playa][pMuted] = 1; printf("AdmCmd: %s silenced %s",sendername, giveplayer); format(string, sizeof(string), "AdmCmd: %s wurde von %s zum Schweigen gebracht",giveplayer ,sendername); ABroadCast(COLOR_LIGHTRED,string,1); } else { PlayerInfo[playa][pMuted] = 0; printf("AdmCmd: %s unsilenced %s",sendername, giveplayer); format(string, sizeof(string), "AdmCmd: %s wurde von %s zum Reden gebracht",giveplayer ,sendername); ABroadCast(COLOR_LIGHTRED,string,1); } } } } else { SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!"); } } return 1; } if(strcmp(cmd, "/makeadmin", true) == 0) { if(PlayerInfo[playerid][pAdmin] < 1337) { SendClientMessage(playerid,COLOR_GRAD2," Das Vergeben und Entziehen von Adminrechten ist nur den Admins erlaubt!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /makeadmin [ID] [Level]"); return 1; } new para1 = ReturnUser(tmp); tmp = strtok(cmdtext, idx); new level = strval(tmp); if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(PlayerInfo[para1][pAdmin] < level) { printf("AdmCmd: %s hat %s zu einem Level %d Admin befördert.", sendername, giveplayer, level); format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Admin befördert", sendername, level); SendClientMessage(para1, COLOR_LIGHTBLUE, string); format(string, sizeof(string), " Du hast %s zu einem Level %d Admin befördert.", giveplayer,level); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); } else { printf("AdmCmd: %s hat %s zu einem Level %d Admin degradiert.", sendername, giveplayer, level); format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Admin degradiert", sendername, level); SendClientMessage(para1, COLOR_LIGHTBLUE, string); format(string, sizeof(string), " Du hast %s zu einem Level %d Admin degradiert.", giveplayer,level); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); } PlayerInfo[para1][pAdmin] = level; } } else { SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt diesen Befehl zu nutzen! "); } return 1; }


    etc
    if(strcmp(cmd, "/setplayerint", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /setplayerint [playerid] [interiorid]"); return 1; } new playa; playa = ReturnUser(tmp); new intid; tmp = strtok(cmdtext, idx); intid = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 1) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); SetPlayerInterior(playa, intid); PlayerInfo[playa][pInt] = intid; format(string, sizeof(string), " Du hast %s den interior auf %d gesetzt.", giveplayer, intid); SendClientMessage(playerid, COLOR_GRAD1, string); format(string, sizeof(string), " %s hat deinen Interior auf %d gesetzt.", sendername, intid); SendClientMessage(playa, COLOR_GRAD1, string); } } } else { SendClientMessage(playerid, COLOR_GRAD1, " You are not authorized to use that command!"); } } return 1; } return 1;}

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    Einmal editiert, zuletzt von eli ()

  • Immer wenn ich auf server / benutze wird der obere command genommen aber wieso ?



    cod:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[256];
    // new playermoney;
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    // new playername[MAX_PLAYER_NAME];
    new cmd[256];
    new tmp[256];
    new giveplayerid, idx;
    /*if(strcmp(cmd, "/restart", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] >= 3)
    {
    GameTextForPlayer(playerid, "~r~ Server Neustart", 5000, 1);
    GameModeExit();
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Das darfst du nicht tun !");
    }
    }
    return 1;
    }*/
    /*if(strcmp(cmd, "/getip", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    // new tmp[256];
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD1,"FEHLER: /getip [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    new playersip[16];
    GetPlayerIp(giveplayerid,playersip,sizeof(playersip));
    format(string,sizeof(string),"IP: %s",playersip);
    SendClientMessage(playerid,COLOR_GRAD2,string);
    }
    return 1;
    }*/
    if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "BENUTZUNG: (/a)dmin [admin chat]");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    format(string, sizeof(string), "*%d Admin %s: %s", PlayerInfo[playerid][pAdmin], sFendername, result);
    SendAdminMessage(COLOR_LIGHTBLUE, string);
    }
    else
    {
    if(PlayerInfo[playerid][pMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du kannst nicht sprechen, du wurdest gemutet !");
    return 1;
    }
    format(string, sizeof(string), "*Zivilist %s: %s", sendername, result);
    SendAdminMessage(COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, " Deine Nachricht wurde an die Admins gesendet.");
    }
    printf("Zivilist %s: %s", sendername, result);
    //Log("OA-Chat.txt",string);
    }
    return 1;
    }
    if(strcmp(cmd, "/mute", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /mute [playerid]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playa][pMuted] == 0)
    {
    PlayerInfo[playa][pMuted] = 1;
    printf("AdmCmd: %s silenced %s",sendername, giveplayer);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s zum Schweigen gebracht",giveplayer ,sendername);
    ABroadCast(COLOR_LIGHTRED,string,1);
    }
    else
    {
    PlayerInfo[playa][pMuted] = 0;
    printf("AdmCmd: %s unsilenced %s",sendername, giveplayer);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s zum Reden gebracht",giveplayer ,sendername);
    ABroadCast(COLOR_LIGHTRED,string,1);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    return 1;
    }
    if(strcmp(cmd, "/makeadmin", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] < 1337)
    {
    SendClientMessage(playerid,COLOR_GRAD2," Das Vergeben und Entziehen von Adminrechten ist nur den Admins erlaubt!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /makeadmin [ID] [Level]");
    return 1;
    }
    new para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    new level = strval(tmp);
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[para1][pAdmin] < level)
    {
    printf("AdmCmd: %s hat %s zu einem Level %d Admin befördert.", sendername, giveplayer, level);
    format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Admin befördert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zu einem Level %d Admin befördert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    printf("AdmCmd: %s hat %s zu einem Level %d Admin degradiert.", sendername, giveplayer, level);
    format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Admin degradiert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zu einem Level %d Admin degradiert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    PlayerInfo[para1][pAdmin] = level;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt diesen Befehl zu nutzen! ");
    }
    return 1;
    }
    etc



    if(strcmp(cmd, "/setplayerint", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /setplayerint [playerid] [interiorid]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    new intid;
    tmp = strtok(cmdtext, idx);
    intid = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    SetPlayerInterior(playa, intid);
    PlayerInfo[playa][pInt] = intid;
    format(string, sizeof(string), " Du hast %s den interior auf %d gesetzt.", giveplayer, intid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), " %s hat deinen Interior auf %d gesetzt.", sendername, intid);
    SendClientMessage(playa, COLOR_GRAD1, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " You are not authorized to use that command!");
    }
    }
    return 1;
    }
    return 1;
    }

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    Einmal editiert, zuletzt von eli ()

  • ja z.B der /a chat ist gearde ganz oben,
    und so bald ich /kick 2 mache steht dann im /a chatt:
    1337 Eli: /kick 2
    aber nur wenn ich das / mache steht es im /a und wenn ich z.B nur kick 2 mache steht es im öffendlichen chat

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • mach dir besser ocmd befehle.
    zB für kick:



    ocmd:kick(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,WEIß,"AdmCmd: Du bist kein Admin.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,WEIß,"Benutzung: /kick [id/name] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }

  • wie müsste ich das bei machen ?



    if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "BENUTZUNG: (/a)dmin [admin chat]");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    format(string, sizeof(string), "*%d Admin %s: %s", PlayerInfo[playerid][pAdmin], sendername, result);
    SendAdminMessage(COLOR_LIGHTBLUE, string);
    }
    else
    {
    if(PlayerInfo[playerid][pMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du kannst nicht sprechen, du wurdest gemutet !");
    return 1;
    }
    format(string, sizeof(string), "*Zivilist %s: %s", sendername, result);
    SendAdminMessage(COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, " Deine Nachricht wurde an die Admins gesendet.");
    }
    printf("Zivilist %s: %s", sendername, result);
    //Log("OA-Chat.txt",string);
    }
    return 1;
    }

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • Aber irgendwie geht das doch ohne ocmd, ich habe nemlich mehren befehle drinne will aber nicht alle umschreib vorallem weil ich mich mit ocmd, sccanf nicht auskenne.
    Ich muss dazu sagen ich habe ein neues script angefangen und das ist ja leer und da habe ich einfach vom GF die befehle genommen aus OnPlayerCommandText


    Ich brauch dringen daran hilfe


    //edit

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    2 Mal editiert, zuletzt von eli ()

  • Du hast die Variable / schon genutzt, alles was du dahinter schreibst schreibt der in den Befehl / sprich in den Admin Chat. Ich empfehle dir für den AdminChat #, den benutze ich auch :D

  • Du hast die Variable / schon genutzt, alles was du dahinter schreibst schreibt der in den Befehl / sprich in den Admin Chat. Ich empfehle dir für den AdminChat #, den benutze ich auch :D

    Ich verstehe nicht so ganz was du meinst




    bitte umhilfe
    //edit

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    2 Mal editiert, zuletzt von eli ()