Привет, форумчане!
Довольно давно столкнулся с проблемой, но сейчас серьёзно встал вопрос её решения.
Ситуация следующая. Появляется Танк. Потом появляется ещё один Танк. Дальше могут быть следующие аномалии. Первый Танк исчезнет сразу. Первый появившийся Танк не исчезнет, но если кто-нибудь из Танков потеряет контроль, то он исчезнет.
Аналогичная ситуация. 4 Танка (или 3. Число не так важно). 1 теряет контроль. Остаётся только 1 Танк (скорее всего последний появившийся). Причём этот последний Танк передаётся другому игроку.
Кто-нибудь с подобным сталкивался?
Я грешу на плагин передачи контроля Танком, так как всегда с недоверием относился с SDK вызовам. В том плагине для передачи используется SDK вызов к функции ZombieManager::ReplaceTank(CTerrorPlayer *, CTerrorPlayer *). Скорее всего он работает криво.
#1
Отправлено 05 Март 2021 - 15:36
- Lesdure это нравится
#2
Отправлено 05 Март 2021 - 18:19
Привет, форумчане!
Довольно давно столкнулся с проблемой, но сейчас серьёзно встал вопрос её решения.
Ситуация следующая. Появляется Танк. Потом появляется ещё один Танк. Дальше могут быть следующие аномалии. Первый Танк исчезнет сразу. Первый появившийся Танк не исчезнет, но если кто-нибудь из Танков потеряет контроль, то он исчезнет.
Аналогичная ситуация. 4 Танка (или 3. Число не так важно). 1 теряет контроль. Остаётся только 1 Танк (скорее всего последний появившийся). Причём этот последний Танк передаётся другому игроку.
Кто-нибудь с подобным сталкивался?
Я грешу на плагин передачи контроля Танком, так как всегда с недоверием относился с SDK вызовам. В том плагине для передачи используется SDK вызов к функции ZombieManager::ReplaceTank(CTerrorPlayer *, CTerrorPlayer *). Скорее всего он работает криво.
Ну так ты пробовал сначала плагин отключить и убедиться, что не в нем дело?
#3
Отправлено 05 Март 2021 - 20:16
Ну так ты пробовал сначала плагин отключить и убедиться, что не в нем дело?
Не воспроизводится в соло игре. То есть нужно 2 и более игрока. Потестить с кем нибудь ещё на локалке пока для меня накладно. Но как вариант можно подобрать другой плагин на передачу Танка.
#4
Отправлено 05 Март 2021 - 23:31
Не воспроизводится в соло игре. То есть нужно 2 и более игрока. Потестить с кем нибудь ещё на локалке пока для меня накладно. Но как вариант можно подобрать другой плагин на передачу Танка.
Ну в любом случае, сначала лучше этот вариант протестить, а потом уже думать над другими
#5
Отправлено 05 Март 2021 - 23:48
Ну в любом случае, сначала лучше этот вариант протестить, а потом уже думать над другими
Проверили. Баг остался.
#6
Отправлено 06 Март 2021 - 4:26
Не воспроизводится в соло игре. То есть нужно 2 и более игрока. Потестить с кем нибудь ещё на локалке пока для меня накладно.
Я один тестирую плагины на сервере где больше 15 игроков?)
#7
Отправлено 06 Март 2021 - 21:04
Я один тестирую плагины на сервере где больше 15 игроков?)
Неподходящая игровая ситуация. Но всё равно работоспособность плагина я тестирую на локалке, где можно легко и быстро воссоздать нужные игровые условия.
Но эта ситуация - исключение. Приходится собирать помощников, где на моей локалке им приходится стоять афк по 10 минут, пока я придумываю новые решения и меняю код + подгружаю заново плагины, чтобы потом за 1 минуту понять, что проблема не решилась. Как показывает практика не все настолько усидчивые.
#8
Отправлено 07 Март 2021 - 2:34
Неподходящая игровая ситуация. Но всё равно работоспособность плагина я тестирую на локалке, где можно легко и быстро воссоздать нужные игровые условия.
Но эта ситуация - исключение. Приходится собирать помощников, где на моей локалке им приходится стоять афк по 10 минут, пока я придумываю новые решения и меняю код + подгружаю заново плагины, чтобы потом за 1 минуту понять, что проблема не решилась. Как показывает практика не все настолько усидчивые.
я бы купил еще одну копию игры и зашел с нетбука
#9
Отправлено 07 Март 2021 - 17:34
Неподходящая игровая ситуация. Но всё равно работоспособность плагина я тестирую на локалке, где можно легко и быстро воссоздать нужные игровые условия.
Но эта ситуация - исключение. Приходится собирать помощников, где на моей локалке им приходится стоять афк по 10 минут, пока я придумываю новые решения и меняю код + подгружаю заново плагины, чтобы потом за 1 минуту понять, что проблема не решилась. Как показывает практика не все настолько усидчивые.
ну если я могу к тебе подключиться постоять афк обращайся, ситуация мне тоже знакома когда не с кем тестировать плаги, будет время, не трудно помочь)
Сообщение отредактировал Goldfish: 07 Март 2021 - 17:34
#10
Отправлено 07 Март 2021 - 17:39
Вы это не исправите. Игра не понимает более, чем одного Танка. Если пропадает контроль у одного Танка и при этом на карте есть еще Танк, то он исчезает. Возможно патчингом памяти и можно что то решить, но сомневаюсь.
Можете даже на Ваниле проверить, будет то же самое.
Сообщение отредактировал Accelerator: 07 Март 2021 - 17:41
- history_maker, Goldfish и PawnLomaster это нравится
#11
Отправлено 07 Март 2021 - 23:39
Вы это не исправите. Игра не понимает более, чем одного Танка. Если пропадает контроль у одного Танка и при этом на карте есть еще Танк, то он исчезает. Возможно патчингом памяти и можно что то решить, но сомневаюсь.
Можете даже на Ваниле проверить, будет то же самое.
До слёз.
Зато можно открыть ещё один issue. Для полной коллекции так сказать.
#12
Отправлено 08 Март 2021 - 7:25
Как вариант, можете написать свой перехват функции потери Танка и перенаправлять уже на свои функции управления контролем, а то, что идет от игры, глушить. Можно сделать как с использованием dhooks, так и без него.
Сообщение отредактировал Accelerator: 08 Март 2021 - 7:27
#13
Отправлено 08 Март 2021 - 12:08
Это не есть баг) При стандартной игре более одного Танка на картах нигде нет.
Как вариант, можете написать свой перехват функции потери Танка и перенаправлять уже на свои функции управления контролем, а то, что идет от игры, глушить. Можно сделать как с использованием dhooks, так и без него.
Так на финалке The Last Stand вроде в конце 2 танка появляются?
#14
Отправлено 08 Март 2021 - 13:36
Не очень понятно как у меня работает если это невозможно, балуемся и респаем несколько танков, никто никуда не исчезает. На некоторых кастомках тоже бывает два танка, Bloody moors например, One 4 Nine. Мутация была раньше где надо от кучи танков бегать, как это все работало?
#15
Отправлено 08 Март 2021 - 14:04
- Accelerator это нравится
#16
Отправлено 08 Март 2021 - 22:12
У меня на картах из первой части, в спасении, вообще всегда только 1 танк появляется, хотя должно быть до 5-ти. Использую плагин tankspawn от dragokas.
#17
Отправлено 08 Март 2021 - 22:54
Это не есть баг) При стандартной игре более одного Танка на картах нигде нет.
Как вариант, можете написать свой перехват функции потери Танка и перенаправлять уже на свои функции управления контролем, а то, что идет от игры, глушить. Можно сделать как с использованием dhooks, так и без него.
Могу ошибаться но по моему в Swamp Fever и The Last Stand на финале два танка всегда. Так же при спасении из может быть больше двух.
Скорее всего проблема в режимах где больше +8 игроков.
Как вариант перед потерей контроля просто убивать этого танка, тем самым остальные танки будет в игре (это теория).
#18
Отправлено 09 Март 2021 - 5:33
Да посмотрите хотя бы тот же left4dhooks
// Gets the number of times the tank has passed to a player. native int L4D2Direct_GetTankPassedCount(); // Sets the number of times the tank has passed to a player. native void L4D2Direct_SetTankPassedCount(int passes);Как думаете, почему здесь не фигурирует индекс клиента? Правильно, потому что игрой задуман только один живой Танк на карте в версусах.
Финалы и vscrpt'ы отличаются в режимах coop и versus...
Сообщение отредактировал Accelerator: 09 Март 2021 - 5:35
#19
Отправлено 10 Март 2021 - 17:34
В стандартной игре сражения никогда не появляется более одного Танка.
Да посмотрите хотя бы тот же left4dhooks
// Gets the number of times the tank has passed to a player. native int L4D2Direct_GetTankPassedCount(); // Sets the number of times the tank has passed to a player. native void L4D2Direct_SetTankPassedCount(int passes);Как думаете, почему здесь не фигурирует индекс клиента? Правильно, потому что игрой задуман только один живой Танк на карте в версусах.
Финалы и vscrpt'ы отличаются в режимах coop и versus...
Кстати в Жертве на финалке если больше одного генератора сразу запускать возникает два танка сразу, не помню чтобы при этом было какое то нештатное поведение
#20
Отправлено 10 Март 2021 - 20:39
В стандартной игре сражения никогда не появляется более одного Танка.
Да посмотрите хотя бы тот же left4dhooks// Gets the number of times the tank has passed to a player. native int L4D2Direct_GetTankPassedCount(); // Sets the number of times the tank has passed to a player. native void L4D2Direct_SetTankPassedCount(int passes);Как думаете, почему здесь не фигурирует индекс клиента? Правильно, потому что игрой задуман только один живой Танк на карте в версусах.
Финалы и vscrpt'ы отличаются в режимах coop и versus...
Тем не менее. Почему остальные Танки исчезают? Было бы понятно, если бы исчезал Танк, который взял контроль над другим Танком. Это более-менее логично.
Кстати про left4dhooks
/** * @brief Gets the number of tanks currently in play. * @remarks This value is tracked by the director, and should be a good * indicator that a tank is in play * * @return Current Tank count */ native int L4D2_GetTankCount();
И это не внутренняя функция по типу пройтись по всем игрокам, если Танк, то count++ и return count. Это значение, которое внутри игры и используется Режиссером.
В голове только одно решение. Глобальный таймер, который каждые 2 секунды проходится по всем игрокам и проверяет контроль. Если контроля мало, то искусственно передавать Танка другому игроку не Танку, иначе боту.
Темы с аналогичным тегами Баг, Танк, исчезает
Новости, обсуждения, предложения →
Предложения по развитию →
Баг в ПУАвтор KoPoJlEBcKuu_7pElllHuK , 17 май 2022 ПУ, Баг, UTF8 |
|
|
||
Игровые сервера →
Counter-Strike: Global Offensive →
Не грузит плагин + Баг с Shop BallsАвтор Viper993 , 01 янв 2022 Плагин, Баг, Shop, Shop Balls и 1 еще... |
|
|
||
Игровые сервера →
Counter-Strike: Global Offensive →
Объекты убивают игрока в кс гоАвтор Viper993 , 30 дек 2021 Баг, Фикс, ошибка |
|
|
||
Игровые сервера →
Counter-Strike: Source →
Баг в названии сервераАвтор shapfff , 13 авг 2020 Баг |
|
|
||
Игровые сервера →
Counter-Strike: Global Offensive →
Лимит, в спеках только могут находиться 2 человекаАвтор Nikly , 08 май 2020 помогите, сервер кс го и 6 еще... |
|
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных