I'm not 100% sure, but something causes my players (including me) to crash whenever they die, meaning it could either be OnPlayerDeath or OnPlayerSpawn, and I have checked it for about an hour and found nothing wrong. Please help me?
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(playerid == UFOPilot) {
UFOPilot = -1;
}
if(playerid == tractortarget && tractortype == 0) {
releaseTractorBeam();
if(UFOPilot != -1)
SendClientMessage(UFOPilot, COLOR_RED, "* Tractor Beam terminated(disconnected)");
}
// FuncLog("OnPlayerDeath");
#if Kill-Log
new hour;
new minute;
new second;
new day;
new month;
new year;
new cmdd[264];
gettime(hour,minute,second);
getdate(year, month, day);
new File:Kills;
Kills = fopen("logs/Kills.txt",io_append);
format(cmdd,sizeof(cmdd),"[%02d/%02d/%02d %02d:%02d:%02d] %s killed %s - Reason %d \r\n",day, month, year, hour, minute, second,PlayerName(killerid),PlayerName(playerid), reason);
fwrite(Kills,cmdd);
fclose(Kills);
print(cmdd);
#endif
new string[128];
// new dmessage[128];
new Float:px,Float:py,Float:pz;
gPlayerSpawned[playerid] = 0;
MedicBill[playerid] = 1;
if(InEvent[playerid] > 0 || AdminDuty[playerid] > 0)
{
GivePlayerMoneyEx(playerid, 100);
MedicBill[playerid] = 0;
return 1;
}
PlayerInfo[playerid][pLocal] = 0;
GetPlayerPos(playerid, px, py, pz);
InShamal[playerid] = 0;
InAndrom[playerid] = 0;
OnDuty[playerid] = 0;
PlayerTied[playerid] = 0;
PlayerCuffed[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
DisablePlayerCheckpoint(playerid);
if(TakingLesson[playerid] > 0)
{
DisablePlayerRaceCheckpoint(playerid);
SCM(playerid, COLOR_LIGHTRED,"Driving Test Canceled!");
TakingLesson[playerid] = 0;
DestroyVehicleEx(LessonCar[playerid]);
}
if(BizRobTimer[playerid])
{
KillTimer(BizRobTimer[playerid]);
BizRobTimer[playerid] = 0;
}
if(PlayerPaintballing[playerid] != 0)
{
PlayerPaintballKills[killerid] ++;
if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
{
PaintballWinner = killerid;
PaintballWinnerKills = PlayerPaintballKills[killerid];
foreach(Player,i)
{
if(PlayerPaintballing[i] != 0)
{
format(string, sizeof(string), "* %s is in the lead with %d kills.",PlayerNameEx(killerid),PaintballWinnerKills);
SCM(i, COLOR_WHITE, string);
}
}
}
return 1;
}
DropGun(playerid, GetPlayerWeapon(playerid), GetPlayerAmmo(playerid));
if(PlayerInfo[playerid][pLocal] == 36 && PlayerInfo[killerid][pLocal] == 36)
{
if(PlayerAdminInfo[killerid][pAdmin_Basic] < 1)
{
SCM(killerid, COLOR_YELLOW, "DM reported!");
format(string, 100, "AdmWarning: [%d]%s just DM'd %s!(Hospital)",killerid,PlayerNameEx(killerid), PlayerNameEx(playerid));
ABroadCast(COLOR_YELLOW,string,1);
PlayerInfo[playerid][pDeaths] --;
PlayerInfo[killerid][pKills] --;
if(PlayerInfo[playerid][pHealthCare] == 0)
{
GivePlayerMoneyEx(playerid, 1500);
}
}
}
if(reason == 50)
{
if(!PlayerAdminInfo[killerid][pAdmin_Basic])
{
SCM(killerid, COLOR_YELLOW, "Carpark reported!");
format(string, 100, "AdmWarning: %s got car-parked!",PlayerNameEx(playerid));
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pHealthCare] == 0)
{
GivePlayerMoneyEx(playerid, 1500);
}
}
}
if(PlayerTraining[playerid] > 0)
{
// if(PlayerLap[playerid] > 140) { DestroyVehicleEx(BikeID[playerid]); BikeID[playerid] = 0;}
PlayerLap[playerid] = 0;
PlayerTraining[playerid] = 0;
SCM(playerid, COLOR_LIGHTRED,"Training canceled! Reason: Death.");
DisablePlayerRaceCheckpoint(playerid);
}
if(BikeID[playerid] > 0)
{
DestroyVehicleEx(BikeID[playerid]);
BikeID[playerid] = 0;
}
if(Mobile[playerid] != -1)
{
SCM(Mobile[playerid], COLOR_GRAD2, " The line just went dead....");
CellTime[Mobile[playerid]] = 0;
CellTime[playerid] = 0;
Mobile[Mobile[playerid]] = -1;
Mobile[playerid] = -1;
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
}
if(GetPlayerState(Mobile[playerid]) == PLAYER_STATE_ONFOOT)
{
SetPlayerSpecialAction(Mobile[playerid], SPECIAL_ACTION_STOPUSECELLPHONE);
}
PlayerPlaySound(playerid, PlayerInfo[playerid][pRingtone]+1, 0, 0, -1);
PlayerPlaySound(Mobile[playerid], PlayerInfo[Mobile[playerid]][pRingtone]+1, 0, 0, -1);
}
if(GoChase[playerid] > -1)
{
if(IsPlayerConnected(GoChase[playerid]))
{
format(string,sizeof(string),"<< Hitman %s has failed to fulfill their contract on %s >>",PlayerNameEx(playerid),PlayerNameEx(GoChase[playerid]));
SendFactionMessage(8, COLOR_YELLOW, string);
GetChased[GoChase[playerid]] = -2;
GoChase[playerid] = -1;
}
}
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(PlayerInfo[killerid][pFac] == 8)
{
if(GoChase[killerid] == playerid)
{
GivePlayerMoneyEx(killerid, PlayerInfo[playerid][pHeadValue]);
format(string,sizeof(string),"<< Hitman %s has fulfilled the contract on %s and collected $%d >>",PlayerNameEx(killerid),PlayerNameEx(playerid),PlayerInfo[playerid][pHeadValue]);
SendFactionMessage(8, COLOR_YELLOW, string);
PlayerInfo[playerid][pHeadValue] = 0;
GetChased[playerid] = -1;
GoChase[killerid] = -1;
}
}
}
}
foreach(Player,i)
{
if(BigEar[i])
{
format(string, sizeof(string), "%s killed %s. Reason: %d", PlayerNameEx(killerid), PlayerNameEx(playerid), reason);
SCM(i, COLOR_YELLOW, string);
}
}
if(GetPlayerWantedLevel(playerid) > 0)
{
format(string, sizeof(string), "Hospital: Suspect %s just got delivered into hospital.", PlayerNameEx(playerid));
SendCopMessage(TEAM_BLUE_COLOR, string);
new lvl = GetPlayerWantedLevel(playerid);
new price = lvl * 500;
if(GetPlayerWantedLevel(killerid) == 0 && killerid != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "~w~Running Suspect~r~Killed~n~Bonus~g~$%d", price);
GameTextForPlayer(killerid, string, 5000, 1);
GivePlayerMoneyEx(killerid, price);
PlayerPlaySound(killerid, 1058, 0.0, 0.0, 0.0);
}
GivePlayerMoneyEx(playerid, - price);
PlayerInfo[playerid][pWantedDeaths] += 1;
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pJailTime] = lvl*60;
PlayerInfo[playerid][pAMats] = 0;
PlayerInfo[playerid][pBMats] = 0;
PlayerInfo[playerid][pCMats] = 0;
PlayerInfo[playerid][pDMats] = 0;
PlayerInfo[playerid][pPot] = 0;
PlayerInfo[playerid][pCoke] = 0;
PlayerInfo[playerid][pMeth] = 0;
ResetPlayerWeaponsEx(playerid);
format(string, sizeof(string), "* You are in Jail for %d Seconds and lose $%d because of running away and getting shot.", PlayerInfo[playerid][pJailTime], price);
SCM(playerid, COLOR_LIGHTRED, string);
SetPlayerWantedLevel(playerid, 0);
format(string, sizeof(string), "%s shot running suspect %s.", PlayerNameEx(killerid), PlayerNameEx(playerid));
SendCopMessage(COLOR_DBLUE, string);
}
if(PlayerInfo[playerid][pCK] == 1)
{
PlayerInfo[playerid][pCK] = 2;
}
if(PlayerInfo[killerid][pFam] > -1 && PlayerInfo[playerid][pFam] > -1)
{
if(GetPlayerInterior(killerid) == 0 && GetPlayerInterior(playerid) == 0)
{
for(new t; t < sizeof(Turfs); t++)
{
if(Turfs[t][RacketOn])
{
if(IsPlayerInArea(killerid, Turfs[t][MinX], Turfs[t][MaxY], Turfs[t][MinY], Turfs[t][MaxY]) && IsPlayerInArea(playerid, Turfs[t][MinX], Turfs[t][MaxY], Turfs[t][MinY], Turfs[t][MaxY]))
{
TurfApproved[killerid] ++;
break;
}
}
}
}
}
ClearCrime(playerid);
MedicBill[playerid] = 1;
DestroyDynamic3DTextLabel(KillMeLabel[playerid]);
PlayerInfo[killerid][pKills] ++;
PlayerInfo[playerid][pDeaths] ++;
return 1;
}
pawn Код:
public OnPlayerSpawn(playerid)
{
// FuncLog("OnPlayerSpawn");
#if Spawn-Log
new hour;
new minute;
new second;
new day;
new month;
new year;
getdate(year, month, day);
gettime(hour,minute,second);
new cmdd[264];
new File:Vehicles;
Vehicles = fopen("logs/Spawns.txt",io_append);
format(cmdd,sizeof(cmdd),"[%02d/%02d/%02d %02d:%02d:%02d] Player %s spawned. \r\n",day, month, year, hour, minute, second, PlayerName(playerid));
fwrite(Vehicles,cmdd);
fclose(Vehicles);
#endif
// Set their skills
// These have to be set to 1 to prevent Duals
SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 1);
SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pFightingStyle]);
SetPlayerWorldBounds(playerid ,20000.0000,-20000.0000,20000.0000,-20000.0000); // Reset world to player
SetCameraBehindPlayer(playerid);
SetTimerEx("PlayerSpawned", 1000, 0, "i", playerid);
if(BincoChoice[playerid] == 1)
{
PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid,15);
SetPlayerPos(playerid, 217.97, -98.24, 1005.25);
SetPlayerFacingAngle(playerid,128.61);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid, PlayerInfo[playerid][pSHealth]);
SetPlayerArmour(playerid, PlayerInfo[playerid][pSArmour]);
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]);
SetPlayerWeapons(playerid);
PlayerInfo[playerid][pWantedLevel] = 0;
BincoChoice[playerid] = 0;
SCM(playerid, COLOR_LIGHTGREEN,"You paid $100 for the new outfit!");
GivePlayerMoneyEx(playerid, -100);
PlayerInfo[playerid][pLocal] = 0;
return 1;
}
if(PlayerInfo[playerid][pTut] == 2 || PlayerInfo[playerid][pCK] == 3)
{
SetPlayerPos(playerid,1682.51, -2327.55, 13.54);
SetPlayerFacingAngle(playerid, 0.0);
PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid);
SetPlayerInterior(playerid,0);
SetCameraBehindPlayer(playerid);
SetPlayerVirtualWorld(playerid, 0);
PlayerInfo[playerid][pLocal] = 0;
PlayerInfo[playerid][pTut] = 1;
PlayerInfo[playerid][pCK] = 0;
SetPlayerHealth(playerid, 100.0);
ShowSubtitle(playerid, "Hint: Type '/Tutorial', to see the tutorial!", 5000, 1);
return 1;
}
if(PlayerInfo[playerid][pCK] == 2) // CK(Character Kill)
{
// Force the name-change on him. NO WAY TO GET OUT OF IT
// But reset stats FIRST
MySQLCheckConnection();
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerPos(playerid, 811.34, -1098.28, 25.90);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerCameraPos(playerid, 814.69, -1098.38, 26.68);
SetPlayerCameraLookAt(playerid, 811.34, -1098.28, 25.90+0.5);
ResetICStats(playerid);
SetPlayerVirtualWorld(playerid, 66);
ShowPlayerDialog(playerid, 122, DIALOG_STYLE_INPUT, "{00BFFF}East Coast Roleplay Assistant", "{FFFF00}Your character was CK'd!\n{FFFFFF}Please choose a new valid username.\nThe Username may not be longer than 23 characters\n and it has to be a good RP name.\nIf you want to keep your name click {FF6347}'Keep'.", "Accept", "Keep");
return 1;
}
if(PlayerInfo[playerid][pWantedLevel] > 0)
{
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]);
PlayerInfo[playerid][pWantedLevel] = 0;
}
SetPlayerInterior(playerid, 0);
if(gPlayerLogged[playerid] == 0)
{
TogglePlayerControllable(playerid, 0);
PlayerInfo[playerid][pLocal] = 0;
new rand = random(6);
if(rand == 0)
{
SetPlayerPos(playerid, 1549.44, -1674.01, 54.86 -50.0);
SetPlayerCameraPos(playerid, 1549.44, -1674.01, 54.86);
SetPlayerCameraLookAt(playerid, 1515.02, -1673.76, 18.42);
}
else if(rand == 1)
{
SetPlayerPos(playerid, 1764.71, -1815.43, 44.71 -50.0);
SetPlayerCameraPos(playerid, 1764.71, -1815.43, 44.71);
SetPlayerCameraLookAt(playerid, 1748.60, -1863.11, 11.99);
}
else if(rand == 2)
{
SetPlayerPos(playerid, 1973.32, -1437.32, 54.17 -50.0);
SetPlayerCameraPos(playerid, 1973.32, -1437.32, 54.17);
SetPlayerCameraLookAt(playerid, 1930.16, -1414.90, 18.46);
}
else if(rand == 3)
{
SetPlayerPos(playerid, 2456.0452, -1631.4119, -50.0);
SetPlayerCameraPos(playerid, 2455.3091, -1630.7397, 51.1268);
SetPlayerCameraLookAt(playerid, 2456.0452, -1631.4119, 50.2718);
}
else if(rand == 4)
{
SetPlayerPos(playerid, 1778.8365, -2225.0254, -50.0);
SetPlayerCameraPos(playerid, 1779.6514, -2224.4497, 123.1702);
SetPlayerCameraLookAt(playerid, 1778.8365, -2225.0254, 122.5452);
}
else if(rand == 5)
{
SetPlayerPos(playerid, 1291.3127, -2037.5685, -50.0);
SetPlayerCameraPos(playerid, 1292.3108, -2037.5698, 109.5960);
SetPlayerCameraLookAt(playerid, 1291.3127, -2037.5685, 109.1709);
}
else
{
SetPlayerPos(playerid, 1219.21, -1325.28, 25.40 -50.0);
SetPlayerCameraPos(playerid, 1219.21, -1325.28, 25.40);
SetPlayerCameraLookAt(playerid, 1191.92, -1325.17, 13.39);
}
return 1;
}
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
if(AdminDuty[playerid])
{
if(PlayerInfo[playerid][pSex] == 1)
{
SetPlayerSkin(playerid, 217);
}
else
{
SetPlayerSkin(playerid, 211);
}
}
SetPlayerSpawn(playerid);
PlayerFixRadio(playerid);
if(!gPlayerLogged[playerid]) SetPlayerColor(playerid, COLOR_BLACK);
else if(AdminDuty[playerid] == 1) SetPlayerColor(playerid, COLOR_DARKRED);
else if(AdminDuty[playerid] == 2) SetPlayerColor(playerid, COLOR_BRIGHTRED);
else if(PlayerInfo[playerid][pVIP] == 1 || PlayerInfo[playerid][pVIP] == 2) SetPlayerColor(playerid, COLOR_YELLOW);
else if(PlayerInfo[playerid][pVIP] >= 3) SetPlayerColor(playerid, COLOR_PINK);
else if(PlayerInfo[playerid][pCT] < 50) SetPlayerColor(playerid, COLOR_LIGHTGREEN);
else SetPlayerColor(playerid, COLOR_WHITE);
// player objects
SetPlayerAttachedObject(playerid, 1, PlayerInfo[playerid][pClothes][0], 2, 0.1, 0.04, 0.0, 90.0, 90.0, 0.0);
if(PlayerInfo[playerid][pClothes][1] >= 18891 && PlayerInfo[playerid][pClothes][1] <= 18910)
{ // Bandanas
SetPlayerAttachedObject(playerid, 2, PlayerInfo[playerid][pClothes][1], 2, 0.13, 0.0, 0.0, -90.0, 0.0, -90.0);
}
else // if((PlayerInfo[playerid][pClothes][1] >= 18921 && PlayerInfo[playerid][pClothes][1] <= 18935) || (PlayerInfo[playerid][pClothes][1] >= 18944 && PlayerInfo[playerid][pClothes][1] <= 18951))
{ // Hats
SetPlayerAttachedObject(playerid, 2, PlayerInfo[playerid][pClothes][1], 2, 0.13, 0.01, 0.0, 0.0, 0.0, 0.0);
}
SetPlayerAttachedObject(playerid, 3, PlayerInfo[playerid][pClothes][2], 2, 0.1, 0.02, 0.0, -90.0, 0.0, -90.0);
DisplayTurfs(playerid);
return 1;
}
public SetPlayerSpawn(playerid)
{
// FuncLog("SetPlayerSpawn");
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLocal] >= 1000 && PlayerInfo[playerid][pLocal] < 5000)
{
new h = PlayerInfo[playerid][pLocal]-1000;
if(HouseInfo[h][Lights] != 1)
{
TextDrawShowForPlayer(playerid, HouseLightsText);
}
}
if(PlayerInfo[playerid][pCrashed] > 0)
{
Streamer_UpdateEx(playerid, PlayerInfo[playerid][pLogX], PlayerInfo[playerid][pLogY], PlayerInfo[playerid][pLogZ]);
SetPlayerInterior(playerid, PlayerInfo[playerid][pLogInt]);
SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pLogW]);
SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pLogA]);
SetPlayerArmour(playerid, PlayerInfo[playerid][pSArmour]);
SetPlayerHealth(playerid, PlayerInfo[playerid][pSHealth]);
SetPlayerPos(playerid, PlayerInfo[playerid][pLogX], PlayerInfo[playerid][pLogY], PlayerInfo[playerid][pLogZ]+0.5);
SetCameraBehindPlayer(playerid);
PlayerMuteInfo[playerid][BizRobCool] = 0;
PlayerInfo[playerid][pCrashed] = 0;
SetPlayerWeapons(playerid);
PlayerInfo[playerid][pLogX] = 0;
PlayerInfo[playerid][pLogY] = 0;
PlayerInfo[playerid][pLogZ] = 0;
GameTextForPlayer(playerid, "~p~Crashed...", 5000, 1);
return 1;
}
if(PlayerInfo[playerid][pTut] == 0 && gPlayerLogged[playerid] == 1)
{
gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1; gPM[playerid] = 1;
TogglePlayerControllable(playerid, 0);
PlayerInfo[playerid][pLocal] = 0;
SetPlayerVirtualWorld(playerid, 100);
SetPlayerCameraPos(playerid,1912.9858,-2519.5615,145.6658);
SetPlayerPos(playerid,1915.9734,-2592.2422,148.4126);
SetPlayerCameraLookAt(playerid,1910.5514,-2368.6401,126.5542);
GameTextForPlayer(playerid, "~g~Welcome to ~r~ East Coast Roleplay~n~~g~Immigration center.", 16000, 1);
RegistrationStep[playerid] = 1;
ShowPlayerDialog(playerid,5,DIALOG_STYLE_MSGBOX,"{00BFFF}East Coast Roleplay","Are you a Male or Female?","Male","Female");
return 1;
}
if(PlayerPaintballing[playerid] != 0)
{
new rand;
ResetPlayerWeaponsEx(playerid);
new wep = RandomEx(22, 35);
GivePlayerWeaponEx(playerid, wep, INFINITE_AMMO);
rand = random(sizeof(PaintballSpawns));
SetPlayerPos(playerid, PaintballSpawns[rand][0], PaintballSpawns[rand][1], PaintballSpawns[rand][2]);
SetPlayerInterior(playerid, 10);
SetPlayerFacingAngle(playerid, PaintballSpawns[rand][3]);
SetCameraBehindPlayer(playerid);
PlayerInfo[playerid][pLocal] = 0;
SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 999);
SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 999);
SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 999);
return 1;
}
if(InEvent[playerid] > 0)
{
SetPlayerPos(playerid, ex,ey,ez);
SetCameraBehindPlayer(playerid);
return 1;
}
if(Spectate[playerid] != 255)
{
SetPlayerPos(playerid,Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]);
SetPlayerInterior(playerid, Unspec[playerid][sPint]);
PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
SetPlayerWeapons(playerid);
return 1;
}
if(PlayerInfo[playerid][pJailed] == 1) // LSPD
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
SCM(playerid, COLOR_LIGHTRED, "Incomplete Jail Sentence, back to jail.");
PlayerInfo[playerid][pLocal] = 0;
return 1;
}
if(PlayerInfo[playerid][pJailed] == 2)// Admin Prison
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,268.5777,1857.9351,9.8133);
SetPlayerWorldBounds(playerid, 337.5694,101.5826,1940.9759,1798.7453);
PlayerInfo[playerid][pLocal] = 0;
return 1;
}
if(PlayerInfo[playerid][pJailed] == 3) // SFPD
{
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid,215.22, 110.18, 999.01);
SCM(playerid, COLOR_LIGHTRED, "Incomplete Jail Sentence, back to jail.");
PlayerInfo[playerid][pLocal] = 0;
return 1;
}
if(PlayerInfo[playerid][pJailed] == 4) // LVPD
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
SCM(playerid, COLOR_LIGHTRED, "Incomplete Jail Sentence, back to jail.");
PlayerInfo[playerid][pLocal] = 0;
return 1;
}
if(MedicBill[playerid] == 1 && PlayerInfo[playerid][pJailed] == 0 && PlayerPaintballing[playerid] == 0)
{
PutPlayerInHospital(playerid);
return 1;
}
if(PlayerInfo[playerid][pLogX] != 0)
{
Streamer_UpdateEx(playerid, PlayerInfo[playerid][pLogX], PlayerInfo[playerid][pLogY], PlayerInfo[playerid][pLogZ]);
SetPlayerInterior(playerid, PlayerInfo[playerid][pLogInt]);
SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pLogW]);
SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pLogA]);
SetPlayerArmour(playerid, PlayerInfo[playerid][pSArmour]);
SetPlayerHealth(playerid, PlayerInfo[playerid][pSHealth]);
SetPlayerPos(playerid, PlayerInfo[playerid][pLogX], PlayerInfo[playerid][pLogY], PlayerInfo[playerid][pLogZ]+0.5);
SetCameraBehindPlayer(playerid);
SetPlayerWeapons(playerid);
PlayerInfo[playerid][pLogX] = 0;
PlayerInfo[playerid][pLogY] = 0;
PlayerInfo[playerid][pLogZ] = 0;
return 1;
}
SetPlayerPos(playerid,1529.6,-1691.2,13.3);
SetPlayerFacingAngle(playerid, 272.3543);
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pLocal] = 0;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerWeapons(playerid);
return 1;
}
return 1;
}
public PlayerSpawned(playerid)
{
gPlayerSpawned[playerid] = 1;
return 1;
}
PlayerPlaySound can crash a player really easily considering some people might have ripped versions of SA and the sounds are not present. Anyways try commenting them out and re-test but my gut tells me 99 percent that is the problem.
Listen. The players aren't on there cellphone when this happens... It is ANY time that they die, not just when on cells.