Spawn after death
#1

Hello
I want to do that if the player dies it's will send him to the hospital
sometimes it's work and sometimes it's not
if i kill other player he will just spawn at the spawn point
if the player falling from the air and dies he spawns at the hospital WTF?
how to do that?which code you need?
Reply
#2

Luckily we can see your code without you showing it ^_^
Maybe show your OnPlayerDeath & OnPlayerSpawn codes
Reply
#3

Quote:
Originally Posted by Chris_Morrison
Посмотреть сообщение
Hello
I want to do that if the player dies it's will send him to the hospital
sometimes it's work and sometimes it's not
if i kill other player he will just spawn at the spawn point
if the player falling from the air and dies he spawns at the hospital WTF?
how to do that?which code you need?
I made a script for you:

Add this on top of your script

pawn Код:
new playerDeath[MAX_PLAYERS];
Now let's get onto the main work

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    playerDeath[playerid] = 1; // This is saying that the player died.
    return 1;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
    if(playerDeath[playerid] == 1) // This is checking if the player had died previously
    {
        SetPlayerPos(playerid, X, Y, Z); // Replace X, Y, and Z With the Hospital Co-ords.
        playerDeath[playerid] = 0; // This is saying the player is not dead.
        return 1;
    }
    return 1;
}
Hopefully this helped you.
Sorry if I explained it wrong, it's just hard for me to explain.
Reply
#4

I use the same thing that the dude above me does.
  • when they die the variable is true
  • when they respawn check if the variable is true
  • if it's true, then set their position somewhere else, with a different camera pos if you would like
Note: You can also use a SetTimer function to release them.
Reply
#5

