Brauche Hilfe bei /lastkill

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
  • Hey Leute,
    Ich habe ein Problem bei folgendem Befehl:

    if(strcmp("/lastkill", cmd, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_BENUTZETEXT, "Benutze: /lastkill [SpielerName/ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
    {
    return 1;
    }
    format(string,sizeof(string),"%s wurde zuletzt von %s gekillt.", PlayerName(giveplayerid), PlayerName(lastkillid)); //Zeile 22688
    SendClientMessage(COLOR_YELLOW, 1, string);
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_KEINADMIN, "*** INFO: Dies ist ein Adminbefehl, du bist kein Admin.");
    }
    }
    return 1;
    }


    Error:

    Code
    (22688) : error 035: argument type mismatch (argument 1)


    Habe ganz oben im Script

    new lastkillid[MAX_PLAYERS];

    und unter Onplayerdeath

    lastkillid[playerid] = killerid;

    Könnt ihr mir helfen?
    MFG.
    Luis

  • Dann musst du auch z.B [playerid] reinschreiben!


    format(string,sizeof(string),"%s wurde zuletzt von %s gekillt.", PlayerName(giveplayerid), PlayerName(lastkillid)); //Zeile 22688


    zu:


    format(string,sizeof(string),"%s wurde zuletzt von %s gekillt.", PlayerName(giveplayerid), PlayerName(lastkillid[giveplayerid])); //Zeile 22688

  • Ich an deiner Stelle würde es lieber so machen:
    new lastkillid[MAX_PLAYER_NAME];


    OnPlayerDeath
    format(lastkillid[playerid],MAX_PLAYER_NAME,"%s",PlayerName(playerid));


    Abfrage:
    format(string,sizeof(string),"%s wurde zuletzt von %s gekillt.", PlayerName(giveplayerid), lastkillid[giveplayerid]);


    Das hat den Vorteil, wenn der Spieler disconnected ( den der Spieler getötet hat ), dass dann der Name trotzdem steht

  • Das ergibt gar keinen sin ;)


    new lastkillid[MAX_PLAYER_NAME];


    Du hast daraus einen string gemacht!


    format(lastkillid[playerid],MAX_PLAYER_NAME,"%s",PlayerName(playerid));


    Und dann verwendest du es als normale MAX_PLAYER Variable, sinnlos :love: