SA-MP Forums Archive
Not spawning correctly after death - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Not spawning correctly after death (/showthread.php?tid=404015)



Not spawning correctly after death - ajmac22 - 01.01.2013

So here you see what I want people to do after they die, and then you see my player class shit.
I want people to spawn there when they die, but instead when someone dies, they go to the hospital, then their health is set to O and they automatically spawn again on the spawn of team they origanally chose.

how do I fix this


pawn Код:
public OnPlayerSpawn(playerid)
{
    SetPlayerInterior(playerid, 0);
    return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid,1178.7999,-1325.9056,14.1379); //hosp
    SendClientMessage(playerid, COLOR_RED, "You have been killed, you will respawn at the hospital.");
    SetPlayerFacingAngle(playerid,269.8335);
}
public OnPlayerRequestClass(playerid, classid)
{
    if(classid >= 0 && classid <= 2)
    {
        gTeam[playerid] = BALLAS;
        GameTextForPlayer(playerid,"~w~Ballas",3000,5); // This will show up an Text , when you select your class
        SetPlayerPos(playerid,1975.2399,-1220.0157,25.0779); // position of the player in the class selection
        SetPlayerCameraPos(playerid,1969.5686,-1224.0016,24.9909); // Cameraposition
        SetPlayerCameraLookAt(playerid,1975.2399,-1220.0157,25.0779);
        SetPlayerFacingAngle(playerid,122.4500);
        SetPlayerColor(playerid,COLOR_PINK); // Teamcolor
    }
    else if(classid >= 3 && classid <= 5)
    {
        gTeam[playerid] = GROVES;
        GameTextForPlayer(playerid,"~w~Grove Street Famlilys",3000,5);
        SetPlayerPos(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerCameraPos(playerid,2507.0615,-1674.3574,13.3732);
        SetPlayerCameraLookAt(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerFacingAngle(playerid,252.4717);
        SetPlayerColor(playerid,COLOR_GREEN);
    }
    else if(classid >= 6 && classid <= 8)
    {
        gTeam[playerid] = POLICE;
        GameTextForPlayer(playerid,"~w~Police Department",3000,5);
        SetPlayerPos(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerCameraPos(playerid,1568.3635,-1699.9193,5.8906);
        SetPlayerCameraLookAt(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerFacingAngle(playerid,182.0096);
        SetPlayerColor(playerid,COLOR_BLUE);
    }
    return 1;
}



Re: Not spawning correctly after death - Chrillzen - 01.01.2013

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
}
public OnPlayerRequestClass(playerid, classid)
{
    if(classid >= 0 && classid <= 2)
    {
        gTeam[playerid] = BALLAS;
        GameTextForPlayer(playerid,"~w~Ballas",3000,5); // This will show up an Text , when you select your class
        SetPlayerPos(playerid,1975.2399,-1220.0157,25.0779); // position of the player in the class selection
        SetPlayerCameraPos(playerid,1969.5686,-1224.0016,24.9909); // Cameraposition
        SetPlayerCameraLookAt(playerid,1975.2399,-1220.0157,25.0779);
        SetPlayerFacingAngle(playerid,122.4500);
        SetPlayerColor(playerid,COLOR_PINK); // Teamcolor
    }
    else if(classid >= 3 && classid <= 5)
    {
        gTeam[playerid] = GROVES;
        GameTextForPlayer(playerid,"~w~Grove Street Famlilys",3000,5);
        SetPlayerPos(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerCameraPos(playerid,2507.0615,-1674.3574,13.3732);
        SetPlayerCameraLookAt(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerFacingAngle(playerid,252.4717);
        SetPlayerColor(playerid,COLOR_GREEN);
    }
    else if(classid >= 6 && classid <= 8)
    {
        gTeam[playerid] = POLICE;
        GameTextForPlayer(playerid,"~w~Police Department",3000,5);
        SetPlayerPos(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerCameraPos(playerid,1568.3635,-1699.9193,5.8906);
        SetPlayerCameraLookAt(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerFacingAngle(playerid,182.0096);
        SetPlayerColor(playerid,COLOR_BLUE);
    }
    return 1;
}
Is that what you want, or what? That they just spawn where they should instead of going to hospital?


Re: Not spawning correctly after death - ajmac22 - 01.01.2013

No. I want them to spawn at the hospital coords


Re: Not spawning correctly after death - Chrillzen - 01.01.2013

I can't see anything wrong in the code..

Try this..

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid,1178.7999,-1325.9056,14.1379); //hosp
    SendClientMessage(playerid, COLOR_RED, "You have been killed, you will respawn at the hospital.");
    SetPlayerFacingAngle(playerid,269.8335);
    return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
    if(classid >= 0 && classid <= 2)
    {
        gTeam[playerid] = BALLAS;
        GameTextForPlayer(playerid,"~w~Ballas",3000,5); // This will show up an Text , when you select your class
        SetPlayerPos(playerid,1975.2399,-1220.0157,25.0779); // position of the player in the class selection
        SetPlayerCameraPos(playerid,1969.5686,-1224.0016,24.9909); // Cameraposition
        SetPlayerCameraLookAt(playerid,1975.2399,-1220.0157,25.0779);
        SetPlayerFacingAngle(playerid,122.4500);
        SetPlayerColor(playerid,COLOR_PINK); // Teamcolor
    }
    else if(classid >= 3 && classid <= 5)
    {
        gTeam[playerid] = GROVES;
        GameTextForPlayer(playerid,"~w~Grove Street Famlilys",3000,5);
        SetPlayerPos(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerCameraPos(playerid,2507.0615,-1674.3574,13.3732);
        SetPlayerCameraLookAt(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerFacingAngle(playerid,252.4717);
        SetPlayerColor(playerid,COLOR_GREEN);
    }
    else if(classid >= 6 && classid <= 8)
    {
        gTeam[playerid] = POLICE;
        GameTextForPlayer(playerid,"~w~Police Department",3000,5);
        SetPlayerPos(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerCameraPos(playerid,1568.3635,-1699.9193,5.8906);
        SetPlayerCameraLookAt(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerFacingAngle(playerid,182.0096);
        SetPlayerColor(playerid,COLOR_BLUE);
    }
    return 1;
}



Re : Not spawning correctly after death - [HRD]Mar1 - 01.01.2013

Show your onplayerspawn.


Re: Not spawning correctly after death - ajmac22 - 01.01.2013

Added onplayerspawn and testing that guys idea


That didnt help at all


Re: Not spawning correctly after death - Chrillzen - 01.01.2013

You got "SetPlayerHealth(playerid, 0);" anywhere where it should not be? Making your HP 0 whenever you spawn? It might be in filterscript if you have any.


Re: Not spawning correctly after death - ajmac22 - 01.01.2013

if(!strcmp(cmdtext, "/kill"))
{
SetPlayerHealth (playerid, 0.0);
return 1;
}




only this


Re: Not spawning correctly after death - [FBI]M.Vulture[XAC] - 01.01.2013

Try this (i am not 100% sure that will work)

Код:
public OnPlayerSpawn(playerid)
{
    SetPlayerInterior(playerid, 0);
    return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    new killed = 1; 

    SendClientMessage(playerid, COLOR_RED, "You have been killed, you will respawn at the hospital.");
    
}
public OnPlayerSpawn.....
{
       if(killed == 1)
       {
                  SetPlayerPos(playerid,1178.7999,-1325.9056,14.1379); //hosp
                  SetPlayerFacingAngle(playerid,269.8335);
       }
}
public OnPlayerRequestClass(playerid, classid)
{
    
    if(classid >= 0 && classid <= 2)
    {
        gTeam[playerid] = BALLAS;
        GameTextForPlayer(playerid,"~w~Ballas",3000,5); // This will show up an Text , when you select your class
        SetPlayerPos(playerid,1975.2399,-1220.0157,25.0779); // position of the player in the class selection
        SetPlayerCameraPos(playerid,1969.5686,-1224.0016,24.9909); // Cameraposition
        SetPlayerCameraLookAt(playerid,1975.2399,-1220.0157,25.0779);
        SetPlayerFacingAngle(playerid,122.4500);
        SetPlayerColor(playerid,COLOR_PINK); // Teamcolor
    }
    else if(classid >= 3 && classid <= 5)
    {
        gTeam[playerid] = GROVES;
        GameTextForPlayer(playerid,"~w~Grove Street Famlilys",3000,5);
        SetPlayerPos(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerCameraPos(playerid,2507.0615,-1674.3574,13.3732);
        SetPlayerCameraLookAt(playerid,2500.6060,-1672.1453,13.3512);
        SetPlayerFacingAngle(playerid,252.4717);
        SetPlayerColor(playerid,COLOR_GREEN);
    }
    else if(classid >= 6 && classid <= 8)
    {
        gTeam[playerid] = POLICE;
        GameTextForPlayer(playerid,"~w~Police Department",3000,5);
        SetPlayerPos(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerCameraPos(playerid,1568.3635,-1699.9193,5.8906);
        SetPlayerCameraLookAt(playerid,1568.4847,-1692.2544,5.8906);
        SetPlayerFacingAngle(playerid,182.0096);
        SetPlayerColor(playerid,COLOR_BLUE);
    }
    return 1;
}
If you want to:
-- when you go to hospital you are set to "no team" add a new team called Killed, and set their color to white but if you want to when they go to hospital and they are still police or other team dont create the killed team, its your decision.
When you want a player to spawn at a hospital after dead, put setplayerpos IN ONPLAYERSPAWN, not in ONPLAYERDEAD.


Re: Not spawning correctly after death - ajmac22 - 01.01.2013

I dont want a team for the dead, I just want to spawn at a hospital on the same team when I die,