Доступ к готовым решениям

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

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

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

Мануал Система радара на TextDraw

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

Dominic94

Ученик
Как и обещал, после исправления багов с этой системы и немного обновлений я выложу обратно систему.
Описание системы: Если игрок заедит на территорию где скорость не должна превышатся которую вы указали в моде, то он получит звезду и госам выйдет надпись что такой то игрок превысел скорость на таком то участке.В кажом месте можете ставить разное ограничение.
Автор системы: Я тоесть Ayzek_Clark

Запрещенно выкладывать систему на другие форумы без уведомления автора данной системы.
Скрин:

И так начнём ко всем new
PHP:
#define MAX_RADAR (1)
enum RadarInfo
{
Radarname[120],
Float:RadarX,
Float:RadarY,
Float:RadarxX,
Float:RadaryY,
RadarSpeed
}
new RadarInfoo[MAX_RADAR][RadarInfo] = {
	{"Мэрии",1398.9373,-1749.5156,1543.7639,-1588.2761,60}
};
new Text:Textdraw_limit[3];
new Text:Textdraw_limit_dynamic[MAX_PLAYERS];
new RADAR;
new IsRadar[MAX_RADAR];
Далее в public ongamemodeinit
PHP:
for(new i;i < sizeof(RadarInfoo);i ++)
	{
		IsRadar[RADAR] = CreateDynamicRectangle(RadarInfoo[i][RadarX],RadarInfoo[i][RadarY],RadarInfoo[i][RadarxX],RadarInfoo[i][RadaryY]);
		RADAR ++;
	}
	print("[ Загрузка ... ] Все радары созданы");
Далее в public OnPlayerEnterDynamicArea
PHP:
if(areaid >= IsRadar[0] && areaid <= IsRadar[RADAR-1])
	{
       if(IsPlayerInAnyVehicle(playerid))
       {
         for(new i;i < sizeof(RadarInfoo);i ++)
	     {
             new string[256];
             TextDrawShowForPlayer(playerid, Textdraw_limit[0]);
		     TextDrawShowForPlayer(playerid, Textdraw_limit[1]);
		     TextDrawShowForPlayer(playerid, Textdraw_limit[2]);
		     format(string,sizeof(string),"Вы въезжаете в зону ограничённой скорости %d KM/H",RadarInfoo[i][RadarSpeed]);
		     SendClientMessageToAll(COLOR_BLUE,string);
             format(string, sizeof(string), "%d",RadarInfoo[i][RadarSpeed]);
		     TextDrawSetString(Textdraw_limit_dynamic[playerid],string);
             TextDrawShowForPlayer(playerid,Textdraw_limit_dynamic[playerid]);
		     SetTimerEx("CheckSpeedRadar",3000,false,"i", playerid);
            }
        }
    }
Далее создаём новый public
PHP:
forward CheckSpeedRadar(playerid);
public CheckSpeedRadar(playerid)
{
	new speed = GetPlayerVehicleSpeed(playerid);
	TextDrawHideForPlayer(playerid,Textdraw_limit[0]);
	TextDrawHideForPlayer(playerid,Textdraw_limit[1]);
	TextDrawHideForPlayer(playerid,Textdraw_limit[2]);
	TextDrawHideForPlayer(playerid,Textdraw_limit_dynamic[playerid]);
	new string[256];
	new sendername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, sendername, sizeof(sendername));
	for(new i; i < sizeof(RadarInfoo); i++)
	{
	if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && speed >= RadarInfoo[i][RadarSpeed])
	{
	        format(string,sizeof(string),"Вас зафиксировал радар. Вы ехали со скоростью %d km/h",speed);
			SendClientMessageToAll(COLOR_GREEN,string);
			PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
			format(string, sizeof(string), "[Радар]: %s превысел скорость у %s. Скорость %d km/h",sendername,RadarInfoo[i][Radarname],speed);
			SendTeamMessage(1, COLOR_ALLDEPT, string);
			SetPlayerCriminal(255,playerid,PlayerInfo[playerid][pWanted]+1, "Превышение скорости");
			format(string, sizeof(string), "Speed ~w~~b~%d KM/H",speed);
			GameTextForPlayer(playerid, string, 5000, 4);
	    }
	}
	return 1;
}
Далее в public onplayerconnect
PHP:
Textdraw_limit[0] = TextDrawCreate(439.555297, 20.608011, "O");
TextDrawLetterSize(Textdraw_limit[0], 1.461110, 6.010312);
TextDrawAlignment(Textdraw_limit[0], 1);
TextDrawColor(Textdraw_limit[0], -16776961);
TextDrawSetShadow(Textdraw_limit[0], 0);
TextDrawSetOutline(Textdraw_limit[0], -2);
TextDrawBackgroundColor(Textdraw_limit[0], 51);
TextDrawFont(Textdraw_limit[0], 1);
TextDrawSetProportional(Textdraw_limit[0], 1);

Textdraw_limit[1] = TextDrawCreate(445.888732, 29.074678, "O");
TextDrawLetterSize(Textdraw_limit[1], 1.005554, 4.183466);
TextDrawAlignment(Textdraw_limit[1], 1);
TextDrawColor(Textdraw_limit[1], -1);
TextDrawSetShadow(Textdraw_limit[1], 0);
TextDrawSetOutline(Textdraw_limit[1], -1);
TextDrawBackgroundColor(Textdraw_limit[1], -1);
TextDrawFont(Textdraw_limit[1], 1);
TextDrawSetProportional(Textdraw_limit[1], 1);

Textdraw_limit[2] = TextDrawCreate(453.999816, 35.550243, "O");
TextDrawLetterSize(Textdraw_limit[2], 0.606443, 2.794667);
TextDrawAlignment(Textdraw_limit[2], 1);
TextDrawColor(Textdraw_limit[2], -1);
TextDrawSetShadow(Textdraw_limit[2], 0);
TextDrawSetOutline(Textdraw_limit[2], -1);
TextDrawBackgroundColor(Textdraw_limit[2], -1);
TextDrawFont(Textdraw_limit[2], 3);
TextDrawSetProportional(Textdraw_limit[2], 1);

Textdraw_limit_dynamic[playerid] = TextDrawCreate(448.444549, 39.822246, "_");
TextDrawLetterSize(Textdraw_limit_dynamic[playerid], 0.497555, 1.988267);
TextDrawAlignment(Textdraw_limit_dynamic[playerid], 1);
TextDrawColor(Textdraw_limit_dynamic[playerid], 255);
TextDrawSetShadow(Textdraw_limit_dynamic[playerid], 0);
TextDrawSetOutline(Textdraw_limit_dynamic[playerid], 0);
TextDrawBackgroundColor(Textdraw_limit_dynamic[playerid], 51);
TextDrawFont(Textdraw_limit_dynamic[playerid], 1);
TextDrawSetProportional(Textdraw_limit_dynamic[playerid], 1);
У кого ерроры с переменной GetPlayerVehicleSpeed в конец мода добавьте
PHP:
stock GetPlayerVehicleSpeed(playerid)
{
	if(!IsPlayerInAnyVehicle(playerid)) return true;
	new Float:X, Float:Y, Float:Z;
	GetVehicleVelocity(GetPlayerVehicleID(playerid),X,Y,Z);
	return floatround( floatsqroot( X * X + Y * Y + Z * Z ) * 180.0 );
}
Ну вот и всё​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу