Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Ограничитель скорости [Samp-Rp копия]

Статус
В этой теме нельзя размещать новые ответы.

A3st

Новичок
Здравствуйте, я довел прошлую [BETA] версию Ограничителя до ума теперь она "Без Баговная на 100 процентов".
Проверял несколько раз все работает отлично и идет на любой сервак Samp-Rp и RLS (И других модов из этой линейки).
И так начнем для начала в pInfo вставляем:
PHP:
pCarSkill
Ко всем new's
PHP:
new Slimit[MAX_PLAYERS];
В OnPlayerConnect
PHP:
PlayerInfo[playerid][pCarSkill] = 0;
В OnPlayerRegister
PHP:
ini_setInteger(File,"CarSkill",PlayerInfo[playerid][pCarSkill]);
В OnPlayerLogin
PHP:
ini_getInteger(File,"CarSkill",PlayerInfo[playerid][pCarSkill]);
В OnPlayerUpdateRL или другую систему сохранения
PHP:
ini_setInteger(File,"CarSkill",PlayerInfo[playerid][pCarSkill]);
В OnVehicleDamageStatusUpdate
Ставим этот код до системы поломки pProz
PHP:
              GetVehicleHealth(vehicleid, carhp);
              if(carhp > 300 && carhp < 500)
	{
		new skill = PlayerInfo[playerid][pCarSkill];
		if(skill == 0)
		{
			SendClientMessage(playerid, COLOR_RED, "Ваш навык вождения понижен");
			Slimit[playerid] = 0;
   			return 1;
		}
		SendClientMessage(playerid, COLOR_RED, "Ваш навык вождения понижен");
		PlayerInfo[playerid][pCarSkill] -= 300;
		Slimit[playerid] = 0;
	}
В Таймер Fresh
Вставляем после всех
PHP:
if(IsPlayerInAnyVehicle(i))
{
              new tacha = GetPlayerVehicleID(i);
 	if(!IsAPlane(tacha) && !IsABoat(tacha))
	{
		new skill = PlayerInfo[i][pCarSkill];
		if(skill >= 0 && skill < 1200)
		{
			PlayerInfo[i][pCarSkill] += 1;
		}
		if(skill == 300 || skill == 600 || skill == 900)
		{
			SendClientMessage(i, COLOR_BLUE, "Ваш навык вождения повышен");
		}
		else if(skill == 1199)
		{
			SendClientMessage(i, COLOR_BLUE, "Ваш навык повышен");
			SendClientMessage(i, COLOR_WHITE, "(( Введите /slimit чтобы снять ограничитель ))");
		}
	}
}
В Таймер UpdateSpeedometr
Добавляем после этого кода
PHP:
format(str1, sizeof(str1),"%d",SpeedVehicle(playerid));
if(Fuell[vehicleid] <= 45)  format(str2, sizeof(str2),"~r~%.0f",Fuell[vehicleid]);
else if(Fuell[vehicleid] <= 100)  format(str2, sizeof(str2),"~y~%.0f",Fuell[vehicleid]);
else if(Fuell[vehicleid] <= 300)  format(str2, sizeof(str2),"~g~%.0f",Fuell[vehicleid]);
format(str3, sizeof(str3), "KM/H");
format(str4, sizeof(str4), "FUEL");
format(str5, sizeof(str5), "%s",locked);
Вот этот код!
PHP:
              new skill = PlayerInfo[playerid][pCarSkill];
              new tacha = GetPlayerVehicleID(playerid);
 	if(!IsAPlane(tacha) && !IsABoat(tacha))
	{
		if(skill >= 900 && skill <= 1199 || Slimit[playerid] == 1)
		{
			#define MAX_SPEEDO 0.50
			#define SLOW_FACTOR 0.70
			new Float:x,Float:y,Float:z,veh;
	  		veh = GetPlayerVehicleID(playerid);
			GetVehicleVelocity(veh,x,y,z);
	 		if((x > MAX_SPEEDO || x < -MAX_SPEEDO) || (y > MAX_SPEEDO || y < -MAX_SPEEDO))
			{
			               SetVehicleVelocity(veh,x*SLOW_FACTOR,y*SLOW_FACTOR,z);
			}
		}
		if(skill >= 600 && skill <= 899)
		{
			#define MAX_SPEEDO 0.45
			#define SLOW_FACTOR 0.65
			new Float:x,Float:y,Float:z,veh;
			  veh = GetPlayerVehicleID(playerid);
			  GetVehicleVelocity(veh,x,y,z);
	   		if((x > MAX_SPEEDO || x < -MAX_SPEEDO) || (y > MAX_SPEEDO || y < -MAX_SPEEDO))
	  		{
	  			SetVehicleVelocity(veh,x*SLOW_FACTOR,y*SLOW_FACTOR,z);
			}
		}
		if(skill >= 300 && skill <= 599)
		{
			#define MAX_SPEEDO 0.40
			#define SLOW_FACTOR 0.60
			new Float:x,Float:y,Float:z,veh;
	  		veh = GetPlayerVehicleID(playerid);
			GetVehicleVelocity(veh,x,y,z);
	   		if((x > MAX_SPEEDO || x < -MAX_SPEEDO) || (y > MAX_SPEEDO || y < -MAX_SPEEDO))
	  		{
	  			SetVehicleVelocity(veh,x*SLOW_FACTOR,y*SLOW_FACTOR,z);
			}
		}
		if(skill >= 0 && skill <= 299)
		{
			#define MAX_SPEEDO 0.35
			#define SLOW_FACTOR 0.55
			new Float:x,Float:y,Float:z,veh;
			veh = GetPlayerVehicleID(playerid);
	     		GetVehicleVelocity(veh,x,y,z);
	      		if((x > MAX_SPEEDO || x < -MAX_SPEEDO) || (y > MAX_SPEEDO || y < -MAX_SPEEDO))
			{
			             SetVehicleVelocity(veh,x*SLOW_FACTOR,y*SLOW_FACTOR,z);
			}
		}
	}
В OnPlayerCommand
PHP:
else if(strcmp(cmd,"/slimit",true) == 0)
{
	new tacha = GetPlayerVehicleID(playerid);
	if(IsPlayerInAnyVehicle(playerid) && !IsAPlane(tacha) && !IsABoat(tacha))
    	{
	    	new skill = PlayerInfo[playerid][pCarSkill];
		if(skill == 1200)
		{
			switch (Slimit[playerid])
			{
				case 0:
				{
					Slimit[playerid] = 1;
					return 1;
				}
				case 1:
				{
					Slimit[playerid] = 0;
					return 1;
				}
			}
			return 1;
		}
		else
		{
    			SendClientMessage(playerid, COLOR_WHITE, "У вас низкий навык вождения!");
			return 1;
		}
	}
	else
	{
                            SendClientMessage(playerid, COLOR_WHITE, "Вы не за рулём!");
		return 1;
	}
}
Использование: Катаетесь по городу, нечайно врезались в стенку :) очень сильно (С кем не бывает), понизился Навык вождением Автомобилем, потом катаетесь на машине не в кого не врезаясь поднимаете навык и вам напишет в чат если вы подняли его на Full.
Автор: Я
Все проверенно работает можете ставить и радоваться сис-мой.
Ставим "Спасибо" под сообщением.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу