Как изменить спидометр самп

Спидометр, написанный на ImGui Возможности: отображает скорость, здоровье, название, айди машины, а так же статус дверей (открыты/закрыты) и статус двигателя (заведен/заглушен) Требования: ImGui, fAwesome, inicfg Установка: распаковать архив ![ImGui] Speedometer.rar в папку moonloader...

chapo

chapo

vk.com/chaposcripts


  • #1

imgui_speedometer.png

1611429639709.png

Спидометр, написанный на ImGui
Возможности
: отображает скорость, здоровье, название, айди машины, а так же статус дверей (открыты/закрыты) и статус двигателя (заведен/заглушен)
Требования: ImGui, fAwesome, inicfg
Установка: распаковать архив ![ImGui] Speedometer.rar в папку moonloader
Активация: автоматическая (на данный момент нет возможности отключить скрипт)

Как настроить показатель топлива под мой сервер?
для этого пропишите /textdrawid и узнайте id текстдрава, который отображает кол-во топлива, откройте скрипт через любой текстовый редактор и впишите id текстдрава в переменную fuel_textdraw_id

Как изменить положение спидометра?
нажмите F1 и перетащите окно в нужное вам место, позиция будет сохранена

1. удаление серверного спидометра
2. хз

  • изменен внешний вид спидометра​

  • теперь вы сами можете настроить показатель топлива под любой сервер. Для этого откройте скрипт в любом текстовом радакторе и замените «1» на id текстдрава с показателем топлива (на аризоне ID текстрава: 2100)​

  • теперь окно не перетаскивается с помощью мыши, но его положение по прежнему можно настроить в .ini файле (связано это с ужасным колхозным костылем для рендера линии спидометра)​

Установка: распаковать содержимое папки в папку moonloader

НЕ ОТКРЫВАТЬ КОД, МНОГО КОЛХОЗНЫХ КОСТЫЛЕЙ!
перетаскивать спидометр можно через F1 или открыв чат

  • !ImGui Speedometer by chapo.lua

    13.3 KB · Просмотры: 1,219

  • ![ImGui] Speedometer.rar

    11.2 KB · Просмотры: 1,178

Последнее редактирование: 24 Янв 2021

No_name321


  • #2

чел зделай лутше спаван машыну через /fixmycar ид кара чтоб скрипт сам водил ид машины и спавнил его, и да чтоб после тово как его заспавнить он выгружал его с севера, просто на помойке 05 есть токой баг если ты выгрузиш маину в кокомта месте то она там и появится после тово как загружать
думаю ты понял, спасибо зарания:)

chapo

chapo

vk.com/chaposcripts


  • #3

чел зделай лутше спаван машыну через /fixmycar ид кара чтоб скрипт сам водил ид машины и спавнил его, и да чтоб после тово как его заспавнить он выгружал его с севера, просто на помойке 05 есть токой баг если ты выгрузиш маину в кокомта месте то она там и появится после тово как загружать
думаю ты понял, спасибо зарания:)

невозможно зареспавнить машину через fixmycar если ты в ней сидишь, потом мб добавлю выход из авто, но тогда пропадет смысл

No_name321


  • #4

невозможно зареспавнить машину через fixmycar если ты в ней сидишь, потом мб добавлю выход из авто, но тогда пропадет смысл

без разницы сидиш ты в машине или нет мне просто в падлу каждый раз песать /fixmycar Чтоб заспавнить машину, а плотить налог товоже мавера 50кк токое себе»Штраф»

chapo

chapo

vk.com/chaposcripts


  • #5

без разницы сидиш ты в машине или нет мне просто в падлу каждый раз песать /fixmycar Чтоб заспавнить машину, а плотить налог товоже мавера 50кк токое себе»Штраф»

если ты просто оставил машину на дороге и вышел из нее то налог на нее капать не будет. Налог будет капать только если ты припаркуешь машину на улице через /park

No_name321


  • #6

если ты просто оставил машину на дороге и вышел из нее то налог на нее капать не будет. Налог будет капать только если ты припаркуешь машину на улице через /park

нееее ты не понял

chapo

chapo

vk.com/chaposcripts


  • #7

напиши мне в вк (в подписи)

  • #8

Посмотреть вложение 83709

Спидометр, написанный на ImGui
Возможности
: отображает скорость, здоровье, название, айди машины, а так же статус дверей (открыты/закрыты) и статус двигателя (заведен/заглушен)
Требования: ImGui, fAwesome, inicfg
Установка: переместить файл !ImGui Speedometer.lua в папку moonloader
Активация: автоматическая (на данный момент нет возможности отключить скрипт), /arzf — включить/отключить показатель топлива
(показатель топлива адаптирован только под аризону, если скажете айди текстдравов на других сервера, то добавлю в след. обнове)

1. удаление серверного спидометра
2. хз

перетаскивать спидометр можно через F1 или открыв чат

Предложение — вкл. выкл на клавишу, показатель количества топлива, отключение серверного спидометра и изменение размера спидометра. А так годно плюсую

chapo

chapo

vk.com/chaposcripts


  • #9

Предложение — вкл. выкл на клавишу

зачем?

показатель количества топлива,

сейчас есть показатель топлива, но работает он только на аризоне

отключение серверного спидометра

будет

изменение размера спидометра

зачем?)

  • #10

чел зделай лутше спаван машыну через /fixmycar ид кара чтоб скрипт сам водил ид машины и спавнил его, и да чтоб после тово как его заспавнить он выгружал его с севера, просто на помойке 05 есть токой баг если ты выгрузиш маину в кокомта месте то она там и появится после тово как загружать
думаю ты понял, спасибо зарания:)

Чел, это не баг, а фича от Аризоны на всех серверах так.
Возможно недоработка от АГ

  • #11

зачем?

сейчас есть показатель топлива, но работает он только на аризоне

будет

зачем?)

На некоторых серверах ест ьадмины которые могут докопаться до чего угодно — для этого нужна клавиша выкл спидометра. Размер спидометра для тех людей у кого плохое зрение чтобы можно было растянуть прямоугольник чуть больше. Ну самое главное наверное показатель топлива. Жду обновы с нетерпением

зачем?

сейчас есть показатель топлива, но работает он только на аризоне

будет

зачем?)

Кстати если нельзя сделать универсальный показатель топлива для всех серверов, можно сделать пикалку когда топлива остаеться очень мало? Там колокольчик, например?

chapo

chapo

vk.com/chaposcripts


  • #12

Кстати если нельзя сделать универсальный показатель топлива для всех серверов, можно сделать пикалку когда топлива остаеться очень мало? Там колокольчик, например?

Универсальный показатель топлива сделать сложно. Звуковое оповещение это хорошая идея, будет в след версии)

  • #13

сажусь в машину и такая приколюха

1611326496708.png

chapo

chapo

vk.com/chaposcripts


  • #15

Он установлен, ну лежит в папке «ресурсы», как положено

Обновлено: 09.02.2023

Спидометр, написанный на ImGui
Возможности: отображает скорость, здоровье, название, айди машины, а так же статус дверей (открыты/закрыты) и статус двигателя (заведен/заглушен)
Требования: ImGui, fAwesome, inicfg
Установка: распаковать архив ![ImGui] Speedometer.rar в папку moonloader
Активация: автоматическая (на данный момент нет возможности отключить скрипт)

Как настроить показатель топлива под мой сервер?
для этого пропишите /textdrawid и узнайте id текстдрава, который отображает кол-во топлива, откройте скрипт через любой текстовый редактор и впишите id текстдрава в переменную fuel_textdraw_id

Как изменить положение спидометра?
нажмите F1 и перетащите окно в нужное вам место, позиция будет сохранена

Установка спидометра для GTA San Andreas

Чтобы установить новый понравившийся анимационный мод, необходимо убедиться, что у вас установлена библиотека CLEO. Для этого зайдите в свою папку с игрой и посмотрите, есть ли в папке с игрой папка под названием CLEO. Если её нет, значит библиотека не установлена. Скачайте установщик последней версии библиотеки CLEO с нашего сайта, укажите путь к папке с игрой и дождитесь окончания установки.

Теперь дело за малым. Файл с расширением .cs необходимо переместить в папку CLEO. А файл с расширением .txd (чаще всего имеет название speed.txd) переместить по адресу modelstxd

Если мод всё-равно не работает или данная инструкция не помогла вам в установке, вы можете обратиться в нашу группу во Вконтакте , где вам обязательно помогут.

Спидометр для автомобилей Создание спидометра для автомобилей, который считает пройденный путь Оценка: 1 Голосов

Пользователь офлайн

thewax

В основном, после освоения азов систем регистраций, перед новичком(который только-только начинает писать СВОИ моды), стоит задача сделать функциональный, рабочий спидометр. Чаще всего возникает вопрос «как же сделать его»? Так вот, я заметил, большинство тем содержат в себе либо текстдравы(рисунок) либо функцию, но я почти не замечал где же обучение, за что отвечает та или иная строчка. Естественно расписывать очень подробно, всегда не легко, в любом случае я постараюсь уместить всю полезную информацию в один урок.

Изображение

Нарисовав спидометр, нам необходимо создать текстдравы, я выбрал весьма простой дизай для своего спидометра:

Для начала для нарисованных текстдравов, необходимо создать переменные:

в OnGameModeInit закинем:

Теперь нам надо сделать так, чтобы игрок который сел в машину на место водителя, видел спидометр
За изменение позиции игрока относительно штата, отвечает паблик OnPlayerStateChange, закинем код туда:

Пользователь офлайн

thewax

Как установить мод на спидометр для GTA San Andreas

Очень странно, что в игре, в которой практически так или иначе вертится вокруг автомобилей (даже название игры!), отсутствуют спидометры. И это можно было бы понять, если бы в автопарке GTA: San Andreas не было такого большого количества разнообразных по характеристикам машин. Ведь иногда так хочется взять самую быструю тачку и пронестись на ней по автостраде на максимальной скорости.
А чтобы выяснить, какая скорость является максимальной, вам понадобится спидометр. Точнее мод, который его добавляет. В нашей базе бесплатных файлов огромное количество различных спидометров, вам нужно только выбрать подходящий себе по вкусу и скачать.

Установить такой мод очень просто. Если вы не знаете, как это сделать, данная инструкция поможет вам в этом! Она универсальна для большинства модов на спидометры, но если у вас всё же не получилось установить мод, напишите об этом в нашей группе во Вконтакте и мы добавим к моду персональную инструкцию по установке.

Как установить мод на спидометр для GTA San Andreas

GTA Liberty City

представляю вашему вниманию глобальный мод на GTA San Andreas который заменит весь штат на Liberty City , кроме того этот мод заменяет всё! кроме движка! а это скин главного героя, транспорт, арсенал, некотрые люди, даже местные банды те что были в G.

Speedometer by DK22Pac

Простой и красивый спидометр на asi. В отличие от многих других, этот спидометр правильно вычисляет скорость.

Для работы нужен ASI Loader.

Установка: переместить все файлы в папку с игрой.

Инструкции по установке

Liberty City Stories PC Edition BETA 3.1.1

[!] Если у вас возникли проблемы при установке файла, то прочтите инструкцию по установке файлов для GTA San Andreas .

[!] Если вы считаете, что этот файл уже был добавлен в архив ранее, то сообщите, пожалуйста, об этом администратору с указанием ссылок на этот и добавленный ранее файл.

Читайте также:

      

  • Как тренировать аим в osu
  •   

  • Кто обязан вступать в сро gk portal ru
  •   

  • Где найти тонара скайрим
  •   

  • La union что это
  •   

  • Зелье из тир на лиа ведьмак 3 для чего

  • /

  • GTA San Andreas
  • /

  • Статьи GTA San Andreas
  • /

  • Как установить мод на спидометр для GTA San Andreas

Очень странно, что в игре, в которой практически так или иначе вертится вокруг автомобилей (даже название игры!), отсутствуют спидометры. И это можно было бы понять, если бы в автопарке GTA: San Andreas не было такого большого количества разнообразных по характеристикам машин. Ведь иногда так хочется взять самую быструю тачку и пронестись на ней по автостраде на максимальной скорости.
А чтобы выяснить, какая скорость является максимальной, вам понадобится спидометр. Точнее мод, который его добавляет. В нашей базе бесплатных файлов огромное количество различных спидометров, вам нужно только выбрать подходящий себе по вкусу и скачать.

Установить такой мод очень просто. Если вы не знаете, как это сделать, данная инструкция поможет вам в этом!

Как установить мод на спидометр для GTA San Andreas

Установка спидометра для GTA San Andreas

Чтобы установить новый понравившийся анимационный мод, необходимо убедиться, что у вас установлена библиотека CLEO. Для этого зайдите в свою папку с игрой и посмотрите, есть ли в папке с игрой папка под названием CLEO. Если её нет, значит библиотека не установлена. Скачайте установщик последней версии библиотеки CLEO с нашего сайта, укажите путь к папке с игрой и дождитесь окончания установки.

Теперь дело за малым. Файл с расширением .cs необходимо переместить в папку CLEO. А файл с расширением .txd (чаще всего имеет название speed.txd) переместить по адресу modelstxd

Рекомендуемые файлы

Идеальный перевод SanLtd HD

За основу данного русификатора была взята сборка от SanLtd с фиксом от DimZet и siechkeeper, за что всем спасибо. Данная модификация сделает русификатор в HD качестве для Full HD мониторов. Русификацию текстур производил апскейлом, потом что-то дори…

Zombie Andreas Complete Final (Build 3585.64)

———————————————————————- 1. Описание: Zombie Andreas это модификация к игре «GTA: San Andreas», которая полностью изменяет весь геймплей игры. В штатах произошел зомби-апокалипсис, неизвестная инфекци…

Chaos Mod 3.2.0

Обновление 3.2.0: Добавлено 7 новых эффектов, исправлений и улучшений. Обновление 3.1.3: Добавлены новые эффекты, и исправления. Обновление 3.1.2: Добавлено 4 новых эффекта, исправлений и улучшений. Это модификация, ко…

SA Animation Loading Bar v1.1

Новая версия модификации, которая заменяет загрузочные экраны на новую анимацию, похожую на загрузку игры в GTA V . Исправления v1.1: -Персонажи перемещаются в 2 раза медленней. -Убран баг с мерцающей полосой загрузки. -Исправлен вылет в SA-MP. …

CLEO+ v1.1.3 (Обновление от 15.11.22)

CLEO+ CLEOPlus Обновление от 15.11.2022: Исправлена ошибка «FIX_CHAR_GROUND_BRIGHTNESS_AND_FADE_IN», из-за которой яркость людей была неправильной. Это исправляет освещение людей в таких модах, как Ped Spawn Creator; Исправлена ​​ошибка «SET…

SilentPatch v1.1 Build 30

SilentPatch — один из лучших модов для GTA в мире. Цель мода — избавиться от исходных ошибок игры, чего Rockstar не сделал, или сделал в новых версиях GTA SA (например, Steam), и поэтому SilentPatch делает это и в 1.0 US. Это незаменимый мод, которы…

2013 Ford Shelby GT500 v1.1 by Tado Hamann, KH

— Высокодетализированная модель 2013 Ford Shelby GT500 v1.1 для GTA SA; — HQ интерьер, экстерьер; — Рабочий спидометр и тахометр; — 3D-двигатель; — Реалистичный свет фар, сто-сигналов, указателей поворотов, габаритов; — Машина правильных размеров; — …

Grand Theft Auto San Andreas: Classic Edition

Данная сборка исправляет большинство проблем в игре. В связи с тем, что разработчики не стали исправлять известные проблемы, всё приходится делать игрокам. Теперь игра будет выглядеть как и должна. Атмосфера улучшена известными исправлениями — таким…

Visual Player Image v1.1

Описание: Данный скрипт добавляет визуальный имидж (образ) игрока. С этим скриптом вы можете менять одежду, обувь, шляпы, очки, аксессуары, часы, татуировки и стрижки игрока с удобным визуальным интерфейсом. Изменения в версии 1.1 — Размер надп…

Real Vision v1.1

Real_Vision — модификация по преображению GTA San Andreas, цель мода — сделать графику в игре максимально приближенной к реальности, чтобы не было где-то слишком насыщенных, тёмных или пересвеченных моментов, а выглядело как одно целое. ВЕРСИЯ: 1….

90s Atmosphere Vehicles Pack

90s Atmosphere Vehicles Pack — это проект по замене всего транспорта в игре на схожий с оригинальными SA-моделями, частично включая воздушный, водный и RC-транспорт. Обновление от 01.02.23: — Полностью пересобрал пак на основе последней стабильно…

Исправление разных текстур

Что было исправлено? Был исправлен биллборд; Был возвращен настенный рисунок из бета-версии; Также был возвращен Zip Pizza из бета-версии; Исправлен вход в аэропорт Лас-Вентураса; Был исправлен объект в интерьере аэропорта Либерти Сити; …

Amazing Screenshot v1.1

Вот и вышло продолжение этого замечательного скрипта . В этой версии имеется множество исправлений и оптимизаций кода, а также добавлены новые функции. Управление: V 1.0 Alt+V — вкл/выкл режима скриншотов V — смена камеры, движениями мыши управляет…

Effects NFS ProStreet mod v1.1

