Загрузка данных
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_YES)
{
if(IsPlayerAtATM(playerid))
{
callcmd::bankomat(playerid, "");
}
}
if((newkeys & KEY_FIRE) || ((newkeys & 128) && (oldkeys & 128) && (newkeys & KEY_SECONDARY_ATTACK)))
{
if(GreenZone(playerid))
{
if(!IsPlayerInAnyVehicle(playerid)) // Проверка на то в машине персонаж или нет
{
ApplyAnimation(playerid, "FAT", "IDLE_tired", 4.0, 1, 0, 0, 0, 1000, 1); // Анимация при ударе
ClearAnimations(playerid);
ShowDialogGZ(playerid);
}
}
}
if(newkeys == KEY_CROUCH)
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, -1827.21, -2634.129, 8.58)) //2
{
if(!openfsinvorota)
{
if(GetPlayerTeamEx(playerid) != TEAM_FSIN) return ShowNewNotification(playerid, 2, 5, 1, 10, "Вы не сотрудник ФCИН!", "");
MoveObject(vorotafsinkpp, -1820.11, -2632.95, 8.58, 3.0, 0.0, 0.0, 15.0);
MoveObject(vorotafsinkpp1, -1827.21, -2634.129, 8.58, 3.0, 0.0, 0.0, 15.0);
ShowNewNotification(playerid, 3, 5, 1, 10, "Ворота закроются через 5 секунд", "");
SetTimerEx("pisunchik1", 7000, false, "i", playerid);
openfsinvorota = 1;
}else{
if(GetPlayerAntiFloodData(playerid, AF_RATE) >= MAX_FLOOD_RATE)
{
SendClientMessage(playerid, 0x6B6B6BFF, "Не флудите");
if(GetPlayerAntiFloodData(playerid, AF_RATE) >= MAX_FLOOD_RATE + 500)
SendClientMessage(playerid, 0x6B6B6BFF, "Пожалуйста, подождите несколько секунд...");
return 1;
}
}
}
}
if(newkeys == KEY_CROUCH)
{
if(IsPlayerInRangeOfPoint(playerid, 15.0, -1820.49, -2651.36, 10.9)) //2
{
if(!openfsinvorota1)
{
if(GetPlayerTeamEx(playerid) != TEAM_FSIN) return ShowNewNotification(playerid, 2, 5, 1, 10, "Вы не сотрудник ФCИН!", "");
MoveObject(vorotki, -1828.0, -2652.7, 10.9, 5.0, 0.0, 0.0, 99.5);
ShowNewNotification(playerid, 3, 5, 1, 10, "Ворота закроются через 5 секунд", "");
SetTimerEx("pisunchik", 7000, false, "i", playerid);
openfsinvorota1 = 1;
}else{
if(GetPlayerAntiFloodData(playerid, AF_RATE) >= MAX_FLOOD_RATE)
{
SendClientMessage(playerid, 0x6B6B6BFF, "Не флудите");
if(GetPlayerAntiFloodData(playerid, AF_RATE) >= MAX_FLOOD_RATE + 500)
SendClientMessage(playerid, 0x6B6B6BFF, "Пожалуйста, подождите несколько секунд...");
return 1;
}
}
}
}
if((newkeys & KEY_JUMP))
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerTeamEx(playerid) != TEAM_FSIN)
{
if(IsPlayerInRangeOfPoint(playerid, 250.0, -1778.83, -2754.59, 7.58))
{
TogglePlayerControllable(playerid, false);
SetTimerEx("UnfreezePlayerFsin", 300, false, "i", playerid);
}
}
}
return 1;
}
if(newkeys & KEY_CROUCH) // Гудок
{
// --- Вызов /tungui или /tungui1 при гудке в своей тачке ---
if(IsPlayerInAnyVehicle(playerid))
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid != INVALID_VEHICLE_ID)
{
// Проверяем, что это личная тачка игрока
if(GetVehicleData(vehicleid, V_ACTION_TYPE) == VEHICLE_ACTION_TYPE_OWNABLE_CAR)
{
new owner_id = GetVehicleData(vehicleid, V_ACTION_ID);
if(GetOwnableCarData(owner_id, OC_OWNER_ID) == GetPlayerAccountID(playerid))
{
// Проверяем, что тачка рядом с точкой входа в обычный тюнинг
new Float:vx, Float:vy, Float:vz;
GetVehiclePos(vehicleid, vx, vy, vz);
// Проверка точек входа для обычного тюнинга (/tungui)
for(new i = 0; i < 3; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, g_TuningEnter[i][0], g_TuningEnter[i][1], g_TuningEnter[i][2]))
{
// Вызываем команду /tungui
callcmd::tungui(playerid, "");
return 1;
}
}
// Проверка точек входа для премиум тюнинга (/tungui1)
for(new i = 0; i < 3; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, g_TuningEnter2[i][0], g_TuningEnter2[i][1], g_TuningEnter2[i][2]))
{
// Вызываем команду /tungui1
callcmd::tungui1(playerid, "");
return 1;
}
}
}
}
}
}
// --- КОНЕЦ ---
}
if(newkeys == KEY_CROUCH)
{
// print("[HORN] Нажат гудок");
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new gateid = GetNearestGateByPlayer(playerid);
if(gateid != INVALID_GATE_ID)
{
new Float:px, Float:py, Float:pz;
GetPlayerPos(playerid, px, py, pz);
new Float:gx = GetGateData(gateid, Gate1_X);
new Float:gy = GetGateData(gateid, Gate1_Y);
new Float:gz = GetGateData(gateid, Gate1_Z);
if(IsPlayerInRangeOfPoint(playerid, 15.0, gx, gy, gz))
{
printf("[GATE] Игрок %d открывает ворота %d по гудку", playerid, gateid);
if(GetPVarInt(playerid, "GateOpening") == 1)
{
return SendClientMessage(playerid, -1, ""USC"Ворота уже открываются!");
}
new vehicleID = GetPlayerVehicleID(playerid);
SetPVarInt(playerid, "GateOpening", 1);
new Float:gateVor1X = GetGateData(gateid, Gate1_X);
new Float:gateVor1Y = GetGateData(gateid, Gate1_Y);
new Float:gateVor1Z = GetGateData(gateid, Gate1_Z);
new Float:gateVor1Angel = GetGateData(gateid, Gate1_Angle);
new Float:gateVor2X = GetGateData(gateid, Gate2_X);
new Float:gateVor2Y = GetGateData(gateid, Gate2_Y);
new Float:gateVor2Z = GetGateData(gateid, Gate2_Z);
new Float:gateVor2Angel = GetGateData(gateid, Gate2_Angle);
MoveDynamicObject(GetGateData(gateid, GateObj1_ID),
gateVor1X, gateVor1Y, gateVor1Z, 7.0, 0, 0, gateVor1Angel - 90);
MoveDynamicObject(GetGateData(gateid, GateObj2_ID),
gateVor2X, gateVor2Y, gateVor2Z, 7.0, 0, 0, gateVor2Angel + 90);
SendClientMessage(playerid, 0x00FF00FF, ""USC"Ворота открываются...");
SetTimerEx("CloseGateTimer", 5000, false, "iiffffffff",
playerid, gateid, gateVor1X, gateVor1Y, gateVor1Z, gateVor1Angel,
gateVor2X, gateVor2Y, gateVor2Z, gateVor2Angel);
}
else
{
SendClientMessage(playerid, -1, ""USC"Вы слишком далеко от ворот!");
}
}
}
}
/*if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2297.514404, -2613.226074, 20.944082, 129.837677)) //1
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
new vehicleID = GetPlayerVehicleID(playerid);
new veh = GetPlayerOwnableCar(playerid);
SetVehiclePos(veh, 996.368164,999.465759,1001.791540);
SetVehicleZAngle(veh, 273.919586);
SetVehicleVirtualWorld(veh, 101);
LinkVehicleToInterior(veh,1);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 101);
//SetPlayerPos(playerid, 1006.474365,1490.628173,1498.242187);
//SetPlayerFacingAngle(playerid, 243.409957);
SetPlayerCameraPos(playerid, 1001.483154,1002.271240,1000.906738);
SetPlayerCameraLookAt(playerid, 997.090454,999.934204,1001.398864);
for(new i; i < 4;i++) PlayerTextDrawSetString(playerid, stg_PTD[playerid][i], stage_td_select[i][0]);
for(new i;i<5;i++) PlayerTextDrawShow(playerid, stg_PTD[playerid][i]);
TextDrawShowForPlayer(playerid, stg_TD[0]);
TextDrawShowForPlayer(playerid, stg_TD[2]);
TextDrawShowForPlayer(playerid, stg_TD[3]);
TextDrawShowForPlayer(playerid, stg_TD[4]);
PlayerTextDrawSetString(playerid, stg_PTD[playerid][9], "0000_РУБ");
PlayerTextDrawShow(playerid, stg_PTD[playerid][9]);
SelectTextDraw(playerid, -1);
HideHud(playerid);
TogglePlayerHudElement(playerid, HUD_ELEMENT_CHAT, HUD_ELEMENT_HIDE);
player_select_stage[playerid] = 4;
SetTimerEx("tpplayertex2", 700, false, "d", playerid);
}
}
//:0000000
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2297.913330, -2619.722167, 20.944377, 129.837677)) //1
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
new vehicleID = GetPlayerVehicleID(playerid);
new veh = GetPlayerOwnableCar(playerid);
SetVehiclePos(veh, 996.368164,999.465759,1001.791540);
SetVehicleZAngle(veh, 273.919586);
SetVehicleVirtualWorld(veh, 101);
LinkVehicleToInterior(veh,1);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 101);
//SetPlayerPos(playerid, 1006.474365,1490.628173,1498.242187);
//SetPlayerFacingAngle(playerid, 243.409957);
SetPlayerCameraPos(playerid, 1001.483154,1002.271240,1000.906738);
SetPlayerCameraLookAt(playerid, 997.090454,999.934204,1001.398864);
for(new i; i < 4;i++) PlayerTextDrawSetString(playerid, stg_PTD[playerid][i], stage_td_select[i][0]);
for(new i;i<5;i++) PlayerTextDrawShow(playerid, stg_PTD[playerid][i]);
TextDrawShowForPlayer(playerid, stg_TD[0]);
TextDrawShowForPlayer(playerid, stg_TD[2]);
TextDrawShowForPlayer(playerid, stg_TD[3]);
TextDrawShowForPlayer(playerid, stg_TD[4]);
PlayerTextDrawSetString(playerid, stg_PTD[playerid][9], "0000_РУБ");
PlayerTextDrawShow(playerid, stg_PTD[playerid][9]);
SelectTextDraw(playerid, -1);
HideHud(playerid);
TogglePlayerHudElement(playerid, HUD_ELEMENT_CHAT, HUD_ELEMENT_HIDE);
player_select_stage[playerid] = 4;
SetTimerEx("tpplayertex2", 700, false, "d", playerid);
}
}
//:0000000
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2296.378417, -2607.449462, 20.943988)) //1
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
new vehicleID = GetPlayerVehicleID(playerid);
new veh = GetPlayerOwnableCar(playerid);
SetVehiclePos(veh, 996.368164,999.465759,1001.791540);
SetVehicleZAngle(veh, 273.919586);
SetVehicleVirtualWorld(veh, 101);
LinkVehicleToInterior(veh,1);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid, 101);
//SetPlayerPos(playerid, 1006.474365,1490.628173,1498.242187);
//SetPlayerFacingAngle(playerid, 243.409957);
SetPlayerCameraPos(playerid, 1001.483154,1002.271240,1000.906738);
SetPlayerCameraLookAt(playerid, 997.090454,999.934204,1001.398864);
for(new i; i < 4;i++) PlayerTextDrawSetString(playerid, stg_PTD[playerid][i], stage_td_select[i][0]);
for(new i;i<5;i++) PlayerTextDrawShow(playerid, stg_PTD[playerid][i]);
TextDrawShowForPlayer(playerid, stg_TD[0]);
TextDrawShowForPlayer(playerid, stg_TD[2]);
TextDrawShowForPlayer(playerid, stg_TD[3]);
TextDrawShowForPlayer(playerid, stg_TD[4]);
PlayerTextDrawSetString(playerid, stg_PTD[playerid][9], "0000_РУБ");
PlayerTextDrawShow(playerid, stg_PTD[playerid][9]);
SelectTextDraw(playerid, -1);
HideHud(playerid);
TogglePlayerHudElement(playerid, HUD_ELEMENT_CHAT, HUD_ELEMENT_HIDE);
player_select_stage[playerid] = 4;
SetTimerEx("tpplayertex2", 700, false, "d", playerid);
}
}*/
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1963.987792,-546.881042,12.344052)) //1
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1956.944213,-546.849548,12.348891)) //2
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1949.870971,-546.380981,12.420888)) //3
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1943.005126,-546.514587,12.400360)) //4
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1935.871093,-546.598449,12.387474)) //5
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1970.980102,-546.651245,12.379362)) //6
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1985.850708,-546.406677,12.416940)) //7
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1992.923095,-546.738647,12.365932)) //8
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
ShowPlayerSellCarDialog(playerid);
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 10.0, 482.254608,954.700195,1001.000000))
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
new veh;
new rand = random(sizeof(gViezd));
new vehicleID = GetPlayerVehicleID(playerid);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i, vehicleID))
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
SetCameraBehindPlayer(i);
}
veh = GetPlayerOwnableCar(playerid);
SetVehiclePos(veh, gViezd[rand][0],gViezd[rand][1],gViezd[rand][2]);
SetVehicleZAngle(veh, 0.5455);
SetVehicleVirtualWorld(veh, 0);
SetPlayerVirtualWorld(playerid, 0);
SetCameraBehindPlayer(playerid);
LinkVehicleToInterior(veh,0);
SetPlayerInterior(playerid,0);
return true;
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 10.0, 499.931915,918.361816,1001.000000))
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
new veh;
new rand = random(sizeof(gViezd));
new vehicleID = GetPlayerVehicleID(playerid);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i, vehicleID))
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
SetCameraBehindPlayer(i);
}
veh = GetPlayerOwnableCar(playerid);
SetVehiclePos(veh, gViezd[rand][0],gViezd[rand][1],gViezd[rand][2]);
SetVehicleZAngle(veh, 0.5455);
SetVehicleVirtualWorld(veh, 0);
SetPlayerVirtualWorld(playerid, 0);
SetCameraBehindPlayer(playerid);
LinkVehicleToInterior(veh,0);
SetPlayerInterior(playerid,0);
return true;
}
}
if(newkeys == KEY_CROUCH)
{
// print("[eq]");
if(IsPlayerInRangeOfPoint(playerid, 10.0, 481.850952,1081.980712,1001.000000))
{
if(!IsPlayerInVehicle(playerid, GetPlayerOwnableCar(playerid))) return SendClientMessage(playerid, -1, ""USC"Вы должны быть за рулем своего автомобиля");
new veh;
new rand = random(sizeof(gViezd));
new vehicleID = GetPlayerVehicleID(playerid);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i, vehicleID))
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
SetCameraBehindPlayer(i);
}
veh = GetPlayerOwnableCar(playerid);
SetVehiclePos(veh, gViezd[rand][0],gViezd[rand][1],gViezd[rand][2]);
SetVehicleZAngle(veh, 0.5455);
SetVehicleVirtualWorld(veh, 0);
SetPlayer