Überprüfen von wem der Spieler getötet wurde

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
  • Könnte mir einer sagen wie ich überprüfe ob ein Spieler von wem getötet wurde? Kriegs nicht hin.


    Also soll dann so funktionieren Ich gehe zu nem Spieler hin mache /LK (lastkill)
    und dann steht dort "Blabla wurde gekillt von [Name] "


    wäre total nett wenn ihr das hin bekommt

  • Alles klar, habe es nun reingepackt..
    Aber ich muss ja nun irgendwie das zum Aufrufen bekommen..
    Wie kann ich es am besten machen das er dann das checkt wer ihn getötet hat..



    Also müsste nun ein neuer Befehl unter onplayercommand


    /Lk
    -> ??? (Also hier muss dann irgendetwas hin das mich dann weiterleitet zum onplayerdeath script wo das dann angezeigt wird... hoffe verstehst das wie ich es meine ^^

  • Du musst ne Variable machen, und das Ergebnis dann speichern. z.B. du machst eine Variable bei OnPlayerDeath rein mit LastKill[playerid] = GetPlayerName(killerid);
    und dann bei /lk machst du SendClientMessage mit LastKill[playerid] rein. (zuvor String formatieren)

  • Soweit bin ich nicht, kaum was verstanden ;) Bin wieder am Scripten das lezte mal ewig her und nun kenne ich kaum noch etwas...
    nunja, Also habs momemtan so



    if(IsPlayerConnected(playerid) && PlayerInfo[playerid][pTot] == 1 && IsPlayerInRangeOfPoint(playerid,5.0,PlayerInfo[playerid][pTx],PlayerInfo[playerid][pTy],PlayerInfo[playerid][pTz] &&( PlayerInfo[playerid][pMember] == 21||PlayerInfo[playerid][pLeader] == 21)) // Search
    {
    new pname[256];
    GetPlayerName(playerid, pname, 256);
    format(string, 256, "Du checkt wer %s getötet hat ,",pname);
    SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    format(string,128," %s tötete %s ",killer,name);
    SendClientMessage(8, COLOR_YELLOW, string);
    return 1;



    if(strcmp(cmd, "/Lastkill", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,3465.1040,748.1691,22.0099))
    {

    // ???? I.wie etwas damit er dahinten den müll aufruft um den killer zufinden
    }
    return 1;
    }

  • new Lastkilled;
    OnPlayerDeath(playerid, killerid, reason)
    [
    Lastkilled = killerid;


    OnPlayerDisconnect(playerid)
    {
    if(Lastkilled == killerid) Lastkilled = -1;


    if(strcmp(cmd, "/Lastkill", true) == 0)
    {
    if(Lastkilled == -1) return SendClientMessage(playerid, farbe, "Killer ist offline");
    new name[MAX_PLAYER_NAME];
    GetPlayerName(Lastkilled,name,sizeof(name));
    format(string,sizeof(string,"Killer: %s",name);
    SendClientMessage(playerid, farbe, string);

  • jedoch Joel ist dir eigentlich eh klar, dass die killerid nicht immer die von richtigem Spieler ist, da leider Samp in der Stelle bissl buggt ^^.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!