NFS ProStreet mod v1.1///////////////// \Effects mod v1.1//////////////////////// Этот мод заменяет все эффекты,придовая реалистичности. Что изменилось: 1.Другой дым из-под колёс 2.Изменено пламя и дым. 3.Изменен…

Всем привет. В этом финальном уроке мы сделаем настоящий спидометр в не просто картинку =)
Итак. Идём в папку Ipleomax и заходим в папку scriptfiles. Открываем наш спидометр
Видем new-ы и наши отдельные текстдравы.
Давайте присвоим эти текстдравы для игрока а не для сервера.
К new-вам дописываем [MAX_PLAYERS].
Пример

new Text:TextBox;
new Text:TextBox[MAX_PLAYERS];

Теперь идём к текст дравам там дописываем [playerid]
Пример

TextBox = TextDrawCreate(630.125000, 338.083465, "usebox");//-
TextBox[playerid] = TextDrawCreate(630.125000, 338.083465, "usebox");//+

И так со всеми…
Далеее идём в наш мод.
Ко всем new мы дописываем new-вы из Ipleomax

new Text:TextBox[MAX_PLAYERS];
new Text:TextBox1[MAX_PLAYERS];
new Text:TextBox2[MAX_PLAYERS];
new Text:TextEngine[MAX_PLAYERS];
new Text:TextDoor[MAX_PLAYERS];
new Text:TextLight[MAX_PLAYERS];
new Text:TextMax[MAX_PLAYERS];
new Text:TextSpeed[MAX_PLAYERS];
new Text:TextSpeed1[MAX_PLAYERS];
new Text:TextHealth[MAX_PLAYERS];
new Text:TextFuel[MAX_PLAYERS];
new Text:TextName[MAX_PLAYERS];

Теперь давайте загрузим наши текстдравы
В конец мода

stock LoadSpeedometr(playerid)
{
        TextBox[playerid] = TextDrawCreate(630.125000, 338.083465, "usebox");//создали текст драв(коробку)
	TextDrawLetterSize(TextBox[playerid], 0.000000, 10.766667);//размер
	TextDrawTextSize(TextBox[playerid], 476.750000, 0.000000);//размер текста
	TextDrawAlignment(TextBox[playerid], 1);//выравнивание
	TextDrawColor(TextBox[playerid], 0);//цвет
	TextDrawUseBox(TextBox[playerid], true);
	TextDrawBoxColor(TextBox[playerid], 102);//цвет коробки
	TextDrawSetShadow(TextBox[playerid], 0);//тень
	TextDrawSetOutline(TextBox[playerid], 0);//обводка
	TextDrawFont(TextBox[playerid], 0);//шрифт

	TextBox1[playerid] = TextDrawCreate(617.000000, 418.583312, "usebox");
	TextDrawLetterSize(TextBox1[playerid], 0.000000, 0.979631);
	TextDrawTextSize(TextBox1[playerid], 490.500000, 0.000000);
	TextDrawAlignment(TextBox1[playerid], 1);
	TextDrawColor(TextBox1[playerid], 0);
	TextDrawUseBox(TextBox1[playerid], true);
	TextDrawBoxColor(TextBox1[playerid], 102);
	TextDrawSetShadow(TextBox1[playerid], 0);
	TextDrawSetOutline(TextBox1[playerid], 0);
	TextDrawFont(TextBox1[playerid], 0);

	TextBox2[playerid] = TextDrawCreate(614.500000, 357.916656, "usebox");
	TextDrawLetterSize(TextBox2[playerid], 0.000000, -0.316666);
	TextDrawTextSize(TextBox2[playerid], 491.750000, 0.000000);
	TextDrawAlignment(TextBox2[playerid], 1);
	TextDrawColor(TextBox2[playerid], 0);
	TextDrawUseBox(TextBox2[playerid], true);
	TextDrawBoxColor(TextBox2[playerid], 102);
	TextDrawSetShadow(TextBox2[playerid], 0);
	TextDrawSetOutline(TextBox2[playerid], 0);
	TextDrawFont(TextBox2[playerid], 0);

	TextEngine[playerid] = TextDrawCreate(500.000000, 338.333343, "E");
	TextDrawLetterSize(TextEngine[playerid], 0.449999, 1.600000);
	TextDrawAlignment(TextEngine[playerid], 1);
	TextDrawColor(TextEngine[playerid], 8388863);
	TextDrawSetShadow(TextEngine[playerid], 0);
	TextDrawSetOutline(TextEngine[playerid], 1);
	TextDrawBackgroundColor(TextEngine[playerid], 51);
	TextDrawFont(TextEngine[playerid], 1);
	TextDrawSetProportional(TextEngine[playerid], 1);//пропорции

	TextDoor[playerid] = TextDrawCreate(528.750000, 338.333374, "D");
	TextDrawLetterSize(TextDoor[playerid], 0.449999, 1.600000);
	TextDrawAlignment(TextDoor[playerid], 1);
	TextDrawColor(TextDoor[playerid], 8388863);
	TextDrawSetShadow(TextDoor[playerid], 0);
	TextDrawSetOutline(TextDoor[playerid], 1);
	TextDrawBackgroundColor(TextDoor[playerid], 51);
	TextDrawFont(TextDoor[playerid], 1);
	TextDrawSetProportional(TextDoor[playerid], 1);

	TextLight[playerid] = TextDrawCreate(562.079956, 338.333435, "L");
	TextDrawLetterSize(TextLight[playerid], 0.449999, 1.600000);
	TextDrawAlignment(TextLight[playerid], 1);
	TextDrawColor(TextLight[playerid], 8388863);
	TextDrawSetShadow(TextLight[playerid], 0);
	TextDrawSetOutline(TextLight[playerid], 1);
	TextDrawBackgroundColor(TextLight[playerid], 51);
	TextDrawFont(TextLight[playerid], 1);
	TextDrawSetProportional(TextLight[playerid], 1);

	TextMax[playerid] = TextDrawCreate(589.583374, 338.333404, "M");
	TextDrawLetterSize(TextMax[playerid], 0.449999, 1.600000);
	TextDrawAlignment(TextMax[playerid], 1);
	TextDrawColor(TextMax[playerid], 8388863);
	TextDrawSetShadow(TextMax[playerid], 0);
	TextDrawSetOutline(TextMax[playerid], 1);
	TextDrawBackgroundColor(TextMax[playerid], 51);
	TextDrawFont(TextMax[playerid], 1);
	TextDrawSetProportional(TextMax[playerid], 1);

	TextSpeed[playerid] = TextDrawCreate(500.875000, 375.666717, "00");
	TextDrawLetterSize(TextSpeed[playerid], 0.656250, 3.787500);
	TextDrawTextSize(TextSpeed[playerid], 56.250000, 49.583343);
	TextDrawAlignment(TextSpeed[playerid], 1);
	TextDrawColor(TextSpeed[playerid], -1);
	TextDrawSetShadow(TextSpeed[playerid], 0);
	TextDrawSetOutline(TextSpeed[playerid], 1);
	TextDrawBackgroundColor(TextSpeed[playerid], 51);
	TextDrawFont(TextSpeed[playerid], 1);
	TextDrawSetProportional(TextSpeed[playerid], 1);

	TextSpeed1[playerid] = TextDrawCreate(493.750000, 361.083343, "Spedd");
	TextDrawLetterSize(TextSpeed1[playerid], 0.449999, 1.600000);
	TextDrawAlignment(TextSpeed1[playerid], 1);
	TextDrawColor(TextSpeed1[playerid], -5963521);
	TextDrawSetShadow(TextSpeed1[playerid], 0);
	TextDrawSetOutline(TextSpeed1[playerid], 1);
	TextDrawBackgroundColor(TextSpeed1[playerid], 51);
	TextDrawFont(TextSpeed1[playerid], 1);
	TextDrawSetProportional(TextSpeed1[playerid], 1);

	TextHealth[playerid] = TextDrawCreate(551.00000, 361.083343, "Health: 0%");
	TextDrawLetterSize(TextHealth[playerid], 0.300000, 1.600000);
	TextDrawAlignment(TextHealth[playerid], 1);
	TextDrawColor(TextHealth[playerid], -1523963137);
	TextDrawSetShadow(TextHealth[playerid], 0);
	TextDrawSetOutline(TextHealth[playerid], 1);
	TextDrawBackgroundColor(TextHealth[playerid], 51);
	TextDrawFont(TextHealth[playerid], 1);
	TextDrawSetProportional(TextHealth[playerid], 1);

	TextFuel[playerid] = TextDrawCreate(551.250000, 387.333343, "Fuel: 0");
	TextDrawLetterSize(TextFuel[playerid], 0.365624, 1.757500);
	TextDrawAlignment(TextFuel[playerid], 1);
	TextDrawColor(TextFuel[playerid], -65281);
	TextDrawSetShadow(TextFuel[playerid], 0);
	TextDrawSetOutline(TextFuel[playerid], 1);
	TextDrawBackgroundColor(TextFuel[playerid], 51);
	TextDrawFont(TextFuel[playerid], 1);
	TextDrawSetProportional(TextFuel[playerid], 1);

	TextName[playerid] = TextDrawCreate(505.500000, 414.749938, "None");
	TextDrawLetterSize(TextName[playerid], 0.449999, 1.600000);
	TextDrawAlignment(TextName[playerid], 1);
	TextDrawColor(TextName[playerid], -1);
	TextDrawSetShadow(TextName[playerid], 0);
	TextDrawSetOutline(TextName[playerid], 1);
	TextDrawBackgroundColor(TextName[playerid], 51);
	TextDrawFont(TextName[playerid], 1);
	TextDrawSetProportional(TextName[playerid], 1);
}

В OnPlayerConnect(playerid)

LoadSpeedometr(playerid);

Ко всем new добавим необходимые new-вы

new engine,lights,alarm,doors,bonnet,boot,objective;
new gCarLock[MAX_VEHICLES];
new Fuel[MAX_VEHICLES];
new bool:Engine[MAX_VEHICLES];
new bool:Lights[MAX_VEHICLES];
new bool:MaxSpeed[MAX_PLAYERS];

Теперь в OnGameModeInit

	SetTimer("UpdateSpeedometr", 100, true);//таймер в котором будем обновять спидометр (за 1 секунду он обновится 10 раз)(не изменять)
	SetTimer("UpdateFuel", 10000, true);//таймер в котором будем отнимать бензин(если двигатель включон то через 10 сек отнимем 1 литр бензина)(можно изменить)
	ManualVehicleEngineAndLights();
	for(new car = 0; car < MAX_VEHICLES; car++)//"выделяем" все машины сервера
	{
	    Fuel[car] = 200;//установим всем машинам на сервере 200 литров бензина.(можно изменить)
	}

Мы добавили ManualVehicleEngineAndLights. Что же это?
Это стандартная ф-ция. без нее фары будут автоматично вкл/выкл в зависимости от того где машина в тёмном или светлом месте. А двигатель когда игрок садится в машину будет выключен. Без нее при посадке в машину двигатель будет включон даже если на спидометре он выкл.
В конец мода

forward UpdateFuel();
public UpdateFuel()
{
	for(new carid = 0; carid < MAX_VEHICLES; carid++)
	{
	        if(Engine[carid] == true)//если включен двигатель
	        {
        		if(Fuel[carid] == 1)//если бензина потчи нету
			{
		    	       	Fuel[carid]--;//отнимаем 1 литр
		    	        Engine[carid] = false; 
				Lights[carid] = false;
				GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective); //узнаем состояние каждой детали тачки
				SetVehicleParamsEx(carid,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);//выключаем двигатель и фары
			}
			else Fuel[carid]--;
	        }
	}
	return 1;
}

Теперь создадим stock-ы которые будут менять значения на спидометре.

stock SetSpeed(playerid, speed)
{
	new string[4];
	format(string, sizeof(string), "%d", speed);
	TextDrawSetString(TextSpeed[playerid], string);
}

stock SetVehHealth(playerid, Float:health)
{
	new string[16];
	format(string, sizeof(string), "Health: %.0f%", health/10);
	TextDrawSetString(TextHealth[playerid], string);
}

stock SetFuel(playerid, fuel)
{
	new string[16];
	format(string, sizeof(string), "Fuel: %d", fuel);
	TextDrawSetString(TextFuel[playerid], string);
}

stock SetLock(playerid, status)
{
	if(status == 1)
	{
		TextDrawSetString(TextDoor[playerid], "~g~D");
	}
	else if(status == 0)
	{
		TextDrawSetString(TextDoor[playerid], "~y~D");
	}
}

stock SetLights(playerid, bool:status)
{
	if(status == true)
	{
		TextDrawSetString(TextLight[playerid], "~g~L");
	}
	else if(status == false)
	{
		TextDrawSetString(TextLight[playerid], "~y~L");
	}
}

stock SetMax(playerid, bool:status)
{
	if(status == true)
	{
		TextDrawSetString(TextMax[playerid], "~g~M");
	}
	else if(status == false)
	{
		TextDrawSetString(TextMax[playerid], "~y~M");
	}
}

stock SetEngine(playerid, bool:status)
{
	if(status == true) TextDrawSetString(TextEngine[playerid], "~g~E");
	else if(status == false) TextDrawSetString(TextEngine[playerid], "~y~E");
}
//------------------------------------------------------------------------------

Этим сток можно открывать закрывать машину(просто вставив (Un)LockCar(carid) в нужно место)

stock LockCar(carid)
{
	foreach(Player, i)
	{
		if(!IsPlayerConnected(i)) continue;
		SetVehicleParamsForPlayer(carid,i,0,1);//открываем двери
		gCarLock[carid] = 1;
	}
	return 1;
}
//------------------------------------------------------------------------------
stock UnLockCar(carid)
{
	foreach(Player, i)
	{
		SetVehicleParamsForPlayer(carid,i,0,0);//закрываем двери
		gCarLock[carid] = 0;
	}
	return 1;
}

Теперь нам нужно както узнать скорость автомобиля
Для этого в конце мода создаем stock

stock SpeedVehicle(player)
{
    new Float:x, Float:y, Float:z;
    if(IsPlayerInAnyVehicle(player))
    {
        new veh = GetPlayerVehicleID(player);
        GetVehicleVelocity(veh, x, y, z);
    }
    else GetPlayerVelocity(player, x, y, z);
    return floatround(floatsqroot(x*x+y*y+z*z)*99);
}

Создадим паблик в конце мода котрый будет обновлять спидометр

forward UpdateSpeedometr(playerid, carid);
public UpdateSpeedometr(playerid, carid)
{
	new Float:vehhealth;
	new Float:x,Float:y,Float:z;
	carid = GetPlayerVehicleID(playerid);//узнаем машину в которой сидит игрок
	SetSpeed(playerid, SpeedVehicle(playerid));//показываем скорость
	GetVehicleHealth(carid, vehhealth);//узнаем хп автомобиля
 	SetLock(playerid, gCarLock[carid]);//показываем закрыта/открыта ли дверь
	SetVehHealth(playerid, vehhealth);//показываем хп автомобиля
	SetFuel(playerid, Fuel[carid]);//показываем бензин автомобиля
	SetLights(playerid, Lights[carid]);//показываем состояние фар автомобиля
	SetEngine(playerid, Engine[carid]);//показываем состояние двигателя автомобиля
	SetMax(playerid, MaxSpeed[playerid]);//показываем включен ли ограничитель скорости автомобиля
	if(MaxSpeed[playerid] == true) //если ограничитель скорости включон то...
	{
		GetVehicleVelocity(carid,x,y,z);
		if(SpeedVehicle(playerid) >= 50)//если скорость кара больше чем 50 то приостанавливаем немного
		{
		   	SetVehicleVelocity(carid,x*0.95,y*0,95,z);
		}
  	}
}

Теперь нужно зделать чтоб спидометр показывался только когда игрок зайдёт в машину и если выйдет то закрывался
Для этого идём в паблик OnPlayerStateChange
И пишем

	if(newstate == PLAYER_STATE_ONFOOT)//если игрок вышел из машины
	{
	    if(oldstate == PLAYER_STATE_DRIVER)
	    {
     		TextDrawHideForPlayer(playerid, TextSpeed[playerid]);//скрываем спидометры
	        TextDrawHideForPlayer(playerid, TextSpeed1[playerid]);
    	        TextDrawHideForPlayer(playerid, TextHealth[playerid]);
		TextDrawHideForPlayer(playerid, TextFuel[playerid]);
		TextDrawHideForPlayer(playerid, TextDoor[playerid]);
		TextDrawHideForPlayer(playerid, TextLight[playerid]);
		TextDrawHideForPlayer(playerid, TextMax[playerid]);
		TextDrawHideForPlayer(playerid, TextEngine[playerid]);
		TextDrawHideForPlayer(playerid, TextName[playerid]);
		TextDrawHideForPlayer(playerid, TextBox[playerid]);
		TextDrawHideForPlayer(playerid, TextBox1[playerid]);
		TextDrawHideForPlayer(playerid, TextBox2[playerid]);
		MaxSpeed[playerid] = false;
	    }
	}
	if(newstate == PLAYER_STATE_DRIVER)//если игрок зашол в кар 
	{
		new car = GetPlayerVehicleID(playerid);
	        if(Engine[car] == false) SendClientMessage(playerid, -1, "Чтобы завести двигатель, нажмите: {FFFF00}LCTRL");
	        MaxSpeed[playerid] = true;//включаем ограничитель скорости
	        TextDrawShowForPlayer(playerid, TextSpeed[playerid]);//показываем текстдравы 
	        TextDrawShowForPlayer(playerid, TextSpeed1[playerid]);
		TextDrawShowForPlayer(playerid, TextHealth[playerid]);
		TextDrawShowForPlayer(playerid, TextFuel[playerid]);
		TextDrawShowForPlayer(playerid, TextDoor[playerid]);
		TextDrawShowForPlayer(playerid, TextLight[playerid]);
		TextDrawShowForPlayer(playerid, TextMax[playerid]);
		TextDrawShowForPlayer(playerid, TextEngine[playerid]);
		TextDrawShowForPlayer(playerid, TextName[playerid]);
		TextDrawShowForPlayer(playerid, TextBox[playerid]);
		TextDrawShowForPlayer(playerid, TextBox1[playerid]);
		TextDrawShowForPlayer(playerid, TextBox2[playerid]);
      	        TextDrawSetString(TextName[playerid], VehicleNames[GetVehicleModel(car)-400]);//узнаем марку авто(отнимаем 400 потомучто иды начинаются с 400 а нам нужно с 0)
	}

Ко всем new добавим названия машин

new VehicleNames[212][] =
{
	{"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"
Perrenial"},{"Sentinel"},{"Dumper"},
	{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"
},{"Voodoo"},{"Pony"},{"Mule"},
	{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"
},{"Taxi"},{"Washington"},
	{"Bobcat"},{"Mr Whoopee"},{"Injection"},{"Hunter"},{"Premier"},{"Enforcer"
},{"Securicar"},
	{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"
},{"Hotknife"},{"Trailer 1"},{"Previon"},
	{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
	{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"
},{"Trailer 2"},{"Turismo"},
	{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"
},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
	{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
	{"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"
},{"Dinghy"},{"Hermes"},{"Sabre"},
	{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"
},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
	{"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
	{"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
	{"Mesa"},{"RC Goblin"},{"Hotring A"},{"Hotring B"},{"Bloodring"},{"Rancher"},
	{"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
	{"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"
},{"Hydra"},{"FCR-900"},
	{"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
	{"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"
},{"Remington"},{"Slamvan"},
	{"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"
},{"Bullet"},{"Clover"},{"Sadler"},
	{"Firetruck"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"
},{"Tampa"},{"Sunrise"},{"Merit"},
	{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
	{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
	{"Bandito"},{"Freight Flat"},{"Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"
Sweeper"},
	{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"
},{"Stafford"},{"BF-400"},{"Newsvan"},
	{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"
Club"},{"Freight"},
	{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police LSPD"},{"Police SFPD"},
	{"Police LVPD"},{"Police Ranger"},{"Picador"},{"S.W.A.T"},{"Alpha"},{"Phoenix"},{"
Glendale"},
	{"Sadler"},{"Trailer A"},{"Trailer B"},{"Trailer"},{"Boxville"},{"Farm Plow"},
	{"Utility"}
};

Теперь установим кнопки для того чтобы включить или выключить двигатель или ограничитель скорости
В паблик OnPlayerKeyStateChange

if(newkeys & KEY_ACTION)//запускаем машину(LCTRL)
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    if(Engine[GetPlayerVehicleID(playerid)] == false)
    {
    	GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
	SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,
boot,objective);
       	Engine[GetPlayerVehicleID(playerid)] = true;
       	Lights[GetPlayerVehicleID(playerid)] = true;
    }
    else
    {
   	GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
	SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,
boot,objective);
 	Engine[GetPlayerVehicleID(playerid)] = false;
 	Lights[GetPlayerVehicleID(playerid)] = false;
    }
}
if(newkeys == 4096) //Num 2(вкл/выкл ограничитель скорости)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(MaxSpeed[playerid] == true) MaxSpeed[playerid] = false;
        else if(MaxSpeed[playerid] == false) MaxSpeed[playerid] = true;
    }
}
if(newkeys & KEY_SUBMISSION)//включаем фары
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    if(Engine[GetPlayerVehicleID(playerid)] == false) return SendClientMessage(playerid, -1, "Вы должны завести двигатель!");
    if(Lights[GetPlayerVehicleID(playerid)] == false)
    {
    	GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
	SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
        Lights[GetPlayerVehicleID(playerid)] = true;
       	SetLights(playerid, true);
    }
    else
    {
   	GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
	SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
        Lights[GetPlayerVehicleID(playerid)] = false;
 	SetLights(playerid, false);
    }
}

Сообщение отредактировал Ukrainian: 08 мая 2016 — 13:53

Спидометр



Комментарии

чёткий спидометр!

User #262248

2012-12-01 23:33:57

вот если был-бы скрипт который меняет спидометры в зависимости от модели…

ах да забыл, мод супер,      

User #247841

2012-12-02 00:27:34

Самый лучший спидак-НИШТЯК!

User #228758

2012-12-02 11:43:01

Скажи мне пожалуйста автор!А почему у меня спидометр ваще больше карты и не как у тебя на скрине, у тебя на скрине он идет четко вокруг карты!А у меня нет!!!!!!

User #228758

2012-12-02 16:19:36

А если радар убрать, спидак тоже пропадёт?

User #196747

2012-12-02 17:23:56

Ну не знаю! Проверь если тебе интересно!

User #284412

2014-06-07 17:24:44

Жаль на щирокоформатный не идет спидометр растянутый получается(

User #243338

2012-12-02 17:42:06

Аххах потому что должен стоять мод HUD MOD Из gta 4 версии 1.2   
Эта модификация дополнения моду HUD V 1.2
Как на скриншоте!  

User #130962

2012-12-02 18:57:33

Спидометр понравился, но

должен стоять мод HUD MOD Из gta 4 версии 1.2

.  

User #289236

2012-12-03 20:37:35

Да

User #130962

2012-12-04 08:08:33

Когда ставишь HUD MOD  тогда и радар растягивается вместе со спидометром так что всеже это только для ноутбука не годиться

User #243338

2012-12-07 22:53:19

User #342442

2013-01-21 06:09:40

СУПЕР СПАСИБО ЭТОМУ САЙТУ Я БЛАГОДОРЯ ВСЕМ МОДАМ И ТАЧКАМ СКОРО ВЫПУЩУ ИГРУ »GTA SA СССР+РОССИЯ»ПРИМЕРНАЯ ДАТА-26.07.2013

User #382201

2013-03-26 16:30:22

То что надо, дешево и сердито

User #313261

2013-04-08 18:44:33

херь великая на разрешении 1280х1024

херь великая на разрешении 1280х1024

User #409810

2013-04-13 09:29:45

По моему мнения самым распространённым гейммодом для основы является GodFather. Я решил сделать себе спидометр на TextDraw’s, немного погуглив я нашёл приличный спидометр и слегка переделал его, изменив формулу нахождения скорости авто на более реальную и добавив информацию о статусе двигателя и замка авто(открыто/закрыто). Вот решил поделиться с вами, p.s. первый раз выкладываю свои сис-мы, не заваливайте минусами .

Для начала объявим все переменные для текстдравов и прочего, для этого ко всем new добавляем

Код: Выделить всё

new Float:VehicleHealth// Переменная для определения хп кара 
new obnvseed[64],obnvseed1[64],obnvseed2[64],doorstatus[30];; // Переменный для обновления текстдравов 
new enstatus[30// переменная для обновления статуса двигателя(заведён/заглушён), если у вас нет системы двигателя, не нужно заводить его, то не объявляем эту переменную ака не добавляем new Text:TIC// TextDraw Info for Cars 
new Text:TIV// TextDraw Info for BMX 
new Text:THC[MAX_PLAYERS]; // TextDraw Health for Cars 
new Text:TFC[MAX_PLAYERS]; // TextDraw Fuel for Cars 
new Text:TSC[MAX_PLAYERS]; // TextDraw Speed for Cars & BMX 
new Text:TEC[MAX_PLAYERS]; // TextDraw Engine for Cars // если нет системы двигателя то удаляем эту строку 
new Text:TDC[MAX_PLAYERS]; // TextDraw Doors for Cars 
new Text:THV[MAX_PLAYERS]; // TextDraw Health for BMX В public OnGameModeInit() создаём наши текстдравы и ставим таймер для обновления 

         TIC 

TextDrawCreate(14,290,"~y~Health:~n~Fuel:~n~Speed:"); 
         
TextDrawFont(TIC,1); 
        
TextDrawBackgroundColor(TIC,COLOR_BLACK); 
        
TextDrawSetOutline(TIC,1); 
        
TextDrawSetShadow(TIC,1); 
        
TIV TextDrawCreate(14,300,"~y~Health:~n~Speed:"); 
        
TextDrawFont(TIV,1); 
        
TextDrawBackgroundColor(TIV,COLOR_BLACK); 
        
TextDrawSetOutline(TIV,1); 
        
TextDrawSetShadow(TIV,1); 
        for(new 
0MAX_PLAYERSi++) 
        { 
            
THC[i] = TextDrawCreate(80,290,"~w~0%"); 
            
TFC[i] = TextDrawCreate(60,300,"~g~0%"); 
            
TSC[i] = TextDrawCreate(75,310,"~w~0 km/h"); 
            
TEC[i] = TextDrawCreate(15,320,"~r~En"); // если у вас нет системы двигателя удаляем эту строку 
            
TDC[i] = TextDrawCreate(50,320,"~g~UnLock"); 
                
TextDrawBackgroundColor(TFC[i],COLOR_BLACK); 
                
TextDrawBackgroundColor(TSC[i],COLOR_BLACK); 
                
TextDrawBackgroundColor(THC[i],COLOR_BLACK); 
                
TextDrawBackgroundColor(TEC[i],COLOR_BLACK); // если у вас нет системы двигателя удаляем эту строку 
                
TextDrawBackgroundColor(TDC[i],COLOR_BLACK); 
                
TextDrawFont(TFC[i],1); 
                
TextDrawFont(TSC[i],1); 
                
TextDrawFont(THC[i],1); 
                
TextDrawFont(TEC[i],1); // если у вас нет системы двигателя удаляем эту строку 
                
TextDrawFont(TDC[i],1); 
                
TextDrawSetOutline(TFC[i],1); 
                
TextDrawSetOutline(TSC[i],1); 
                
TextDrawSetOutline(THC[i],1); 
                
TextDrawSetOutline(TEC[i],1); // если у вас нет системы двигателя удаляем эту строку 
                
TextDrawSetOutline(TDC[i],1); 
                
TextDrawSetShadow(TFC[i],1); 
                
TextDrawSetShadow(TSC[i],1); 
                
TextDrawSetShadow(THC[i],1); 
                
TextDrawSetShadow(TEC[i],1); // если у вас нет системы двигателя удаляем эту строку 
                
TextDrawSetShadow(TDC[i],1); 
                
THV[i] = TextDrawCreate(80,300,"~w~0%"); 
                
TextDrawBackgroundColor(THV[i],COLOR_BLACK); 
                
TextDrawFont(THV[i],1); 
                
TextDrawSetOutline(THV[i],1); 
                
TextDrawSetShadow(THV[i],1); 
        } 
        
SetTimer("SpeedUpdate",150,1); // таймер для обновления В public OnPlayerStateChange(playeridnewstateoldstateдобавим скрытие текстдравов если игрок покинул машину ака стал пешеходом и так-же показываем спидометр если он водитель if(newstate == PLAYER_STATE_ONFOOT// скрываем если покидает 
        

            
TextDrawHideForPlayer(playerid,TIC); 
            
TextDrawHideForPlayer(playerid,TIV); 
            
TextDrawHideForPlayer(playerid,THC[playerid]); 
            
TextDrawHideForPlayer(playerid,TFC[playerid]); 
            
TextDrawHideForPlayer(playerid,TSC[playerid]); 
            
TextDrawHideForPlayer(playerid,THV[playerid]); 
            
TextDrawHideForPlayer(playerid,TEC[playerid]); // если у вас нет системы двигателя удаляем эту строку 
            
TextDrawHideForPlayer(playerid,TDC[playerid]); 
            return 
1
         } 
        if(
newstate == PLAYER_STATE_DRIVER// показываем 
        

                    if(!
IsABMX(newcar)) // если игрок садиться в любой кар кроме велосипеда 
                    

                        
TextDrawShowForPlayer(playerid,TIC); 
                        
TextDrawShowForPlayer(playerid,THC[playerid]); 
                        
TextDrawShowForPlayer(playerid,TFC[playerid]); 
                        
TextDrawShowForPlayer(playerid,TEC[playerid]); // если у вас нет системы двигателя удаляем эту строку 
                        
TextDrawShowForPlayer(playerid,TDC[playerid]); 
                     } 
                     else 
// если игрок садиться в велосипед 
                     

                            
TextDrawShowForPlayer(playerid,TIV); 
                            
TextDrawShowForPlayer(playerid,THV[playerid]); 
                      } 
                     
TextDrawShowForPlayer(playerid,TSC[playerid]); 
                      return 
1
           } 
Теперь в конец мода добавляем сток для определения скорости(км/чи обновления текстдравов 

stock SpeedVehicle

(playerid

        new 
Float:ST[4]; 
    if(
IsPlayerInAnyVehicle(playerid)) 
    
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); 
    else 
GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]); 
    
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 170.3
    return 
floatround(ST[3]); 

forward SpeedUpdate(); 
public 
SpeedUpdate() 

    for(new 
iGetMaxPlayers(); i++) 
        { 
        if(
IsPlayerInAnyVehicle(i)) 
                { 
                        new 
vehicle GetPlayerVehicleID(i); 
                        
GetVehicleHealth(GetPlayerVehicleID(i),VehicleHealth); 
                        new 
engine,lights,alarm,doors,bonnet,boot,objective
                  
GetVehicleParamsEx(vehicle,engine,lights,alarm,doors,bonnet,boot,objective); 
                                if(!
IsABMX(vehicle)) // для всех каров кроме велосипедов 
                                

                                        
format(obnvseed2,64,"~w~%.0f%",VehicleHealth/10); 
                                        if(
Gas[vehicle] > 10
                                        { 
                                                
format(obnvseed,64,"~g~%d%",Gas[vehicle]); 
                                        } 
                                        else 
                                        { 
                                        
format(obnvseed,64,"~r~%d%",Gas[vehicle]); 
                                        } 
                                        
TextDrawSetString(THC[i],obnvseed2); 
                                        
TextDrawSetString(TFC[i],obnvseed); 
                                        
TextDrawSetString(TEC[i],enstatus);  // если у вас нет 
 
системы двигателя удаляем эту строку 
                                        
if(gCarLock[vehicle] == 1) { format(doorstatus,30,"~r~Lock"); } 
                                        else { 
format(doorstatus,30,"~g~UnLock"); } 
                                } 
                                else 
// для велосипеда 
                                

                                    
format(obnvseed2,64,"~w~%.0f%",VehicleHealth/10); 
                                    
TextDrawSetString(THV[i],obnvseed2); 
                                } 
                                
format(obnvseed1,64"~w~%d km/h",SpeedVehicle(i)); 
                                
TextDrawSetString(TSC[i],obnvseed1); 
                        } 
                } 
        } 
    return 
1
Если  у вас нет распределения каров по типам(велосипедыобычные автолодкилётные т/с), то вставляем и этот паблик 
stock IsABMX
(carid

        new 
model GetVehicleModel(carid); 
        if(
model==509||model==481||model==510
        { 
                return 
1
        } 
    return 
0
}   

Привет!

Выкладывал TD спидометра, и решил выложить систему для данного спидометра.

Приступим:

Для начала, добавьте сам TD спидометра себе в мод. (Добавлять нужно в OnPlayerConnect)

Теперь, добавим остальные части, которые нам понадобятся:

PHP:

// В конец мода

stock VehicleSpeed(carid)
{
    new Float:X, Float:Y, Float:Z;
    GetVehicleVelocity(carid,X,Y,Z);
    return floatround( floatsqroot( X * X + Y * Y + Z * Z ) * 180.0 );
}

// В начало мода:

new VehicleName[212][25] =
{

    "Landstalker",

    "Bravura",

    "Buffalo",

    "Linerunner",

    "Perenniel",

    "Sentinel",

    "Dumper",

    "Firetruck",

    "Trashmaster",

    "Stretch",

    "Manana",

    "Infernus",

    "Voodoo",

    "Pony",

    "Mule",

    "Cheetah",

    "Ambulance",

    "Leviathan",

    "Moonbeam",

    "Esperanto",

    "Taxi",

    "Washington",

    "Bobcat",

    "Mr Whoopee",

    "BF Injection",

    "Hunter",

    "Premier",

    "Enforcer",

    "Securicar",

    "Banshee",

    "Predator",

    "Bus",

    "Rhino",

    "Barracks",

    "Hotknife",

    "Article Trailer",

    "Previon",

    "Coach",

    "Cabbie",

    "Stallion",

    "Rumpo",

    "RC Bandit",

    "Romero",

    "Packer",

    "Monster",

    "Admiral",

    "Squallo",

    "Seasparrow",

    "Pizzaboy",

    "Tram",

    "Article Trailer 2",

    "Turismo",

    "Speeder",

    "Reefer",

    "Tropic",

    "Flatbed",

    "Yankee",

    "Caddy",

    "Solair",

    "Berkley's RC Van",

    "Skimmer",

    "PCJ-600",

    "Faggio",

    "Freeway",

    "RC Baron",

    "RC Raider",

    "Glendale",

    "Oceanic",

    "Sanchez",

    "Sparrow",

    "Patriot",

    "Quad",

    "Coastguard",

    "Dinghy",

    "Hermes",

    "Sabre",

    "Rustler",

    "ZR-350",

    "Walton",

    "Regina",

    "Comet",

    "BMX",

    "Burrito",

    "Camper",

    "Marquis",

    "Baggage",

    "Dozer",

    "Maverick",

    "SAN News Maverick",

    "Rancher",

    "FBI Rancher",

    "Virgo",

    "Greenwood",

    "Jetmax",

    "Hotring Racer",

    "Sandking",

    "Blista Compact",

    "Police Maverick",

    "Boxville",

    "Benson",

    "Mesa",

    "RC Goblin",

    "Hotring Racer",

    "Hotring Racer",

    "Bloodring Banger",

    "Rancher",

    "Super GT",

    "Elegant",

    "Journey",

    "Bike",

    "Mountain Bike",

    "Beagle",

    "Cropduster",

    "Stuntplane",

    "Tanker",

    "Roadtrain",

    "Nebula",

    "Majestic",

    "Buccaneer",

    "Shamal",

    "Hydra",

    "FCR-900",

    "NRG-500",

    "HPV1000",

    "Cement Truck",

    "Towtruck",

    "Fortune",

    "Cadrona",

    "FBI Truck",

    "Willard",

    "Forklift",

    "Tractor",

    "Combine Harvester",

    "Feltzer",

    "Remington",

    "Slamvan",

    "Blade",

    "Freight",

    "Brownstreak",

    "Vortex",

    "Vincent",

    "Bullet",

    "Clover",

    "Sadler",

    "Firetruck LA",

    "Hustler",

    "Intruder",

    "Primo",

    "Cargobob",

    "Tampa",

    "Sunrise",

    "Merit",

    "Utility Van",

    "Nevada",

    "Yosemite",

    "Windsor",

    "Monster A",

    "Monster B",

    "Uranus",

    "Jester",

    "Sultan",

    "Stratum",

    "Elegy",

    "Raindance",

    "RC Tiger",

    "Flash",

    "Tahoma",

    "Savanna",

    "Bandito",

    "Freight Flat Trailer",

    "Streak Trailer",

    "Kart",

    "Mower",

    "Dune",

    "Sweeper",

    "Broadway",

    "Tornado",

    "AT400",

    "DFT-30",

    "Huntley",

    "Stafford",

    "BF-400",

    "Newsvan",

    "Tug",

    "Petrol Trailer",

    "Emperor",

    "Wayfarer",

    "Euros",

    "Hotdog",

    "Club",

    "Freight Box Trailer",

    "Article Trailer 3",

    "Andromada",

    "Dodo",

    "RC Cam",

    "Launch",

    "Police Car (LSPD)",

    "Police Car (SFPD)",

    "Police Car (LVPD)",

    "Police Ranger",

    "Picador",

    "Police SF.",

    "Alpha",

    "Phoenix",

    "Glendale Shit",

    "Sadler Shit",

    "Baggage Trailer A",

    "Baggage Trailer B",

    "Tug Stairs Trailer",

    "Boxville",

    "Farm Trailer",

    "Utility Trailer"

};

enum vInfo // Можно заменить на свою
{
    vFuel,
    bool:vEngine,
    bool:vDoors,
    bool:vLights,
    Float:vMileage
};

new VehInfo[MAX_VEHICLES][vInfo];
new bool: GPS[MAX_PLAYERS]; // GPS
new Float: VehMilage[MAX_VEHICLES]; // Тоже для пробега
new SpeedometrTimer[MAX_PLAYERS];

В OnPlayerConnect:

PHP:

GPS[playerid] = false;
KillTimer(SpeedometrTimer[playerid]);

В OnGameModeInit:

PHP:

ManualVehicleEngineAndLights();

    for(new i; i < MAX_VEHICLES; i ++) // Необходимо вставлять после всего созданных Вами транспорта
    {
        VehInfo[i][vFuel] = 100;
        VehInfo[i][vEngine] = false;
        VehInfo[i][vLights] = false;
        VehInfo[i][vDoors] = false;
        VehInfo[i][vMileage] = 0;
    }

Показываем спидометр игроку при посадке в транспорт, в OnPlayerStateChange:

PHP:

if(newstate == PLAYER_STATE_DRIVER)
    {
        for(new i; i < 27; i ++) PlayerTextDrawShow(playerid, Speedometr[i][playerid]);
        SpeedometrTimer[playerid] = SetTimerEx("UpdateSpeedometr", 50, true, "ii", playerid, GetPlayerVehicleID(playerid));
    }
    if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
    {
        for(new i; i < 27; i ++) PlayerTextDrawHide(playerid, Speedometr[i][playerid]);
        KillTimer(SpeedometrTimer[playerid]);
    }

Создаем паблик и стоки, где и будет весь функционал нашего спидометра, с любое место:

PHP:

forward UpdateSpeedometr(playerid, carid);
public UpdateSpeedometr(playerid, carid)
{
    new Float: health, string[70];
    GetVehicleHealth(carid, health);
    VehInfo[carid][vFuel] -= 0.001;
    format(string, sizeof(string), "%d", floatround(health, floatround_tozero));
    PlayerTextDrawSetString(playerid, Speedometr[13][playerid], string); // ХП
    format(string, sizeof(string), "%d", floatround(VehInfo[carid][vFuel], floatround_tozero));
    PlayerTextDrawSetString(playerid, Speedometr[17][playerid], string); // FUEL
    if(GPS[playerid]) PlayerTextDrawSetString(playerid, Speedometr[19][playerid], FixText("ВКЛ")); // GPS
    else PlayerTextDrawSetString(playerid, Speedometr[19][playerid], FixText("ВЫКЛ"));
    format(string, sizeof(string), "%s", VehicleName[GetVehicleModel(carid)-400]):
    PlayerTextDrawSetString(playerid, Speedometr[26][playerid], string); // Name Veh
    if(VehicleSpeed(carid) > 0)
    {
        VehMilage[carid] += float(VehicleSpeed(carid))/20.0;
        if(VehMilage[carid] >= 3000.0)
        {
            VehMilage[carid] = 0.0;
            VehInfo[carid][vMileage] += 1.0;
            format(string, sizeof(string), "%06.0f", VehInfo[carid][vMileage]);
            PlayerTextDrawSetString(playerid, Speedometr[21][playerid], string);
        }
        string = "";
        for(new dspeed; dspeed < floatround((17.0/200.0)*float(VehicleSpeed(car))) && dspeed<15; dspeed++)
        {
            switch(dspeed)
            {
                case 5: format(string, sizeof(string), "%s~b~", string);
                case 10: format(string, sizeof(string), "%s~r~", string);
            }
            format(string, sizeof(string), "%sI", string);
        }
        PlayerTextDrawSetString(playerid, Speedometr[8][playerid], string);
        format(string, sizeof(string), "%d", VehicleSpeed(carid));
        PlayerTextDrawSetString(playerid, Speedometr[20][playerid], string); // Скорость
    }
    else
    {
        PlayerTextDrawSetString(playerid, Speedometr[8][playerid], "_");
        PlayerTextDrawSetString(playerid, Speedometr[20][playerid], "0";
    }
    return true;
}
stock SetEngine(carid, bool:status, playerid=-1)
{
    GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
    VehInfo[carid][vEngine] = status;
    SetVehicleParamsEx(carid, status, lights, alarm, doors, bonnet, boot, objective);
    if(playerid != -1 && IsPlayerInAnyVehicle(playerid))
    {
        PlayerTextDrawHide(playerid, Speedometr[12][playerid]);
        if(VehInfo[carid][vEngine]) PlayerTextDrawColor(playerid, Speedometr[12][playerid], 16711935);
        else PlayerTextDrawColor(playerid, Speedometr[12][playerid], -16776961);
        PlayerTextDrawShow(playerid, Speedometr[12][playerid]);
    }
    return true;
}
stock SetLights(carid, bool:status, playerid=-1)
{
    GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
    VehInfo[carid][vLights] = status;
    SetVehicleParamsEx(carid, engine, status, alarm, doors, bonnet, boot, objective);
    if(playerid != -1 && IsPlayerInAnyVehicle(playerid))
    {
        PlayerTextDrawHide(playerid, Speedometr[15][playerid]);
        if(VehInfo[carid][vLights]) PlayerTextDrawColor(playerid, Speedometr[15][playerid], 16711935);
        else PlayerTextDrawColor(playerid, Speedometr[15][playerid], -16776961);
        PlayerTextDrawShow(playerid, Speedometr[15][playerid]);
    }
    return true;
}
stock SetDoors(carid, bool:status, playerid=-1)
{
    GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
    VehInfo[carid][vDoors] = status;
    SetVehicleParamsEx(carid, engine, lights, alarm, status, bonnet, boot, objective);
    if(playerid != -1 && IsPlayerInAnyVehicle(playerid))
    {
           PlayerTextDrawHide(playerid, Speedometr[14][playerid]);
        if(VehInfo[carid][vDoors]) PlayerTextDrawColor(playerid, Speedometr[14][playerid], 16711935);
        else PlayerTextDrawColor(playerid, Speedometr[14][playerid], -16776961);
        PlayerTextDrawShow(playerid, Speedometr[14][playerid]);
    }
    return true;
}

Ну вот в принципе и все. Если вы захотите завести игроку машину используйте SetEngine, с дверями и фарами так же. (P/S: Если хотите завести машину/фары/двери, где нет игрока, тогда не пишите айди.)

Саму работу не тестил, т.к не было времени, но если вы нашли баг/ошибку/недоработку, то отпишите в данную тему, исправлю.

P/S: Если у вас есть система GPS, то поставьте GPS[playerid] = true; туда, где игрок выбирает место (например мэрия), и GPS[playerid] = false; там, где он уже прибывает на то место или же отключает GPS;

Если вам понравилась данная работа, или вы взяли её себе, то поблагодарите автора, нажав кнопку «Спасибо» :)

Приветствую, друзья..

Хочу показать вам свой первый спидометр, который делал минут 3-5..

-Скриншот

Внизу, в закрепленных файлах

Код:

new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
new Text:Textdraw4;

Textdraw0 = TextDrawCreate(635.000000, 372.344451, «usebox»);
TextDrawLetterSize(Textdraw0, 0.000000, 6.957406);
TextDrawTextSize(Textdraw0, 480.500000, 0.000000);
TextDrawAlignment(Textdraw0, 1);
TextDrawColor(Textdraw0, 0);
TextDrawUseBox(Textdraw0, true);
TextDrawBoxColor(Textdraw0, 102);
TextDrawSetShadow(Textdraw0, 0);
TextDrawSetOutline(Textdraw0, 0);
TextDrawFont(Textdraw0, 0);

Textdraw1 = TextDrawCreate(485.000000, 371.466674, «CKOPOC© : 100 K®/¤»);
TextDrawLetterSize(Textdraw1, 0.307499, 1.786666);
TextDrawAlignment(Textdraw1, 1);
TextDrawColor(Textdraw1, -1);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetOutline(Textdraw1, 1);
TextDrawBackgroundColor(Textdraw1, 51);
TextDrawFont(Textdraw1, 2);
TextDrawSetProportional(Textdraw1, 1);

Textdraw2 = TextDrawCreate(485.500000, 387.022247, «Eìì : 100 POB
«);
TextDrawLetterSize(Textdraw2, 0.318999, 1.768000);
TextDrawAlignment(Textdraw2, 1);
TextDrawColor(Textdraw2, -1);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetOutline(Textdraw2, 1);
TextDrawBackgroundColor(Textdraw2, 51);
TextDrawFont(Textdraw2, 2);
TextDrawSetProportional(Textdraw2, 1);

Textdraw3 = TextDrawCreate(485.500000, 404.444458, «£POE : 10000K®»);
TextDrawLetterSize(Textdraw3, 0.377000, 1.556444);
TextDrawAlignment(Textdraw3, 1);
TextDrawColor(Textdraw3, -1);
TextDrawSetShadow(Textdraw3, 0);
TextDrawSetOutline(Textdraw3, 1);
TextDrawBackgroundColor(Textdraw3, 51);
TextDrawFont(Textdraw3, 2);
TextDrawSetProportional(Textdraw3, 1);

Textdraw4 = TextDrawCreate(485.500000, 419.377807, «AOK : AKP¨»);
TextDrawLetterSize(Textdraw4, 0.404500, 1.525333);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, -1);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 1);
TextDrawBackgroundColor(Textdraw4, 51);
TextDrawFont(Textdraw4, 2);
TextDrawSetProportional(Textdraw4, 1);
Автор: Я, @minvaleev116.

Cпидометр.jpg

Do you want to be the first to know about new Speedometers for GTA San Andreas?

Recommended files

Speedometers for GTA San Andreas: various mods of speedometers and their textures in GTA San Andreas

Sort:

Files have been sorted by downloads in ascending order

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 27
  • Next

Speedo2077

Speedometer Speedo2077 for GTA San AndreasSpeedometer Speedo2077 for GTA San AndreasSpeedometer Speedo2077 for GTA San AndreasSpeedometer Speedo2077 for GTA San Andreas

Speedo2077 for GTA San Andreas A speedometer of the future! This modification adds to the game quality speedometer, taken from the game Cyberpunk 2077. It is made according to the style 1 to 1. v0.3 — Subcategory of vehicles supported by the mod u…

SpeedoSA Night Speedometer

SpeedoSA Night Speedometer для GTA San Andreas I made these textures for the speedometer a while ago, it goes perfectly with my other mod called Gear Control. There are several colors to taste and choose from. …

Unique speedometer

Speedometer Unique speedometer for GTA San AndreasSpeedometer Unique speedometer for GTA San AndreasSpeedometer Unique speedometer for GTA San Andreas

Unique speedometer for GTA San Andreas The mod includes: — Accurate speedometer; — Gasoline sensor (enough for a long time…); — Tachometer; — Engine temperature; — Transmission indicator; — Headlight indicator; — Handbrake indicator; — …

SpeedoSA v1.0.2 + Pack of skins

Author:

fastman92, O!nkO!nk, Junior_Djjr, Nex’

Speedometer SpeedoSA v1.0.2 + Pack of skins for GTA San AndreasSpeedometer SpeedoSA v1.0.2 + Pack of skins for GTA San AndreasSpeedometer SpeedoSA v1.0.2 + Pack of skins for GTA San Andreas

Simple and unobtrusive speedometer. This is one of the few speedometers that calculates speed correctly. Fully compatible with all monitor formats. Changes in version 1.0.2: — Fixed speed calculation bug. Now the speedometer really correctly calcu…

Speedometer GTA SA Style

Speedometer Speedometer GTA SA Style for GTA San AndreasSpeedometer Speedometer GTA SA Style for GTA San AndreasSpeedometer Speedometer GTA SA Style for GTA San Andreas

Speedometer GTA SA Style for Gta San Andreas The archive contains the 2nd version of the speedometer 16×9 — wide screen version 4×3 — For 4×3 monitors (1024×768) Speedometer drawn by me «from scratch» — Good quality (at the same time it weighs little…

Speedometer from Need For Speed ​​Underground 2

Speedometer Speedometer from Need For Speed ​​Underground 2 for GTA San AndreasSpeedometer Speedometer from Need For Speed ​​Underground 2 for GTA San AndreasSpeedometer Speedometer from Need For Speed ​​Underground 2 for GTA San Andreas

I present to you my twenty-fourth work — Speedometer from Need For Speed ​​Underground 2! The quality of the speedometer has not changed! Installation: — Move SPU2.txd to models/txd/ — Move SPU2.cs to CLEO/ Comment, Like! P.S I didn’t do it to measu…

Speedometer Concept Style

Speedometer Speedometer Concept Style for GTA San AndreasSpeedometer Speedometer Concept Style for GTA San AndreasSpeedometer Speedometer Concept Style for GTA San Andreas

Speedometer Concept Style for Gta San Andreas The archive contains the 2nd version of the speedometer V16x9 — widescreen version V4x3 — For 4×3 monitors (1024×768) Speedometer drawn by me «from scratch» — Good quality — Translucent — Up to 310 km/h -…

New speedometer

  • Speedometer New speedometer for GTA San Andreas

New speedometer from a foreign master! * Original. * Good quality. * There is a digital and pointer speedometer. Everything is working. Bugs did not notice. ================================================= === Bringing great music to the masses! I …

Speedometer 4.1.5v

Speedometer Speedometer 4.1.5v for GTA San AndreasSpeedometer Speedometer 4.1.5v for GTA San AndreasSpeedometer Speedometer 4.1.5v for GTA San Andreas

New speedometer version 4.1.5. * Original. * Good quality. * Breaks down. * No brand of car is indicated, which in my opinion is a huge plus. ================================================= === We bring great music to the masses! I uploaded a gre…

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 27
  • Next

Speedometers for GTA San Andreas: various mods of speedometers and their textures in GTA San Andreas

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить спидометр на аризона рп
  • Как изменить специализацию героя герои 5
  • Как изменить спектр света лампы
  • Как изменить спаунрейт мобов на сервере
  • Как изменить спавн рейд на сервере

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии