Перейти к содержимому


Фотография

Квары (переменные) L4D2


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 443

#381 KARA

KARA

    Участник

  • Пользователь
  • PipPip
  • 122 сообщений

Отправлено 06 Январь 2021 - 16:42

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



#382 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 02 Февраль 2021 - 17:53

Именно, от чего зависит нужно ли их править или нет, каким образом их найти. Я так понимаю вышел update или обновился SM, пошли error - стал жаловаться на сигнатуры? В итоге плагин не работает так?

 

 

Ну вот как в этой теме: https://forum.myaren...deniia-servera/

Если видишь в логах ошибок: Failed to find XXX signature, значит движок обновился и нужно искать новые сигнатуры.

Смотришь в теме автора, просишь у людей кто знаком с этими вещами.

Самому искать, если ты не знаком с IDA и хотя бы элементарно с языком ассемблера, то не имеет смысла.

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

помойму вопрос просто в обновлении офсетов? сигнатуры все старые так и остаются..

как вышла обнова ласт станд так сразу написали, что все офсеты сместились на 1

тупо пробегаешь по всей геймдате и прибавляешь 1 к числам оффсета, вот и все обновление...

если вопрос был в этом



#383 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 02 Февраль 2021 - 20:23

Goldfish, человек спрашивал в общем.

 

В обновлении SM после TLS шла речь о смещении индексов в виртуальной таблице функций.

Это не имеет ничего общего с сигнатурами и оффсетами, используемыми в большинстве плагинов.

 

По порядку - в плагинах чаще всего используют:

 - сигнатуры - набор байт (или метка), уникально идентифицирующих определенное место в памяти процесса, коим может быть начало функции или смещение внутри нее.

В линуксе, сигнатуры, указывающие на начало функции помечены именованными метками, и поскольку смена названия метки - явление довольно редкое, то такие сигнатуры редко когда становятся недействительными при обновлениях кодовой базы.

В виндовсе такого нет, любые сигнатуры создаются с использованием набора первых N байт начала функции. Поэтому перекомпиляция кода с изменением хотя бы 1 байта в этой функции может повлечь за собой ошибку в поиске сигнатуры. Также ошибка может быть, если на функцию поставлен перехват до момента поиска сигнатуры, т.к. DHooks подменяет первые 5 байт, поэтому в идеале их не включать в шаблон.

Еще есть сигнатуры, указывающие сразу куда-то в средину функции. Такая может сломаться уже и на линуксе, т.к. будет составлена уже из комбинации байтов, а не имени метки.

 

 - оффсеты - обычно указывают на смещение нужного участка внутри функции, относительно начала этой функции.

Если с обновлением изменяется данная функция, то нужный участок тоже может сместится и старый оффсет будет указывать на неверный участок кода. Поэтому при написании подобных плагинов необходимо обязательно проверять, а какой именно набор байт должен ожидаться в конечной точке оффсета. А также стараться делать, чтобы смещение было как можно меньшим.

 

 - индексы виртуальной таблицы функций (иначе vtable) - это набор членов в интерфейсе, доступ к которым можно получить просто по индексу - порядковому номеру в этой таблице.

Самый простой, но и самый ненадёжный способ работы с функциями. Просто потому, что нет простого способа проверить, правильная ли функция вызывается.

Если разработчик добавляет любую новую функцию в интерфейс, то все индексы смещаются вниз. И ваша сигнатура больше не указывает на ожидаемую вами функцию.

Хороший пример - обновление TLS. Ошибка не вызывается, а сервер сразу падает в краш, и вы даже не знаете из-за какого плагина.

Плюс только в том, что данная таблица довольно редко претерпевает изменений.


  • Goldfish это нравится

#384 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 04 Февраль 2021 - 14:35

как понять "gauntlet maps" это финальные карты компании? Часто в консоли видел это сообщение



#385 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 04 Февраль 2021 - 18:08

как понять "gauntlet maps" это финальные карты компании? Часто в консоли видел это сообщение

Это финалки, где ты бежишь на прорыв до спасательного средства. Например, финалка Прихода или Холодного ручья.



#386 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 15 Февраль 2021 - 4:01

привет всем, как изменить количество зомби в финалах? к примеру совсем убрать

