Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28884
  • Последний: Menfred
Сейчас на форуме
Пользователи: 0
Гостей: 629
Всего: 629

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Делимся скриптами для МС  (Прочитано 79752 раз)

  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #75 : 06 Июня, 2011, 17:16 »
все источники освещения - это вряд ли... Луна ночью вылазит, хотя её можно скрыть специально созданным скайбоксом, но свет на сцене будет.
Ещё можно, в качестве особого извращения, попробовать накладывать полупрозрачную чёрную меш по типу презентации...
Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

Запомни, воин: если руки у тебя растут из жопы, имеет смысл повернуться к врагу спиной!

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #76 : 06 Июня, 2011, 20:27 »
Кстати, а существует ли гайд, или что-то подобное, где разбирается файл mission_templates, все его значения и команды? Хотяб на англиском...
Im not street art hero, but im street drunk hero!
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #77 : 07 Июня, 2011, 10:09 »
Rhevan, все команды находятся в файле header_operation.py
где-то в этом разделе есть разбор некоторых из них.
Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

Запомни, воин: если руки у тебя растут из жопы, имеет смысл повернуться к врагу спиной!

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 202
    • Просмотр профиля
Туториал по созданию и добавлению анимации в Warband
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #79 : 07 Июня, 2011, 16:35 »
Спасибо :)
Im not street art hero, but im street drunk hero!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
0
« Ответ #80 : 07 Июня, 2011, 16:39 »
а можно ли сделать что бы в сцене было ну очень очень темно? :-\ Чтобы факел наконец то пригодился, кроме поджигания домов в Vikingr...
Факел не свети, по крайне мере тот, что в руках. Поэтому он не пригождается.
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #81 : 08 Июня, 2011, 12:32 »
Unknown, попробовал немного изменить твой скрипт утопления, чтобы когда начинаешь тонуть вылезало сообщение, получилось так:
Цитировать (выделенное)
underwater = (1, 0, 0, [],[ # underwater
            (multiplayer_is_server),
       (try_for_agents,":agent"),   
      (agent_get_position,pos1,":agent"),
             (position_get_z, ":z", pos1),
         (try_begin),
              (le, ":z", -150),
             (agent_get_slot, ":time",":agent", slot_agent_underwater),
            (display_message, "str_underwater"),
              (store_add, ":down", ":time", 1),
             (agent_set_slot, ":agent",  slot_agent_underwater, ":down"),
             (agent_get_slot, ":time_is_up",":agent", slot_agent_underwater),
             (ge, ":time_is_up", 10),
             (agent_deliver_damage_to_agent, ":agent",":agent"),
         (else_try),
         (gt, ":z", -200),
         (agent_set_slot, ":agent",  slot_agent_underwater, 0),
         (try_end),     
         (try_end),     
             ])     

Как ты думаешь, что нужно сделать, чтобы это сообщение показывалось только тому кто тонет?
Кстати, обьясни пожалуйста, зачем даются два значения z? Я так понял первое должно быть обязательно больше второго, но в чем тогда заключается функция второго? Или для того чтобы задать условие должно быть именно два значения?
Im not street art hero, but im street drunk hero!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
0
« Ответ #82 : 08 Июня, 2011, 14:54 »
Я тут отпишу, пока Неизвестный втыкает в то, что я ему в Кузне понаписал.
Цитировать (выделенное)
Как ты думаешь, что нужно сделать, чтобы это сообщение показывалось только тому кто тонет?
Вариант первый. послать сообщение игроку типа multiplayer_send_string_to_player и обработать его в script_game_receive_network_message
Второй сделать два триггера — один серверный, как сейчас и другой на клиенте
underwater_client = (1, 0, 0, [],[ # underwater
       (multiplayer_get_my_player, ":player"),
       (this_or_next|gt, ":player", 0),
       (neg|multiplayer_is_dedicated_server),
       (ge, ":player", 0),
       (player_get_agent_id, ":agent", ":player"),
       (ge, ":agent", 0),
       (agent_is_active, ":agent"),
       (agent_is_alive,":agent"),
       (agent_get_position,pos1,":agent"),
       (position_get_z, ":z", pos1),
       (try_begin),
             (le, ":z", -150),
             (display_message, "str_underwater"),     
        (try_end),     
             ])     


