Player crashes in OnPlayerDeath/OnPlayerSpawn
#1

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?

OnPlayerDeath mix:

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;
}
OnPlayerSpawn mix:

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;
}
Reply
#2

So I just tested dying with crashdetect on, and got this:

Код:
[debug] #2  0000ceec in OnPlayerDeath () from ECRP.amx
[21:37:34] [debug] #1  ???????? in native CallLocalFunction () from samp03svr
[21:37:34] [debug] #0  000388a8 in FIXES_OnPlayerDeath () from ECRP.amx
[21:37:34] [debug] Backtrace (most recent call first):
[21:37:34] [debug]   Accessing element at index 65535 past array upper bound 499
[21:37:34] [debug] Run time error 4: "Array index out of bounds"
Reply
#3

I doubt that would crash you I'm thinking these lines here are doing it.....

Код:
        PlayerPlaySound(playerid, PlayerInfo[playerid][pRingtone]+1, 0, 0, -1);
        PlayerPlaySound(Mobile[playerid], PlayerInfo[Mobile[playerid]][pRingtone]+1, 0, 0, -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.
Reply
#4

Listen. The players aren't on there cellphone when this happens... It is ANY time that they die, not just when on cells.
Reply
#5

bump
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)