пробовал всеми кварами которые знаю

sm_cvar z_common_limit                  0    
sm_cvar z_mob_spawn_max_size            0    
sm_cvar z_mob_spawn_min_size            0    
sm_cvar z_mob_spawn_max_interval_expert    60    
sm_cvar z_mob_spawn_min_interval_expert    50    
sm_cvar  z_background_limit              0
sm_cvar z_mega_mob_size                  0
sm_cvar z_mega_mob_spawn_max_interval        90    
sm_cvar z_mega_mob_spawn_min_interval        80    
sm_cvar  z_mob_spawn_finale_size        0

ставил на 0 результата нет

 

чем вообще эти финальные волны регулируются? директором?

какие переменные скриптов карт отвечают за это ?
 


Сообщение отредактировал Goldfish: 15 Февраль 2021 - 4:03


#387 Profanuch

Profanuch

    Пользователь

  • Пользователь
  • PipPipPip
  • 156 сообщений

Отправлено 15 Февраль 2021 - 10:44

Goldfish, у меня чувство, что последним обновлением, ребятки из valve все эти квары к чертям собачьим поломали.



#388 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 15 Февраль 2021 - 11:27

Goldfish, у меня чувство, что последним обновлением, ребятки из valve все эти квары к чертям собачьим поломали.

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


  • Slaven555 это нравится

#389 dr_lex

dr_lex

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 053 сообщений

Отправлено 15 Февраль 2021 - 19:05

привет всем, как изменить количество зомби в финалах? к примеру совсем убрать

пробовал всеми кварами которые знаю

sm_cvar z_common_limit                  0    
sm_cvar z_mob_spawn_max_size            0    
sm_cvar z_mob_spawn_min_size            0    
sm_cvar z_mob_spawn_max_interval_expert    60    
sm_cvar z_mob_spawn_min_interval_expert    50    
sm_cvar  z_background_limit              0
sm_cvar z_mega_mob_size                  0
sm_cvar z_mega_mob_spawn_max_interval        90    
sm_cvar z_mega_mob_spawn_min_interval        80    
sm_cvar  z_mob_spawn_finale_size        0

ставил на 0 результата нет

 

чем вообще эти финальные волны регулируются? директором?

какие переменные скриптов карт отвечают за это ?
 

z_mob_spawn_finale_size - Кол-во зомби в толпе одновременно на фильных картах

Так как я использую hardmod где используется z_common_limit (общее население) в зависимости то людей на сервере, то написал небольшой плагин по распределению толпы

Может кому-то нужно будет как пример

Скрытый текст



 


Сообщение отредактировал dr_lex: 15 Февраль 2021 - 19:07


#390 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 15 Февраль 2021 - 20:40

z_mob_spawn_finale_size - Кол-во зомби в толпе одновременно на фильных картах

Так как я использую hardmod где используется z_common_limit (общее население) в зависимости то людей на сервере, то написал небольшой плагин по распределению толпы

Может кому-то нужно будет как пример

Скрытый текст



 

ок, спс.

 

а как еще проверить что игрок нажал клавишу (к примеру клавишу мыши), чтобы подвесить на это нажатие одно действие?

 

upd: нашел, эвент weapon_fire_on_empty )


Сообщение отредактировал Goldfish: 15 Февраль 2021 - 20:42


#391 dr_lex

dr_lex

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 053 сообщений

Отправлено 16 Февраль 2021 - 0:27

ок, спс.

 

а как еще проверить что игрок нажал клавишу (к примеру клавишу мыши), чтобы подвесить на это нажатие одно действие?

 

upd: нашел, эвент weapon_fire_on_empty )

 

