public OnPlayerDeath(playerid, killerid, reason) { new name[MAX_PLAYER_NAME]; new string[256]; //new dmessage[128]; //new deathreason[20]; new playercash; new victimteam; new Float:px,Float:py,Float:pz; new killerteam; victimteam = gTeam[playerid]; killerteam = gTeam[killerid]; gPlayerSpawned[playerid] = 0; PlayerInfo[playerid][pInvWeapon] = 0; PlayerInfo[playerid][pInvAmmo] = 0; GetPlayerName(playerid, name, sizeof(name)); PlayerInfo[playerid][pLocal] = 255; GetPlayerPos(playerid, px, py, pz); if(killerid != 255) { if(GetPlayerState(killerid) == 2) { if(ProxDetectorS(20, killerid, playerid)) { if(!IsPlayerInAnyVehicle(playerid)) { if(PlayerInfo[killerid][pMember] == 1||PlayerInfo[killerid][pLeader] == 1||PlayerInfo[killerid][pMember] == 2||PlayerInfo[killerid][pLeader] ==2) { SendClientMessage(killerid, COLOR_YELLOW, "That was a drive-by kill. Don't abuse it."); return 1; } SetPlayerCriminal(killerid,255,"Manslaughter"); SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+1); return 1; } } } } if (PlayerInfo[killerid][pAdmin] < 1) { if(reason == 38) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a [%d]%s with minigun.",killerid,kickname,playerid,name); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); //Ban(killerid); } } if(reason == 35) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with a flamethrower and has been IP banned.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); Ban(killerid); } } if(reason == 9) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with a chainsaw and has been IP banned.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); Ban(killerid); } } if(reason == 16) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with grenades and has been IP banned.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); Ban(killerid); } } if(reason == 18) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with molotovs and has been IP banned.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); Ban(killerid); } } if(reason == 28) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with a Mac 10, Check him immediately.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); } } if(reason == 32) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with Tec 9's, Check him immediately.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); } } if(reason == 36) { new kstring[128]; new kickname[MAX_PLAYER_NAME]; if(IsPlayerConnected(killerid)) { GetPlayerName(killerid, kickname, sizeof(kickname)); format(string, 256, "[ADMIN] [%d]%s just killed a player with a Lock On Launcher and has been IP banned.",killerid,kickname); ABroadCast(COLOR_LIGHTRED,string,1); printf("%s", kstring); Ban(killerid); } } } if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11) { DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } new caller = Mobile[playerid]; if(caller != 255) { if(caller < 255) { SendClientMessage(caller, COLOR_GRAD2, " The line just went dead...."); CellTime[caller] = 0; CellTime[playerid] = 0; Mobile[caller] = 255; } Mobile[playerid] = 255; CellTime[playerid] = 0; } ClearCrime(playerid); if(PlayerPaintballing[playerid] != 0) { PlayerPaintballKills[killerid] ++; if(PlayerPaintballKills[killerid] > PaintballWinnerKills) { new killer[MAX_PLAYER_NAME]; PaintballWinner = killerid; PaintballWinnerKills = PlayerPaintballKills[killerid]; GetPlayerName(killerid, killer, sizeof(killer)); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(PlayerPaintballing[i] != 0) { format(string, sizeof(string), "* %s is in the lead with %d Kills.",killer,PaintballWinnerKills); SendClientMessage(i, COLOR_WHITE, string); } } } } return 1; } if(GettingCK[playerid] < 999) { if(IsPlayerConnected(killerid)) { if(OnCK[killerid] < 999) { new killer[MAX_PLAYER_NAME]; new dier[MAX_PLAYER_NAME]; GetPlayerName(playerid, dier, sizeof(dier)); GetPlayerName(killerid, killer, sizeof(killer)); format(string, sizeof(string), "* %s has performed a Character Kill on you, you aren't able to play with this Character anymore.",killer); SendClientMessage(playerid, COLOR_LIGHTRED, string); format(string, sizeof(string), "** %s has Character Killed %s **",killer,dier); CKLog(string); BroadCast(COLOR_LIGHTRED, string); PlayerInfo[playerid][pCK] = 1; if(GettingCK[playerid] < 999) { GettingCK[playerid] = 999; } else if(OnCK[playerid] < 999) { OnCK[playerid] = 999; } if(GettingCK[killerid] < 999) { GettingCK[killerid] = 999; } else if(OnCK[killerid] < 999) { OnCK[killerid] = 999; } KickPlayer[playerid] = 1; } } } if(PlayerInfo[playerid][pHeadValue] > 0) { if(IsPlayerConnected(killerid)) { if(gTeam[killerid] == 10 || PlayerInfo[killerid][pLeader] == 8) { if(GoChase[killerid] == playerid) { //ConsumingMoney[killerid] = 1; new killer[MAX_PLAYER_NAME]; GetPlayerName(killerid, killer, sizeof(killer)); SafeGivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]); format(string,128,"<< Hitman %s has fulfilled the contract on %s and collected $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]); SendFamilyMessage(8, COLOR_YELLOW, string); PlayerInfo[playerid][pHeadValue] = 0; GotHit[playerid] = 0; GetChased[playerid] = 999; GoChase[killerid] = 999; } } } } if(victimteam >= 4) { if(IsPlayerConnected(killerid)) { //new killer[MAX_PLAYER_NAME]; //GetPlayerName(killerid, killer, sizeof(killer)); new slice = 100; //$100 playercash = GetPlayerMoney(playerid); if(gTeam[killerid] != 2) { WantedPoints[killerid] += 2; } //+ 2 wanted points if(SafeTime[playerid] <= 0) { if(gTeam[killerid] != gTeam[playerid]) { if(GetPlayerState(killerid) == 1) { PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2; } else { PlayerInfo[killerid][pKills]++; } PlayerInfo[playerid][pKills]--; } } /*if (strlen(deathreason) > 0)// patch { if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || gTeam[killerid] == gTeam[playerid])//med kill criminal { format(string, sizeof(string), ".: %s murdered %s. (%s) :.", killer, name, deathreason); } else { format(string, sizeof(string), ".: %s murdered %s. (%s) for $%d :.", killer, name, deathreason, slice); } } else { if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill || gTeam[killerid] == gTeam[playerid])) { format(string, sizeof(string), ".: %s murdered %s :.", killer, name); } else { format(string, sizeof(string), ".: %s murdered %s for $%d :.", killer, name, slice); } }*/ if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4)) { slice = 0; } if (((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid]))//no team kill { slice = 0; } if (playercash > 0) { SafeGivePlayerMoney(playerid, -slice); } else { slice = slice+500; } //SafeGivePlayerMoney(killerid, slice); //GameTextForPlayer(playerid, dmessage, 5000, 2); PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0); if (((gTeam[killerid]) == 3) && reason != 49) { SetPlayerCriminal(killerid,255, "First Degree Murder"); } else if (((gTeam[killerid]) == 3) && reason == 49) { SetPlayerCriminal(killerid,255, "Hit And Run"); } } } else if (victimteam == 2) { if(IsPlayerConnected(killerid)) { //new killer[MAX_PLAYER_NAME]; //GetPlayerName(killerid, killer, sizeof(killer)); // Cop kill PlayerInfo[playerid][pKills]--; if (gTeam[killerid] == 2)//cops kill cop { //format(string,128,".: Officer %s murdered Officer %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost); PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0); SafeGivePlayerMoney(killerid, -suecost); SafeGivePlayerMoney(playerid, suecost+100);//+100pays hospital bill } else { //format(string,128,".: %s murdered Officer %s (%s) :.",killer,name,deathreason); } if (gTeam[killerid] >= 3) { WantedPoints[killerid] += 2; //+ 2 wanted points if(reason != 49) { SetPlayerCriminal(killerid,255, "First Degree Murder"); } else if (reason == 49) { SetPlayerCriminal(killerid,255, "Hit And Run"); } } if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0) { if(GetPlayerState(killerid) == 1) { PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2; } else { PlayerInfo[killerid][pKills]++; } WantedPoints[killerid]+=2; } //BroadCast(COLOR_RED, string); } } else if (victimteam == 3) { if(IsPlayerConnected(killerid)) { //new killer[MAX_PLAYER_NAME]; //GetPlayerName(killerid, killer, sizeof(killer)); // Civ kill if ((gTeam[killerid]) == 2)//cops kill civ { if(WantedLevel[playerid] < 1) { //format(string,128,".: Officer %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost); PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0); SafeGivePlayerMoney(killerid, -suecost); SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill } } else { //format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason); WantedPoints[killerid] += 2; } if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49) { SetPlayerCriminal(killerid,255, "First Degree Murder"); } else if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49) { SetPlayerCriminal(killerid,255, "Hit And Run"); } //BroadCast(COLOR_RED, string); } } else if (victimteam == 1) { if(IsPlayerConnected(killerid)) { //new killer[MAX_PLAYER_NAME]; //GetPlayerName(killerid, killer, sizeof(killer)); // Civ kill if ((gTeam[killerid]) == 2)//cops kill civ { //format(string,128,".: Officer %s murdered Paramedic %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost); PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0); SafeGivePlayerMoney(killerid, -suecost); SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill } else if ((gTeam[killerid]) == 1)//med kill civ { //format(string,128,".: Paramedic %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost); PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0); SafeGivePlayerMoney(killerid, -suecost); SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill } else { //format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason); } if (((gTeam[killerid]) == 4) && reason != 49) { SetPlayerCriminal(killerid,255, "First Degree Murder"); } else if (((gTeam[killerid]) == 3) && reason == 49) { SetPlayerCriminal(killerid,255, "Hit And Run"); } //BroadCast(COLOR_RED, string); } } if (victimteam >= 3 && WantedPoints[playerid] > 0 && killerteam == 2) { SetPlayerFree(playerid,killerid, "Got Killed"); } if (BusrouteEast[playerid][0] != 0 || BusrouteWest[playerid][0] != 0) { if (BusrouteEast[playerid][0] != 0) BusrouteEnd(playerid, BusrouteEast[playerid][1]); else if (BusrouteWest[playerid][0] != 0) BusrouteEnd(playerid, BusrouteWest[playerid][1]); else BusrouteEnd(playerid, 0); } if(FarmerVar[playerid] != 0) { FarmerVar[playerid] = 0; DisablePlayerCheckpoint(playerid); } if(DrugFarmerVar[playerid] != 0) { DrugFarmerVar[playerid] = 0; DisablePlayerCheckpoint(playerid); } if(SmugglerWork[playerid] != 0) { SmugglerWork[playerid] = 0; DisablePlayerCheckpoint(playerid); } killerid = INVALID_PLAYER_ID; SetPlayerColor(playerid,COLOR_GRAD2); return 1; }
Originally Posted by [AC
Etch ]
try that topic : http://forum.sa-mp.com/index.php?topic=132188.15 its a discussion about what u asking |
Originally Posted by kaisersouse
You need to put it in OnPlayerSpawn
|
Originally Posted by Mikkel
Well, what am I supposed to put at OnPlayerSpawn?
![]() |
Originally Posted by kaisersouse
Quote:
|
new Hospitalized[ MAX_PLAYERS ];
public OnPlayerConnect( playerid )
{
Hospitalized[ playerid ] = 0; // Just so people don't login inside hospital because the variable doesn't unset on disconnect.
return 1;
}
public OnPlayerDeath( playerid, killerid, reason )
{
Hospitalized[ playerid ] = 1;
return 1;
}
public OnPlayerSpawn( playerid )
{
if( Hospitalized[ playerid ] == 1 )
{
// SetPlayerPos etc.
}
else
{
// Do whatever, they're not hospitalized.
}
return 1;
}
Originally Posted by FreddoX [BINMAN
]
What he means is, when they die set the variable and check it OnPlayerSpawn(), if the variable is equal to 1 or something, set their position to hospital, etc |
Originally Posted by Mikkel
Quote:
|
Originally Posted by FreddoX [BINMAN
]
What he means is, when they die set the variable and check it OnPlayerSpawn(), if the variable is equal to 1 or something, set their position to hospital, etc. pawn Код:
|