Всадники Кальрадии

Модификации => Обмен опытом: Mount&Blade => Обмен опытом (в помощь мододелу) => Вопросы и ответы по модостроению => Тема начата: Dragon_ua от 12 Июля, 2011, 19:08

Название: Опция отключения типа оружия на игровом сервере
Отправлено: Dragon_ua от 12 Июля, 2011, 19:08
Доброго времени суток.

У меня вопрос:
Как сделать, так что бы в мультиплеере, в опциях сервера была кнопка "Без двуручного оружия", "Без щитов" и т.п. К примеру, метательное оружия, луки. Там же есть кнопка их убрать, а как сделать тоже самое с двуручным оружием и щитами?
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 12 Июля, 2011, 19:08
Заранее спасибо  :)
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: NightHawkreal от 12 Июля, 2011, 20:11
Я думаю это движок, проще их из продажи выкинуть.
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 12 Июля, 2011, 20:51
Если создать сервер с выкинутыми из продажи двуручками и щитами, для других они тоже будут вне продажи?
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: NightHawkreal от 12 Июля, 2011, 20:57
По такому принципу работала Рудуел последнее время. - выбросила из продажи коней.
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Leshanae от 13 Июля, 2011, 00:32
Как это сделано со стрелковым, я не смотрел. Но раз с одним типом оружия можно, то можно и с другим.
Если можно в модульке сделать проверку оружия на его тип по наличию определённых меток, то можно это сделать довольно красиво - одним скриптом уберётся сразу всё двуручное. Но если такое можно, то запросто можно сделать отключение пробивающего и вообще чего угодно. Что-нибудь вроде get_item_type и проверить на itp_type_twohanded. Ну, это догадки ламокодера.
Если такого там нет, только вручную по каждому оружию, наверное.
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 13 Июля, 2011, 01:17
Поискал я в модульке хоть намек на кнопку "Отключить дальнебойное оружия" ничего не нашел  :( Хотя, я все равно в ней не шарю  :(

Еще один вопрос, как после дуэли сделать так, что бы возобновлялись жизни?
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 13 Июля, 2011, 01:28
Что-то накопал:
В Константах:
      (create_text_overlay, reg0, "str_disallow_ranged_weapons", 0),
      (position_set_x, pos1, 30),
      (position_set_y, pos1, ":cur_y"),
      (overlay_set_position, reg0, pos1),

Я уже многое нарыл, но вот нифига в нем не понимаю  :(
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Leon473 от 13 Июля, 2011, 01:33
Dragon_ua (http://rusmnb.ru/index.php?action=profile;u=13642), рой дальше, еще копать и копать :) Это отвечает за появление текста "Disallow ranged weapons", в определённой менюшке (скорее всего в панели администратора, но я не уверен, так как я не знаю где ты этот код откопал, да и явно что не в константах).

Leshanae (http://rusmnb.ru/index.php?action=profile;u=8162), есть команда:
(item_get_type, <destination>, <item_id>),с помощью нее можно получить тип оружия, и далее уже делать проверки на нужный тип.
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 13 Июля, 2011, 01:44
Цитировать (выделенное)
рой дальше, еще копать и копать
Знаю.

Вот в Стрингс отвечает за сообщение:
  ("disallow_ranged_weapons", "Disallow ranged weapons"),
  ("ranged_weapons_are_disallowed", "Ranged weapons are disallowed."),
  ("ranged_weapons_are_allowed", "Ranged weapons are allowed."),

Вот из Скриптс, фиг знает, что:
      (assign, "$g_multiplayer_disallow_ranged_weapons", 0),     (else_try),
       (eq, ":input", 43),
       (try_begin),
         (eq, "$g_multiplayer_disallow_ranged_weapons", 1),
         (str_store_string, s0, "str_ranged_weapons_are_disallowed"),
       (else_try),
         (str_store_string, s0, "str_ranged_weapons_are_allowed"),
       (try_end),
     (else_try),
     (else_try),
       (eq, ":input", 44),
       (try_begin),
         (is_between, ":val1", 0, 2),
         (assign, "$g_multiplayer_disallow_ranged_weapons", ":val1"),
         (try_begin),
           (eq, ":val1", 1),
           (str_store_string, s0, "str_ranged_weapons_are_disallowed"),
         (else_try),
           (str_store_string, s0, "str_ranged_weapons_are_allowed"),
         (try_end),
       (else_try),

И ещё много того, чего я не понимаю  :(
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 13 Июля, 2011, 01:55
Исходя из банальной эрудиции и долгих поисков, команда, что убирает стрелковое наверное находится в Скриптс. Но к сожалению, я имею плохие представления о модульке  =/. Если знайдете как сделать то, что я просил, буду премного благодарен  :).

И ещё:
Цитировать (выделенное)
как после дуэли сделать так, что бы возобновлялись жизни?
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Leshanae от 13 Июля, 2011, 03:26
Dragon_ua ([url]http://rusmnb.ru/index.php?action=profile;u=13642[/url]), рой дальше, еще копать и копать :) Это отвечает за появление текста "Disallow ranged weapons", в определённой менюшке (скорее всего в панели администратора, но я не уверен, так как я не знаю где ты этот код откопал, да и явно что не в константах).
Именно там, в панели администратора. Если жать Host a game, пролистав в самый низ можно увидеть эту надпись и чекбокс.


Попробовал подправить:
Вот в Стрингс отвечает за сообщение:
  ("disallow_ranged_weapons", "Disallow ranged weapons"), # фраза в меню, напротив которой стоит чекбокс для включения/отключения стрелкового оружия
  ("ranged_weapons_are_disallowed", "Ranged weapons are disallowed."),  # фраза, выводящаяся на экран при выключении стрелкового
  ("ranged_weapons_are_allowed", "Ranged weapons are allowed."),  # фраза, выводящаяся на экран при включении стрелкового

Вот из Скриптс, фиг знает, что:
      (assign, "$g_multiplayer_disallow_ranged_weapons", 0), # скорее всего, при запуске игры по умолчанию разрешает стрелковое (а точнее, по умолчанию оно не запрещено :))

     (else_try),
       (eq, ":input", 43),
       (try_begin),
         (eq, "$g_multiplayer_disallow_ranged_weapons", 1),
         (str_store_string, s0, "str_ranged_weapons_are_disallowed"),
       (else_try),
         (str_store_string, s0, "str_ranged_weapons_are_allowed"),
       (try_end), # этот блок проверяет, выключено ли или включено стрелковое оружие и сохраняет соответствующую запись из strings в переменную s0, для дальнейшего вывода на экран
     (else_try),

     (else_try),
       (eq, ":input", 44),
       (try_begin),
         (is_between, ":val1", 0, 2),
         (assign, "$g_multiplayer_disallow_ranged_weapons", ":val1"),
         (try_begin),
           (eq, ":val1", 1),
           (str_store_string, s0, "str_ranged_weapons_are_disallowed"),
         (else_try),
           (str_store_string, s0, "str_ranged_weapons_are_allowed"),
         (try_end),
       (else_try), # этот блок проверяет чекбокс по нажатию мыши и выводит соответствующие надписи на экран.... подозреваю в окне списка серверов, где по наведении мышки на сервер всплывает окошко, показывающее настройки сервера.

И ещё много того, чего я не понимаю  :( # аналогично, не совсем понял


Могу быть и оченно неправ.
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 13 Июля, 2011, 09:07
Спасибо за разъяснение, но вы добиваетесь, что бы я сам код сделал что ли? :)
Я в модульке мало чего понимаю.
Судя, по всему нужно скопировать все коды с дальнобойным оружием и поместить туда двуручное, но как узнать, какой код отвечает именно за не появление стрелкового?
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Scarvy от 13 Июля, 2011, 09:22
Спасибо за разъяснение, но вы добиваетесь, что бы я сам код сделал что ли? :)

А ты добиваешься, чтобы его за тебя сделали что-ли?  :)

А вообще, да, нужно их скопировать и заменить в них стрелковое оружие на двуручное и т.п.
Название: Re: Как убрать двуручное оружие, щити и т.п.?
Отправлено: Dragon_ua от 13 Июля, 2011, 09:24
Цитировать (выделенное)
А ты добиваешься, чтобы его за тебя сделали что-ли?  :)
Угу  :D
Название: Re: Опция отключения типа оружия на игровом сервере
Отправлено: Dragon_ua от 15 Июля, 2011, 13:06
Никто не может помочь? А то я сам пытался сделать, то у меня из-за этого комп вырубился и синий экран стал :D