Was mache ich falsch beim KH-Respawn!?

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,
    irgendwas mache ich falsch an meinem KH-Respawn:

    public OnPlayerDeath(playerid, killerid, reason)
    {


    SendClientMessage(playerid,COLOR_RED,"Du bist gestorben und im Krankenhaus respawnt.");
    SetPlayerPos(playerid,-320.4219,1048.2454,20.3403);//noch fehlerhaft


    WEnn ich sterbe, werde ich zum KH geportet, falle dort auf den Boden, und werde dann am noobspawn respawnt..
    Die message kommt schön, wie es auch soll an, aber der "Respawn" an sich klappt nicht..
    Was ist falsch!?


    MfG
    hundi

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017

  • Erstell eine Abfrage dessen Wert du vorher auf 1 oder beliebig auf andere Zahl gesetzt hast.
    Nach diesem Schritt fragst du unter OnPlayerSpawn ab ob der Spieler eben den Wert einer Abfrage 1 oder 0 hat, falls 1 wird er gespawnt falls 0 Wird er nicht gespawn.


    Viel Spaß beim machen.


    lg


    pS

  • Hmmh..
    nun falle ich iwie gar nichtmehr um, werde zum KH geportet
    Timer mit 10 sek. freezt(Behandlung)
    Und spawne dannach wieder am noobspawn :D


    Ist dsa selbe nur mit Timer,oder!?
    Und ich habe es genau so gemacht wie HIER

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017

  • Du machst oben irwo


    new Tod[MAX_PLAYERS];

    unter OnPlayerDeath machst du


    Tod[playerid] = 1;

    unter OnPlayerSpawn machst du


    if(Tod[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED,"Du wirst behandelt");



    //freezen


    //Timer setzen
    }

    Nach dem Timer auflösen


    //entfreezen
    //Pos setzen.


    lg


    #PsyNet


  • new Tot[MAX_PLAYERS];//Ganz oben


    //OnPlayerDeath


    Tot[playerid] = 1;


    //OnPlayerSpawn


    if(Tot[playerid] == 1)
    {
    SetPlayerPos(playerid, x,y,z); // Vom KH
    // Evtl.noch die Camera auf das KH richten per SetPlayerCameraPos, SetPlayerCameraLookAt
    SetTimerEx("Krankenhaus",60000,0,"%i", playerid);
    SendClientMessage(playerid,*farbe,"Du bist nun 60 Sekunden im Krankenhaus.");
    return 1;
    }


    public Krankenhaus(playerid)
    {
    SpawnPlayer(playerid);
    SendClientMessage(playerid,*farbe,"Du bist aus dem Krankenhaus entlassen.");
    Tot[playerid] = 0;
    return 1;
    }


    // Natürlich kannst du noch die Zeit ändern, und einstellen dass er Geld verliert usw



    Ich hoffe ich konnte helfen.


    //Edit


    Variable muss noch zurück gesetzt werden :rolleyes:

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Soo...
    Das habe ich alles gemacht.
    Gefreezt:
    TogglePlayerControllable(playerid, 0);
    Timer mit
    SetTimerEx("???",10000,0,"%i", playerid);


    Frage: Was muss in "???" rein!?


    Zitat

    Nach dem Timer auflösen

    Wie löse ich einen Timer auf?

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017

  • public OnPlayerSpawn(playerid)


    if(Tot[playerid] == 1)
    {
    SetPlayerPos(playerid,-320.9684,1048.2396,20.3403); // Vom KH
    // Evtl.noch die Camera auf das KH richten per SetPlayerCameraPos, SetPlayerCameraLookAt
    SetTimerEx("Krankenhaus",10000,0,"%i", playerid);
    SendClientMessage(playerid,COLOR_GREEN,"Du bist nun 10 Sekunden im Krankenhaus.");
    return 1;
    }


    public Krankenhaus(playerid)
    {
    SpawnPlayer(playerid);
    SendClientMessage(playerid,COLOR:GREEN,"Du bist aus dem Krankenhaus entlassen.");
    Tot[playerid] = 0;
    return 1;
    }


    return 1;
    }


    !?
    so
    !?

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017