Mein Totensystem buggt wieder

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
  • Hallo
    Ich hab ein kleines Problem.
    Ich habe gescriptet. Mein Totensystem.
    In mein Selfmade Script. Ich will das wenn der spieler stirbt auf den Boden liegen bleibt.
    Bei mir bleibt er aber nicht auf den Boden liegen.
    Er wird da gespawnt wo er gestorben ist , aber lebendig.
    Bitte um Hilfe.


    public OnPlayerDeath(playerid, killerid, reason)
    {
    tod[playerid] = 1;
    if(tod[playerid] ==1)
    {
    new Float:xx,Float:yy,Float:zz;
    GetPlayerPos(playerid,xx,yy,zz);
    x[playerid] = xx;
    y[playerid] = yy;
    z[playerid] = zz;
    SetTimerEx("todtimer",3000,false,"i",playerid);
    }
    }

    forward todtimer(playerid);


    public todtimer(playerid)
    {
    SetPlayerPos(playerid,x[playerid],y[playerid],z[playerid]);
    return 1;
    }


    Scripter von LoE

  • Klassse.
    Dann ist ja trotzdem das Leben voll.
    Ich brauch den Anim wenn der spieler gefreezt ist.
    Ich frage den Scripter die perfeckt sind.
    Ich möchte das der spieler den Hp auf 0 Hat da


    Scripter von LoE

  • Ja du must SetPlayerAnim oder so machen


    :fp:


    Mein OnPlayerDeath sieht so aus und funzt auch soweit:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    //Anderes unnötiges
    return 1;
    }


    Versuch ggf. mal alles rauszukommentieren (via /* text */) außer das, was ich hier geschrieben habe.

  • public OnPlayerSpawn(playerid)
    {
    if(tod[playerid] ==1)
    {
    new Float:xx = x[playerid];
    new Float:yy = y[playerid];
    new Float:zz = z[playerid];
    SetPlayerPos(playerid,xx,yy,zz);
    }
    if(GetPVarInt(playerid,"Banned") == 1)
    {
    SendClientMessage(playerid,rot,"Du bist gebannt!");
    Kick(playerid);
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    tod[playerid] = 1;
    if(tod[playerid] ==1)
    {
    new Float:xx,Float:yy,Float:zz;
    GetPlayerPos(playerid,xx,yy,zz);
    x[playerid] = xx;
    y[playerid] = yy;
    z[playerid] = zz;
    SetTimerEx("todtimer",3000,false,"i",playerid);
    }
    }
    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    Scripter von LoE


  • public OnPlayerDeath(playerid, killerid, reason)
    {
    /*tod[playerid] = 1;
    if(tod[playerid] ==1)
    {
    new Float:xx,Float:yy,Float:zz;
    GetPlayerPos(playerid,xx,yy,zz);
    x[playerid] = xx;
    y[playerid] = yy;
    z[playerid] = zz;
    SetTimerEx("todtimer",3000,false,"i",playerid);
    }*/
    return 1;
    }


    Test das mal, falls es immernoch so ist, dann ists extern und nicht aus dem Script, vllt aus einem Filterscript?


    Falls es dann funktioniert, dann fehlt nur das "return 1;" bei dir am Ende.

  • Ich habe es rausgenommen.
    So jetzt werde ich am Spawnpunkt nach Tod gespawnt.
    Das will ich aber auchnicht.
    Ich will das ich da bleibe wo ich bin wenn ich sterbe und dann da tod liege das ein medic kommen muss


    Scripter von LoE


  • public OnPlayerSpawn(playerid)
    {
    if(tod[playerid] ==1)
    {
    SetPlayerPos(playerid,x[playerid],y[playerid],z[playerid]);
    return 1;
    }
    if(GetPVarInt(playerid,"Banned") == 1)
    {
    SendClientMessage(playerid,rot,"Du bist gebannt!");
    Kick(playerid);
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen