Krankenhaus spackt

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
  • Hi und zwar versuche ich grade ein Krankenhaus System zu machen aber nach demm Krankenhaus fliege ich durch die Welt und auf einmal spawne ich irgendwo am Bauernhof was kan das sein?





    Zitat

    public KrankenhausTimer(playerid)//Erstellt ein Public für den Timer
    {
    SetPlayerPos(playerid,1173.0061,-1323.7950,15.3977);//Portet den Spieler unter das Krankenhaus
    SendClientMessage(playerid, COLOR_BLAU, " * Entlassen!");//Nachricht
    return 1;
    }

  • Du kannst kein SetPlayerPos bei OnPlayerDeath verwenden.


    Grund:
    Nach OnPlayerDeath wird das public OnPlayerSpawn aufgerufen.
    Also du setzt den Spieler wenn er stirbt wohin, dann respawnt er
    aber wie gehabt.


    Die Lösung:
    Du setzt eine Spielervariable auf true und fragst dann bei OnPlayerSpawn ab
    ob diese Variable true ist und dann setzt du den Spieler dahin.

  • Du setzt eine Spielervariable auf true und fragst dann bei OnPlayerSpawn ab
    ob diese Variable true ist und dann setzt du den Spieler dahin.



    Konkret heißt das:



    // ganz oben im Script:
    new bool:istspielerimkrankenhaus[MAX_PLAYERS];


    //OnPlayerDeath
    SendClientMessage(playerid, COLOR_BLAU ," * Du bist im Krankenhaus!");
    SetTimerEx("KrankenhausTimer",KRANKENHAUS_ZEIT*1000,0,"i",playerid);
    istspielerimkrankenhaus=true;


    //OnPlayerSpawn
    if(istspielerimkrankenhaus[playerid]==true)
    {
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    }


    public KrankenhausTimer(playerid)//Erstellt ein Public für den Timer
    {
    SetPlayerPos(playerid,1173.0061,-1323.7950,15.3977);
    SendClientMessage(playerid, COLOR_BLAU, " * Entlassen!");
    istspielerimkrankenhaus[playerid]=false;
    return 1;
    }