Killer Name anzeigen

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 also ich hätte eine Frage an euch ich hab etwas kleines gescriptet, dass wenn der Spieler der getötet wurde eine Nachricht erhaltet mit dem Inhalt "Du wurdest getötet und hast somit $400 verloren"
    Und bei den Killer erscheint eine Nachricht "Du hast jemanden getötet und erhaltest somit $500"


    Das ganze funktioniert aber ich möchte das auch der Spielername angezeigt wird, also "Du wurdest von %s getötet und hast somit $400 verloren"...
    Aber wenn jemand getötet wird stürzt mein ganzer Server ab..





    public OnPlayerDeath(playerid, killerid, reason)
    {
    GivePlayerMoney(playerid,-400);
    GivePlayerMoney(killerid,300);
    SendClientMessage(killerid,Blau,"Du wurdest von %s getötet und hast somit $400 verloren");
    SendClientMessage(playerid,Blau,"Du hast %s getötet und erhaltest somit $300");
    return 1;
    }


    wo ist hier denn der Fehler ? Danke im Voraus.

  • Du darfst bei Versionen unter 0.3b kein "%" in SendClientMessages haben, sonst crasht der Server. In späteren Versionen wird es durch ein Leerzeichen ersetzt.


    Benutze stattdessen format:

    public OnPlayerDeath(playerid, killerid, reason)
    {
    GivePlayerMoney(playerid,-400);
    GivePlayerMoney(killerid,300);
    new string1[128];
    new string2[128];
    format(string1,sizeof(string1),"Du wurdest von %s getötet und hast somit $400 verloren",killerid);
    SendClientMessage(playerid,Blau,string1); //PlayerID wird getötet, nicht Killerid!
    format(string2,sizeof(string2),"Du hast %s getötet und erhältst somit $300",playerid);
    SendClientMessage(killerid,Blau,string2);


    return 1;
    }

  • erstmal danke :) aber ich scripte derzeit mit Version 0.3b


    Also jetzt habe ich jemanden gekillt und da erscheint bei mir nur eien Nachricht "Du wurdest von getötet"


    Also der Spielername erscheint immer noch nicht ?( ?(

  • Bloody hat es auch einfach nicht darauf gehabt. :D


    Du musst die Spielernamen auslesen:


    GetPlayerName


    und bei den formats (Editierung der Strings) die PlayerIDs mit den PlayerNamen ersetzen. Liegt daran, dass Bloody Strings verlangt, aber Integer setzt.

  • pinguin dann wird jedoch nur angezeigt wie eine person gestorben ist und wodurch/durch wenn, aber nicht ein text so wie gewünscht.


    So sollte es gehen.
    public OnPlayerDeath(playerid, killerid, reason)
    {
    GivePlayerMoney(playerid,-400);
    GivePlayerMoney(killerid,300);
    new string1[128];
    new username[MAX_PLAYER_NAME];

    GetPlayerName(killerid,username,sizeof(username));
    format(string1,sizeof(string1),"Du wurdest von %s getötet und hast somit $400 verloren",username);
    SendClientMessage(playerid,Blau,string1); //PlayerID wird getötet, nicht Killerid!
    GetPlayerName(playerid,username,sizeof(username));
    format(string1,sizeof(string1),"Du hast %s getötet und erhältst somit $300",username);
    SendClientMessage(killerid,Blau,string);
    return 1;
    }

  • Ich glaube ihr habt meine Frage nicht verstanden...


    Sagen wir Spieler YYY Killt Spieler XXX


    Dann erhaltet Spieler YYY eine Nachricht mit dem Inhalt "Du hast Spieler XXX gekillt und somit 300$ erhalten"


    Und Spieler XXX erhaltet eine Nachricht mit dem Inhalt "Du wurdest von Spieler YYY getötet und verlierst somit 200$..


    Hab schon erstellt das der Killer und Opfer eine Nachricht erhaltet das er getötet wurde/getötet hat..aber das mit dem Spielernamen funktioniert nicht..



    //edit : Danke Sniper funktioniert endlich :)


    close

    Einmal editiert, zuletzt von Adam ()