Nach dem tot nicht im Krankenhaus :/ ?

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
  • Moin, ich habe ein kleines Problem,
    unswar sollte der Spieler nachdem er gestorben ist im Krankenhaus spawnen, doch der Spieler spawnt am aktuellen spawn und bekommt nur ne Nachricht das er behandelt wird.
    Wenn der Timer abgelaufen ist, spawnt er wieder am Spawn. So sollte es auch sein, also stimmt irgendwas nicht mit OnPlayerDeath ich zeig euch mal eben was ich da drunter habe:


    TogglePlayerControllable(playerid, 0);
    SetPlayerPos(playerid,1162.871704,-1339.109619,14.297291);
    SetPlayerCameraPos(playerid,1223.379028,-1333.354126,33.809105);
    SetPlayerCameraLookAt(playerid,1178.824829,-1325.804077,13.284119);
    SetPlayerInterior(playerid, 0);
    ClearChatbox(playerid,12);
    SendClientMessage(playerid,COLOR_RED,"|---- Krankenhaus ----|");
    SendClientMessage(playerid,COLOR_WHITE,"Du wirst gerade behandelt, dies kann seine Zeit in anspruch nehmen.");
    SetTimerEx("RespawnAfterKrankenhaus",18000,0,"i",playerid);


    So sieht bei mir unter OnPlayerDeath{ aus.
    Kann mir bitte jemand sagen wo da der Fehler ist das er nicht im Krankenhaus ist ?


    Wäre dankbar für antworten. Danke im voraus.


    Lg.

    Einmal editiert, zuletzt von Tony_Vegas ()

  • Du musst den Spieler bei OnPlayerSpawn ins Krankenhaus setzten. Dort müsstest du dann z.B. durch eine Kontrollvariable bei OnPlayerDeath einen Wert setzten, damit der Spieler nicht beim normalen Einloggen (erstes Spawnen) ins Krankenhaus kommt, welchen du dann bei OnPlayerSpawn abfragst.

  • Also


    oben im Script


    new Krankenhaus[MAX_PLAYERS];


    unter OnPlayerDeath


    Krankenhaus[playerid] = 1:


    unter OnPlayerSpawn


    if(Krankenhaus[playerid] == 1)
    {
    Was passieren soll...
    }


    Vergess nicht das die Variable bei Ablauf wieder auf 0 gesetzt werden muss..


    MFG K3VIN

  • also soll ich dann das was unter OnPlayerDeath jz ist dann unter OnPlayerSpawn zwischen denn beiden geschweiften Klammern einfügen und dann bevor return 1; di variable wieder auf 0 setzten ode unter dem RespawnAfterKrankenhaus puplic?


    lg

  • Hab jetzt genau so:
    new Krankenhaus[MAX_PLAYERS];


    forward RespawnAfterKrankenhaus(playerid);


    public OnPlayerDeath(playerid, killerid, reason)
    {


    //KRankenhaus Spawn
    Krankenhaus[playerid] = 1;



    public OnPlayerSpawn(playerid)
    {
    if(Krankenhaus[playerid] == 1)
    {
    TogglePlayerControllable(playerid, 0);
    SetPlayerPos(playerid,1162.871704,-1339.109619,14.297291);
    SetPlayerCameraPos(playerid,1223.379028,-1333.354126,33.809105);
    SetPlayerCameraLookAt(playerid,1178.824829,-1325.804077,13.284119);
    SetPlayerInterior(playerid, 0);
    ClearChatbox(playerid,12);
    SendClientMessage(playerid,COLOR_RED,"|---- Krankenhaus ----|");
    SendClientMessage(playerid,COLOR_WHITE,"Du wirst gerade behandelt, dies kann seine Zeit in anspruch nehmen.");
    SetTimerEx("RespawnAfterKrankenhaus",18000,0,"i",playerid);
    }


    public RespawnAfterKrankenhaus(playerid)
    {
    Krankenhaus[playerid] = 0;
    SpawnPlayer(playerid);
    SetPlayerHealth(playerid,45);
    GivePlayerMoney(playerid, -450);
    ClearChatbox(playerid,5);
    SendClientMessage(playerid,COLOR_WHITE,"Du wurdest aus dem Krankenhaus entlassen.");
    SendClientMessage(playerid,COLOR_WHITE,"Die kosten der Behandlung waren 450$.");
    }


    Klappt zwar, nur wenn der Spieler im Krankenhaus ist, sollte die Kamera auf das Krankhaus zeigen, tut sie aber nicht ansonsten zeigt sie normal die Spieler Kamera. Woran liegt es ?


    Lg.

    Einmal editiert, zuletzt von Tony_Vegas ()