This is onplayerspawn in my gamemode(i didn't created the gamemode)
pawn Код:
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        RequestNPCLoad(playerid,npcname);
        return 1;
    }
    //SetPlayerVirtualWorld(playerid,0);
    PlayerInfo[playerid][pVirWorld] = 0;
    TogglePlayerControllable(playerid,1);
    InitLockDoors(playerid);
    STDPlayer[playerid] = 0;
    gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team
    if (gTeam[playerid] == 4) //medic / criminal reset team
    {
        gTeam[playerid] = 3;
    }
    if(gPlayerLogged[playerid] == 0)
    {
        if(!IsPlayerNPC(playerid))
        {
        SendClientMessage(playerid, COLOR_LIGHTRED, "** This server requires a Login BEFORE spawn (Kicked) **");
        KickPlayer[playerid] = 1;
        Kick(playerid);
        }
    }
    if(gTeam[playerid] == -11 && PlayerInfo[playerid][pLeader] < 1)
    {
        MedicBill[playerid] = 0;
        new rand = random(sizeof(CIV));
        SendClientMessage(playerid, COLOR_LIGHTRED, "You are not an Approved Leader, you are now a Civilian !");
        PlayerInfo[playerid][pTeam] = 3;
        gTeam[playerid] = 3;
        SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
        PlayerInfo[playerid][pModel] = CIV[rand];
        SpawnPlayer(playerid);
    }
    if(gTeam[playerid] == 5)
    {
        if(PlayerInfo[playerid][pMember] < 1)
        {
            MedicBill[playerid] = 0;
            new rand = random(sizeof(CIV));
            SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Family Member, you are now a Civilian !");
            PlayerInfo[playerid][pTeam] = 3;
            gTeam[playerid] = 3;
            SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
            PlayerInfo[playerid][pModel] = CIV[rand];
            SpawnPlayer(playerid);
        }
    }
    if(gTeam[playerid] == 10)
    {
        if(PlayerInfo[playerid][pMember] != 8)
        {
            MedicBill[playerid] = 0;
            new rand = random(sizeof(CIV));
            SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Member of this Agency, you are now a Civilian !");
            PlayerInfo[playerid][pTeam] = 3;
            gTeam[playerid] = 3;
            SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
            PlayerInfo[playerid][pModel] = CIV[rand];
            SpawnPlayer(playerid);
        }
    }
    if(gTeam[playerid] == 2 && PlayerInfo[playerid][pMember] > 3)
    {
        MedicBill[playerid] = 0;
        new rand = random(sizeof(CIV));
        SendClientMessage(playerid, COLOR_LIGHTRED, "You haven't applied for being an Officer / FBI , you are now a Civilian !");
        PlayerInfo[playerid][pTeam] = 3;
        gTeam[playerid] = 3;
        SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
        PlayerInfo[playerid][pModel] = CIV[rand];
        SpawnPlayer(playerid);
    }
    if(gTeam[playerid] == 3)
    {
        if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pLeader] > 0)
        {
            SendClientMessage(playerid, COLOR_LIGHTRED, "You are part of a Family/Force, you've been forced to the right Class + Char !");
            MedicBill[playerid] = 0;
            new model = PlayerInfo[playerid][pModel];
            if(PlayerInfo[playerid][pMember] == 1) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 2) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 3) { SetSpawnInfo(playerid, 2, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 4) { SetSpawnInfo(playerid, 1, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 1; gTeam[playerid] = 1; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pMember] == 5) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pMember] == 6) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 7) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 8) { SetSpawnInfo(playerid, 10, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 10; gTeam[playerid] = 10; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 9) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 10) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 11) { SetSpawnInfo(playerid, 12, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 12; gTeam[playerid] = 12; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 14) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 15) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pMember] == 16) { SetSpawnInfo(playerid, 5, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5; gTeam[playerid] = 5; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 1) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 2) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 3) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 4) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 5) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 6) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 7) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 8) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 9) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 10) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 11) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 14) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //else if(PlayerInfo[playerid][pLeader] == 15) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            else if(PlayerInfo[playerid][pLeader] == 16) { SetSpawnInfo(playerid, 11, model,0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 11; gTeam[playerid] = 11; PlayerInfo[playerid][pModel] = model; }
            //SetSpawnInfo(playerid, team, model,0.0,0.0,0.0,0,0,0,0,0,0,0);
            SpawnPlayer(playerid);
        }
    }
    SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
    //SetPlayerWeapons(playerid); //remove "//" if you wanna player to get his weepons back after he logs back in (this has some bugs , not recommanded to use !)
    SetPlayerSpawn(playerid);
    SetPlayerToTeamColor(playerid);
    PlayerFixRadio(playerid);
    // AFK System //
    /*new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    OldPosX[playerid] = x;
    OldPosY[playerid] = y;
    OldPosZ[playerid] = z; */

    for(new h = 0; h < PLAYERS; h++)
        if(IsPlayerConnected(h))
            if(PlayerInfo[h][pMaskuse] == 1)
                ShowPlayerNameTagForPlayer(playerid, h, 0);
            else if(PlayerInfo[h][pMaskuse] == 0)
                ShowPlayerNameTagForPlayer(playerid, h, 1);
    //------------//
    for(new i = 0; i < sizeof(Turfs); i++)
    {
        GangZoneShowForPlayer(playerid, i, TurfInfo[i][zColor]);
        return 1;
    }
    if(MapIconsShown[playerid] != 1)
    {
        MapIconsShown[playerid] = 1;
        for(new i = 0; i < sizeof(BizzInfo); i++)
        {
            SetPlayerMapIcon(playerid,i + 1,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ],36,COLOR_LIGHTRED);
        }
        for(new i = 0; i < sizeof(SBizzInfo); i++)
        {
            SetPlayerMapIcon(playerid,i + 20,SBizzInfo[i][sbEntranceX],SBizzInfo[i][sbEntranceY],SBizzInfo[i][sbEntranceZ],36,COLOR_LIGHTRED);
        }
    }
    FlashR = TextDrawCreate(1.000000,1.000000,"_");
    TextDrawTextSize(FlashR,640.000000,10.000000);
    TextDrawLetterSize(FlashR,3.600000,47.600010);
    TextDrawUseBox(FlashR,1);
    TextDrawAlignment(FlashR,0);
    TextDrawFont(FlashR,3);
    TextDrawSetOutline(FlashR,1);
    TextDrawSetProportional(FlashR,1);
    TextDrawSetShadow(FlashR,1);
    TextDrawBackgroundColor(FlashR,0xD20000FF);
    TextDrawColor(FlashR,0xD20000FF);
    TextDrawBoxColor(FlashR,0xD20000FF);
    CarCrashCheck[playerid] = SetTimerEx("CheckCarCrash", 400, 1, "i", playerid);
    return 1;
}
I have dying and Medicbill but it's sometimes work and sometimes not
Reply
#6

Bump
Reply
#7

Help me
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)