// These defines are for client button presses.
#define IN_ATTACK                (1 << 0)
#define IN_JUMP                  (1 << 1)
#define IN_DUCK                  (1 << 2)
#define IN_FORWARD               (1 << 3)
#define IN_BACK                  (1 << 4)
#define IN_USE                   (1 << 5)
#define IN_CANCEL                (1 << 6)
#define IN_LEFT                  (1 << 7)
#define IN_RIGHT                 (1 << 8)
#define IN_MOVELEFT              (1 << 9)
#define IN_MOVERIGHT             (1 << 10)
#define IN_ATTACK2               (1 << 11)
#define IN_RUN                   (1 << 12)
#define IN_RELOAD                (1 << 13)
#define IN_ALT1                  (1 << 14)
#define IN_ALT2                  (1 << 15)
#define IN_SCORE                 (1 << 16)   /**< Used by client.dll for when scoreboard is held down */
#define IN_SPEED                 (1 << 17)   /**< Player is holding the speed key */
#define IN_WALK                  (1 << 18)   /**< Player holding walk key */
#define IN_ZOOM                  (1 << 19)   /**< Zoom key for HUD zoom */
#define IN_WEAPON1               (1 << 20)   /**< weapon defines these bits */
#define IN_WEAPON2               (1 << 21)   /**< weapon defines these bits */
#define IN_BULLRUSH              (1 << 22)
#define IN_GRENADE1              (1 << 23)   /**< grenade 1 */
#define IN_GRENADE2              (1 << 24)   /**< grenade 2 */
#define IN_ATTACK3               (1 << 25)

 


  • Goldfish это нравится

#392 Hnt

Hnt

    Новичок

  • Пользователь
  • Pip
  • 33 сообщений

Отправлено 01 Март 2021 - 20:11

Не напомните, для изменения интервала spawn special infected будет достаточно таких кваров, допустим для вывода танков одновременно, через каждую секунду:

sm_cvar director_special_respawn_interval 1

sm_cvar z_special_spawn_interval 1


Сообщение отредактировал Hnt: 02 Март 2021 - 2:59


#393 8rutu5

8rutu5

    Пользователь

  • Пользователь
  • PipPipPip
  • 397 сообщений

Отправлено 02 Март 2021 - 19:48

 

Не напомните, для изменения интервала spawn special infected будет достаточно таких кваров, допустим для вывода танков одновременно, через каждую секунду:

sm_cvar director_special_respawn_interval 1

sm_cvar z_special_spawn_interval 1

Скорее всего нет.

За танков и ведьм отвечают квары, которые содержат в себе "boss", "tank", "witch". А "special", "si" или "special infected" касаются только стандартных Особых Зараженных.



#394 simvolist777

simvolist777

    Пользователь

  • Пользователь
  • PipPipPip
  • 180 сообщений

Отправлено 09 Март 2021 - 10:44

Как бы узнать наименование нового оружия в игре, такого как лопата и вилы? Если, к примеру, в консоли вводить give то после пробела можно листать всё, что можно получить из предметов. Однако что-то так и не встретил вилы плюс лопата. Вообще было бы хорошо найти полный список на команду гив. Может, у кого-то есть? (Гугл выдаёт, конечно кое-что, но всё года так 2010-го. В полном списке кваров на https://developer.va...t_of_L4D2_Cvars отдельно названий предметов не указывается)


Сообщение отредактировал simvolist777: 09 Март 2021 - 10:48


#395 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 09 Март 2021 - 11:02

Вилы - pitchfork
Лопата - shovel
  • Goldfish это нравится

#396 simvolist777

simvolist777

    Пользователь

  • Пользователь
  • PipPipPip
  • 180 сообщений

Отправлено 09 Март 2021 - 11:42

Вилы - pitchfork
Лопата - shovel

Спасибо. Я так понял, на картах, типа Тёмного Карнавала и прочих, с героями второй части, ни вил, ни лопаты получить нереально. Похоже, они выдаются на картах с героями первой части.



#397 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 09 Март 2021 - 12:34

Спасибо. Я так понял, на картах, типа Тёмного Карнавала и прочих, с героями второй части, ни вил, ни лопаты получить нереально. Похоже, они выдаются на картах с героями первой части.

возможно их нужно просто кешировать



#398 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 09 Март 2021 - 19:13

Их нужно разблокировать плагином либо расширением, плагином удобнее.

#399 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 25 Март 2021 - 12:31

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


Сообщение отредактировал Goldfish: 25 Март 2021 - 16:46


#400 adacer

adacer

    Новичок

  • Пользователь
  • Pip
  • 44 сообщений

Отправлено 26 Март 2021 - 16:54

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

в addonconfig.cfg выставь 1, будут заходить со стандартными моделями


  • Goldfish это нравится


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных