Перейти к содержанию
Авторизация  
Max_Eitzen

Секундный таймер.

Рекомендуемые сообщения

Max_Eitzen

Добрый вечер. Случилась у меня такая проблема: "Периодически не срабатывает секундный таймер". Не знаю с чем связано, больше всего подозрений на огромное кол-во быдлокода в нем  :-).

Хотелось бы услышать Ваше мнение, если в теге "Код" смотреть неудобно - залил на яДиск.

public OneSecondTimer()
{
	new string[256], Float:CarHP, engine,liights,alarm,doors,bonnet,boot,objective;

	UpdateResurs();

    saveacctime--, synctimer--, WEATHERTIME--;
    if(saveacctime <= 0) saveacctime = 1200, SaveAccounts();
    if(WEATHERTIME <= 0) WEATHERTIME = 7200;
    if(ParkTimer > 0)
    {
        ParkTimer--;
		if(ParkTimer <= 0) ParkTimer = 0, MoveObject(ParkGate,  2646.20, -2206.57, 22.86, 2.0);
	}
	//Удаление объявления
	if(RadioTimer > 0)
	{
	    RadioTimer--;
	    if(RadioTimer <= 0)
	    {
	        strmid(RadioText, "None", 0, strlen("None"), 30);
			strmid(RadioName, "None", 0, strlen("None"), 30);
			RadioMobile = 0;
			RadioAd = 0;
			RadioSub = false;
			RadioEdit = false;
			RadioID = -1;
	    }
	}
	if(saveresurs > 0)
	{
	    saveresurs--;
	    if(saveresurs <= 0)
		{
		    ArmyGateKill = false;
			SaveResurs(), saveresurs = 3600;
            for(new i = 1; i <= TOTALBIZZ; i++)
            {
                if(Bizznes[i][bType] == 2) Bizznes[i][bProduct] = 2000;
			}
		}
	}
	if(BangBank > 0)
	{
		BangBank--;
		if(BangBank == 14390) DestroyDynamicObject(obBangBank);
		if(BangBank == 5) DestroyObject(obBank), obBank = CreateObject(2930, 2375.90, -1914.00, 25.40,   0.00, 0.00, 358.71), elBank = true;
	}
	if(dpsgatetimer > 0)
	{
	    dpsgatetimer--;
	    if(dpsgatetimer <= 0) dpsgatetimer = 0, MoveObject(dpsgate, 462.3999939,1095.8000488,12.3999996, 0.001, -0.800000,-90.199996,-95.900024);
	}
	if(parkingtimer > 0)
	{
	    parkingtimer--;
	    if(parkingtimer <= 0) parkingtimer = 0, MoveObject(parking, 458.2000122,1060.1999512,11.1000004, 2.0);
	}


    foreach(Player, i)
	{
	    if(!IsPlayerConnected(i)) continue;
		//if(WarnAdmin[i] >= 3) SetPlayerInt(i, "Admin", 0), format(strcom, 128, "%s %s автоматически снят с админки в целях безопасности.", GetAdminRang(Player[i][pAdmin]), Player[i][pName]), SendAdminMessage(COLOR_ERROR, strcom),  Kick(i);
		//if(WarnAdmin[i] > 0) WarnAdmin[i]--;
		//if(WarnLeader[i] >= 5) SetPlayerInt(i, "Leader", 0), SetPlayerInt(i, "Team", 0), format(strcom, 128, "%s автоматически снят с лидерки в целях безопасности.", GetAdminRang(Player[i][pAdmin]), Player[i][pName]), SendAdminMessage(COLOR_ERROR, strcom),  Kick(i);
		//if(WarnLeader[i] > 0) WarnLeader[i]--;
		//if(WarnText[i] == 3) Kick(i);

		//Салют

		//Сирена у армии
		if(Siren == true)
		{
			if(IsPlayerInRangeOfPoint(i, 100.0, -1763.3341,-2854.5359,13.8938))
			{
			    PlayAudioStreamForPlayer(i, "http://bom-bom.ucoz.com/go_sirena_signal_obshhej_trevogi.mp3");
			    Siren = false;
			}
		}
		//Защита
        //if(Player[i][pMoney] > 100000000) format(strcom, 128, "%s[%d] забанен сервером в целях безопасности.", Player[i][pName], i), SendClientMessageToAll(COLOR_LIGHTRED, strcom), Ban(i);
		//Вскрытие сейфа
	    if(RobBank[i] > 0 && IsPlayerInRangeOfPoint(i, 2.0, 2384.9639,-1915.1035,22.6751))
	    {
	        RobBank[i]--, rbtimer++;
	        ApplyAnimation(i,"BOMBER","BOM_Plant",4.1,0,1,1,1,1000,1);
	        if(rbtimer < 59) format(strcom, 28, "~g~LOADING %d / 60", rbtimer), GameTextForPlayer(i, strcom, 1000, 6);
	        if(RobBank[i] == 5) ApplyAnimation(i,"ROB_BANK","CAT_Safe_Rob",4.1,1,1,1,1,1);
	        if(RobBank[i] == 2) GameTextForPlayer(i, "~g~COMPLETED", 500, 6);
	        if(RobBank[i] == 1)
			{
			    new rand;
			    if(Player[i][pTeam] == 6 || Player[i][pTeam] == 5)
			    {
					rand = random(10000)+10000;
					Player[i][pMoney] += rand, format(strcom, 28, "~g~+ %d RUB", rand), GameTextForPlayer(i, strcom, 3000, 6);
					Action(i, "вскрыл сейф");
					SendMes(i, COLOR_GREEN, "Вы вскрыли сейф и получили %d рублей.", rand);
			    }
			    else
			    {
			        rand = random(5000)+5000;
					Player[i][pMoney] += rand, format(strcom, 28, "~g~+ %d RUB", rand), GameTextForPlayer(i, strcom, 3000, 6);
					Action(i, "вскрыл сейф");
					SendMes(i, COLOR_GREEN, "Вы вскрыли сейф и получили %d рублей.", rand);
			    }
				TogglePlayerControllable(i, true), ApplyAnimation(i,"PED","IDLE_tired",4.1,1,1,1,0,1), RobBank[i] = 0;
				DestroyObject(BankSirena);
			}
	    }
	    //Обучение
	    if(training[i] > 0)
	    {
			training[i]--;
	        if(training[i] == 99)//Автошкола
	        {
	            InterpolateCameraPos(i, 2425.717773, -2279.562988, 57.883754, 2294.502929, -2306.980712, 25.356491, 6000);
				InterpolateCameraLookAt(i, 2420.941894, -2280.064697, 56.491218, 2296.664306, -2311.363525, 24.297897, 5000);
				SetPlayerPosEx(i, 2425.717773, -2279.562988, 57.883754-10), Player[i][pHealth] = 1000.0;
				GameTextForPlayer(i, "~p~ABЏOҐKOћA", 9000, 4);

				SCM(i, COLOR_GOOD, "На данном игровом сервере нужно вести себя так-же, как и в реальной жизни.");
				SCM(i, COLOR_GOOD, "Вы обязаны соблюдать правила сервера, иначе вы можете получить варн, кик или бан.");
		    }
			else if(training[i] == 90)//ГИБДД
			{
				InterpolateCameraPos(i, 245.127441, 1183.697143, 37.012695, 451.134704, 1121.074218, 16.934324, 6000);
				InterpolateCameraLookAt(i, 249.905853, 1182.373413, 36.368915, 455.434265, 1123.468750, 16.050964, 5000);
				SetPlayerPosEx(i, 245.127441, 1183.697143, 37.012695-10), Player[i][pHealth] = 1000.0;
				GameTextForPlayer(i, "~p~™њ—љљ", 9000, 4);

				SCM(i, COLOR_GOOD, "RolePlay - ролевая игра, игра по ролям.");
			    SCM(i, COLOR_GOOD, "IC - информация, которая касается игрового (RP) режима.");
			}
			else if(training[i] == 80)//Парк развлечений
			{
			    InterpolateCameraPos(i, 215.803390, 1714.899291, 53.207996, 655.614379, 1591.361572, 40.915451, 6000);
				InterpolateCameraLookAt(i, 220.551040, 1713.687866, 52.211841, 652.294494, 1588.035766, 39.207569, 5000);
				SetPlayerPosEx(i, 215.803390, 1714.899291, 53.207996-10), Player[i][pHealth] = 1000.0;
				GameTextForPlayer(i, "~p~ЈAPK PAџBћE¤Eмњќ", 9000, 4);
				SCM(i, COLOR_GOOD, "OOC - информация, которая не касается RolePlay режима.");
			    SCM(i, COLOR_GOOD, "MetaGaming (MG) - использование OOC информации в IC.");
			}
			else if(training[i] == 70)//Паспортный стол
			{
			    InterpolateCameraPos(i, 1976.511962, -2286.143554, 57.070758, 1908.384033, -2241.802490, 16.200586, 6000);
				InterpolateCameraLookAt(i, 1973.147338, -2283.343017, 54.654914, 1908.096435, -2237.012451, 14.795801, 5000);
				SetPlayerPosEx(i, 1976.511962, -2286.143554, 57.070758-10), Player[i][pHealth] = 1000.0;
			    GameTextForPlayer(i, "~p~ЈACЈOPЏмЁќ CЏOћ њ  EмЏP џAм¬ЏOCЏњ мACEћEмњ¬", 9000, 4);
			    SCM(i, COLOR_GOOD, "DeathMatch (DM) - убийство игрока без причины.");
			    SCM(i, COLOR_GOOD, "DriveBy (DB) - убийство из машины.");
			}
			else if(training[i] == 60)//Работа грузчика
			{
			    InterpolateCameraPos(i, 2255.125244, -172.193511, 81.280532, 2334.597900, -253.346954, 10.896322, 6000);
				InterpolateCameraLookAt(i, 2258.307373, -175.068481, 78.709854, 2338.945312, -254.468048, 8.695503, 5000);
				SetPlayerPosEx(i, 2255.125244, -172.193511, 81.280532-10), Player[i][pHealth] = 1000.0;
                GameTextForPlayer(i, "~p~PA—OЏA ™PYџ¤њKA", 9000, 4);
                SCM(i, COLOR_GOOD, "RepeatKill (RK) - убийство игрока с целью мести (ООС).");
			    SCM(i, COLOR_GOOD, "SpawnKill (SK) - убийство игрока на месте спавна.");
			}
			else if(training[i] == 50)//Работа лесоруба
			{
			    InterpolateCameraPos(i, 1701.258544, -870.505859, 191.130813, 1549.108764, -858.182739, 45.104042, 6000);
				InterpolateCameraLookAt(i, 1697.919311, -871.048278, 187.449111, 1546.394653, -862.209350, 43.912296, 5000);
				SetPlayerPosEx(i, 1701.258544, -870.505859, 191.130813-10), Player[i][pHealth] = 1000.0;
                GameTextForPlayer(i, "~p~PA—OЏA ћECOPY—A", 9000, 4);
                SCM(i, COLOR_GOOD, "BunnyHop (BH) - прыгать, с целью передвигаться быстрее.");
			    SCM(i, COLOR_GOOD, "DeathMatch (DM) - убийство игрока без причины.");
			}
			else if(training[i] == 40)//Работа развозчика дров
			{
			    InterpolateCameraPos(i, 1457.577880, -862.371154, 137.814880, 1516.718261, -884.085327, 46.035297, 6000);
				InterpolateCameraLookAt(i, 1460.755737, -862.329711, 133.954895, 1520.814941, -881.636535, 44.545017, 5000);
				SetPlayerPosEx(i, 1457.577880, -862.371154, 137.814880-10), Player[i][pHealth] = 1000.0;
                GameTextForPlayer(i, "~p~PA—OЏA PAџBO¤њKA љPOB", 9000, 4);
			}
			else if(training[i] == 30)//Работа шахтёра
			{
			    InterpolateCameraPos(i, 2818.641601, -1214.360595, 87.181686, 2576.128662, -1327.529296, 20.511981, 6000);
				InterpolateCameraLookAt(i, 2814.818359, -1217.242553, 85.740203, 2571.472900, -1328.544189, 18.997358, 5000);
				SetPlayerPosEx(i, 2818.641601, -1214.360595, 87.181686-10), Player[i][pHealth] = 1000.0;
                GameTextForPlayer(i, "~p~PA—OЏA ҐAXЏEPA", 9000, 4);
			}
			else if(training[i] == 20)//RolePlay
			{
			    SetPlayerPosEx(i, TeleportDest[i][0],TeleportDest[i][1],TeleportDest[i][2]);
				Player[i][pHealth] = 50.0, SetPlayerVirtualWorld(i, 0);
				SCM(i, COLOR_GOOD, "Вы успешно прошли обучение! Более подробнее о местах на сервере Вы можете найти в /gps.");
				SetCameraBehindPlayer(i), TogglePlayerControllable(i, true), StopAudioStreamForPlayer(i);
			}
	    }

	    if(authorization[i] > 0)//Авторизация 30 сек.
	    {
	        authorization[i] --;
	        if(authorization[i] <= 0 && gPlayerLogged[i] == 0) SCM(i, COLOR_WHITE, "{ff0000}» {ffffff}Ошибка: Время авторизации истекло."), Kick(i);
		}
		if(trainingtimer[i] > 0)//Таймер вывода обучения после регистрации
		{
		    trainingtimer[i]--;
		    if(trainingtimer[i] <= 0) SPD(i, D_TRAINING, DIALOG_STYLE_MSGBOX, "{ffff00}Обучение", "{ffffff}У Вас есть возможность пройти обучение.\nОно поможет Вам быстрее освоиться на сервере.\n\nВы хотите пройти обучение?\n{0073ff}Информация: {ffffff}Время прохождения обучения: 2 минуты.", "Далее", "Отменить");
		}
		if(timerspawn[i] > 0)//Таймер спавна
		{
		    timerspawn[i]--;
		    if(timerspawn[i] == 0) SetCameraBehindPlayer(i), TogglePlayerControllable(i, true);
		}
		if(animtimer[i] > 0)
		{
		    animtimer[i]--;
		    if(animtimer[i] <= 0) ApplyAnimation(i,"PED","IDLE_tired",4.1,1,1,1,0,1), animtimer[i] = 0;
		}
		if(saveacc[i] >= 0)
		{
		    saveacc[i]--;
		    if(saveacc[i] <= 0) SaveAccount(i), saveacc[i] = 1200;
		}
		if(Freeze[i] > 0)
		{
		    Freeze[i] --, TogglePlayerControllable(i, false);
		    if(Freeze[i] == 0) TogglePlayerControllable(i, true);
		}
		if(gPlayerLogged[i] == 0) continue;
		UpdatePlayerRadar(i), GetMoney(i), GetHealth(i);
	    if(AdminGun == 1) GetPlayerGun(i);
		//if(GetPlayerSpeed(i) > 28 && hospitalcrash[i] <= 0 && !IsPlayerApplyAnimation(i, "FALL_FALL")) SCM(i, COLOR_LIGHTRED, "Вы кикнуты по подозрению в читерстве (#1)"), Kick(i);
        if(Mobile[i] != 255)
	    {
	        PhoneTime[i]++, PhoneTimeTwo[i]++;
	        if(PhoneTime[i] >= 60) PhoneTime[i] = 0, Player[i][pPhoneMoney] -= 5;
		}
		if(RentBoat[i] != 0)//Аренда лодок
		{
		    RentBoat[i] --;
		    if(RentBoat[i] == 1000 * 600) SCM(i, COLOR_LIGHTRED, "Срок действия аренды лодки заканчивается через 10 минут!");
		    if(RentBoat[i] <= 0 && (GetPlayerVehicleID(i) == GetPVarInt(i, "BOATRENT"))) SCM(i, COLOR_GRAD1, "Срок действия аренды лодки закончился!"), RemovePlayerFromVehicle(i), RentBoat[i] = 0, DeletePVar(i, "RENTBOAT");
		}
		if(GetPlayerDrunkLevel(i) > 0)  //Сис-ма опьянения
		{
		    if(GetPVarInt(i, "DRUNK_TIME") > 1) SetPVarInt(i, "DRUNK_TIME", GetPVarInt(i, "DRUNK_TIME")-1);
		    if(GetPVarInt(i, "DRUNK_TIME") == 1) ApplyAnimation(i,"PED","IDLE_tired",4.1,1,1,1,0,1), DeletePVar(i, "DRUNK_TIME");
		    SetPlayerDrunkLevel(i, GetPlayerDrunkLevel(i) - 10);
		    if(GetPlayerDrunkLevel(i) >= 10000 && !IsPlayerInAnyVehicle(i)) ApplyAnimation(i,"PED","WALK_DRUNK",4.1,1,1,1,1,1);
		}
     	if(synctimer <= 0) //Сохранение пробега раз в 10 минут
		{
	    	for(new c = ALLCARS+1; c <= ALLCARS+TOTALCARS; c++)
	    	{
	    	    SetCarFloat(c, "Mileage", Mileage[c]);
	    	    SetCarFloat(c, "Fuel", Benzin[c]);
	    	}
			SyncUp(), synctimer = 600;
		}
		if(hospitalcrash[i] > 0)
		{
		    hospitalcrash[i]--;
		    if(hospitalcrash[i] <= 0) hospitalcrash[i] = 0;
		}
		if(GetVehicleModel(GetPlayerVehicleID(i)) == 539) RepairVehicle(GetPlayerVehicleID(i));//чтобы машины не взрывались у атракционов
  		if(TimerLesopilka[i] >= 1)
    	{
     		TimerLesopilka[i]--;
       		if(TimerLesopilka[i] <= 0)
         	{
        		SetPlayerCheckpoint(i, LESA1, 2.0);
				CHECKPOINTLES[i] = 1;
		 		ApplyAnimation(i,"CARRY","crry_prtial",4.1,0,1,1,1,1);
				SetPlayerAttachedObject(i, 5, 845, 6, 0.195000,-0.058999,-0.123999, -10.899998,57.799987,130.800003,0.171000,0.276999,0.338000);
				SCM(i, COLOR_GREEN, "{3caa3c}Отнесите дрова в сарай."), TimerLesopilka[i] = 0;
			}
		}
		if(Player[i][pJob] == 2 && GetPVarInt(i, "BUS_JOB") == 1 && BusTimer[i] >= 1)
		{
		    BusTimer[i]--;
		    if(BusTimer[i] <= 0)
		    {
		        new check = BusCheck[i];
		        if(check == 1)//Если стоит на автовокзале южного
		        {
		            SCM(i, COLOR_ORANGE, "Отправляйтесь на автовокзал Батырево."), SetPlayerRaceCheckpoint(i, 0, MAR2, MAR3, 3.0);
		            BusCheck[i] = 2, BusTimer[i] = 0;
				}
				else if(check == 3)
				{
				    SCM(i, COLOR_ORANGE, "Отправляйтесь на автовокзал Арзамаса."), SetPlayerRaceCheckpoint(i, 0, MAR4, MAR5, 3.0);
		            BusCheck[i] = 4, BusTimer[i] = 0;
				}
				else if(check == 5)
				{
				    SCM(i, COLOR_ORANGE, "Отправляйтесь на автовокзал Батырево."), SetPlayerRaceCheckpoint(i, 0, MAR6, MAR3, 3.0);
		            BusCheck[i] = 6, BusTimer[i] = 0;
				}
				else if(check == 7)
				{
				    SCM(i, COLOR_ORANGE, "Отправляйтесь на автовокзал Южного."), SetPlayerRaceCheckpoint(i, 0, MAR4, MAR1, 3.0);
		            BusCheck[i] = 8, BusTimer[i] = 0;
				}
			}
		}
		if(Player[i][pJob] == 1 && Poezd[i] == 1 && poezdtimer[i] >= 1)
		{
		    poezdtimer[i]--;
		    if(poezdtimer[i] <= 0)
		    {
				new checkid = GetPVarInt(i, "POEZD_CHECK");
				if(checkid == 1)//Южный
				{
			        SetPVarInt(i, "POEZD_CHECK", 2), Update3DTextLabelText(POEZDTEXT[GetPlayerVehicleID(i)], COLOR_YELLOW, "Следующая станция: дэпо");
					SetPlayerRaceCheckpoint(i, 1, POEZD2, POEZD3, 2.0), poezdtimer[i] = 0;
				}
				else if(checkid == 2)//Депо
				{
				    SetPVarInt(i, "POEZD_CHECK", 3), Update3DTextLabelText(POEZDTEXT[GetPlayerVehicleID(i)], COLOR_YELLOW, "Следующая станция: воинская часть");
					SetPlayerRaceCheckpoint(i, 1, POEZD3, POEZD4, 2.0), poezdtimer[i] = 0;
				}
				else if(checkid == 3)//Часть
				{
				    SetPVarInt(i, "POEZD_CHECK", 4), Update3DTextLabelText(POEZDTEXT[GetPlayerVehicleID(i)], COLOR_YELLOW, "Следующая станция: конечная");
					SetPlayerRaceCheckpoint(i, 1, POEZD4, POEZD5, 2.0), poezdtimer[i] = 0;
				}
				else if(checkid == 4)//Просто
				{
				    SetPVarInt(i, "POEZD_CHECK", 5);
					SetPlayerRaceCheckpoint(i, 1, POEZD5, POEZD5, 2.0), poezdtimer[i] = 0;
				}
				else if(checkid == 5)//Конечная
				{
				    SetPVarInt(i, "POEZD_CHECK", 6), Update3DTextLabelText(POEZDTEXT[GetPlayerVehicleID(i)], COLOR_YELLOW, "Следующая станция: воинская часть");
					SetPlayerRaceCheckpoint(i, 1, POEZD4, POEZD3, 2.0), poezdtimer[i] = 0, SetPVarInt(i, "JOB_MONEY_1", GetPVarInt(i, "JOB_MONEY_1")+(1000+random(200)) );
				}
				else if(checkid == 6)//Просто
				{
				    SetPVarInt(i, "POEZD_CHECK", 7);
					SetPlayerRaceCheckpoint(i, 1, POEZD3, POEZD2, 2.0), poezdtimer[i] = 0;
				}
				else if(checkid == 7)//воинская часть
				{
				    SetPVarInt(i, "POEZD_CHECK", 8), Update3DTextLabelText(POEZDTEXT[GetPlayerVehicleID(i)], COLOR_YELLOW, "Следующая станция: дэпо");
					SetPlayerRaceCheckpoint(i, 1, POEZD2, POEZD1, 2.0), poezdtimer[i] = 0;
				}
				else if(checkid == 8)//депо
				{
				    SetPVarInt(i, "POEZD_CHECK", 1), Update3DTextLabelText(POEZDTEXT[GetPlayerVehicleID(i)], COLOR_YELLOW, "Следующая станция: ЖД вокзал Южного");
					SetPlayerRaceCheckpoint(i, 1, POEZD1, POEZD1, 2.0), poezdtimer[i] = 0, SetPVarInt(i, "JOB_MONEY_1", GetPVarInt(i, "JOB_MONEY_1")+(1000+random(100)) );
				}
	   		}
		}
		if(GetPlayerState(i) == PLAYER_STATE_DRIVER)//пробег
		{
			new carid = GetPlayerVehicleID(i), Float:km = GetVehicleMilSpeed(i) / 1500.0;
			Mileage[carid] += km;
			GetVehicleHealth(carid, CarHP);
			if(CarHP <= 350 && EngineCar[carid] == 1) BrokenCar[carid] = random(4)+1, EngineCar[carid] = 0, GetVehicleParamsEx(carid,engine,liights,alarm,doors,bonnet,boot,objective), SetVehicleParamsEx(carid,0,liights,0,doors,bonnet,boot,objective), SCM(i, COLOR_LIGHTRED, "Ваш транспорт заглох. Вызовите механика или сходите на СТО за инструментами для починки."), SetVehicleHealth(carid, 270.0), HideSpeed(i);
			if(Benzin[carid] <= 0.5)
			{
		   	 	GetVehicleParamsEx(carid,engine,liights,alarm,doors,bonnet,boot,objective);
		     	SetVehicleParamsEx(carid,0,liights,alarm,doors,bonnet,boot,objective);
		     	HideSpeed(i);
		     	if(EngineCar[carid] != 0) SCM(i, COLOR_WHITE, "{ff0000}» {ffffff}Ошибка: В транспорте закончилось топливо.");
				EngineCar[carid] = 0, Benzin[carid] = 0.5;
			}
		}
		if(DrugsEffect[i] >= 1)
		{
		    DrugsEffect[i]--;
		    if(DrugsEffect[i] <= 0)
		    {
		        new time[3];
				gettime(time[0], time[1], time[2]);
				SetPlayerTime(i, time[0], time[1]);
				SetPlayerWeather(i, 7);
			    DrugsEffect[i] = 0, SetPlayerDrunkLevel(i, 0);
       		}
		}


		//Аттракционы
		if(GetPVarInt(i, "ATRAKT1") > 0)
		{
			if(Atrakt1Veh(GetPlayerVehicleID(i)))
		    {
				SetPVarInt(i, "ATRAKT1", GetPVarInt(i, "ATRAKT1")-1);
				if(GetPVarInt(i, "ATRAKT1") <= 0)
				{
				    DeletePVar(i, "ATRAKT1"), SetVehicleToRespawn(GetPlayerVehicleID(i));
				    SCM(i, COLOR_GRAD1, "Время вышло.");
				}
		    }
		}
		if(GetPVarInt(i, "ATRAKT2") > 0)
		{
			if(Atrakt2Veh(GetPlayerVehicleID(i)))
		    {
				SetPVarInt(i, "ATRAKT2", GetPVarInt(i, "ATRAKT2")-1);
				if(GetPVarInt(i, "ATRAKT2") <= 0)
				{
				    DeletePVar(i, "ATRAKT2"), SetVehicleToRespawn(GetPlayerVehicleID(i));
				    SCM(i, COLOR_GRAD1, "Время вышло.");
				}
		    }
		}



		/*Firework[playerid][0] = CreateObject(19127, POS[0], POS[1], POS[2]);
	Firework[playerid][1] = CreateObject(19126, POS[0]+1, POS[1], POS[2]);
	Firework[playerid][2] = CreateObject(19124, POS[0], POS[1]+1, POS[2]);
	SetPVarInt(playerid, "TimerFirework", 5);*/
		if(KillTimerShahta[i] >= 1)
		{
		    KillTimerShahta[i] --;
		    if(KillTimerShahta[i] <= 0)
		    {
		        ApplyAnimation(i,"CARRY","crry_prtial",4.1,0,1,1,1,1), SetPVarInt(i, "CHECK", 2);
				SetPlayerAttachedObject(i, 6, 2936, 6, 0.128000,0.143000,-0.157999, 101.899986,68.899993,-53.899993,0.375999,0.451000,0.512000);
				SetPlayerCheckpoint(i, -262.7406,465.9337,-29.6186, 1.0), KillTimerShahta[i] = 0;
			}
		}
		if(KillTimerRepairGate[i] >= 1)
		{
		    KillTimerRepairGate[i] --;
		    if(KillTimerRepairGate[i] <= 0)
		    {
		        ApplyAnimation(i,"PED","IDLE_tired",4.1,1,1,1,0,1), SCM(i, COLOR_GREEN, "Ворота установлены!");
				ArmyGateKill = false, IsArmyGate = false, DestroyObject(GATEOBJECT[0]), DestroyObject(GATEOBJECT[1]), DestroyObject(GateRepair[0]), DestroyObject(GateRepair[1]);
				ArmyGate[1] = CreateObject(980, -883.66998, 1951.54004, 47.40000,   0.00000, 0.00000, 90.00000);
				Action(i, "успешно установил новые ворота");
				DeletePVar(i, "CHECKPOINT"), DeletePVar(i, "VEHID"), DeletePVar(i, "TESTGATE");
				KillTimerRepairGate[i] = 0;
			}
		}
		if(GANGPTTIMER[i] == 1)
		{
		    if(Player[i][pPatr] >= 400) return GANGPTTIMER[i] = 0, GameTextForPlayer(i, "~r~FULL", 2000, 1), Player[i][pPatr] = 400;
			if(!IsPlayerInRangeOfPoint(i, 1.5, -1859.9340,-2858.5300,21.2241)) return GANGPTTIMER[i] = 0, DeletePVar(i, "VOR_AMMO"), DisablePlayerCheckpoint(i);
    		new rand = random(4)+1;
    		format(strcom, 40, "+ %d", rand), SetPlayerChatBubble(i, strcom, COLOR_GREEN,10.0,1000);
			Player[i][pPatr] += rand, format(strcom, 30, "~g~+ %d", rand), GameTextForPlayer(i, strcom, 1000, 6), ARMYPATR -= rand;
   		}
     	if(Player[i][pTeam] == 3)//Армия склад патронов
	    {
     		if(IsPlayerInRangeOfPoint(i, 5.0, 697.4774,-1998.9194,36.6359)) SetPlayerCheckpoint(i, -1859.9340,-2858.5300,21.2241+1.5, 2.0), SetPVarInt(i, "ARMY_PT", 1);
	        else if(!IsPlayerInRangeOfPoint(i, 5.0, 697.4774,-1998.9194,36.6359) && GetPVarInt(i, "ARMY_PT") == 1) DisablePlayerCheckpoint(i), DeletePVar(i, "ARMY_PT");
		}

		if(gps[i] == 1)
		{
			if(IsPlayerInRangeOfPoint(i, 20.0, 571.7765,1658.8923,12.3000) && metka[i] == 1) RemovePlayerMapIcon(i, 1), GPS_OFF(i), metka[i] = 0;
	        else if(IsPlayerInRangeOfPoint(i, 20.0, 2299.2683,-2323.3616,22.1766)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2550.6833,-2195.6182,21.9714)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);
			else if(IsPlayerInRangeOfPoint(i, 20.0, -317.8029,819.5036,13.0635)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);
			else if(IsPlayerInRangeOfPoint(i, 20.0, -2138.3005,-28.0547,27.1174)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //Синдикат
			else if(IsPlayerInRangeOfPoint(i, 20.0, 1503.6200,-1511.3184,1.9556)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //РМ
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2580.2327,-2435.5186,21.7870)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //Менты
			else if(IsPlayerInRangeOfPoint(i, 20.0, 543.5740,-2891.4907,2.4501)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);
			else if(IsPlayerInRangeOfPoint(i, 20.0, 1828.4995,2243.2610,15.2681)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //Альянс
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2412.1064,-1846.5059,21.8560)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //FBI
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2113.6367,-2389.5474,22.4555)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //MEDICS
			else if(IsPlayerInRangeOfPoint(i, 20.0, -1706.6985,-2811.2119,14.4496)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //ARMIA
			else if(IsPlayerInRangeOfPoint(i, 20.0, -2393.2476,1748.3341,53.0149)) RemovePlayerMapIcon(i, 1), GPS_OFF(i); //Правительство
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2553.4446,-1333.3678,12.5625)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);//Шахта
			else if(IsPlayerInRangeOfPoint(i, 20.0, -891.1426,1186.9032,10.5205)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);//База дальнобой
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2156.2300,-1848.1930,18.8203)) RemovePlayerMapIcon(i, 1), GPS_OFF(i);//База механиков
			else if(IsPlayerInRangeOfPoint(i, 20.0, 1552.6703,-927.7994,40.8134) && metka[i] == 2) RemovePlayerMapIcon(i, 1), GPS_OFF(i), metka[i] = 0;//Работа развозчика
			else if(IsPlayerInRangeOfPoint(i, 20.0, 780.3929,877.7929,12.1000) && metka[i] == 3) RemovePlayerMapIcon(i, 1), GPS_OFF(i), metka[i] = 0;//Парковка в Арзамасе
			else if(IsPlayerInRangeOfPoint(i, 20.0, 2817.5225,-2573.3643,34.0077) && metka[i] == 4) RemovePlayerMapIcon(i, 1), GPS_OFF(i), metka[i] = 0;//Лодочная станция Южный
			else if(IsPlayerInRangeOfPoint(i, 20.0, 4326.2178,-2761.4060,18.6970) && metka[i] == 5) RemovePlayerMapIcon(i, 1), GPS_OFF(i), metka[i] = 0;//Остров "пустынный"
		}

		if(IsPlayerInRangeOfPoint(i, 1.5, 1833.4390,2275.0190,5.1500))
		{
		    if(Player[i][pMember] == 8 || Player[i][pLeader] == 8)
		    {
			    if(ALIANS[i] == 0) SPD(i, 900, DIALOG_STYLE_LIST, "{FFFFFF}Склад группировки", "{ffffff}1. Взять патроны\n2. Взять металл\n3. Положить патроны\n4. Положить металл", "Выбрать", "Закрыть"), ALIANS[i] = 1;
			}
			else if(Player[i][pTeam] == 10 && ALIANS[i] == 0) SPD(i, 900, DIALOG_STYLE_LIST, "{FFFFFF}Склад группировки", "1. Взять патроны\n2. Взять металл\n3. Положить патроны\n4. Положить металл", "Выбрать", "Закрыть"), ALIANS[i] = 1;
		}
		if(!IsPlayerInRangeOfPoint(i, 1.0, 1833.4390,2275.0190,5.1500)) ALIANS[i] = 0;
		if(IsPlayerInRangeOfPoint(i, 1.0, -122.4987, 1850.3394, -14.0884))//Покупка нарко
		{
			format(strcom, 500, "{ffffff}Вы можете купить не более 1000г наркотиков.\nЦена за 1 грамм - %d рублей\nВведите количество грамм:", DRUGSPRICE);
		    if(Player[i][pMember] == 5 && GetPVarInt(i, "ANITI") == 0 || Player[i][pLeader] == 5 && GetPVarInt(i, "ANITI") == 0 || Player[i][pMember] == 8 && GetPVarInt(i, "ANITI") == 0 || Player[i][pLeader] == 8 && GetPVarInt(i, "ANITI") == 0)
			{ SPD(i, 15, DIALOG_STYLE_INPUT, "{ffffff}Покупка наркотиков", strcom, "Далее", "Отмена"), SetPVarInt(i, "ANITI", 10); }
			else return false;
		}
		if(!IsPlayerInRangeOfPoint(i, 1.0, -122.4987, 1850.3394, -14.0884)) DeletePVar(i, "ANITI");
        TextDrawShowForPlayer(i, GLOGO1[i]), TextDrawShowForPlayer(i, GLOGO2[i]);
        /*SetProgressBarValue(sat[i], Player[i][pSat]), UpdateProgressBar(sat[i], i);
        SetPVarInt(i, "HPTIME", GetPVarInt(i, "HPTIME") - 1);
        if(GetPVarInt(i, "HPTIME") <= 0)//Сытость
		{
			SetPVarInt(i, "HPTIME", 30);
			if(Player[i][pSat] >= 1)
			{
			    Player[i][pSat]--;
		    	SetProgressBarValue(sat[i], Player[i][pSat]);
	        	UpdateProgressBar(sat[i], i);
	        	if(Player[i][pSat] > 100) Player[i][pSat] = 100;
			}
			else Player[i][pHealth] -= 0.1;
		}*/
  		if(Player[i][pHospital] > 0)
		{
			hospitaltime[i]--;
			if(hospitaltime[i] <= 0) hospitaltime[i] = 2, IsPlayerInHospital(i);
		}
		if(GetPVarInt(i, "ANTI_DM_TIME") < gettime()) DM_WARN[i]--;
