Crash Befehl Problem

  • Crash Befehl Problem

    Hallo,

    ich hab in meinem Selfmade ein Befehl womit man das Spiel von anderen Leuten crashen kann.
    Da gibt es leider ein paar Errors.

    [pwn]Zeile (2606) : Falscher Variablentyp als Parameter (Parameter #1)
    Zeile (2610) : error 006: must be assigned to an array
    Zeile (2611) : Falscher Variablentyp als Parameter (Parameter #1)
    Zeile (2616) : error 012: invalid function call, not a valid address
    Zeile (2616) : Befehl hat keinen Sinn
    Zeile (2616) : Erwartete Zeichen ";", aber gefunden ")"
    Zeile (2616) : Ungültiger Befehl
    Zeile (2616) : Zuviele Fehler in einer Zeile

    8 Errors, 1 Warnungen[/pwn]
    [pwn]

    new giveplayerid;
    new idx;
    new ReturnUser;
    new cmd;[/pwn]


    [pwn] if(strcmp(cmd, "/crash", true) == 0) //2606
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx); //2610
    if(!strlen(tmp)) //2611
    {
    SendClientMessage(playerid, Gelb, "Benutze: /crash [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp); //2616
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid != playerid && Untouchable[giveplayerid]) return SendClientMessage(playerid, COLOR_GREY, "* Du kannst es an diesem Spieler nicht benutzen!");
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(giveplayerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    format(string, sizeof(string), "Du hast %s (%d)'s Spiel gecrasht", giveplayer,giveplayerid);
    SendClientMessage(playerid,COLOR_DBLUE, string);
    return 1;
    }
    else
    {
    format(string, sizeof(string), "** Unbekannter Spieler!", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    }
    else
    {
    format(string, sizeof(string), "** Du hast nicht den nötigen Rang dazu, um diesen Befehl zu benutzen!", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }[/pwn]
    Mfg Mike
  • Hallo Mike,
    Sorry wenn ich dir so reinrassel aber ich hasse strcmp... ;)
    Ich scripte dir das mal auf OCMD und damit ist es eigentlich richtig:
    [pwn]ocmd:crash(playerid, params[])
    {
    new pID;
    if(sscanf(params, "u", pID))
    return SendClientMessage(playerid, Gelb, "/crash [playerid/PartOfName]");
    if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(pID != playerid && Untouchable[pID]) return SendClientMessage(playerid, COLOR_GREY, "* Du kannst es an diesem Spieler nicht benutzen!");
    {
    new Spieler[MAX_PLAYER_NAME], string[100];
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    format(string, sizeof(string), "Du hast %s (%d)'s Spiel gecrasht", Spieler, pID);
    SendClientMessage(playerid, COLOR_DBLUE, string);
    }
    else {
    SendClientMessage(playerid, COLOR_GRAD1, "Unbekannter Spieler!");
    }
    else {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht den nötigen Rang dazu, um diesen Befehl zu nutzen!");
    }
    }
    return 1;
    }[/pwn]

    Damit geht es, ich hoffe ich konnte dir helfen.
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • [pwn]Zeile (1544) : Unbekannte Variable : "PlayerInfo"
    Zeile (1544) : Befehl hat keinen Sinn
    Zeile (1544) : Erwartete Zeichen ";", aber gefunden "]"
    Zeile (1544) : Ungültiger Befehl
    Zeile (1544) : Zuviele Fehler in einer Zeile[/pwn]

    Wen ich die Variable dazu mache: new PlayerInfo;

    [pwn]Zeile (1545) : Ungültiges Array (kein Array?): "PlayerInfo"
    Zeile (1545) : Befehl hat keinen Sinn
    Zeile (1545) : Erwartete Zeichen ";", aber gefunden "]"
    Zeile (1545) : Ungültiger Befehl
    Zeile (1545) : Zuviele Fehler in einer Zeile[/pwn]
    Mfg Mike
  • Tut es immer noch nicht :(

    [pwn]Zeile (1285) : Variable "Spieler" wurde mehrmals deklariert
    Zeile (1288) : Falscher Variablentyp als Parameter (Parameter #1)
    Zeile (1288) : Falscher Variablentyp als Parameter (Parameter #1)
    Zeile (1289) : Falscher Variablentyp als Parameter (Parameter #1)
    Zeile (1285) : Unbenutzte Variable: "Spieler"
    Zeile (1549) : Unbekannte Variable : "Untouchable"
    Zeile (1549) : Befehl hat keinen Sinn
    Zeile (1549) : Erwartete Zeichen ";", aber gefunden "]"
    Zeile (1549) : Ungültiger Befehl
    Zeile (1549) : Zuviele Fehler in einer Zeile[/pwn]
    Mfg Mike
  • Jetzt sagt der mir 26 Errors...

    Wo ist hier ein Klammerfehler?!?!


    [pwn]ocmd:crash(playerid, params[])
    {
    new pID;
    if(sscanf(params, "u", pID))
    return SendClientMessage(playerid, Gelb, "/crash [playerid/PartOfName]");
    if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(pID != playerid &&) return SendClientMessage(playerid, Gelb, "* Du kannst es an diesem Spieler nicht benutzen!");
    {
    new Spieler[MAX_PLAYER_NAME], string[100];
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    format(string, sizeof(string), "Du hast %s (%d)'s Spiel gecrasht", Spieler, pID);
    SendClientMessage(playerid, COLOR_DBLUE, string);
    }
    else {
    SendClientMessage(playerid, COLOR_GRAD1, "Unbekannter Spieler!");
    }
    else {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht den nötigen Rang dazu, um diesen Befehl zu nutzen!");
    }
    }
    }
    return 1;
    }[/pwn]
    Mfg Mike
  • Meines Erachtens ist da wohl ein Klammerfehler.

    [pwn]ocmd:crash(playerid, params[])
    {
    new pID;
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid, Gelb, "/crash [playerid/PartOfName]");
    if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(pID != playerid &&) return SendClientMessage(playerid, Gelb, "* Du kannst es an diesem Spieler nicht benutzen!");
    {
    new Spieler[MAX_PLAYER_NAME], string[100];
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    format(string, sizeof(string), "Du hast %s (%d)'s Spiel gecrasht", Spieler, pID);
    SendClientMessage(playerid, COLOR_DBLUE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Unbekannter Spieler!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht den nötigen Rang dazu, um diesen Befehl zu nutzen!");
    }
    }
    return 1;
    }[/pwn]
  • [pwn]if(pID != playerid &&)[/pwn]Macht keinen sinn, wegen den && am ende^^
    Ich würds so machen:
    [pwn]ocmd:crash(playerid, params[])
    {
    if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht den nötigen Rang dazu, um diesen Befehl zu nutzen!");
    new pID;
    if(sscanf(params, "u",pID)) return SendClientMessage(playerid, Gelb, "/crash [playerid/PartOfName]");
    if(!IsPlayerConnected(pID) || pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD1, "Unbekannter Spieler!");
    ApplyAnimation(pID, "GANG", "DRUGS_BUY", 10, 0, 0, 0, 0, 5*1000);
    new Spieler[MAX_PLAYER_NAME], string[100];
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    format(string, sizeof(string), "Du hast %s (%d)'s Spiel gecrasht", Spieler, pID);
    SendClientMessage(playerid, COLOR_DBLUE, string);
    return 1;
    }[/pwn]