Sterbe bug

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
  • Guten Tag


    Ich weiß nicht warum aber häufig habe ich ein bug beim sterben. ich schieße einen anderen spieler ab bis er tod ist. die deathmessage wird abgesendet und alles was unter OnPlayerDeath steht passiert.
    Jedoch sollte der spieler doch eigentlich sterben und respawnen, was er nicht immer tut. häufig bleibt er bei allen anderen auf dem boden tod liegen und bei dem getöteten spieler selbst blinkt die hp anzeige, er hat 0 hp und kann rumlaufen. alle anderen spieler neben ihn kann er angreifen, es hat aber kein effekt, da er ja bei den anderen auf dem boden liegt. erst wenn er ein 2. mal getötet wird, indem er 3-4 meter fällt, zufällig in den schuss von einem anderen reinläuft oder wie auch immer, stirbt er endgültig und wird auch respawnt.


    wie kann das sein?


    hier mein OnPlayerDeath:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    new lstr[125], hour, minute, second, year, month, day, name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name1,sizeof(name1));
    GetPlayerName(killerid,name2,sizeof(name2));
    gettime(hour,minute,second);
    getdate(year,month,day);
    SendDeathMessage(killerid,playerid,reason);
    GivePlayerMoney(killerid,100);
    GivePlayerMoney(playerid,-50);
    Update(playerid);
    if(killerid != INVALID_PLAYER_ID)
    {
    format(lstr,sizeof(lstr),"[%d.%d.%d][%d:%d] %s(%d) hat %s(%d) gekillt. Mordwaffe: %s.\r\n",day,month,year,hour,minute,name2,killerid,name1,playerid,Waffennamen[reason]);
    }
    else
    {
    format(lstr,sizeof(lstr),"[%d.%d.%d][%d:%d] %s(%d) ist gestorben. Grund: %s.\r\n",day,month,year,hour,minute,name1,playerid,Waffennamen[reason]);
    }
    AddLog("/Logs/Kills.log",lstr);
    return 1;
    }


    Ich hoffe ihr könnt mir helfen, Lags sind nicht schuld, da keine lags da sind. es ist nur ein kleines script mit 1-2 timern und wenig spielern. Ansonsten lagt es auch niergens, die Spieler kann man wunderbar treffen und muss nicht 2m neben den Spieler ziehlen.

  • Ich habe um ehrlich zu sein kaum ahnung von Scripting. Allerdings sehe ich dort nichts was das Leben beeinflust. Dort steht nur der Timer, dass jemmand Geld bekommt, der Mordgrund und dass es in ein Log geschrieben wird. Also wieso sollte der fehler dort sein, ich verstehe das nicht ganz.


    Verzeiht bitte wenn ich falsch liege.
    Kann es mir jemmand erklären?

  • ich erklärs dir: wenn man stirbt, wird das public OnPlayerDeath aufgerufen und es geschieht das was darunter steht:
    spieler bekommen geld, wird in den logs gespeichert.


    mehr passiert da nicht. nur normaler weise wird der spieler gespawnt nachdem er stirbt, was er aber net immer tut.
    das mit den SpawnPlayer finde ich kacke, weil er dann wirklich sofort spawnt wenn er getötet wird.
    ich könnte einen kleinen timer von 3 sekunden einbauen, damit die animation kommt und er dann gespawnt wird, aber verlassen kann man sich da auch nicht drauf, denn manchmal wird er ja gespawnt und in demfall würde er dann doppelt spawnen... kennt jemand das problem bzw. weiß eine lösung, auf allen anderen servern stirbt man und es kommt diese sterbe animation, dass man auf dem boden liegt, (blut verliert,) und dann so von oben rauf guckt. das ganze dauert 2-3 sekunden dann spawnt man, wie im SP auch.