//Taxi
        if(GetPVarInt(i, "TAXI_JOB") == 1 && Player[i][pJob] == 5 && GetPVarInt(i, "TAXI_CALL") == 1)
		{
		    if(!IsPlayerConnected(GetPVarInt(i, "TAXI_PLAYERID"))) return SCM(i, COLOR_GRAD1, "Игрок, вызывавший такси не на сервере."), DisablePlayerRaceCheckpoint(i),
			DeletePVar(i, "TAXI_CALL"), DeletePVar(i, "TAXI_PLAYERID");
		    new Float:POS[3];
			GetPlayerPos(GetPVarInt(i, "TAXI_PLAYERID"), POS[0], POS[1], POS[2]);
			SetPlayerRaceCheckpoint(i, 1, POS[0], POS[1], POS[2], 0.0, 0.0, 0.0, 5);
		}
		if(Player[i][pTeam] == 1 && PolicePlayerid[i] != -1)
		{
		    if(!IsPlayerConnected(PolicePlayerid[i])) return SCM(i, COLOR_GRAD1, "Игрок, вызывавший полицию не на сервере."), DisablePlayerRaceCheckpoint(i), PolicePlayerid[i] = -1;
		    new Float:POS[3];
			GetPlayerPos(PolicePlayerid[i], POS[0], POS[1], POS[2]);
			SetPlayerRaceCheckpoint(i, 1, POS[0], POS[1], POS[2], 0.0, 0.0, 0.0, 5);
		}
		if(Player[i][pTeam] == 4 && MedicPlayerid[i] != -1)
		{
		    if(!IsPlayerConnected(MedicPlayerid[i])) return SCM(i, COLOR_GRAD1, "Игрок, вызывавший скорую не на сервере."), DisablePlayerRaceCheckpoint(i), MedicPlayerid[i] = -1;
		    new Float:POS[3];
			GetPlayerPos(MedicPlayerid[i], POS[0], POS[1], POS[2]);
			SetPlayerRaceCheckpoint(i, 1, POS[0], POS[1], POS[2], 0.0, 0.0, 0.0, 5);
		}
		if(TaxiTime[i] >= 1 && TaxiVeh(GetPlayerVehicleID(i)) && GetPlayerState(i) == PLAYER_STATE_PASSENGER && GetPlayerVehicleID(i) == GetPlayerVehicleID(TaxiDriver[i]) && IsPlayerConnected(TaxiDriver[i]))
		{
			TaxiTime[i]--;
			if(TaxiTime[i] <= 0)
			{
			    TaxiTime[i] = 30;
			    if(Player[i][pMoney] < TaxiPrice[i]) return SCM(i, COLOR_GRAD1, "У Вас нечем заплатить за проезд."), RemovePlayerFromVehicle(i), TaxiTime[i] = 0;
                Player[i][pMoney] -= TaxiPrice[i], format(strcom, 30, "~r~-%d RUB", TaxiPrice[i]), GameTextForPlayer(i, strcom, 1000, 1);
				MoneyTaxi[TaxiDriver[i]] += TaxiPrice[i], format(strcom, 30, "~g~+%d RUB", TaxiPrice[i]), GameTextForPlayer(TaxiDriver[i], strcom, 1000, 1);
			}
		}
		if(GetPVarInt(i, "TRUCK_CRASH") >= 1 && GetPVarInt(i, "TRUCK_JOB") == 1)
		{
			SetPVarInt(i, "TRUCK_CRASH", GetPVarInt(i, "TRUCK_CRASH")-1);
			if(GetPVarInt(i, "TRUCK_CRASH") <= 0)
			{
			    if(GetPlayerState(i) != PLAYER_STATE_DRIVER || GetPlayerVehicleID(i) != GetPVarInt(i, "TRUCK_ID"))
			    {
			        SCM(i, COLOR_LIGHTRED, "Вы не вернулись в машину. Ваш заработок обнулен.");
				    DeletePVar(i, "TRUCK_JOB"), SetVehicleToRespawn(GetPVarInt(i, "TRUCK_ID"));
					Delete3DTextLabel(TruckText[GetPVarInt(i, "TRUCK_ID")]), DeletePVar(i, "TRUCK_ID");
					DeletePVar(i, "TRUCK_CRASH");
					DisablePlayerRaceCheckpoint(i);
					if(GetPVarInt(i, "TRUCK_ORDER") != 0) OrderInfo[GetPVarInt(i, "TRUCK_NUM")][oOrder] = false;
				    DeletePVar(i, "TRUCK_JOB");
				    DeletePVar(i, "TRUCK_ID");
				    DeletePVar(i, "TRUCK_BIZID");
					DeletePVar(i, "TRUCK_KOLVO");
					DeletePVar(i, "TRUCK_NUM");
					DeletePVar(i, "TRUCK_PRICE");
			    }
			    else DeletePVar(i, "TAXI_CRASH");
			}
		}
		if(GetPVarInt(i, "TAXI_CRASH") >= 1 && GetPVarInt(i, "TAXI_JOB") == 1)
		{
			SetPVarInt(i, "TAXI_CRASH", GetPVarInt(i, "TAXI_CRASH")-1);
			if(GetPVarInt(i, "TAXI_CRASH") <= 0)
			{
			    if(GetPlayerState(i) != PLAYER_STATE_DRIVER || GetPlayerVehicleID(i) != GetPVarInt(i, "TAXI_ID"))
			    {
			        SCM(i, COLOR_LIGHTRED, "Вы не вернулись в машину. Ваш заработок обнулен.");
				    DeletePVar(i, "TAXI_JOB"), SetVehicleToRespawn(GetPVarInt(i, "TAXI_ID"));
					MoneyTaxi[i] = 0, PriceTaxi[i] = 0, Delete3DTextLabel(TextTaxi[GetPVarInt(i, "TAXI_ID")]), DeletePVar(i, "TAXI_ID");
					DeletePVar(i, "TAXI_PLAYERID"), DeletePVar(i, "TAXI_CALL"), DeletePVar(i, "TAXI_CRASH");
			    }
			    else DeletePVar(i, "TAXI_CRASH");
			}
		}
		if(GetPVarInt(i, "BUS_CRASH") >= 1 && GetPVarInt(i, "BUS_JOB") == 1)
		{
			SetPVarInt(i, "BUS_CRASH", GetPVarInt(i, "BUS_CRASH")-1);
			if(GetPVarInt(i, "BUS_CRASH") <= 0)
			{
			    if(GetPlayerState(i) != PLAYER_STATE_DRIVER || GetPlayerVehicleID(i) != GetPVarInt(i, "BUS_ID"))
			    {
			        SCM(i, COLOR_LIGHTRED, "Вы не вернулись в машину. Ваш заработок обнулен.");
				    DeletePVar(i, "BUS_JOB"), BusMoney[i] = 0, BusMarsh[i] = 0, BusCheck[i] = 0, DisablePlayerRaceCheckpoint(i);
					SCM(i, COLOR_LIGHTRED, "Вы покинули место работы. Ваш заработок аннулирован.");
					Delete3DTextLabel(BusText[GetPVarInt(i, "BUS_ID")]), DeletePVar(i, "BUS_ID");
			    }
			    else DeletePVar(i, "BUS_CRASH");
			}
		}

		if(GetPVarInt(i, "POEZD_CRASH") >= 1 && Poezd[i] == 1)
		{
			SetPVarInt(i, "POEZD_CRASH", GetPVarInt(i, "POEZD_CRASH")-1);
			if(GetPVarInt(i, "POEZD_CRASH") <= 0)
			{
			    if(GetPlayerState(i) != PLAYER_STATE_DRIVER || GetPlayerVehicleID(i) != GetPVarInt(i, "POEZD_ID"))
			    {
			        SCM(i, COLOR_LIGHTRED, "Вы не вернулись в поезд. Ваш заработок обнулен.");
				    Poezd[i] = 0, SetVehicleToRespawn(GetPVarInt(i, "POEZD_ID"));
					Delete3DTextLabel(POEZDTEXT[GetPVarInt(i, "POEZD_ID")]), DeletePVar(i, "POEZD_ID");
					DeletePVar(i, "POEZD_CRASH");
			    }
			    else DeletePVar(i, "POEZD_CRASH");
			}
		}
			//BENZIN
		if(GetPlayerState(i) == PLAYER_STATE_DRIVER && EngineCar[GetPlayerVehicleID(i)] == 1 && !VeloVeh(GetPlayerVehicleID(i))) Benzin[GetPlayerVehicleID(i)] -= 0.03;
		if(IsPlayerInRangeOfPoint(i, 8.0, -1859.9340,-2858.5300,21.2241) && Player[i][pTeam] == 3 && GetPVarInt(i, "AMMO") == 1)
		{
		    SetPlayerCheckpoint(i, -1859.9340,-2858.5300,21.2241-0.7, 1.5), SetPVarInt(i, "SKLAD_AMMO", 1);
		}
		if(!IsPlayerInRangeOfPoint(i, 8.0, -1859.9340,-2858.5300,21.2241) && GetPVarInt(i, "SKLAD_AMMO") == 1) DisablePlayerCheckpoint(i), DeletePVar(i, "SKLAD_AMMO");


		if(GetPlayerState(i) == PLAYER_STATE_DRIVER && CategoryVeh(GetPlayerVehicleID(i)) && GetPVarInt(i, "LESSONTIME") < gettime() && GetPVarInt(i, "LESSON") != 0)
		{
		    DisablePlayerRaceCheckpoint(i), RemovePlayerFromVehicle(i), DeletePVar(i, "LESSONTIME"), DeletePVar(i, "LESSON"), DeletePVar(i, "A_CHECK"), DeletePVar(i, "B_CHECK"), DeletePVar(i, "C_CHECK");
			SCM(i, COLOR_LIGHTRED, "На сдачу экзамена давалось 10 минут. Вы провалили экзамен.");
		}


		if(GetPVarInt(i, "AMMO") == 1 && !IsPlayerApplyAnimation(i, "crry_prtial")) ApplyAnimation(i,"CARRY","crry_prtial",4.1,0,1,1,1,1);
		if(GetPVarInt(i, "LOADER_CHECK") == 1 && !IsPlayerApplyAnimation(i, "crry_pritial")) ApplyAnimation(i,"CARRY","crry_prtial",4.1,0,1,1,1,1);
		if(TimerLesopilka[i] >= 1 && !IsPlayerApplyAnimation(i, "sword_4")) ApplyAnimation(i, "SWORD", "sword_4", 4.1, 0, 1, 1, 1, 1);
		if(GetPVarInt(i, "JOB") == 1)
		{
			if(!IsPlayerInRangeOfPoint(i, 200.0, -263.3247, 474.4066, -29.6255) && !IsPlayerInRangeOfPoint(i, 150.0, -397.5319, 1014.7403, 7.0606))
			{
		    	DeletePVar(i, "JOB"), DeletePVar(i, "ANTI_RESET"), DeletePVar(i, "CHECK"), DeletePVar(i, "RUDA");
		    	RemovePlayerAttachedObject(i, 5), RemovePlayerAttachedObject(i, 6), DisablePlayerCheckpoint(i);
				SetPlayerSkin(i, Player[i][pSkin]);
    			SCM(i, COLOR_LIGHTRED, "Вы покинули место работы. Ваш заработок аннулирован.");
    		}
		}
		if(!IsPlayerInRangeOfPoint(i, 200.0, 107.6975,457.8300,11.9841) && GetPVarInt(i, "LOADER_JOB") == 1)
		{
		    DisablePlayerCheckpoint(i), SCM(i, COLOR_WHITE, "{ff0000}» {ffffff}Ошибка: Вы отдалились от места работы. Ваша зарплата обнулена.");
		    if(Player[i][pTeam] != 0) SetPlayerSkin(i, Player[i][pFSkin]);
			else if(Player[i][pTeam] == 0) SetPlayerSkin(i, Player[i][pSkin]);
		    DeletePVar(i, "LOADER_JOB"), DeletePVar(i, "LOADER_CHECK"), DeletePVar(i, "LOADER_MONEY");
		    RemovePlayerAttachedObject(i, 1);
		}

		if(IsPlayerInRangeOfPoint(i, 8.0, -2410.2510,2709.9700,39.5014) && Player[i][pTeam] == 3 && GetPVarInt(i, "TESTGATE") == 0)
		{
		    SetPVarInt(i, "CHECK_AMMO", 1), SetPlayerCheckpoint(i, -2410.2510,2709.9700,39.5014-0.7, 1.5);
		}
		else if(!IsPlayerInRangeOfPoint(i, 8.0, -2410.2510,2709.9700,39.5014) && GetPVarInt(i, "CHECK_AMMO") == 1) DisablePlayerCheckpoint(i), DeletePVar(i, "CHECK_AMMO");
		if(Player[i][pMuteTime] >= 1)
		{
		    Player[i][pMuteTime]--;
			if(Player[i][pMuteTime] <= 0) Player[i][pMuteTime] = 0, SCM(i, COLOR_LIGHTRED, "Чат автоматически разблокирован.");
		}

	    if(CellTime[i] > 0)
		{
			if (CellTime[i] == cchargetime)
			{
				CellTime[i] = 1;
				if(Mobile[Mobile[i]] == i)
				{
					CallCost[i] = CallCost[i]+callcost;
				}
			}
			CellTime[i] = CellTime[i] +1;
			if (Mobile[Mobile[i]] == 255 && CellTime[i] == 5)
			{
			    if(IsPlayerConnected(Mobile[i]))
			    {
					new called[MAX_PLAYER_NAME];
					GetPlayerName(Mobile[i], called, sizeof(called));
					format(string, sizeof(string), "У %s зазвонил телефон", called);

					ActionEx(i, string);
				}
			}
		}

		if(IsPlayerInRangeOfPoint(i, 10.0, -1859.9340,-2858.5300,21.2241) && (Player[i][pTeam] == 10 || Player[i][pTeam] == 8))
		{
			if(GetPVarInt(i, "VOR_AMMO") == 0) SetPlayerCheckpoint(i, -1859.9340,-2858.5300,21.2241-0.7, 1.5), SetPVarInt(i, "VOR_AMMO", 1);
			else if(GetPVarInt(i, "VOR_AMMO") == 1 && !IsPlayerInRangeOfPoint(i, 10.0, -1859.9340,-2858.5300,21.2241)) DeletePVar(i, "VOR_AMMO"), DisablePlayerCheckpoint(i);
		}
		if(!IsPlayerInRangeOfPoint(i, 10.0,  -1859.9340,-2858.5300,21.2241) && GetPVarInt(i, "VOR_AMMO") == 1) DeletePVar(i, "VOR_AMMO"), DisablePlayerCheckpoint(i), KillTimer(GANGPTTIMER[i]);
		//НИЖЕ ИДЕТ ИЗ ПАБЛИКА SetPlayerUnjail
		new Float:healt;
		GetPlayerHealth(i,healt);
		if (healt < 0.0) Killed[i] = 1, AnimationKill(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
		if(PlayerCuffedTime[i] > 0)
		{
            PlayerCuffedTime[i]--;
            if(PlayerCuffedTime[i] == 0) TogglePlayerControllable(i, 1);
		}

		if(Player[i][pJailTime] > 0)
		{
		    Player[i][pJailTime]--;
		    if(Player[i][pJailTime] <= 0) Player[i][pJailTime] = 0, Player[i][pWanted] = 0, SetPlayerPosEx(i, -78.3583,279.8063,13.6909), SetPlayerFacingAngle(i, 82.1773), SCM(i, -1, "Вы отсидели свой срок."), SpawnPlayer(i);
		}
  //Тюрьма
        if(Player[i][pJail] > 0)
        {
            Player[i][pJail]--;
            if(Player[i][pJail] <= 0) Player[i][pJailTime] = 0, Player[i][pJail] = 0, SCM(i, COLOR_GOOD, "Вас выпустили из тюрьмы!"), SetPlayerInt(i, "Jail", 0), SpawnPlayer(i);
		}
		new Float:arm;
	    GetPlayerArmour(i,arm);
		if(arm > 100 && Player[i][pAdmin] == 0) GiveArmour(i, 100);
	}
	return true;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Проверять методом исключения. А так, следует оптимизировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.