• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как создать систему радаров?

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

NedoScripter

Дебютант
Привет, подскажите как оптимизировать
Создание радаров:
PHP:
					    for(new i; i < MAX_RADARS; i++)
		                {
							new str[144];
							format(str, sizeof(str),"Радар\nМаксимальная скорость: {9ACD32}120 км/ч.\n{FFFFFF}Штраф за нарушение: {9ACD32}500$.\n{FFFFFF}Поставил: {9ACD32}%s", PN(playerid));
                            RadarInfo[i][radText] = CreateDynamic3DTextLabel(str, COLOR_WHITE, x, y, z + 2.0, 20.0);
                            RadarInfo[i][rObj] = CreateDynamicObject(18880, x, y, z - 1.3, 0, 0, angle);
                            RadarInfo[i][radX] = x;
		                    RadarInfo[i][radY] = y;
		                    RadarInfo[i][radZ] = z - 1.3;
		                    PI[playerid][pObjikt] --;
		                    break;
				        }
В секудный таймер:
PHP:
foreach(new ier: Player) UpdatePlayerRadar(ier);
PHP:
stock UpdatePlayerRadar(playerid)
{
    if(GetPVarInt(playerid, !"LimitRadar") > gettime()) return 1;
    new speed = GetPlayerVehicleSpeed(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(!IsACop(playerid))
        {
            new string[64];
            for(new i; i < MAX_RADARS; i++)
            {
                if(IsPlayerInRangeOfPoint(playerid, 30.0, RadarInfo[i][radPos][0], RadarInfo[i][radPos][1], RadarInfo[i][radPos][2]))
                {
                    if(speed >= 120)
                    {
                        if(PI[playerid][pMoney] < 500)
                        {
							PI[playerid][pWanted] += 1, SetPlayerWantedLevel(playerid, PI[playerid][pWanted]);
                            SendClientMessage(playerid, COLOR_LIGHTRED, !"[Информация] {FFFFFF}Вы были объявлены в розыск! Причина: {FF6347}Превышение скорости");
                            format(string, sizeof(string), "Ваш текущий уровень розыска: {FF6347}%d", PI[playerid][pWanted]);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                        }
                        else
                        {
							GiveMoney(playerid, -500);
                            SendClientMessage(playerid, COLOR_VALIK, !"[Информация]{FFFFFF} Вы были оштрафованы за нарушение максимальной допустимой скорости");
                            SendClientMessage(playerid, COLOR_WHITE, !"С вас взяли 500$. Постарайтесь не нарушать в дальнейшем.");
                            format(string, sizeof(string),"~w~SPEED: %d/120 MAX.~n~FINED 500$.", speed);
                            GameTextForPlayer(playerid, string, 3000, 5);
                        }
                    }
                    SetPVarInt(playerid, !"LimitRadar", gettime() + 5);
                }
            }
        }
    }
 	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу