"Todes"system Bug

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 ^^


    Hab nen kleinen Bug , undzwar wenn man stirbt , soll man ins Krankenhaus kommen - klappt soweit.
    Jedoch wird man manchmal ~3-4 Sekunden nach dem "Einliefern" ins Krankenhaus entlassen , kann auch rumlaufen etc , und nach der Wartezeit kommt der Dialog!



    OnPlayerDeath
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    dini_FloatSet(Spieler,"TotX",x);
    dini_FloatSet(Spieler,"TotY",y);
    dini_FloatSet(Spieler,"TotZ",z);
    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);
    SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,Weiss,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");
    SendClientMessage(playerid,Weiss,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Im Durchschnitt");
    SendClientMessage(playerid,Weiss,"dauert die Untersuchung 30 Sekunden.");
    SendClientMessage(playerid,Weiss,"|_____________________|");
    SetTimerEx("tot",30000,0,"i",playerid);
    }


    public tot(playerid)
    {
    ShowPlayerDialog(playerid,Dialog_todesfrage,DIALOG_STYLE_MSGBOX,"Entlassen","Du wirst in kürze aus dem Krankenhaus entlassen\nund die Sanitäter fragen dich , ob sie dich \nzu deiner Unfallstelle bringen sollen.\n Dies kostet allerdings 1500$ mehr als sonst!\nWähle 'Unfall' , um zu deinem Unfallsort gebracht zu werden\nOder wähle 'Hier' , um vor dem Krankenhaus entlassen zu werden.","Unfall","Hier");
    }


    if(dialogid==Dialog_todesfrage)
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    if(response==1)
    {
    SetPlayerPos(playerid, dini_Float(Spieler,"TotX"),dini_Float(Spieler,"TotY"),dini_Float(Spieler,"TotZ")); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
    SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
    aGivePlayerMoney(playerid, -2000); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
    SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,Weiss,"Du wurdest von den Sanitätern zu deinem Unfalls-");
    SendClientMessage(playerid,Weiss,"ort gebracht.");
    SendClientMessage(playerid,Weiss,"Kosten der Behandlung: 500$");
    SendClientMessage(playerid,Weiss,"Kosten des Transports: 1500$");
    SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
    }
    if(response==0)
    {
    SetPlayerPos(playerid,1182.5331,-1324.3885,13.5793); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
    SetPlayerFacingAngle(playerid,270.8170);
    SetCameraBehindPlayer(playerid);
    SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
    aGivePlayerMoney(playerid, -500); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
    SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,Weiss,"Du wurdest entlassen.");
    SendClientMessage(playerid,Weiss,"Kosten der Behandlung 500$");
    SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
    }
    }