OnPlayerdeath Frage

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 ich habe eine Frage unzwar wie ich es mache das die info wieder auf 0 gestellt wird
    hier mein Code


    In Moment habe ich es so aber bekomme einen Error. : error 033: array must be indexed (variable "giveplayer")


    if (PlayerInfo[killerid][pMember] == 5 || PlayerInfo[killerid][pLeader] == 5)
    {
    if(PlayerInfo[playerid][lcnbl]==1)
    {
    new giveplayer[MAX_PLAYER_NAME];
    new killstr[256];
    GetPlayerName(playerid,giveplayer,sizeof(giveplayer));
    format(killstr,sizeof(killstr),"%s hat %s getötet",killerid,giveplayer);
    SendFamilyMessage(5, COLOR_YELLOW, killstr);
    PlayerInfo[giveplayer][lcnbl] = 0; // Hier kommt ein Error
    return 1;
    }
    }

  • if (PlayerInfo[killerid][pMember] == 5 || PlayerInfo[killerid][pLeader] == 5)
    {
    if(PlayerInfo[playerid][lcnbl]==1)
    {
    new giveplayer[MAX_PLAYER_NAME];
    new killstr[256];
    GetPlayerName(playerid,giveplayer,sizeof(giveplayer));
    format(killstr,sizeof(killstr),"%s hat %s getötet",killerid,giveplayer);
    SendFamilyMessage(5, COLOR_YELLOW, killstr);
    PlayerInfo[playerid][lcnbl] = 0; // giveplayer ist ein String der den Namen beinhaltet, playerid ist hier richtig
    return 1;
    }
    }

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • if (PlayerInfo[killerid][pMember] == 5 || PlayerInfo[killerid][pLeader] == 5)
    {
    if(PlayerInfo[playerid][lcnbl]==1)
    {
    new giveplayer[MAX_PLAYER_NAME];
    new killstr[256];
    GetPlayerName(playerid,giveplayer,sizeof(giveplayer));
    format(killstr,sizeof(killstr),"%s hat %s getötet",killerid,giveplayer);
    SendFamilyMessage(5, COLOR_YELLOW, killstr);
    PlayerInfo[playerid][lcnbl] = 0; // giveplayer ist ein String der den Namen beinhaltet, playerid ist hier richtig
    return 1;
    }
    }



    Ich habe hier noch ein Problem unzwar
    WEnn ich den gekillt habe dann steht da .... Hat test getötet diese ----> ...... sollte ein Namen sein aber es wird keiner angezeigt nur von dem Spieler der gestorben ist

  • Hallo,
    if (PlayerInfo[killerid][pMember] == 5 || PlayerInfo[killerid][pLeader] == 5)
    {
    if(PlayerInfo[playerid][lcnbl]==1)
    {
    new giveplayer[MAX_PLAYER_NAME], killer[MAX_PLAYER_NAME];
    new killstr[256];
    GetPlayerName(playerid,giveplayer,sizeof(giveplayer));
    GetPlayerName(killerid,killer,sizeof(killer));
    format(killstr,sizeof(killstr),"%s hat %s getötet",killer,giveplayer);
    SendFamilyMessage(5, COLOR_YELLOW, killstr);
    PlayerInfo[playerid][lcnbl] = 0; // giveplayer ist ein String der den Namen beinhaltet, playerid ist hier richtig
    return 1;
    }
    }


    Dieser Code müsste funktionieren.


  • Ok danke Vincent P. und wie mache ich es jetz das an dem Opfer ein eine Nachricht gesendet wird


    SendClientMessage(giveplayer,COLOR_YELLOW,"TOT"); // Giveplayer funktioniert nicht da kommt ein error


    error 035: argument type mismatch (argument 1)

  • Bitte merke dir folgendes für OnPlayerDeath:

    • playerid = Spieler der getötet worden ist
    • killerid = Der Mörder der playerid


    Dementsprechend:
    SendClientMessage(playerid,COLOR_YELLOW,"TOT");


    Grüße.