Система радара на TextDraw - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
Система радара на TextDraw
ExPRO Дата: Воскресенье, 18.05.2014, 19:02 | Сообщение # 1
Боец
Сообщений: 181
Статус: Offline
И так начнём ко всем 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[i][RadarX],RadarInfoo[i][RadarY],RadarInfoo[i][RadarxX],RadarInfoo[i][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[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
Код
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
Код
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 );  
}  


Скрин: http://rghost.ru/54917217
Автор: Ayzek_Clark
Выложил: ExPRO для www.cheat-master.ru


>>> My sa:mp server 176.32.39.43:7777 <<<
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума