Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
  • Всего: 29196
  • Последний: hoy545
Сейчас на форуме
Пользователи: 1
Гостей: 526
Всего: 527

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

Тема: Как бы сделать хитрый щит?...  (Прочитано 4004 раз)

  • Сообщений: 28
    • Просмотр профиля
0
« : 22 Октября, 2011, 09:44 »
Доброго времени суток!
Предыстория:
Недавно возникла идея сделать в моде один хитрый щит. То есть по легенде (мод фентезийный), и внешнему виду сей щит - полусферическое "силовое поле".
Таким образом, возник вопрос:
Как реализовать отображение модельки только во время применения щита (когда нажата клавиша "блок") , а во всех остальных положениях (на спине, в руке) сделать его невидимым?

Или движок игры такого не позволяет?

« Последнее редактирование: 22 Октября, 2011, 13:45 от Шандарах »
А фпоиск послать каждый может!
  • Сообщений: 870
    • Просмотр профиля
0
« Ответ #1 : 22 Октября, 2011, 13:38 »
Убери этот красный шрифт, иначе закрою тему.

  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #2 : 22 Октября, 2011, 14:28 »
Шандарах, первое, что приходит в голову - спаунить объект сцены(scene_prop), имеющий вид силового поля. Делать проверку на блок, если блока нет - убирать объект под землю.

Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

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

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #3 : 22 Октября, 2011, 14:43 »
ну, вот примерный алгоритм для появления:

перебрать_агентов, :агент (try_for_agents)

не|агент_не_игрок, :агент (neg|agent_is_non_player)

получить_защитное_действие_агента, :действие, :агент (agent_get_defend_action)

эквивалентно, :действие, 2 (eq)

взять_позицию_агента, поз1, :агент (agent_get_position)

установить_позицию_появления, поз1 (set_spawn_position)

создать_scene_prop, "spr_мой_объект_сцены" (spawn_scene_prop)

закончить (try_end)

 

Добавлено: 22 Октября, 2011, 14:44

команды ищи в файле header_operation.py

Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

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

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 28
    • Просмотр профиля
0
« Ответ #4 : 22 Октября, 2011, 14:55 »
Спасибо!
Единственная проблема при таком решении, думаю будет в том, что придется ее как-то заставить щит получать повреждения при попадании в объект стрел и прочих метательных снарядов. Или придется ограничить кол-во его применений в каждом бою, что, как мне кажется, нежелательно. Либо заставить его расходовать "ману" при включенном блоке.
Лучший вариант, конечно, первый, но как его реализовать?
Извиняюсь за то, что задаю кучу вопросов один за другим...

А фпоиск послать каждый может!
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #5 : 22 Октября, 2011, 14:57 »
Шандарах, открой файлик module_scene_props.py и найди, например, earth_sally_gate_right.

Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

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

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 28
    • Просмотр профиля
0
« Ответ #6 : 22 Октября, 2011, 15:08 »
Гм... Нету в модульке Magic Word-а в module_scene_props.py такой строчки...
Есть только

А фпоиск послать каждый может!
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #7 : 22 Октября, 2011, 15:08 »
Шандарах, у тебя варбанд или ИГ?

Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

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

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 28
    • Просмотр профиля
0
« Ответ #8 : 22 Октября, 2011, 15:10 »
ИГ. Старенький MW пытаюсь доработать....

А фпоиск послать каждый может!
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #9 : 22 Октября, 2011, 15:14 »
Шандарах, тогда не могу сказать определённо, можно ли там ломать объекты.
но можно сделать счётчик, чтобы щит только некоторое время был.

Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

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

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 28
    • Просмотр профиля
0
« Ответ #10 : 22 Октября, 2011, 15:17 »
Ага! А как сие сотворить?
В данном моде счетчики точно используются... Вот только не факт, что я смогу сам найти, где они прописаны...

« Последнее редактирование: 22 Октября, 2011, 15:28 от Шандарах »
А фпоиск послать каждый может!
  • Сообщений: 2878
    • Просмотр профиля
0
« Ответ #11 : 22 Октября, 2011, 15:52 »
счётчик - это триггер в файле module_mission_templates.py.

Мне нравятся счётчики с использованием слотов.
Модернизируем предыдущий триггер.
перебрать_агентов, :агент (try_for_agents)

не|агент_не_игрок, :агент (neg|agent_is_non_player)

получить_защитное_действие_агента, :действие, :агент (agent_get_defend_action)

эквивалентно, :действие, 2 (eq)

взять_позицию_агента, поз1, :агент (agent_get_position)

установить_позицию_появления, поз1 (set_spawn_position)

создать_scene_prop, "spr_мой_объект_сцены" (spawn_scene_prop)

установить_агенту_слот, :агент, слот_время_щита, 20 (agent_set_slot)

закончить (try_end)
новые слоты прописываются в файле module_constants.py, для агентов ищи заголовок AGENT SLOTS.
 
далее пишем новый триггер

 (1, 0, 0, [], - 1, 0, 0 - интервалы выполнения всего триггеры/условия/последствия
       [
перебрать_агентов, :агент

получить_слот_агента, :время, :агент, слот_время щита(agent_get_slot)

пробовать (try_begin)
больше, :время, 0 (gt)
отнять, :время, 1 (val_sub)
установить_агенту_слот, :агент, слот_время_щита, :время
иначе(else_try)
меньше_или_равно, :время, 0 (le)

#*тут привожу кусок из своего кода*
  (scene_prop_get_num_instances, ":count_of_fireball", spr_силовой_щит),   - нашли кол-во щитов
        (try_for_range, ":cur_fireball", 0, ":count_of_fireball"), - перебрали их
        (scene_prop_get_instance, ":fireball_instance", ":prop_id", ":cur_fireball"), - взяли инстанцию отдельного
            (prop_instance_get_position,pos2,":fireball_instance"),  - взяли позицию
#*конец*
позиции_сместить_y, поз2, -500 (position_move_y)
инстанции_установить позицию,":fireball_instance", поз2 (prop_instance_set_position )
закончить (заканчиваем try_for_range)

закончить (try_begin)

закончить (перебор агентов)

        ]),

Мечтаю о RPG, в которой смогу отыграть роль мага-дровосека, промышляющего разбоем.

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

А вы никогда не задумывались, что вся херня в нашем мире происходит в том числе и потому, что живые перестали бояться мёртвых?
  • Сообщений: 28
    • Просмотр профиля
0
« Ответ #12 : 22 Октября, 2011, 16:01 »
Еще раз спасибо! Завтра после работы засяду разбиратся с этим... А то у меня уже ночь на дворе.
Что получится - выложу. Ну а ежели чего сам не соображу и не смогу найти ответ, буду опять вопросами донимать  :)
 

Добавлено: 23 Октября, 2011, 14:54

Пока пытался разобратся с предложенным вариантом, возникла мысль: а может просто заставить при 
(try_begin),
                (key_is_down, key_left_mouse_button),
и надетом щите power shield 1 подменять его на power shield 2?

« Последнее редактирование: 23 Октября, 2011, 14:54 от Шандарах »
А фпоиск послать каждый может!

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


Powered by SMF 2.0 | SMF © Simple Machines LLC