Question

extN
Новичок

Привет всем,

 

Столкнулись с такой проблемой... После перехода на Open Multiplayer появилась проблема с машинами.

 

Пример:

Просто играя без всяких причин начинаеться нон-стоп респавн машин именно в одной части карты (добавлю скиншот). Из-за того, что там происходит такая „дискотека“ машин, то рандомно может снести любую машину в Сан-Фиерро, в которой нет водителя. 

 

Мы уже всё перепробовали, но причину найти не можем... Повторюсь, проблема появилась только после перехода на Open Multiplayer. В моде 190 тыс. строчек, найти в чём проблема очень сложно... Может есть какие-либо советы на что надо обратиться внимание? Допустим в 0.3 версии можно было манимипулировать машиной перед её смертью с помощью RakNet, но OMP больше не поддерживает Pawn.RakNet плагин.

 

Я пытался добавить принт на каждый SetVehicleToRespawn, но увы срабатывает принт только на OnVehicleDeath...

sa-mp-089.png

sa-mp-088.png

Share this post


Link to post

17 answers to this question

  • 0

Изучите вопрос связанный с изменением функций и коллбэков в OpenMP связанных непосредственно с транспортом.

Share this post


Link to post
  • 0
extN
Новичок

Может можно подробнее об этом? Я пытался найти какой-то коллбэк, но ничего не получается сделать, есть функция IsVehicleDead, но не знаю или она может продетвратить респавн, так как машина уже бывает Dead...

Share this post


Link to post
  • 0
Web
null

Версия OpenMP последняя? Судя по логу обновлений и изменений есть функции которые помечены устаревшими:

https://www.open.mp/ru/docs/changelog

Мой взгляд зацепили:
 

GetVehiclePoolSize

GetVehicleTower

ChangeVehicleColor 

 

Я думаю проблема именно в :

https://www.open.mp/docs/scripting/functions/GetVehiclePoolSize

И том, что. Цитата с сайта OpenMP переведенная на русский:

Функция получает самый высокий идентификатор транспортного средства, который в настоящее время используется на сервере. Обратите внимание, что в SA:MP эта функция не работает и будет возвращать 0, даже если нет транспортных средств. fixes.inc и open.mp исправляют это, чтобы возвращать -1, но также отказываются от этой функции в пользу MAX_VEHICLES или foreach.

Edited by Web

Share this post


Link to post
  • 0
extN
Новичок

При переходе на ОМП мы уже удалили все старые функции, нигде в нашем коде нет: GetVehiclePoolSize, GetVehicleTower или ChangeVehicleColor. Используем только foreach (new v : Vehicle) от YSI

 

 

Share this post


Link to post
  • 0
Web
null

Возможно, дело как раз в этом. Проверьте. Так же я бы отключил респавн транспорта спустя время в функциях создания транспорта. Если он там указан, конечно. К примеру таких как:

AddStaticVehicleEx

CreateVehicle

Так же интересует есть ли на сервере автоматический респавн транспорта по таймеру?

Edited by Web

Share this post


Link to post
  • 0
extN
Новичок

Да, на сервере есть автоматический респавн транспорта, который находиться в продаже. По логам когда он респавниться ничего плохого не происходит, транспорт весь создаётся с помощью CreateVehicle.

 

Так а если foreach не подходит, что в этом случае использовать? 

Share this post


Link to post
  • 0
Web
null

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

for(new i = 0; i < MAX_PLAYERS; i++)

Что бы убедиться, что дело не в цикле. Ну и покажите, пожалуйста, код который отвечает за респавн транспорта.

Edited by Web

Share this post


Link to post
  • 0
extN
Новичок

Проблема точно будет не в цикле, т.к. у нас до этого всегда стоял for(new i = 0; i < MAX_PLAYERS; i++) и проблема была та же самая, думал foreach поможет, но только убедился что проблема совершенно не в этом.

 

Вот сообственно код, который срабатывает каждые 30 минут.

foreach (new i : Vehicle)
{
    if(tInfo[i][Turgaus_Car]) // Проверяет или машина принадлежит покупаемым 
    {
        SetVehicleToRespawn(i);
    }
}

Повторюсь, я очень сомневаюсь, что проблема в этом. У меня везде стоят принты, и при срабатывании этого респавна или какого-либо другого из похожих - проблем нет... Это происходит в очень рандомные моменты, можешь просто играть, не использовать никаких респавнов, но машины начнут респавниться без причины... 

 

Иногда это начиналось при подключении нового игрока, иногда при выходе игрока из сервера. В SA-MP версии сервера у меня стояла защита/проверка перед смертью машины находиться ли она в воде с помощью RakNet. Как только пропала проверка перед смертью находится ли машина в воде - начались эти неясные респавны... И как я понимаю место, которое я указал проблемным как раз и находится довольно низко по координате Z и рядом с водой

 

Share this post


Link to post
  • 0
extN
Новичок

Мы уже попробовали убрать все SetVehicleToRespawn, увы проблема та же самая :( 

Share this post


Link to post
  • 0
extN
Новичок

Добавил файл, проект не русский. В OnPlayerDeath нет ничего, что может вызвать проблему, в основном только проверка или игрок убит ударом машины

onvehicledeath.txt

Share this post


Link to post
  • 0
Web
null

@extN в обычном сампе без ракнета точно так же происходит респавн или нормально все? Так же по какому принципу работает страховка на проекте?

 

 

Edited by Web

Share this post


Link to post
  • 0
extN
Новичок

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

Share this post


Link to post
  • 0
9 часов назад, extN сказал:

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

 

В функциях которые создают транспортные средства указан аргумент отвечающий за респавн?

Share this post


Link to post
  • 0
extN
Новичок
4 часа назад, Web сказал:

 

В функциях которые создают транспортные средства указан аргумент отвечающий за респавн?

 

Да, на похти всех стоит -1 (т.е. никогда не респавнить), есть несколько машин где стоит 300 секунд. 

Share this post


Link to post
  • 0

Ну у меня больше нет догадок. Не имея доступа к полному коду игрового режима и возможности отладки. Попробуйте обратиться с проблемой на официальный форум Open MP или их дискорд.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Elvis
      By Elvis
      Идёт набор в команду по разработке CRMP-проекта! 
       
      Требуются специалисты на следующие роли:  
      - Технический администратор (1 человек)  
      - Технические разработчики (2 человека)  
      - Внутриигровые разработчики (5 человек)  
       
      Все подробности и условия обсудим лично — пишите руководителю в Telegram - @AntonLegost
    • Jasper231
      By Jasper231
      Идет набор в команду для создания CRMP MOBILE проекта. Нам нужны
      1) Кодеры
      2) Мапперы
      3) Люди которые вообще разбираются в создании серверов
       
      об зарпалте договоримся и об остальном поговорим в вк: @haslyyyim
    • otec
      By otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      By vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК