В теме 6 сообщений

Дратути) Я хочу поделится с новичками одной штучкой,с помощью которой можно сделать спидометр.

 

Объявляем глобальные переменные.

new Text:speedtest;

В public OnPlayerConnect добавляем следующее.

speedtest = TextDrawCreate(506.599884394.742156"500 KM/H");// создаем текстдрав при подключении игрока (он не будет отображатся)

В конце мода создаем новую функцию.

forward getsp(playerid);
public getsp(playerid)
{
    new Float:cord[3];
    GetVehicleVelocity(GetPlayerVehicleID(playerid),cord[0], cord[1], cord[2]);
    new Float:veloc = floatsqroot(floatpower(floatabs(cord[0]), 2.0) + floatpower(floatabs(cord[1]), 2.0) + floatpower(floatabs(cord[2]), 2.0)) * 181.3;
    new str[25];
    format(str,sizeof(str),"KM/H %d",floatround(veloc));
    TextDrawSetString(speedtest,str);

    return 1;

}

Переходим в OnPlayerStateChange и добавляем следующее.

if(newstate == PLAYER_STATE_DRIVER)
{
    TextDrawShowForPlayer(playerid,speedtest);
    SetTimerEx("getsp"1true"%f", playerid);
}
if(newstate == PLAYER_STATE_ONFOOT)
{
    TextDrawHideForPlayer(playerid,speedtest);
}
ВСЁ!) Мы создали спидометр. Удачи вам в скриптинге!)

Отредактировано пользователем Cawfee
Причина: форматирование темы. Орфография и пунктуация автора сохранены.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для корректной работы  пропишите 

TextDrawHideForPlayer(playerid, speedtest);

В OnPlayerConnect или OnPlayerDisconnect, так как человек может выйти из игры, находясь в машине и текстдрав для его ID не пропадёт, и зачем таймер на 1 миллисекунду? Это нагрудает сервер, поставьте 1000 или 500

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, Sleash`en сказал:

Для корректной работы

 

По-хорошему здесь вообще стоит использовать PlayerTextDraw, а не TextDraw.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, Sleash`en сказал:

Для корректной работы  пропишите 

TextDrawHideForPlayer(playerid, speedtest);

В OnPlayerConnect или OnPlayerDisconnect, так как человек может выйти из игры, находясь в машине и текстдрав для его ID не пропадёт, и зачем таймер на 1 миллисекунду? Это нагружает сервер, поставьте 1000 или 500

1 миллисекунда для того,чтобы плавно показывалась скорость. Не могу точно обьяснить,ну чтобы быстро показывалась скорость.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Cawfee В общем смысле - да, но тут переменная 1 на всех, но не суть важно, ему предстоит это ещё понять, а я в основном пользуюсьсь массивом [MAX_PLAYERS] 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Sleash`en, а причем здесь это? Вся проблема заключается в том, что глобальные текстовые рисунки (TextDraw) имеют ограничение в 2048 штук на весь сервер. Если на сервер SAMP/CRMP 0.3.7 вы запустите 500 игроков, то отобразить больше 4 глобальных рисунков для них не получится: вы исчерпаете лимит. Предполагается, что они используются для отображения неизменяемых (или почти не изменяемых) данных вроде логотипа проекта.

 

Другое дело, если брать индивидуальные текстовые рисунки (PlayerTextDraw). Их ограничение составляет 256 штук на каждого игрока. Очевидно, это более, чем просто достаточно. Предполагается, что они используются для отображения динамических данных, зависящих от игрока (игровое имя, строка состояния и так далее).

 

Поэтому второй раз уже обращаю внимание автора на проблему неправильного использования текстовых рисунков, но он упорно продолжает игнорировать. Либо он очень пессимистичный человек и заведомо точно знает, что лимит в 2048 штук на весь сервер он никогда не исчерпает, потому что, помимо него, на сервере больше никого не будет :bk:

 

@Sleash`en, здесь, кстати, та же проблема наблюдается. Если повыкидывать всякие логотипы проекта, ссылки и прочую муть, получается, что при текущем обстоятельстве дел одновременно в сапер поиграет 10-15 человек – не больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Triples
      От Triples
      При компиляции выдает ошибки
      space.pwn(5948) : error 035: argument type mismatch (argument 2) space.pwn(5948) : error 017: undefined symbol "ef" space.pwn(5948) : error 029: invalid expression, assumed zero space.pwn(5948) : fatal error 107: too many error messages on one line  
      Строчка на которую он жалуется
      cef_create_browser(playerid, LOGIN_BROWSER_ID, 'cef.utah-rp.ru/hud', false, false);  
    • Illya_Zaxatniy
      От Illya_Zaxatniy
      Доработка мода Samp-Rp
      Скачать файл Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy       Добавил Illya_Zaxatniy Добавлено 30.12.2024 Категория Моды Автор @illyazaxodnoy  
    • Illya_Zaxatniy
      От Illya_Zaxatniy
      Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy      
    • Mason
      От Mason
      Всех Приветствую! У меня есть вот такая дверь, мне нужно сделать так чтобы она открывалась на кнопку, дело в том что я знаю про функцию MoveObject и даже попытался сделать так чтобы она открывалась, но когда я захожу в игру и нажимаю на кнопку то ничего не происходит.
      На всякий случай прикладываю код