Frage zu meinen Totensystem das nicht gehen will.

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 Leute
    Ich habe mal etwas gescriptet.
    Ich wollte das der Spieler wenn er stirbt auf den Boden liegenbleibt.
    Also , wenn man stribt soll man nicht spawnen sondern soll da bleiben wo man ist und man liegt da solange bist dich einer Revivet
    Ich habe Folgendes geamacht.
    Warte ich zeige es gleich.
    Wer mir helfen möchte bitte in Skype Adden .
    pro_gamer38


    So
    ich habe folgendes.


    new tod[MAX_PLAYERS],Float:x[MAX_PLAYERS],Float:y[MAX_PLAYERS],Float:z[MAX_PLAYERS];
    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);
    }
    }

    ocmd:wiederbeleben(playerid,params[])
    {
    new pid;
    if(sscanf(params,"u",pid))return SendClientMessage(playerid,rot,"Benutzung : /wiederbeleben [ID]");
    if(tod[pid]==1)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,x[pid],y[pid],z[pid]))
    {
    TogglePlayerControllable(pid,1);
    SetPlayerHealth(pid,50);
    GivePlayerMoney(playerid,50);
    GivePlayerMoney(pid,50);
    tod[pid]=0;
    }
    }
    return 1;
    }
    ocmd:heilen(playerid,params[])
    {
    new Float:Leben;
    if(sscanf(params,"f",Leben))return SendClientMessage(playerid,rot,"Benutzung : /heilen [Anzahl an Hp]");
    if(Leben >0 && Leben <= 100)
    {
    new string[100];
    format(string,100,"Du hast deine Leben auf %f gesetzt",Leben);
    SendClientMessage(playerid,rot,string);
    SetPlayerHealth(playerid,Leben);
    }
    return 1;
    }
    forward todtimer(playerid);


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


    Ich spawne aber trotzdem wenn ich tod bin Warum ?


    Scripter von LoE

  • Du hast vergessen bei OnPlayerSpwan:
    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);
    }
    return 1;
    }
    weil er sonst bei der Normalen Position Respwant :!:


    Mfg
    x.X-Daniel-X.x

    SA:MP Projekt Geplant!

  • Tatsächlich
    Ich wollte ja das man auf den Boden liegenbleibt.
    Wenn man jetzt stirbt, bleibt man genau da wo man ist.
    Also ich bin mal so gestorben.
    Und dann bin ich auf der Position geblieben da wo ich mich gekillt habe, aber ich habe dann nicht da gelegen, sondern,
    ich konnte da weitermachen wo ich aufgehört habe.
    Mein Leben wurde da wieder auf 100 gesetzt wo ich gestorben bin.
    Ich will aber solange da liegen bleiben bis mich ein Medic Revivet


    Scripter von LoE

    Einmal editiert, zuletzt von Deathman ()

  • Es ist zwar ein altes Thema aber dieses Thema interessiert mich auch, bei mir respawnt er direkt aber ich will das er liegen bleibt

  • Habe da mal was geschrieben, habs aber leider nicht getestet, sollte aber funktionieren.


  • Habe da mal was geschrieben, habs aber leider nicht getestet, sollte aber funktionieren.


    Danke dir hab es auf ein totes system angepasst und funktioniert genau so wie ich es mir dachte :)

  • @hav0K~
    In deinen beiden Befehlen musst du bei "DeathPos" das "playerid" jeweils zu "pID" (mit ID) bzw. "i" (ohne ID) tauschen. ;)

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