Цитировать (выделенное)
Кстати, обьясни пожалуйста, зачем даются два значения z? Я так понял первое должно быть обязательно больше второго, но в чем тогда заключается функция второго? Или для того чтобы задать условие должно быть именно два значения?
Первое определяет, когда игрок оказался под водой. Второе, когда он вылез из воды. Хотя я бы значения переставил и зазор поуменьшил бы.
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #83 : 08 Июня, 2011, 17:04 »
Rongar, спасибо большое :)
Вот кстати, получилось подобрать подходящие числа:
underwater = (1, 0, 0, [],[ # underwater
            (multiplayer_is_server),
       (try_for_agents,":agent"),   
      (agent_get_position,pos1,":agent"),
             (position_get_z, ":z", pos1),
         (try_begin),
              (le, ":z", -200),
             (agent_get_slot, ":time",":agent", slot_agent_underwater),
              (store_add, ":down", ":time", 1),
             (agent_set_slot, ":agent",  slot_agent_underwater, ":down"),
             (agent_get_slot, ":time_is_up",":agent", slot_agent_underwater),
             (ge, ":time_is_up", 5),
             (agent_deliver_damage_to_agent, ":agent",":agent"),
         (else_try),
         (gt, ":z", -185),
         (agent_set_slot, ":agent",  slot_agent_underwater, 0),
         (try_end),     
         (try_end),     
             ])     

Добавлено: 09 Июня, 2011, 16:36
Да, вот еще, скрипт, почему то работает через раз: иногда хп отнимаются, даже когда просто стоишь в воде, а обычно когда все нормально работает, на некторой глубине.
С чем это может быть связано? Подскажите пожалуйста!
« Последнее редактирование: 09 Июня, 2011, 16:36 от Rhevan »
Im not street art hero, but im street drunk hero!
  • Сообщений: 83
    • Просмотр профиля
    • Mount and Blade. Средневековая Сага
0
« Ответ #84 : 10 Июня, 2011, 01:40 »
А кто знает как гранату сделать?
http://mounandbladenodeath.svoiforum.ru  Заходи люд добрый
Мододелам модераторов могу дать.
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #85 : 10 Июня, 2011, 14:02 »
Acharon, В этой теме что-то подобное сейчас обсуждают
http://rusmnb.ru/forum/index.php?topic=180.msg403837#msg403837

Добавлено:
Кстати вот, решил тут заняться скриптом для приседания, благодаря советам форумчан наконец составил такой вот скрипт:
(из мишн_темплэйтс)
#Crouch Down
new_anim_start = (0, 0, 0, [(key_is_down, key_z)],[
   (get_player_agent_no,":agent_no"),
   (agent_get_animation, ":cur_anim", ":agent_no", 0),
   (try_begin),
      (eq, ":cur_anim", "anim_crouch_down"),
      (agent_set_animation, ":agent_no", "anim_stand_from_crouch"),
   (else_try),
      (agent_set_animation, ":agent_no", "anim_crouch_down"),
   (try_end),
   ])
Подскажите пожалуйста, как правильно прописать условие не позволяющее приседать верхом на коне.
Я видел примеры в других скриптах, но правильно все прописать не получается... Разъясните кто может, как добавлять условие с одной частью.
Зарание благодарен.

« Последнее редактирование: 10 Июня, 2011, 14:15 от Rhevan »
Im not street art hero, but im street drunk hero!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
0
« Ответ #86 : 10 Июня, 2011, 15:05 »
Цитировать (выделенное)
условие не позволяющее приседать верхом на коне
(get_player_agent_no,":agent_no"),
(agent_get_horse,":horse",":agent_no"),
(lt,":horse",0),
Цитировать (выделенное)
добавлять условие с одной частью
Что есть часть условия?
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #87 : 10 Июня, 2011, 15:50 »
Спасибо  :)
Что есть часть условия?
Прости за невнятную формулировку, я имел ввиду примерно это: во всех скриптах которые я видел раньше было по нескольку условий например так:
   (try_begin),
      (this_or_next|agent_has_item_equipped,":agent_no",itm_angel_wings),
      (agent_has_item_equipped,":agent_no",itm_daemon_wings),
      (agent_set_animation, ":agent_no", "anim_angel_fly"),
а как сделать одно условие до меня не дошло :(
Но сейчас вроде разобрался, спасибо тебе.
Кстати еще один вопросик, если бы код выглядел так:
Цитировать (выделенное)
(get_player_agent_no,":agent_no"),
(agent_get_horse,":horse",":agent_no"),
(lt,":horse",1),
то предположим приседание можно было бы использовать только находясь в седле?
Im not street art hero, but im street drunk hero!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
0
« Ответ #88 : 10 Июня, 2011, 16:10 »
Кстати еще один вопросик, если бы код выглядел так:
Цитировать (выделенное)
(get_player_agent_no,":agent_no"),
(agent_get_horse,":horse",":agent_no"),
(lt,":horse",1),
то предположим приседание можно было бы использовать только находясь в седле?
Не совсем.
agent_get_horse — возвратит номер агент лошади игрока
Агенты (в том числе лошади) нумеруются  с 0.
Если лошади нет, то в ":horse" будет -1.
lt это <.
Если поставить < 1, то приседать можно будет без лошади или на лошади, у которой номер агента 0 (в теории такое может быть, на практике хз).
Чтобы приседать можно было только на лошади, нужно
(ge,":horse",0), #>= 0
или
(gt,":horse",-1), # > -1
 
ЗЫ ну да, либо ещё
(neq,":horse",-1),
Собственно, вместо
(lt,":horse",0),
можно было бы написать
(eq,":horse",-1),
скорей всего.
Но интуиция диктует избегать точных условий при отсутствие спецификации.
« Последнее редактирование: 10 Июня, 2011, 16:19 от Rongar »
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #89 : 10 Июня, 2011, 17:53 »
Спасибо большое)
Кстати, а как назначить "агентов"  сразу для всех игроков и ботов (причем из той же команды) на каком-то расстоянии от "агента" который например играет на флейте или издает боевой клич?
А как выглядят команды изменяющие характеристики?
И еще один вопрос: как правильно задать таймер, и чтоб от него зависили вышеуказанные действия?
Вот, написал скриптик для боевого клича:
#Warcry
new_anim_start = (0, 0, 0, [(key_clicked, key_c)],[
   (get_player_agent_no,":agent_no"),
   (play_sound,"snd_warcry"),
      (agent_set_animation, ":agent_no", "anim_cheer"),

])
Подскажите пожалуйста как его усовершенствовать :)
Im not street art hero, but im street drunk hero!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
0
« Ответ #90 : 10 Июня, 2011, 21:32 »
Цитировать (выделенное)
Кстати, а как назначить "агентов"  сразу для всех игроков и ботов (причем из той же команды) на каком-то расстоянии от "агента" который например играет на флейте или издает боевой клич?
Что значит "назначить"?

Цитировать (выделенное)
А как выглядят команды изменяющие характеристики?
Характеристики чего? Статы агентов? Никак. Статы можно менять только у troops. Ну и ботов можно замедлять.

Цитировать (выделенное)
И еще один вопрос: как правильно задать таймер, и чтоб от него зависили вышеуказанные действия?
По аналогии с утоплением. Раз в секунду слот увеличивать/уменьшать на единичку, проверять не перешло ли допустимый порог.

Цитировать (выделенное)
Подскажите пожалуйста как его усовершенствовать
Вместо
 (play_sound,"snd_warcry"),
поставить
 (agent_play_sound, ":agent_no", "snd_warcry"),
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #91 : 10 Июня, 2011, 21:46 »
Вобщем я хотел бы сделать скрипт в котором после издания боевого клича у дружественных войнов в некотором радиусе от командира появлялся какой нибудь бонус (есть ли другие способы кроме повышения статов?)
а таймер ограничивал бы время через которое снова можно будет использовать боевой клич.

Добавлено:
Цитировать (выделенное)
Вместо
 (play_sound,"snd_warcry"),
поставить
 (agent_play_sound, ":agent_no", "snd_warcry"),
А в чем будет разница? У меня вроде и так работал..
Im not street art hero, but im street drunk hero!
  • Сообщений: 3508
  • За создание крупных модов и других особо сложных проектов За активную деятельность, связанную с публикациями и помощью другим посетителям За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
0
« Ответ #92 : 10 Июня, 2011, 22:49 »
А в чем будет разница? У меня вроде и так работал..
Естественно работало. Это усовершенствование, в результате которого источником звука будет агент трубящий.
Разные игроки будут слышать горн с разной громкостью в зависимости от удаления. 3d sound есть в игре? Я чего-то уже забыл. Есть есть, то на нём тоже скажется. 

Вобщем я хотел бы сделать скрипт в котором после издания боевого клича у дружественных войнов в некотором радиусе от командира появлялся какой нибудь бонус (есть ли другие способы кроме повышения статов?)
Выбор агентов в радиусе
(agent_get_position,pos0,":agent_no"), #трубящий
(agent_get_team,":based_team",":agent_no"),
(try_for_agents,":effected_agent"),
   (agent_is_active,":effected_agent"),
   (agent_is_alive,":effected_agent"),
   (agent_is_human,":effected_agent"), #не лошадь.
   (agent_get_team,":effected_agent_team",":effected_agent"),
   (eq,":effected_agent_team", ":based_team"), # или  (neq,":effected_agent_team", ":based_team") для отрицательных эффектов на врагов
   (agent_get_position,pos1,":effected_agen"), #трубящий
   (get_distance_between_positions_in_meters,":dist",pos1,pos0),
   (le,":dist",25), #25 метров
