Death Bug
#1

Hello Scripterz.

I have a bug in my script..
If players shoots each other and One of them go's death. he dont spawn in the hospital but on the place where he logged on..

Do you know What problem it is ??
or wanna have more information ??

Please Say it here.
or email me: Justin@vertical-roleplaygaming.net
Reply
#2

Show your OnPlayerDeath codes..
Reply
#3

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(IsPlayerConnected(killerid))
    {
        new hour,minute,second, weaponname[32];
        gettime(hour,minute,second);
        FixHour(hour);
        hour = shifthour;
        GetWeaponName(reason, weaponname, sizeof(weaponname));
        format(PlayerInfo[playerid][pKillLog9], 256, "%s", PlayerInfo[playerid][pKillLog8]);
        format(PlayerInfo[playerid][pKillLog8], 256, "%s", PlayerInfo[playerid][pKillLog7]);
        format(PlayerInfo[playerid][pKillLog7], 256, "%s", PlayerInfo[playerid][pKillLog6]);
        format(PlayerInfo[playerid][pKillLog6], 256, "%s", PlayerInfo[playerid][pKillLog5]);
        format(PlayerInfo[playerid][pKillLog5], 256, "%s", PlayerInfo[playerid][pKillLog4]);
        format(PlayerInfo[playerid][pKillLog4], 256, "%s", PlayerInfo[playerid][pKillLog3]);
        format(PlayerInfo[playerid][pKillLog3], 256, "%s", PlayerInfo[playerid][pKillLog2]);
        format(PlayerInfo[playerid][pKillLog2], 256, "%s", PlayerInfo[playerid][pKillLog1]);
        format(PlayerInfo[playerid][pKillLog1], 256, "%s", PlayerInfo[playerid][pKillLog0]);
        format(PlayerInfo[playerid][pKillLog0], 256, "(%d:%d:%d) %s killed me with %s", hour,minute,second,GetPlayerNameEx(killerid), weaponname);

        format(PlayerInfo[killerid][pKillLog9], 256, "%s", PlayerInfo[killerid][pKillLog8]);
        format(PlayerInfo[killerid][pKillLog8], 256, "%s", PlayerInfo[killerid][pKillLog7]);
        format(PlayerInfo[killerid][pKillLog7], 256, "%s", PlayerInfo[killerid][pKillLog6]);
        format(PlayerInfo[killerid][pKillLog6], 256, "%s", PlayerInfo[killerid][pKillLog5]);
        format(PlayerInfo[killerid][pKillLog5], 256, "%s", PlayerInfo[killerid][pKillLog4]);
        format(PlayerInfo[killerid][pKillLog4], 256, "%s", PlayerInfo[killerid][pKillLog3]);
        format(PlayerInfo[killerid][pKillLog3], 256, "%s", PlayerInfo[killerid][pKillLog2]);
        format(PlayerInfo[killerid][pKillLog2], 256, "%s", PlayerInfo[killerid][pKillLog1]);
        format(PlayerInfo[killerid][pKillLog1], 256, "%s", PlayerInfo[killerid][pKillLog0]);
        format(PlayerInfo[killerid][pKillLog0], 256, "(%d:%d:%d) Killed %s with %s", hour,minute,second,GetPlayerNameEx(playerid), weaponname);
        if(GetPVarInt(killerid, "IsInArena") == 0) PlayerInfo[killerid][pDMKills]++;
    }

    new string[128];
    pTazer[playerid] = 0;
    InsideShamal[playerid] = INVALID_VEHICLE_ID;
    DeletePVar(playerid, "SpeedRadar");
    DeletePVar(playerid, "UsingSprunk");
    KillTimer(GetPVarInt(playerid, "firstaid5"));
    DeletePVar(playerid, "usingfirstaid");
    if(GetPVarInt(playerid, "MovingStretcher") != -1)
    {
        KillTimer(GetPVarInt(playerid, "TickEMSMove"));
        DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
        SetPVarInt(playerid, "MovingStretcher", -1);
    }

    new caller = Mobile[playerid];
    if(IsPlayerConnected(Mobile[playerid]))
    {
        SendClientMessageEx(caller,  COLOR_GRAD2, "The line went dead.");
        format(string, sizeof(string), "* %s puts away their cellphone.", GetPlayerNameEx(caller));
        ProxDetector(30.0, caller, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        CellTime[caller] = 0;
        Mobile[caller] = INVALID_PLAYER_ID;
    }
    Mobile[playerid] = INVALID_PLAYER_ID;
    CellTime[playerid] = 0;
    RingTone[playerid] = 0;

    foreach(Player, i)
    {
        if(EMSAccepted[i] < 999)
        {
            if(EMSAccepted[i] == playerid)
            {
                EMSAccepted[i] = 999;
                GameTextForPlayer(i, "~w~EMS Caller~n~~r~Has Died", 5000, 1);
                EMSCallTime[i] = 0;
                DisablePlayerCheckpoint(i);
            }
        }
    }

    if( GetPVarInt(playerid, "SpecOff" ) == 1 )
    {
        SpawnPlayer(playerid);
        return 1;
    }

    if(GetPVarInt(playerid, "Injured") == 1)
    {
        SendClientMessageEx(playerid, COLOR_WHITE, "You appear to be stuck in limbo, medics are trying to revive you.");
        KillEMSQueue(playerid);
        ResetPlayerWeaponsEx(playerid);
        //SpawnPlayer(playerid);
        return 1;
    }
    new Float:px,Float:py,Float:pz;
    if(GetPVarInt(playerid, "EventToken") == 0)
    {
        if(GetPVarInt(playerid, "IsInArena") == -1)
        {
            SetPVarInt(playerid, "Injured", 1);

            new Float:mX, Float:mY, Float:mZ;
            GetPlayerPos(playerid, mX, mY, mZ);

            SetPVarFloat(playerid, "MedicX", mX);
            SetPVarFloat(playerid, "MedicY", mY);
            SetPVarFloat(playerid, "MedicZ", mZ);
            SetPVarInt(playerid, "MedicVW", GetPlayerVirtualWorld(playerid));
            SetPVarInt(playerid, "MedicInt", GetPlayerInterior(playerid));
        }
    }
    gPlayerSpawned[playerid] = 0;
    if(GetPVarInt(playerid, "IsInArena") >= 0)
    {
        if(GetPVarInt(playerid, "AOSlotPaintballFlag") != -1)
        {
            switch(PlayerInfo[playerid][pPaintTeam])
            {
                case 1:
                {
                    DropFlagPaintballArena(playerid, GetPVarInt(playerid, "IsInArena"), 2);
                }
                case 2:
                {
                    DropFlagPaintballArena(playerid, GetPVarInt(playerid, "IsInArena"), 1);
                }
            }
        }
        if(reason >= 0 && reason <= 46)
        {
            new weapon[24];
            PlayerInfo[killerid][pKills] += 1;
            PlayerInfo[playerid][pDeaths] += 1;
            if(PlayerInfo[killerid][pPaintTeam] == 1)
            {
                if(PlayerInfo[killerid][pPaintTeam] == PlayerInfo[playerid][pPaintTeam])
                {
                    PaintBallArena[GetPVarInt(killerid, "IsInArena")][pbTeamRedKills] -= 1;
                    PaintBallArena[GetPVarInt(playerid, "IsInArena")][pbTeamBlueKills] += 1;
                    SetPlayerHealth(killerid, 0);
                    PlayerInfo[killerid][pKills] -= 2;
                    PlayerInfo[killerid][pDeaths] += 1;
                    PlayerInfo[playerid][pDeaths] -= 1;
                    SendClientMessageEx(killerid, COLOR_WHITE, "You have been warned, do not team-kill!");
                }
                else
                {
                    PaintBallArena[GetPVarInt(killerid, "IsInArena")][pbTeamRedKills] += 1;
                    PaintBallArena[GetPVarInt(playerid, "IsInArena")][pbTeamBlueDeaths] += 1;
                }
            }
            if(PlayerInfo[killerid][pPaintTeam] == 2)
            {
                if(PlayerInfo[killerid][pPaintTeam] == PlayerInfo[playerid][pPaintTeam])
                {
                    PaintBallArena[GetPVarInt(killerid, "IsInArena")][pbTeamBlueKills] -= 1;
                    PaintBallArena[GetPVarInt(playerid, "IsInArena")][pbTeamRedKills] += 1;
                    SetPlayerHealth(killerid, 0);
                    PlayerInfo[killerid][pKills] -= 2;
                    PlayerInfo[killerid][pDeaths] += 1;
                    PlayerInfo[playerid][pDeaths] -= 1;
                    SendClientMessageEx(killerid, COLOR_WHITE, "You have been warned, do not team-kill!");
                }
                PaintBallArena[GetPVarInt(killerid, "IsInArena")][pbTeamBlueKills] += 1;
                PaintBallArena[GetPVarInt(playerid, "IsInArena")][pbTeamRedDeaths] += 1;
            }
            GetWeaponName(reason,weapon,sizeof(weapon));
            if(reason == 0)
            {
                if(PaintBallArena[GetPVarInt(killerid, "IsInArena")][pbTimeLeft] < 12)
                {
                    GivePlayerCash(killerid, 1000);
                    format(string,sizeof(string),"[Paintball Arena] %s has earned $1000 bonus for a sudden death kill!",GetPlayerNameEx(killerid));
                    SendPaintballArenaMessage(GetPVarInt(killerid,"IsInArena"), COLOR_YELLOW, string);
                    SendAudioToPlayer(killerid, 19, 100, 0);
                }
                format(string,sizeof(string),"[Paintball Arena] %s has killed %s with their bare hands!",GetPlayerNameEx(killerid),GetPlayerNameEx(playerid));
            }
            else
            {
                if(PaintBallArena[GetPVarInt(killerid, "IsInArena")][pbTimeLeft] < 12)
                {
                    GivePlayerCash(killerid, 1000);
                    format(string,sizeof(string),"[Paintball Arena] %s has earned $1000 bonus for a sudden death kill!",GetPlayerNameEx(killerid));
                    SendPaintballArenaMessage(GetPVarInt(killerid,"IsInArena"), COLOR_YELLOW, string);
                    SendAudioToPlayer(killerid, 19, 100, 0);
                }
                format(string,sizeof(string),"[Paintball Arena] %s has killed %s with a %s.",GetPlayerNameEx(killerid),GetPlayerNameEx(playerid),weapon);
            }
        }
        else
        {
            PlayerInfo[playerid][pDeaths] += 1;
            format(string,sizeof(string),"[Paintball Arena] %s has died.",GetPlayerNameEx(playerid));
        }
        SendPaintballArenaMessage(GetPVarInt(playerid,"IsInArena"), COLOR_RED, string);
    }
    PlayerInfo[playerid][pLocal] = 255;
    GetPlayerPos(playerid, px, py, pz);

    if(GetPVarInt(playerid, "Injured") == 0)
    {
        if( GetPVarInt(playerid, "EventToken") >= 1 || GetPVarInt(playerid, "IsInArena") >= 0)
        {
            ResetPlayerWeapons(playerid);
        }
        else
        {
            ResetPlayerWeaponsEx(playerid);
        }
    }
    if(PlayerInfo[killerid][pAdmin] < 2)
    {
        if(reason == 49)
        {
            format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just car-rammed %s (ID %d) to death.", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
            ABroadCast(COLOR_YELLOW, string, 2);
            print(string);
        }
        if(reason == 50)
        {
            if(IsAHelicopter(GetPlayerVehicleID(killerid)))
            {
                format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just blade-killed %s (ID %d).", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
                ABroadCast(COLOR_YELLOW, string, 2);
                print(string);
            }
            else
            {
                if(GetPlayerWeapon(killerid) != 32 || GetPlayerWeapon(killerid) != 28 || GetPlayerWeapon(killerid) != 29)
                {
                    format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just car-parked %s (ID %d) to death.", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
                    ABroadCast(COLOR_YELLOW, string, 2);
                    print(string);
                }
                else
                {
                    format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just driver-shot %s (ID %d) to death.", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
                    ABroadCast(COLOR_YELLOW, string, 2);
                    print(string);
                }
            }
        }
    }
    if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
    {
        DisablePlayerCheckpoint(playerid);
        gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
    }
    if(HaveGPS[playerid])
    {
        KillTimer(GPSTimer[playerid]);
        HaveGPS[playerid] = false;
        GPSTimer[playerid] = 0;
    }

    ClearCrime(playerid);
    if(PlayerInfo[playerid][pHeadValue] >= 1)
    {
        if(IsPlayerConnected(killerid))
        {
            if(GoChase[killerid] == playerid)
            {
                new killer[MAX_PLAYER_NAME],
                    name[MAX_PLAYER_NAME];

                new takemoney = PlayerInfo[playerid][pHeadValue] / 4 * 2;
                name = GetPlayerNameEx(playerid);
                killer = GetPlayerNameEx(killerid);
                GivePlayerCash(killerid, takemoney);
                GivePlayerCash(playerid, -takemoney);
                format(string,128,"Hitman %s has fulfilled the contract on %s and collected $%d.",killer,name,PlayerInfo[playerid][pHeadValue] / 4 * 2);
                SendFamilyMessage(8, COLOR_YELLOW, string);
                format(string,128,"You have been critically injured by a hitman and lost $%d.",takemoney);
                ResetPlayerWeaponsEx(playerid);
                // SpawnPlayer(playerid);
                SendClientMessageEx(playerid, COLOR_YELLOW, string);
                // KillEMSQueue(playerid);
                PlayerInfo[playerid][pHeadValue] = 0;
                PlayerInfo[killerid][pCHits] += 1;
                GotHit[playerid] = 0;
                GetChased[playerid] = 999;
                GoChase[killerid] = 999;
            }
        }
    }
    if(IsPlayerConnected(killerid))
    {
        if(GoChase[playerid] == killerid)
        {
            new killer[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
            new takemoney = PlayerInfo[playerid][pHeadValue] / 4 * 2;
            GivePlayerCash(killerid, takemoney);
            name = GetPlayerNameEx(playerid);
            killer = GetPlayerNameEx(killerid);
            format(string,128,"Hitman %s has failed the contract on %s and lost $%d.",name,killer,PlayerInfo[killerid][pHeadValue] / 4 * 2);
            SendFamilyMessage(8, COLOR_YELLOW, string);
            GivePlayerCash(playerid, -takemoney);
            format(string,128,"You have just killed a hitman and gained $%d, removing the contact on your head.",PlayerInfo[killerid][pHeadValue] / 4 * 2);
            SendClientMessageEx(killerid, COLOR_YELLOW, string);
            PlayerInfo[killerid][pHeadValue] = 0;
            PlayerInfo[playerid][pFHits] += 1;
            GotHit[playerid] = 0;
            GetChased[killerid] = 999;
            GoChase[playerid] = 999;
        }
    }
    killerid = INVALID_PLAYER_ID;
    SetPlayerColor(playerid,TEAM_HIT_COLOR);
    return 1;
}
Reply
#4

OnPlayerDisconnect:
pawn Код:
if(GetPVarInt(playerid, "Injured") == 1)
    {
        PlayerInfo[playerid][pHospital] = 1;
        KillEMSQueue(playerid);
        ResetPlayerWeaponsEx(playerid);
    }
Notice:
The NG:RP based leaked gamemode is filled with backdoors if downloaded from an untrusted provider, so as every single NG:RP based leaked gamemode should have at least one major bug, stay away from the gamemode and create your very own and realistic gamemode.
Reply
#5

pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(!strcmp(name, "InvalidNick", true)) return 1;
    if(!strcmp(name, "BannedPlayer", true)) return 1;

    if(playerid == MAX_PLAYERS) return 1;
    PlayersConnected--;
    if(PlayerInfo[playerid][pWExists] == 1)
    {
        WeedLogout(playerid);
    }
    if(pTazer[playerid] == 1) GivePlayerValidWeapon(playerid,pTazerReplace[playerid],60000);
    if(GetPVarInt(playerid, "SpeedRadar") == 1) GivePlayerValidWeapon(playerid, GetPVarInt(playerid, "RadarReplacement"), 60000);
    if(GetPVarInt(playerid, "MovingStretcher") != -1)
    {
        KillTimer(GetPVarInt(playerid, "TickEMSMove"));
        DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
        SetPVarInt(playerid, "MovingStretcher", -1);
    }
    if(GetPVarInt(playerid, "Hospital") > 0)
    {
        PlayerInfo[playerid][pHospital] = 1;
    }
    if(GetPVarInt(playerid, "Injured") == 1)
    {
        PlayerInfo[playerid][pHospital] = 1;
        KillEMSQueue(playerid);
        ResetPlayerWeaponsEx(playerid);
    }
    for(new s = 0; s < 12; s++)
    {
        if(PlayerInfo[playerid][pAGuns][s] != 0)
        {
            RemovePlayerWeapon(playerid, PlayerInfo[playerid][pAGuns][s]);
        }
    }
    if(control[playerid] == 1)
    {
        control[playerid] = 0;
        KillTimer(ControlTimer[playerid]);
    }
    if(PlayerInfo[playerid][pLockCar] != INVALID_VEHICLE_ID)
    {
        vehicle_unlock_doors(PlayerInfo[playerid][pLockCar]);
    }
    if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
    {
        PlayerVehicleInfo[PlayerInfo[playerid][pVehicleKeysFrom]][PlayerInfo[playerid][pVehicleKeys]][pvAllowedPlayerId] = INVALID_PLAYER_ID;
    }
    new string[128];
    switch (reason)
    {
        case 0:
        {
            format(string, sizeof(string), "%s has left the server (timeout).", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
            if(PlayerCuffed[playerid] != 0)
            {
                PlayerInfo[playerid][pJailed] = 4;
                PlayerInfo[playerid][pJailTime] += 20*60;
            }
        }
        case 1:
        {
            format(string, sizeof(string), "%s has left the server (leaving).", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
            if(PlayerCuffed[playerid] != 0)
            {
                PlayerInfo[playerid][pJailed] = 4;
                PlayerInfo[playerid][pJailTime] += 20*60;
            }
        }
        case 2:
        {
            format(string, sizeof(string), "%s has left the server (kicked/banned).", GetPlayerNameEx(playerid));
            ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
        }
    }
    if(EventKernel[EventRequest] == playerid)
    {
        EventKernel[EventRequest] = 999;
        ABroadCast( COLOR_YELLOW, "{AA3333}AdmWarning{FFFF00}: The player that was requesting an event has disconnected/crashed.", 4 );
    }
    if(EventKernel[EventCreator] == playerid)
    {
        EventKernel[EventCreator] = 999;
        ABroadCast( COLOR_YELLOW, "{AA3333}AdmWarning{FFFF00}: The player that was creating an event has disconnected/crashed.", 4 );
    }
    if(EventKernel[EventStaff][0] == playerid)
    {
        EventKernel[EventStaff][0] = 999;
    }
    else if(EventKernel[EventStaff][1] == playerid)
    {
        EventKernel[EventStaff][1] = 999;
    }
    else if(EventKernel[EventStaff][2] == playerid)
    {
        EventKernel[EventStaff][2] = 999;
    }
    else if(EventKernel[EventStaff][3] == playerid)
    {
        EventKernel[EventStaff][3] = 999;
    }
    else if(EventKernel[EventStaff][4] == playerid)
    {
        EventKernel[EventStaff][4] = 999;
    }
    if(GetPVarInt(playerid, "IsInArena") >= 0)
    {
        LeavePaintballArena(playerid, GetPVarInt(playerid, "IsInArena"));
        PlayerInfo[playerid][pInt] = GetPVarInt(playerid, "pbOldInt");
        PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "pbOldVW");
        PlayerInfo[playerid][pPos_x] = GetPVarFloat(playerid, "pbOldX");
        PlayerInfo[playerid][pPos_y] = GetPVarFloat(playerid, "pbOldY");
        PlayerInfo[playerid][pPos_z] = GetPVarFloat(playerid, "pbOldZ");
        PlayerInfo[playerid][pHealth] = GetPVarFloat(playerid, "pbOldHealth");
        PlayerInfo[playerid][pArmor] = GetPVarFloat(playerid, "pbOldArmor");
        SetPlayerHealth(playerid,GetPVarFloat(playerid, "pbOldHealth"));
        SetPlayerArmour(playerid,GetPVarFloat(playerid, "pbOldArmor"));
    }
    else if(GetPVarInt(playerid, "EventToken") == 0)
    {
        new Float: x, Float: y, Float: z;
        PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
        PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
        PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
        PlayerInfo[playerid][pPos_x] = x;
        PlayerInfo[playerid][pPos_y] = y;
        PlayerInfo[playerid][pPos_z] = z;
    }
    else if(GetPVarInt(playerid, "EventToken") == 1)
    {
        PlayerInfo[playerid][pInt] = EventLastInt[playerid];
        PlayerInfo[playerid][pVW] = EventLastVW[playerid];
        PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
        PlayerInfo[playerid][pPos_r] = EventFloats[playerid][0];
        PlayerInfo[playerid][pPos_x] = EventFloats[playerid][1];
        PlayerInfo[playerid][pPos_y] = EventFloats[playerid][2];
        PlayerInfo[playerid][pPos_z] = EventFloats[playerid][3];
    }
    if(WatchingTV[playerid] == 1)
    {
        PlayerInfo[playerid][pInt] = BroadcastLastInt[playerid];
        PlayerInfo[playerid][pVW] = BroadcastLastVW[playerid];
        PlayerInfo[playerid][pPos_r] = BroadcastFloats[playerid][0];
        PlayerInfo[playerid][pPos_x] = BroadcastFloats[playerid][1];
        PlayerInfo[playerid][pPos_y] = BroadcastFloats[playerid][2];
        PlayerInfo[playerid][pPos_z] = BroadcastFloats[playerid][3];
        WatchingTV[playerid] = 0;
        viewers--;
        UpdateSANewsBroadcast();
    }
    if(Spectate[playerid] < 553)
    {
        PlayerInfo[playerid][pInt] = GetPVarInt(playerid, "SpecInt");
        PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "SpecVW");
        PlayerInfo[playerid][pChar] = PlayerInfo[playerid][pModel];
        PlayerInfo[playerid][pPos_x] = GetPVarFloat(playerid, "SpecPosX");
        PlayerInfo[playerid][pPos_y] = GetPVarFloat(playerid, "SpecPosY");
        PlayerInfo[playerid][pPos_z] = GetPVarFloat(playerid, "SpecPosZ");
        GettingSpectated[Spectate[playerid]] = 999;
        Spectate[playerid] = 999;
    }
    if(gBike[playerid] >= 0 && gBikeRenting[playerid] == 1)
    {
        gBike[playerid] = 0;
        gBikeRenting[playerid] = 0;
        KillTimer(GetPVarInt(playerid, "RentTime"));
    }

    if(GetPVarInt(playerid, "gpsonoff") == 1) TextDrawDestroy(GPS[playerid]);

    if(GetPVarInt(playerid, "fuelonoff") == 1)
    {
        DestroyProgressBar(FuelBar[playerid]);
        textdrawscount--;
        FuelBar[playerid] = INVALID_BAR_ID;
    }

    if(InsideShamal[playerid] != INVALID_VEHICLE_ID)
    {
        if(InsideShamal[playerid] == INVALID_VEHICLE_ID || GetVehicleModel(InsideShamal[playerid]) != 519)
        {
            GivePlayerValidWeapon(playerid, 46, 60000);
            PlayerInfo[playerid][pPos_x] = 0.000000;
            PlayerInfo[playerid][pPos_y] = 0.000000;
            PlayerInfo[playerid][pPos_z] = 420.000000;
        }
        else
        {
            new Float:X, Float:Y, Float:Z;
            GetVehiclePos(InsideShamal[playerid], X, Y, Z);
            PlayerInfo[playerid][pPos_x] = X;
            PlayerInfo[playerid][pPos_y] = Y;
            PlayerInfo[playerid][pPos_z] = Z;

            new Float:XB, Float:YB, Float:ZB;
            GetVehiclePos(InsideShamal[playerid], XB, YB, ZB);
            if(ZB > 50.0)
            {
                GivePlayerValidWeapon(playerid, 46, 60000);
            }
        }
        PlayerInfo[playerid][pVW] = 0;
        SetPlayerVirtualWorld(playerid, 0);
        PlayerInfo[playerid][pInt] = 0;
        SetPlayerInterior(playerid, 0);
        InsideShamal[playerid] = INVALID_VEHICLE_ID;
    }
    InsideShamal[playerid] = INVALID_VEHICLE_ID;

    gActivePlayers[playerid]--;
    numplayers--;
    PlayerInfo[playerid][pAdjustable] = 1;
    OnPlayerStatsUpdate(playerid);
    UnloadPlayerVehicles(playerid);
    ResetPlayerWeapons(playerid);

    for(new i = 0; i < MAX_REPORTS; i++)
    {
        if(Reports[i][ReportFrom] == playerid)
        {
            Reports[i][ReportFrom] = 999;
            Reports[i][BeingUsed] = 0;
            Reports[i][TimeToExpire] = 0;
        }
    }
    foreach(Player, i)
    {
        if(TaxiAccepted[i] == playerid)
        {
            TaxiAccepted[i] = 999;
            GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Left the game", 5000, 1);
            TaxiCallTime[i] = 0;
            DisablePlayerCheckpoint(i);
        }
        if(EMSAccepted[i] == playerid)
        {
            EMSAccepted[i] = 999;
            GameTextForPlayer(i, "~w~EMS Caller~n~~r~Left the game", 5000, 1);
            EMSCallTime[i] = 0;
            DisablePlayerCheckpoint(i);
        }
        if(BusAccepted[i] == playerid)
        {
            BusAccepted[i] = 999;
            GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1);
            BusCallTime[i] = 0;
            DisablePlayerCheckpoint(i);
        }
        if(MedicAccepted[i] == playerid)
        {
            TaxiAccepted[playerid] = 999; BusAccepted[playerid] = 999; MedicAccepted[playerid] = 999;
            GameTextForPlayer(i, "~w~Medic Caller~n~~r~Left the game", 5000, 1);
            MedicCallTime[i] = 0;
            DisablePlayerCheckpoint(i);
        }
        if(OrderAssignedTo[i] == playerid)
        {
           OrderAssignedTo[i] = INVALID_PLAYER_ID;
        }
    }
    if(HaveGPS[playerid])
    {
        KillTimer(GPSTimer[playerid]);
        HaveGPS[playerid] = false;
        GPSTimer[playerid] = 0;
    }
    if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
    {
        if(IsPlayerConnected(TransportDriver[playerid]))
        {
            TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
            TransportTime[TransportDriver[playerid]] = 0;
            TransportCost[TransportDriver[playerid]] = 0;
            format(string, sizeof(string), "~w~Passenger left~n~~g~Earned $%d",TransportCost[playerid]);
            GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
            TransportDriver[playerid] = 999;
        }
    }
    if(GotHit[playerid] > 0)
    {
        if(GetChased[playerid] < 999)
        {
            if(IsPlayerConnected(GetChased[playerid]))
            {
                SendClientMessageEx(GetChased[playerid], COLOR_YELLOW, "Your hit has left the server.");
                GoChase[GetChased[playerid]] = 999;
            }
        }
    }
    if(GoChase[playerid] < 999)
    {
      GetChased[GoChase[playerid]] = 999;
      GotHit[GoChase[playerid]] = 999;
    }
    if(HireCar[playerid] != 299)
    {
        gLastDriver[HireCar[playerid]] = 300;
        vehicle_unlock_doors(HireCar[playerid]);
    }
    if (gLastCar[playerid] > 0)
    {
        gLastDriver[gLastCar[playerid]] = 300;
        if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
        {
            vehicle_unlock_doors(gLastCar[playerid]);
        }
    }
    if(PlayerBoxing[playerid] > 0)
    {
        if(Boxer1 == playerid)
        {
            if(IsPlayerConnected(Boxer2))
            {
                if(IsPlayerInRangeOfPoint(PlayerBoxing[Boxer2], 20.0, 768.94, -70.87, 1001.56))
                {
                    PlayerBoxing[Boxer2] = 0;
                    SetPlayerPos(Boxer2, 768.48, -73.66, 1000.57);
                    SetPlayerInterior(Boxer2, 7);
                    GameTextForPlayer(Boxer2, "~r~Match interupted", 5000, 1);
                    return 1;
                }
                PlayerBoxing[Boxer2] = 0;
                SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
                SetPlayerInterior(Boxer2, 5);
                GameTextForPlayer(Boxer2, "~r~Match interupted", 5000, 1);
            }
        }
        else if(Boxer2 == playerid)
        {
            if(IsPlayerConnected(Boxer1))
            {
                if(IsPlayerInRangeOfPoint(PlayerBoxing[Boxer1],20.0,764.35, -66.48, 1001.56))
                {
                    PlayerBoxing[Boxer1] = 0;
                    SetPlayerPos(Boxer1, 768.48, -73.66, 1000.57);
                    SetPlayerInterior(Boxer1, 7);
                    GameTextForPlayer(Boxer1, "~r~Match interupted", 5000, 1);
                    return 1;
                }
                PlayerBoxing[Boxer1] = 0;
                SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
                SetPlayerInterior(Boxer1, 5);
                GameTextForPlayer(Boxer1, "~r~Match interupted", 5000, 1);
            }
        }
        InRing = 0;
        RoundStarted = 0;
        Boxer1 = INVALID_PLAYER_ID;
        Boxer2 = INVALID_PLAYER_ID;
        TBoxer = INVALID_PLAYER_ID;
    }
    if(GetPVarInt(playerid, "AdvisorDuty") == 1)
    {
        Advisors--;
    }
    if(TransportDuty[playerid] == 1)
    {
        TaxiDrivers -= 1;
    }
    else if(TransportDuty[playerid] == 2)
    {
        BusDrivers -= 1;
    }
    if(PlayerInfo[playerid][pJob] == 11 || PlayerInfo[playerid][pJob2] == 11)
    {
        if(JobDuty[playerid] == 1) { Medics -= 1; }
    }
    if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7)
    {
        if(JobDuty[playerid] == 1) { Mechanics -= 1; }
    }
    if(PlayerInfo[playerid][pJob] == 11 || PlayerInfo[playerid][pJob2] == 11)
    {
        if(JobDuty[playerid] == 1) { Coastguard -= 1; }
    }
    return 1;
}
Reply
#6

Too many possibilities on death so we can't help with out testing it.
Reply
#7

come on the server and i will show you... ( report for Justinlampy )
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)