Deathscript // Injured
#1

So I got a script that make you laydown where you either wait for a medic to help you or /accept death.

But When my HP gets to 0 and I die. I respawn but I respawn at the last position I logged out. So if I logged out at Jefferson motel, I spawn at jefferson motel. If I then die at Idlewood, the script send me back in deathmode at Jefferson motel.

So could anyone help me find out whats wrong?

Also if you need something from the script to help me, out just ask me.
Deathscript

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if (IsPlayerNPC(playerid))
	    return 1;

	new vehicleid = GetPlayerVehicleID(playerid);

	if (newstate == PLAYER_STATE_WASTED && PlayerData[playerid][pJailTime] < 1)
	{
	    for (new i = 34; i < 39; i ++) {
			PlayerTextDrawHide(playerid, PlayerData[playerid][pTextdraws][i]);
	    }
	    PlayerTextDrawHide(playerid, PlayerData[playerid][pTextdraws][82]);

	    ShowHungerTextdraw(playerid, 0);
	    PlayerData[playerid][pHealth] = 100.0;

	    ResetWeapons(playerid);
	    ResetPlayer(playerid);

	    PlayerData[playerid][pKilled] = 1;

	    if (!PlayerData[playerid][pInjured])
		{
	        PlayerData[playerid][pInjured] = 1;
			
	        PlayerData[playerid][pInterior] = GetPlayerInterior(playerid);
	    	PlayerData[playerid][pWorld] = GetPlayerVirtualWorld(playerid);

	    	GetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
	    	GetPlayerFacingAngle(playerid, PlayerData[playerid][pPos][3]);
		}
Код:
public OnPlayerSpawn(playerid)
{
    // Skill levels
	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 0);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 0);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 0);

	if (PlayerData[playerid][pHUD])
	{
	 	TextDrawShowForPlayer(playerid, gServerTextdraws[0]);
		TextDrawShowForPlayer(playerid, gServerTextdraws[1]);
	}
    SetPlayerSkin(playerid, PlayerData[playerid][pSkin]);
    Streamer_ToggleIdleUpdate(playerid, true);

	PlayerData[playerid][pKilled] = 0;

    if (PlayerData[playerid][pBleeding])
	{
 		PlayerData[playerid][pBleedTime] = 1;
   	}
	if (PlayerData[playerid][pJailTime] > 0)
	{
	    if (PlayerData[playerid][pPrisoned])
	    {
	        SetPlayerInPrison(playerid);
	    }
	    else
	    {
		    SetPlayerPos(playerid, 197.6346, 175.3765, 1003.0234);
		    SetPlayerInterior(playerid, 3);

		    SetPlayerVirtualWorld(playerid, (playerid + 100));
		    SetPlayerFacingAngle(playerid, 0.0);

		    SetCameraBehindPlayer(playerid);
		}
		ResetWeapons(playerid);

		PlayerTextDrawShow(playerid, PlayerData[playerid][pTextdraws][70]);
	    SendServerMessage(playerid, "You have %d seconds of remaining jail time.", PlayerData[playerid][pJailTime]);
	}
	else if (PlayerData[playerid][pHospital] != -1)
	{
	    PlayerData[playerid][pHospitalTime] = 0;

	    PlayerData[playerid][pHunger] = 50;
	    PlayerData[playerid][pThirst] = 50;

		SetPlayerInterior(playerid, 3);
		SetPlayerVirtualWorld(playerid, playerid + 100);

		SetPlayerPos(playerid, -211.0370, -1738.6848, 676.7153);
		SetPlayerFacingAngle(playerid, 82.0000);

		SetPlayerCameraPos(playerid, -214.236602, -1738.812133, 676.648132);
		SetPlayerCameraLookAt(playerid, -203.072738, -1738.656127, 675.768737);

        ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
        ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);

		GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~Recovering... 15", 1000, 3);
		TogglePlayerControllable(playerid, 0);
	}
	else if (!PlayerData[playerid][pCreated])
	{
    	TogglePlayerControllable(playerid, 0);
		SetPlayerPos(playerid, 216.8005, -99.8691, 1005.2578);
    	SetPlayerFacingAngle(playerid, 90.0000);

  		SetPlayerInterior(playerid, 15);
		SelectTextDraw(playerid, -1);

		for (new i = 23; i < 34; i ++) {
		    PlayerTextDrawShow(playerid, PlayerData[playerid][pTextdraws][i]);
		}
	}
	else
	{
	    SetPlayerFacingAngle(playerid, PlayerData[playerid][pPos][3]);

	    SetPlayerInterior(playerid, PlayerData[playerid][pInterior]);
	    SetPlayerVirtualWorld(playerid, PlayerData[playerid][pWorld]);

		SetCameraBehindPlayer(playerid);
		SetAccessories(playerid);

        if (PlayerData[playerid][pWorld] == PRISON_WORLD)
		{
		    SetPlayerPosEx(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
		}
		else
		{
		    if(PlayerData[playerid][pSpawnPoint] == 3 && PlayerData[playerid][pInjured] == 0)
			{
				SetPlayerPos(playerid, PlayerData[playerid][pPos][0], PlayerData[playerid][pPos][1], PlayerData[playerid][pPos][2]);
			}
		}
		if (PlayerData[playerid][pInjured])
		{
		    ShowHungerTextdraw(playerid, 0);

			TextDrawShowForPlayer(playerid, gServerTextdraws[2]);
			SendClientMessage(playerid, COLOR_LIGHTRED, "[WARNING]:{FFFFFF} You are injured and require medical attention (/call 911).");

			ApplyAnimation(playerid, "CRACK", "null", 4.0, 0, 0, 0, 1, 0, 1);
			ApplyAnimation(playerid, "CRACK", "crckdeth4", 4.0, 0, 0, 0, 1, 0, 1);
		}
		else
		{
			SetWeapons(playerid);
			ShowHungerTextdraw(playerid, 1);

			SetPlayerHealth(playerid, PlayerData[playerid][pHealth]);
			SetPlayerArmour(playerid, PlayerData[playerid][pArmorStatus]);
		}
	}
	return 1;
}
Reply


Messages In This Thread
Deathscript // Injured - by Jennifer - 11.11.2014, 15:46
Re: Deathscript // Injured - by Blademaster680 - 11.11.2014, 22:28
Re: Deathscript // Injured - by Jennifer - 11.11.2014, 23:25
Re: Deathscript // Injured - by Jennifer - 12.11.2014, 12:29

Forum Jump:


Users browsing this thread: 2 Guest(s)