shape1
shape2
shape3
shape4
shape7
shape8

Система радара на TextDraw

  • Автор темы DayPlays
  • Дата начала

Статус
Закрыто для дальнейших ответов.
D

DayPlays

Гость
Гость
И так начнём ко всем new

#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

for(new i;i < sizeof(RadarInfoo);i ++)
{
IsRadar[RADAR] = CreateDynamicRectangle(RadarInfoo[RadarX],RadarInfoo[RadarY],RadarInfoo[RadarxX],RadarInfoo[RadaryY]);
RADAR ++;
}
print("[ Загрузка ... ] Все радары созданы");


Далее в public OnPlayerEnterDynamicArea

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[RadarSpeed]);
SendClientMessageToAll(COLOR_BLUE,string);
format(string, sizeof(string), "%d",RadarInfoo[RadarSpeed]);
TextDrawSetString(Textdraw_limit_dynamic[playerid],string);
TextDrawShowForPlayer(playerid,Textdraw_limit_dynamic[playerid]);
SetTimerEx("CheckSpeedRadar",3000,false,"i", playerid);
}
}
}






Далее создаём новый public

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[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[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

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 в конец мода добавьте

Код:
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 );  
}
 

FIZRYK43

Новичок
Пользователь
09.10.2019
7
0
0
33
Скриптер
Как я понимаю, просто превысил и превысил. не деньги ничего не снимается? 

 
Статус
Закрыто для дальнейших ответов.