место для эффекта
(try_end),
код писал на коленках. Так что могут быть ашипки.

Чё можно делать

Лечить /Повреждать  (heal/damage overtime)
store_agent_hit_points 
agent_set_hit_points

Повреждать
agent_deliver_damage_to_agent

Замедлять/ускорять  его лошадь
agent_set_horse_speed_factor

Напрямую влиять на золотовалютные резервы
player_get_gold                     
player_set_gold

Косвенно на поступление золота (e.g. для временного увеличения/уменьшения золота за убийство), через
script_money_management_after_agent_death

Восстанавливать патроны
agent_refill_ammo

Менять экипировку (сделать дубли для предметов, подменять временно на модифицированные). Не спрашивайте меня как.
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #93 : 11 Июня, 2011, 11:14 »
Менять экипировку (сделать дубли для предметов, подменять временно на модифицированные). Не спрашивайте меня как.
да, код, который писал я для этого, получился шестоким. С кучей пересылок инфы на агентов и сервер...

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

Запомни, воин: если руки у тебя растут из жопы, имеет смысл повернуться к врагу спиной!

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 73
    • Просмотр профиля
0
« Ответ #94 : 11 Июня, 2011, 20:05 »
Цитировать (выделенное)
Менять экипировку (сделать дубли для предметов, подменять временно на модифицированные). Не спрашивайте меня как.
А нельзя ли сделать что то подобное сделать со статами персанажа? То есть на какое-то время заменять профиль обычного мультиплеерного, на например enspired_warrior у которого статы будут в любом случае лучше чем у любого обычного мультиплеерного солдата?
Существуют ли команды которые позволили бы осуществить это?
Im not street art hero, but im street drunk hero!
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #95 : 11 Июня, 2011, 20:07 »
Rhevan, можно. agent_set_troop. как-то так.
Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

Запомни, воин: если руки у тебя растут из жопы, имеет смысл повернуться к врагу спиной!

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 194
    • Просмотр профиля
0
« Ответ #96 : 13 Июня, 2011, 08:02 »
для модульной системы

module_items.py
где ["sg24" название гранаты в items и ("sg24",0) в grenades.brf,  и т.д. (всё есть в уроках)

эффекты:
module_particle_systems.py

В версии 1.113 не очень смотрится, а в 1.132 и 1.134 вполне похоже на взрыв!
Звуки сами, если не получится, то могу и выложить.  :thumbup:

P.S. Только пока не знаю как сделать, чтобы гранаты пропадали с поля боя и ограничить их дальность броска, а то на пол карты бросить можно, прям миномет  :embarrassed:
« Последнее редактирование: 13 Июня, 2011, 12:08 от joker7by »
что нам стоит мод построить
  • Сообщений: 1027
  • За создание технических проектов различного характера
    • Просмотр профиля
    • WarHammer Fantasy Mod для WarBand.
0
« Ответ #97 : 14 Июня, 2011, 13:26 »
Спасибо за гранаты. Ограничить дальность, полагаю, можно понизив параметр Shot Speed.
  • Сообщений: 194
    • Просмотр профиля
0
« Ответ #98 : 14 Июня, 2011, 14:32 »
Спасибо за гранаты. Ограничить дальность, полагаю, можно понизив параметр Shot Speed.
spd_rtng(50) можно поменять на spd_rtng(35), меньше не стоит, уж больно долго идёт замах.
Я сделал шаг конём, добавил точность броска гранатам и стало полегче с ботами играть  :D
max_ammo(2)|accuracy(5)|weapon_length(5),imodbits_none,
что нам стоит мод построить
  • Сообщений: 983
  • За наиболее важные для развития сайта идеи Выдается модераторам, достигнувшим значимых успехов на своем посту За активный вклад в развитие сайта
    • Просмотр профиля
0
« Ответ #99 : 14 Июня, 2011, 14:45 »
Господа, прошу прощения, существует ли команда модульной, которая переносит agent'a, конкретно, игрока, в другую координату? Например, для сценовых объектов такая команда выглядит так: (prop_instance_animate_to_position, <scene_prop_id>, position, <time>), есть ли что-то похожее для агентов?

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC