12.04.2013, 02:48
Hello, I've recently got my friend's server so laggy, When we tried to check the logs we found this problem everytime someone logs in, Script compiles successfully, But i'm always seeing that in the logs.
The error:
[06:47:30] [debug] Run time error 4: "Array index out of bounds"
[06:47:30] [debug] Accessing element at index 999 past array upper bound 500
[06:47:30] [debug] Backtrace (most recent call first):
[06:47:30] [debug] #0 00079e4c in OnPlayerStateChange () from mrp15d.amx
Full OnPlayerStateChange:
Would someone help me?
The error:
[06:47:30] [debug] Run time error 4: "Array index out of bounds"
[06:47:30] [debug] Accessing element at index 999 past array upper bound 500
[06:47:30] [debug] Backtrace (most recent call first):
[06:47:30] [debug] #0 00079e4c in OnPlayerStateChange () from mrp15d.amx
Full OnPlayerStateChange:
pawn Код:
[public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate != 2) NOPTrigger[playerid] = 0;
if(IsPlayerNPC(playerid))
{
if(newstate == PLAYER_STATE_SPECTATING)
{
TogglePlayerSpectating(playerid, false);
}
return 1;
}
if(GettingSpectated[playerid] != 999)
{
new spectator = GettingSpectated[playerid];
if(!IsPlayerConnected(spectator))
{
GettingSpectated[playerid] = 999;
Spectate[spectator] = 999;
}
if(newstate == PLAYER_STATE_DRIVER && PlayerInfo[spectator][pAdmin] >= 2 || newstate == PLAYER_STATE_PASSENGER && PlayerInfo[spectator][pAdmin] >= 2)
{
TogglePlayerSpectating(spectator, true);
new carid = GetPlayerVehicleID( playerid );
PlayerSpectateVehicle( spectator, carid );
SetPVarInt(spectator, "SpecState", newstate);
}
else if(newstate == PLAYER_STATE_ONFOOT && PlayerInfo[spectator][pAdmin] >= 2)
{
TogglePlayerSpectating(spectator, true);
PlayerSpectatePlayer( spectator, playerid );
SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
SetPVarInt(spectator, "SpecState", newstate);
}
}
if(newstate == PLAYER_STATE_ONFOOT)
{
if(stationidv[GetPlayerVehicleID(playerid)] != 0)
{
StopAudioStreamForPlayer(playerid);
//stationidp[playerid] = 0;
}
new spectator = GettingSpectated[playerid];
if(PlayerInfo[spectator][pAdmin] >= 2) {
// Preventing possible buffer overflows with the arrays
TogglePlayerSpectating(spectator, true);
PlayerSpectatePlayer( spectator, playerid );
SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
SetPVarInt(spectator, "SpecState", newstate);
SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
SetPlayerVirtualWorld( spectator, GetPlayerVirtualWorld( playerid ) );
}
if(oldstate == PLAYER_STATE_DRIVER)
{
SetPlayerWeaponsEx(playerid);
}
else if(oldstate == PLAYER_STATE_PASSENGER) SetPlayerWeaponsEx(playerid);
if(ConnectedToPC[playerid] == 1337)//mdc
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You are now logged off the MDC.");
ConnectedToPC[playerid] = 0;
}
if(TransportDuty[playerid] > 0)
{
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
}
else if(TransportDuty[playerid] == 2)
{
BusDrivers -= 1;
}
TransportDuty[playerid] = 0;
new string[42];
format(string, sizeof(string), "* You are now off duty and earned $%d.", TransportMoney[playerid]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
GivePlayerCash(playerid, TransportMoney[playerid]);
ConsumingMoney[playerid] = 1; TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
SetPlayerColor(playerid, TEAM_HIT_COLOR);
TransportTime[playerid] = 0;
TransportCost[playerid] = 0;
}
if(TransportDriver[playerid] < 999)
{
new string[128];
TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
format(string, sizeof(string), "~w~The ride cost~n~~r~$%d",TransportCost[playerid]);
GameTextForPlayer(playerid, string, 5000, 3);
format(string, sizeof(string), "~w~Passenger left the taxi.~n~~g~Earned $%d",TransportCost[playerid]);
GameTextForPlayer(TransportDriver[playerid], string, 5000, 3);
GivePlayerCash(playerid, -TransportCost[playerid]);
new ip[32], ipex[32];
GetPlayerIp(playerid, ip, sizeof(ip));
GetPlayerIp(TransportDriver[playerid], ipex, sizeof(ipex));
TaxiWarn[playerid][TransportDriver[playerid]] += TransportCost[playerid];
if(TaxiWarn[playerid][TransportDriver[playerid]] >= 10000)
{
format(string, sizeof(string), "%s (IP:%s) has taxied %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(TransportDriver[playerid]), ipex, TaxiWarn[playerid][TransportDriver[playerid]]);
Log("logs/pay.log", string);
ABroadCast(COLOR_YELLOW, string, 2);
}
TransportTime[TransportDriver[playerid]] = 0;
TransportCost[TransportDriver[playerid]] = 0;
TransportCost[playerid] = 0;
TransportTime[playerid] = 0;
TransportDriver[playerid] = 999;
}
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
}
if(newstate == PLAYER_STATE_PASSENGER) // TAXI & BUSSES
{
if(stationidv[GetPlayerVehicleID(playerid)] != 0)
{
//new station[64];
switch(stationidv[GetPlayerVehicleID(playerid)])
{
case 1: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200");
case 2: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=947738");
case 3: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=213419");
case 4: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283687");
case 5: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=41879");
case 6: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=150518");
case 7: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=265165");
case 8: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1281016");
case 9: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=64088");
case 10: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1504548");
case 11: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585");
case 12: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275878");
case 13: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcas.com/sbin/tunein-station.pls?id=2530541");
case 14: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=127035");
case 15: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
case 16: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=79927");
case 17: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=56349");
case 18: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280855");
case 19: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283896");
case 20: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283516");
case 21: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
case 22: PlayAudioStreamForPlayer(playerid, "http://3yp.shoutcast.com/sbin/tunein-station.pls?id=1593716");
case 23: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=931441");
}
if(stationidv[GetPlayerVehicleID(playerid)] != 0)
{
StopAudioStreamForPlayer(playerid);
//stationidp[playerid] = Audio_PlayStreamed(playerid, station, false, true, false);
}
}
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == NGVehicles[12] ||
vehicleid == NGVehicles[13] ||
vehicleid == NGVehicles[14] ||
vehicleid == NGVehicles[15] ||
vehicleid == NGVehicles[16] ||
vehicleid == NGVehicles[17])
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid, vehicleid);
SetPVarInt(playerid, "NGPassenger", 1);
SetPVarInt(playerid, "NGPassengerVeh", vehicleid);
SetPVarInt(playerid, "NGPassengerSkin", GetPlayerSkin(playerid));
new Float:health, Float:armour;
GetPlayerHealth(playerid, health);
GetPlayerArmour(playerid, armour);
SetPVarFloat(playerid, "NGPassengerHP", health);
SetPVarFloat(playerid, "NGPassengerArmor", armour);
}
/*new gun,tmp;
GetPlayerWeaponData(playerid,4,gun,tmp);
#pragma unused tmp
if(gun)SetPlayerArmedWeapon(playerid,gun);
else SetPlayerArmedWeapon(playerid,0);*/
if(PlayerInfo[playerid][pGuns][4] > 0) SetPlayerArmedWeapon(playerid,PlayerInfo[playerid][pGuns][4]);
else SetPlayerArmedWeapon(playerid,0);
if( GetPVarInt( playerid, "ToBeEjected" ) >= 1 )
{
SetPVarInt( playerid, "ToBeEjected", 0 );
RemovePlayerFromVehicle( playerid );
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+2);
if(GetPVarInt(playerid, "Injured") == 1)
{
Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
ClearAnimations(playerid);
ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
}
}
//SetPVarInt(playerid, "LastWeapon", GetPlayerWeapon(playerid));
gLastCar[playerid] = vehicleid;
foreach(Player, i)
{
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty[i] > 0)
{
if(GetPlayerCash(playerid) < TransportValue[i])
{
new string[28];
format(string, sizeof(string), "* You need $%d to enter.", TransportValue[i]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
RemovePlayerFromVehicle(playerid);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+2);
TogglePlayerControllable(playerid, 1);
}
else
{
new string[38];
if(TransportDuty[i] == 1)
{
format(string, sizeof(string), "* You paid $%d to the taxi driver.", TransportValue[i]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Passenger %s has entered your taxi.", GetPlayerNameEx(playerid));
SendClientMessageEx(i, COLOR_LIGHTBLUE, string);
TransportTime[i] = 1;
TransportTime[playerid] = 1;
TransportCost[playerid] = TransportValue[i];
TransportCost[i] = TransportValue[i];
TransportDriver[playerid] = i;
}
else if(TransportDuty[i] == 2)
{
format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue[i]);
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Passenger %s has entered your Taxi.", GetPlayerNameEx(playerid));
SendClientMessageEx(i, COLOR_LIGHTBLUE, string);
}
GivePlayerCash(playerid, - TransportValue[i]);
TransportMoney[i] += TransportValue[i];
}
}
}
}
if(newstate == PLAYER_STATE_WASTED)
{
if(GetPVarInt(playerid, "EventToken") == 0)
{
SetPVarInt(playerid, "MedicBill", 1);
}
if(ConnectedToPC[playerid] == 1337)//mdc
{
ConnectedToPC[playerid] = 0;
}
Seatbelt[playerid] = 0;
}
if(newstate == PLAYER_STATE_DRIVER)
{
if(stationidv[GetPlayerVehicleID(playerid)] != 0)
{
//new station[64];
switch(stationidv[GetPlayerVehicleID(playerid)])
{
case 1: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200");
case 2: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=947738");
case 3: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=213419");
case 4: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283687");
case 5: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=41879");
case 6: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=150518");
case 7: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=265165");
case 8: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1281016");
case 9: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=64088");
case 10: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1504548");
case 11: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585");
case 12: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275878");
case 13: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcas.com/sbin/tunein-station.pls?id=2530541");
case 14: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=127035");
case 15: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
case 16: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=79927");
case 17: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=56349");
case 18: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280855");
case 19: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283896");
case 20: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283516");
case 21: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
case 22: PlayAudioStreamForPlayer(playerid, "http://3yp.shoutcast.com/sbin/tunein-station.pls?id=1593716");
case 23: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=931441");
}
if(stationidv[GetPlayerVehicleID(playerid)] != 0)
{
StopAudioStreamForPlayer(playerid);
//stationidp[playerid] = Audio_PlayStreamed(playerid, station, false, true, false);
}
}
SetPlayerArmedWeapon(playerid, 0);
new
newcar = GetPlayerVehicleID(playerid),
engine, lights, alarm, doors, bonnet, boot, objective, v;
gLastCar[playerid] = newcar;
foreach(Player, i) {
v = GetPlayerVehicle(i, newcar);
if(v != -1) {
if(i == playerid) {
new
string[96];
format(string, sizeof(string),"You are the owner of this %s.", GetVehicleName(newcar));
SendClientMessageEx(playerid, COLOR_GREY, string);
if(PlayerVehicleInfo[i][v][pvTicket] != 0)
{
format(string, sizeof(string),"A $%d parking ticket was left on your vehicle. You must pay the ticket at the SADOC in Dilimore.", PlayerVehicleInfo[i][v][pvTicket]);
SendClientMessageEx(playerid, COLOR_GREY, string);
SendClientMessageEx(playerid, COLOR_GREY, "Failure to pay this ticket as soon as possible will result in a fine, or even an arrest.");
}
}
else if(i == PlayerInfo[playerid][pVehicleKeysFrom]) {
new
string[64 + MAX_PLAYER_NAME];
format(string, sizeof(string),"You have the keys for this %s from owner %s.", GetVehicleName(newcar), GetPlayerNameEx(i));
SendClientMessageEx(playerid, COLOR_GREY, string);
}
else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 1) {
GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(newcar,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
SetTimerEx("DisableVehicleAlarm", 20000, 0, "d", newcar);
}
else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 2) {
new
string[49 + MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 2)
{
format(string, sizeof(string), "* %s has been stunned by the electric anti-theft.",GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new Float:X, Float:Y, Float:Z, Float:HP;
GetPlayerPos(playerid, X, Y, Z);
//SendAudioToRange(10300, 100, 0, X, Y, Z, 20.0);
SetPlayerPos(playerid, X + 1, Y, Z);
RemovePlayerFromVehicle(playerid);
SetPVarInt(playerid, "IsFrozen", 1);
TogglePlayerControllable(playerid,0);
SetTimerEx("ReleasePlayer", 10000, 0, "d", playerid);
GameTextForPlayer(playerid,"~r~STUNNED!",11000,3);
GetPlayerHealth(playerid,HP);
SetPlayerHealth(playerid,HP-15);
}
else
{
format(string, sizeof(string), "Warning: This %s is owned by %s.", GetVehicleName(newcar), GetPlayerNameEx(i));
SendClientMessageEx(playerid, COLOR_GREY, string);
}
}
return 1;
}
}
for(new f = 0; f < MAX_FAMILY; f++) {
v = GetGangVehicle(f, newcar);
if(v != -1) {
new string[49 + MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pFMember] == f)
{
format(string, sizeof(string), "You are in the family that owns this %s.", GetVehicleName(newcar));
SendClientMessageEx(playerid, COLOR_GREY, string);
}
else if(FamilyVehicleInfo[f][v][fvLocked] == 1 && FamilyVehicleInfo[f][v][fvLock] == 1)
{
GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(newcar,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
SetTimerEx("DisableVehicleAlarm", 20000, 0, "d", newcar);
}
else if(FamilyVehicleInfo[f][v][fvLocked] == 1 && FamilyVehicleInfo[f][v][fvLock] == 2)
{
format(string, sizeof(string), "* %s has been stunned by the electric anti-theft.",GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new Float:X, Float:Y, Float:Z, Float:HP;
GetPlayerPos(playerid, X, Y, Z);
//SendAudioToRange(10300, 100, 0, X, Y, Z, 20.0);
SetPlayerPos(playerid, X + 1, Y, Z);
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
SetPVarInt(playerid, "IsFrozen", 1);
TogglePlayerControllable(playerid,0);
SetTimerEx("ReleasePlayer", 10000, 0, "d", playerid);
GameTextForPlayer(playerid,"~r~STUNNED!",11000,3);
GetPlayerHealth(playerid,HP);
SetPlayerHealth(playerid,HP-15);
}
return 1;
}
}
new vehicleid = newcar;
if(IsVIPcar(vehicleid))
{
if(PlayerInfo[playerid][pDonateRank] > 0)
{
SendClientMessageEx(playerid, COLOR_YELLOW, "VIP: This is a VIP vehicle from the VIP garage, therefore it has unlimited fuel.");
}
else
{
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+1.3);
PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
RemovePlayerFromVehicle(playerid);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not a VIP, this is a vehicle from the VIP Garage!");
}
}
else if(IsAnAmbulance(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
{
if(FDSAVehicles[13] == vehicleid && PlayerInfo[playerid][pRank] < 5)
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "Only ranks 5+ can drive this vehicle.");
}
}
else
{
SendClientMessageEx(playerid,COLOR_GREY," You are not in the FDSA!");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
}
}
else if(IsACopCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the LSPD!");
}
}
else if(IsAnSADOCCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SADOC!");
}
}
else if(IsAnEPCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] >= 5)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SADOC Executive Protection Division!");
}
}
else if(IsAnSASDCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SASD!");
}
}
else if(IsACopCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the LSPD!");
}
}
else if(IsAHouse275Car(vehicleid))
{
TogglePlayerControllable(playerid, false);
ShowPlayerDialog(playerid, House275CAR, DIALOG_STYLE_INPUT, "KeyPad", "Password:", "ENTER", "ENTER");
}
else if(IsAFBICar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the FBI!");
}
}
/* else if(IsAnNGARMCar(vehicleid))
{
if((PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11) && (PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pDivision] == 3 || PlayerInfo[playerid][pDivision] == 6 || PlayerInfo[playerid][pDivision] == 7))
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the NG ARM Division!");
}
} */
else if(vehicleid == FDSAVehicles[12] || vehicleid == FDSAVehicles[33] || vehicleid == FDSAVehicles[34] || vehicleid == FDSAVehicles[35])
{
if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 1)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Fire Department Division!");
}
}
else if(vehicleid == FDSAVehicles[37] || vehicleid == FDSAVehicles[36])
{
if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 2)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Life Flight Division!");
}
}
else if(IsAnNGAIRCar(vehicleid))
{
if((PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11) && (PlayerInfo[playerid][pDivision] == 1 || PlayerInfo[playerid][pDivision] == 4))
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the NG AIR Division!");
}
}
else if(IsAnNGCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Department of Defense!");
}
}
else if(IsAnDOCCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11)
{
}
else
{
NOPCheck(playerid);
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Department of Defense!");
}
}
else if(IsAnMPSCar(vehicleid))
{
if(IsACop(playerid))
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't in a LEO Faction.");
}
}
else if(IsACoastguardCar(vehicleid))
{
if( ( PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4 ) || ( PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pDivision] == 3 ))
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Coastguard division!");
}
}
else if(IsANewsCar(vehicleid))
{
if(PlayerInfo[playerid][pMember] == 9 ||PlayerInfo[playerid][pLeader] == 9)
{
}
else
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SANews!");
}
}
else if(IsAPlane(vehicleid))
{
if(PlayerInfo[playerid][pFlyLic] != 1)
{
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
NOPCheck(playerid);
SendClientMessageEx(playerid,COLOR_GREY,"You don't have a pilot license!");
}
}
else if(IsAHelicopter(vehicleid))
{
PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
GivePlayerValidWeapon(playerid, 46, 60000);
}
else if(IsAnTaxi(vehicleid) || IsAnBus(vehicleid))
{
if(PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pCitizenshipCard] == 1)
{
}
else
{
SendClientMessageEx(playerid,COLOR_GREY," You are not a Taxi/Bus Driver!");
RemovePlayerFromVehicle(playerid);
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz);
}
}
if( GetPVarInt( playerid, "ToBeEjected" ) >= 1 )
{
SetPVarInt( playerid, "ToBeEjected", 0 );
RemovePlayerFromVehicle( playerid );
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+2);
if(GetPVarInt(playerid, "Injured") == 1)
{
Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
ClearAnimations(playerid);
ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
}
}
//if(lights == VEHICLE_PARAMS_UNSET) SetVehicleParamsEx(newcar,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
//SetPVarInt(playerid, "LastWeapon", GetPlayerWeapon(playerid));
if(IsARental(newcar) && gBike[playerid] == 0 && gBikeRenting[playerid] == 0)
{
TogglePlayerControllable(playerid,0);
ShowPlayerDialog(playerid, RENTMENU, DIALOG_STYLE_LIST, "Bike Shed BMX Rentals","15 Minutes - 1000$\n30 Minutes - 2000$\n1 Hour - 4000$", "Rent", "Cancel");
}
if(GetCarDealershipVehicleId(newcar) != -1 && GetCarDealershipVehicleId(newcar) == GetPVarInt(playerid, "editingcdveh")) return 1;
if(GetCarDealershipVehicleId(newcar) != -1)
{
new string[57 + 20 + 4];
format(string, sizeof(string),"Would you like to buy this %s?\n\nThis vehicle costs $%d.", GetVehicleName(newcar), CarDealershipInfo[GetCarDealershipId(newcar)][cdVehicleCost][GetCarDealershipVehicleId(newcar)]);
ShowPlayerDialog(playerid,DIALOG_CDBUY,DIALOG_STYLE_MSGBOX,"Warning:",string,"Buy","Cancel");
TogglePlayerControllable(playerid, false);
return 1;
}
GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
if((engine == VEHICLE_PARAMS_UNSET || engine == VEHICLE_PARAMS_OFF) && GetVehicleModel(newcar) != 509 && GetVehicleModel(newcar) != 481 && GetVehicleModel(newcar) != 510) {
SendClientMessageEx(playerid, COLOR_WHITE, "This vehicle's engine is not running - if you wish to start it, type /car engine.");
}
else
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 481 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 509 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 510)
{
SetPVarInt(playerid, "fuelonoff", 1);
FuelBar[playerid] = CreateProgressBar(548.00, 26.00, 57.50, 3.20, 866792447, 100.0);
textdrawscount++;
SetProgressBarValue(FuelBar[playerid], VehicleFuel[GetPlayerVehicleID(playerid)]);
ShowProgressBarForPlayer(playerid, FuelBar[playerid]);
}
}
}
if((newstate == 2 || newstate == 3 || newstate == 7 || newstate == 9) && pTazer[playerid] == 1)
{
GivePlayerValidWeapon(playerid, pTazerReplace[playerid], 60000);
pTazer[playerid] = 0;
}
if(newstate == PLAYER_STATE_SPAWNED)
{
if(ConnectedToPC[playerid] == 1337)//mdc
{
ConnectedToPC[playerid] = 0;
}
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
gPlayerSpawned[playerid] = 1;
SafeTime[playerid] = 60;
}
if(newstate == PLAYER_STATE_PASSENGER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 519)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(VehicleStatus{vehicleid} == 1) return SendClientMessageEx(playerid, COLOR_WHITE, "You are not allowed to enter this Shamal as it's been damaged!");
new string[47 + MAX_PLAYER_NAME];
format(string, sizeof(string), "* %s enters the Shamal airplane as a passenger.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerPos(playerid, 2.509036, 23.118730, 1199.593750);
SetPlayerFacingAngle(playerid, 82.14);
SetCameraBehindPlayer(playerid);
PlayerInfo[playerid][pVW] = vehicleid;
SetPlayerVirtualWorld(playerid, vehicleid);
PlayerInfo[playerid][pInt] = 1;
SetPlayerInterior(playerid, 1);
InsideShamal[playerid] = vehicleid;
SendClientMessageEx(playerid, COLOR_WHITE, "Type /exit near the door to exit the vehicle, or /window to look outside.");
}
IsPlayerSteppingInVehicle[playerid] = -1;
return 1;
}