Тема: [MB] Valkyrie Mode  (Прочитано 10316 раз)

27 Марта, 2009, 08:40
+1
СКАЧАТЬ С НАШЕГО САЙТА



СКАЧАТЬ


Особенности:
Мод позволяет оставить тело ГГ, и взять под контроль любого воина на поле боя (в том числе вражеских солдат). Единственным ограничением является то, что вы будете иметь возможность выдавать команды команды, если вы в настоящее время занимают теле "героя". Таким образом, если вы боретесь бандитов вы не сможете давать команды вражеской команды, но если вы боретесь короля Yaroglek вы сможете захватить контроль над своим телом и рассказать свои войска бегут по кругу (если вы этого хотите ).

Как использовать:
Начать новую игру, лагерь, затем выберите "Настройка Dmod Options". Игнорировать все, но выпадающее Валькирия режима поверните Валькирия режим, затем близко. Если вы хотите играть в "тест" сражения, лагерь снова и, что опция будет доступна. Как только вы начинаете стандартного боя карты нажмите "H", чтобы открыть список команд. Наслаждайтесь.


Родная страница




« Последнее редактирование: 21 Января, 2023, 12:57 от syabr »
Ответ #1 27 Марта, 2009, 08:43
0
Вах! Пробовал сам? Надо посмотреть на это чудо. Уже качаю.
Ответ #2 27 Марта, 2009, 08:45
0
Как Использовать

Начните новую игру, лагерь, затем выберите, "Adjust DMod Options",  включите Способ Valkyrie,
 во время боя нажать h

Добавлено: 27 Марта, 2009, 08:46
пока сам не пробовал
Ответ #3 27 Марта, 2009, 09:04
0
Я вселялся так. Включил опцию в лагере, вышел из лагеря. Напал на лутеров, в бою нажал O. Вместо меня скакал какой то человек. Потом я пролистал всех лутеров(M и N) и выбрал понравившегося. Вместо него стал мой персонаж(внешне). Вот скриншот.
В итоге я убил человека который был вместо меня и проиграл.
Ответ #4 27 Марта, 2009, 10:21
0
Я вселялся так. Включил опцию в лагере, вышел из лагеря. Напал на лутеров, в бою нажал O. Вместо меня скакал какой то человек. Потом я пролистал всех лутеров(M и N) и выбрал понравившегося. Вместо него стал мой персонаж(внешне). Вот скриншот.
В итоге я убил человека который был вместо меня и проиграл.
а им можно управлять? или просто камера переводится на лутера?
Если можно им управлять, то можно ли "своих" товарищей лутеров завалить?
Ответ #5 27 Марта, 2009, 10:31
0
pashosКонечно можно.Смысл мода вселиться во врага и убить им как можно больше человек.
Там кстати если вселяешься, играешь не за самих врагов, а за их союзников.То есть если в начале было 2 стороны, то после вселения во врага их становится 3.
Ответ #6 27 Марта, 2009, 10:57
0
))) пипец, во что игра превращается
Ответ #7 27 Марта, 2009, 11:48
0
Кошмар. Делают ведь моды про всяких там эльфов, магию всякую. Терь уже и переселение душ начали пробовать. Интересно, кто-нибудь сейчас в натив играет... Это переселение душ какое-то сильно сильное облегчение игры. Неинтересно.
Ответ #8 27 Марта, 2009, 11:55
0
Предлогаю вселяться в лошадь и всех собой таранить  8-))) ( на правах пятничной шутки )
Ответ #9 27 Марта, 2009, 14:04
0
На карте бы можно было так переселяться - получилась бы стратегия...
Ответ #10 27 Марта, 2009, 16:03
0
такие моды обычно быстро надаедают
Ответ #11 27 Марта, 2009, 19:11
0
А что, интересно... Можно было бы добавить в Magic World или Horde Lands в качестве нового заклинания...
А в качестве отдельного мода это, конечно, ерунда. Да и называть это "модом" можно с натяжкой.
Ответ #12 27 Марта, 2009, 21:19
0
В данный момент смысла в моде не вижу, сменить сторону во время боя, чтобы в итоге проиграть бессмысленно.
Хочу поднять эту давно забытую тему для тех кто хочет поиграть в этот забавный мод!

Во время битвы нажатием кнопок (юниты - "<"  ">" и герои - "N"  "M" )выбирается любой юнит на карте, будь то враг, или союзник, и нажатием клавишы "O"  якобы переселяемся в данного персонажа и начинаем доигрывать за него.
 Конечно это все прикольно, но начинаетя надоедать , когда воюешь против своих или себя!
 Поэтому я долго копаясь и изучая данный мод нашел на него модульку, и изменил некоторые моменты
1. Выбирать можно только после убийства очень тяжелого ранения своего перса
2. Выбирать можно только свой отряд.
3. Убрал лишние кнопки на геров и юнитов , сделал общий выбор
4. Этот код можно внедрить в любой мод  Warbanda
 

Добавлено: 09 Июля, 2012, 22:42

1. открываем module_mission_templates.py

и после строчки
pilgrim_disguise = [itm_pilgrim_hood,itm_pilgrim_disguise,itm_practice_staff, itm_throwing_daggers]
af_castle_lord = af_override_horse | af_override_weapons| af_require_civilian


добавляем это

##############################################################################
###############################################################################
##                                                                           ##
##  Dmod Changes Begin                                                       ##
##                                                                           ##
###############################################################################
###############################################################################

dmod_valkyrie_follow_troop = (0, 0, 0,[(eq, "$dmod_move_camera", 2), (main_hero_fallen),
        (agent_get_position, 1, "$dmod_current_agent"),     
        (get_player_agent_no, ":player_agent"),
        (agent_set_position, ":player_agent", 1),
     ],[])
dmod_valkyrie_move_camera = (0, 2, 2.1,[(eq, "$dmod_move_camera", 1), (main_hero_fallen),
        (agent_get_position, 2, "$dmod_current_agent"),             
        (position_move_z, 2, 300),
        (mission_cam_set_mode,1),     
        (mission_cam_set_position, 2),
        (position_move_z, 2, 600),
        (mission_cam_animate_to_position, 2, 1000),
     ],[
        (mission_cam_set_mode, 0, 1000, 1),
        (assign, "$dmod_move_camera", 2),
     ])   
dmod_valkyrie_help = (0, 0, 0,[(key_clicked, key_h), (main_hero_fallen),
        (try_begin),
            (eq, "$dmod_help_message_active", 0),
            (assign, "$dmod_help_message_active", 1),
            (tutorial_message, "@DMod Valkyrie Mode Controls ^^H : Toggle Help Text ^M : Select Next Troop ^N : Select Previous Troop ^> : Select Next Hero ^< : Select Previous Hero ^O : Possess or Abandon Avatar"),
        (else_try),
            (tutorial_message, "@ "),
            (assign, "$dmod_help_message_active", 0),
        (try_end),
], [])         
dmod_valkyrie_troop_selecting_n = (0, 0, 0,[(key_clicked, key_n), (main_hero_fallen),
        (call_script, "script_dmod_cycle_backwards", 1),
        ], [])
dmod_valkyrie_troop_selecting_p = (0, 0, 0,[(key_clicked, key_m), (main_hero_fallen),
        (call_script, "script_dmod_cycle_forwards", 1),
        ], [])
dmod_valkyrie_hero_selecting_n = (0, 0, 0,[(key_clicked, key_comma), (main_hero_fallen),
        (call_script, "script_dmod_cycle_backwards", 0),               
        ], [])
dmod_valkyrie_hero_selecting_p = (0, 0, 0,[(key_clicked, key_period), (main_hero_fallen),
        (call_script, "script_dmod_cycle_forwards", 0),
        ], [])
dmod_valkyrie_change_avatar = (0, 0, 0,[(key_clicked, key_o),(neq, "$dmod_move_camera", 1), (main_hero_fallen),
        (assign, "$dmod_question", 2),
        (try_begin),
            (eq, "$dmod_current_agent", -1),
            (question_box,"@Abandon this troop?", "@Yes", "@No"),
        (else_try),
            (question_box,"@Possess this troop?", "@Yes", "@No"),
        (try_end),
      ], [])

###############################################################################
###############################################################################
##                                                                           ##
##  Dmod Changes End                                                         ##
##                                                                           ##
###############################################################################
###############################################################################

2. далее вот этот кусок кода

        dmod_valkyrie_follow_troop,
        dmod_valkyrie_move_camera,
        dmod_valkyrie_help,
        dmod_valkyrie_troop_selecting_n,
        dmod_valkyrie_troop_selecting_p,
        dmod_valkyrie_hero_selecting_n,
        dmod_valkyrie_hero_selecting_p,
        dmod_valkyrie_change_avatar,

добавляем в каждом темпланте("town_center", "village_center","back_alley_revolt"... и так далее везде где стоит  = mtf_battle_mode =)

например:

(
    "back_alley_revolt",[color=green]mtf_battle_mode[/color],charge,
    "You lead your men to battle.",
    [(0,mtef_team_0|mtef_use_exact_number,af_override_horse|af_override_weapons|af_override_head,aif_start_alarmed,4,[itm_quarter_staff]),
     (3,mtef_visitor_source|mtef_team_1,af_override_horse,aif_start_alarmed,1,[]),
     ],
    [
  sp_shield_bash_1,
      sp_shield_bash_2,
      sp_shield_bash_3,
[color=green]dmod_valkyrie_follow_troop,
        dmod_valkyrie_move_camera,
        dmod_valkyrie_help,
        dmod_valkyrie_troop_selecting_n,
        dmod_valkyrie_troop_selecting_p,
        dmod_valkyrie_hero_selecting_n,
        dmod_valkyrie_hero_selecting_p,
        dmod_valkyrie_change_avatar,[/color]

      common_inventory_not_available,

      common_battle_init_banner,

      (ti_tab_pressed, 0, 0, [],
      .....

_______________


Потом добавляем это кусок темплата в самый конец(это лишний мусор, но без него не запуститься это т  механизм кода

("dmod_lead_charge_v",mtf_battle_mode,charge,"You lead your men to battle.",[
     (1,mtef_defenders|mtef_team_0,0,aif_start_alarmed,12,[]),
     (0,mtef_defenders|mtef_team_0,0,aif_start_alarmed,0,[]),
     (4,mtef_attackers|mtef_team_1,0,aif_start_alarmed,12,[]),
     (4,mtef_attackers|mtef_team_1,0,aif_start_alarmed,0,[]),
     ],[

#Testing
#     (0, 0, 0,[(key_clicked, key_j),
#        (call_script, "script_dmod_valkyrie_testing"),
#    ], []),

#Before Start
(ti_before_mission_start, 0, 0, [],[
#Vanilla
(call_script, "script_place_player_banner_near_inventory_bms"),
(assign,"$battle_won",0),
# (assign,"$g_presentation_battle_active", 0),
(assign,"$defender_reinforcement_stage",0),
        (assign,"$attacker_reinforcement_stage",0),

#DMod
        (assign, "$dmod_help_message_active", 0),
        (assign, "$dmod_current_avatar_troop", "trp_player"),
        (assign, "$dmod_current_avatar_team", -1),
        (assign, "$dmod_current_agent", -1),
        (assign, "$dmod_move_camera", -1),
        (assign, "$dmod_spawn_normal", 1),
        (assign, "$dmod_spawn_team", 0),
        (assign, "$dmod_original_player_team", -1),
(assign, "$dmod_new_leader", 0),
(assign, "$dmod_team_0_leader", -2),
(assign, "$dmod_team_1_leader", -2),
(assign, "$dmod_team_2_leader", -2),
(assign, "$dmod_team_3_leader", -2),
(assign, "$dmod_team_4_leader", -2),

        (call_script, "script_dmod_clone_inventory", "trp_dmod_player_dummy", "trp_player", 9),
       
        #Team 1: 0, 2
        #Team 2: 1, 3
        #Free Agent: 4
        # -1 for enemy, 1 for friend, 0 for neutral
        (team_set_relation, 0, 1, -1),
        (team_set_relation, 0, 2, 1),
        (team_set_relation, 0, 3, -1),
        (team_set_relation, 0, 4, 0),
        (team_set_relation, 1, 2, -1),
        (team_set_relation, 1, 3, 1),
        (team_set_relation, 1, 4, 0),
        (team_set_relation, 2, 3, -1),
        (team_set_relation, 2, 4, 0),
        (team_set_relation, 3, 4, 0),
]),
 
 #ti_once
(0, 0, ti_once, [], [
(call_script, "script_place_player_banner_near_inventory"),
(call_script, "script_combat_music_set_situation_with_culture"),
]),

#Common Vanilla
common_music_situation_update,
common_battle_check_friendly_kills,
common_battle_order_panel,
common_battle_order_panel_tick,

#Common Dmod
dmod_valkyrie_follow_troop,
dmod_valkyrie_move_camera,
dmod_valkyrie_help,
dmod_valkyrie_troop_selecting_n,
dmod_valkyrie_troop_selecting_p,
dmod_valkyrie_hero_selecting_n,
dmod_valkyrie_hero_selecting_p,
dmod_valkyrie_change_avatar,
   
#Inventory Message
(ti_inventory_key_pressed, 0, 0, [],[(display_message,"str_use_baggage_for_inventory")]),
#Battle Over Messages
(10, 0, 0, [],[(eq,"$battle_won",1),(display_message,"@The battle is over; {playername} is victorious.")]),
(10, 0, 0, [],[(eq,"$battle_won",2),(display_message,"@The battle is over; {playername} has been defeated.")]),

#Tab
(ti_tab_pressed, 0, 0, [],[
(try_begin),
(eq, "$battle_won", 0),
(assign, "$dmod_question", 1),
(question_box,"@Retreat from this battle?", "@Yes", "@No"),
(else_try),
(call_script, "script_dmod_clone_inventory", "trp_player", "trp_dmod_player_dummy", 9),
(get_player_agent_no, ":player_agent"),
(agent_set_team, ":player_agent", "$dmod_original_player_team"),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission),
(try_end),
]),
#Question Answered
(ti_question_answered, 0, 0, [],[
#dmod_question: 1 = Quit, 2 = Possess/Abandon
        (store_trigger_param_1,":answer"),
        (eq,":answer",0),

        (try_begin),
            (eq, "$dmod_question", 1),
            (call_script, "script_dmod_clone_inventory", "trp_player", "trp_dmod_player_dummy", 9),
(get_player_agent_no, ":player_agent"),
(agent_set_team, ":player_agent", "$dmod_original_player_team"),
(assign, "$pin_player_fallen", 0),
(try_begin),
(store_mission_timer_a, ":elapsed_time"),
(gt, ":elapsed_time", 20),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20),
(try_end),
(call_script, "script_count_mission_casualties_from_agents"),
            (finish_mission),
        (else_try),
            (eq, "$dmod_question", 2),
            (try_begin),
                (eq, "$dmod_current_agent", -1),
                (call_script, "script_dmod_abandon_troop"),               
            (else_try),
                (call_script, "script_dmod_possess_troop"),
            (try_end),
        (try_end),
       ]),
   
#Victory/Defeat?
(1, 60, ti_once,[
(store_mission_timer_a, reg1),
(ge,reg1,10),

(assign, ":team_0_count", 0),
(assign, ":team_1_count", 0),
(assign, ":team_2_count", 0),
(assign, ":team_3_count", 0),
(assign, ":team_4_count", 0),
(assign, ":enemy_count", 0),
(assign, ":ally_count", 0),

(try_for_agents, ":cur_agent"),
(agent_is_human, ":cur_agent"),
(agent_is_alive, ":cur_agent"),
(agent_get_team, ":cur_team", ":cur_agent"),

(try_begin),
(eq, ":cur_team", 0),
(val_add, ":team_0_count", 1),
(else_try),
(eq, ":cur_team", 1),
(val_add, ":team_1_count", 1),
(else_try),
(eq, ":cur_team", 2),
(val_add, ":team_2_count", 1),
(else_try),
(eq, ":cur_team", 3),
(val_add, ":team_3_count", 1),
(else_try),
(eq, ":cur_team", 4),
(val_add, ":team_4_count", 1),
(try_end),
(try_end),

(val_add, ":team_0_count", ":team_2_count"),
(val_add, ":team_1_count", ":team_3_count"),

(try_begin),
(teams_are_enemies, 0, 4),
(val_add, ":team_1_count", ":team_4_count"),
(else_try),
(val_add, ":team_0_count", ":team_4_count"),
(try_end),

(try_begin),
(eq, "$dmod_original_player_team", 0),
(assign, ":enemy_count", ":team_1_count"),
(assign, ":ally_count", ":team_0_count"),
(else_try),
(assign, ":enemy_count", ":team_0_count"),
(assign, ":ally_count", ":team_1_count"),
(try_end),

(try_begin),
(le, ":enemy_count", 0),
(set_mission_result,1),
(assign,"$battle_won",1),
(assign, "$g_battle_result", 1),
(display_message,"@The battle is over; {playername} is victorious."),
(call_script, "script_play_victorious_sound"),
(else_try),
(le, ":ally_count", 0),
(set_mission_result,-1),
(assign, "$battle_won", 2),
(assign, "$g_battle_result", -1),
(display_message,"@The battle is over; {playername} has been defeated."),
(assign, "$pin_player_fallen", 1),
            (str_store_string, s5, "str_retreat"),
            (call_script, "script_simulate_retreat", 10, 20),
(try_end),

(neq, "$battle_won", 0),
 ],[]),

#Agent Spawn Check
(ti_on_agent_spawn, 0, 0, [],[       
(store_trigger_param_1, ":agent_no"),
(agent_is_human, ":agent_no"),
(get_player_agent_no, ":player_agent"),
     
        (try_begin),
(eq, "$dmod_spawn_normal", 1),
(agent_get_team, "$dmod_spawn_team", ":agent_no"),
(ge, ":player_agent", 0),

(try_begin),
(eq, "$dmod_original_player_team", -1),
(agent_get_team, "$dmod_original_player_team", ":player_agent"),
(try_end),

(agent_get_party_id, ":party_no", ":agent_no"),

(agent_is_ally, ":agent_no"),
(agent_get_party_id, ":party_no", ":agent_no"),
(neq, ":party_no", "p_main_party"),
(assign, ":continue", 1),
(store_faction_of_party, ":party_faction", ":party_no"),

(try_begin),
(eq, ":party_faction", "$players_kingdom"),
(is_between, "$players_kingdom", kingdoms_begin, kingdoms_end),
(faction_slot_eq, "$players_kingdom", slot_faction_marshall, "trp_player"),
(assign, ":continue", 0),
(else_try),
(party_stack_get_troop_id, ":leader_troop_id", ":party_no", 0),
(neg|is_between, ":leader_troop_id", kings_begin, kings_end),
(assign, ":continue", 0),
(try_end),

(eq, ":continue", 1),
(agent_get_team, ":player_team", ":player_agent"),
(val_add, ":player_team", 2),
(assign, "$dmod_spawn_team", ":player_team"),
(try_end),

(agent_set_team, ":agent_no", "$dmod_spawn_team"),
        (agent_set_slot, ":agent_no", 5, 0),

(try_begin),
(eq, "$dmod_new_leader", 1),
(try_begin),
(eq, "$dmod_spawn_team", 0),
(assign, "$dmod_team_0_leader", ":agent_no"),
(else_try),
(eq, "$dmod_spawn_team", 1),
(assign, "$dmod_team_1_leader", ":agent_no"),
(else_try),
(eq, "$dmod_spawn_team", 2),
(assign, "$dmod_team_2_leader", ":agent_no"),
(else_try),
(eq, "$dmod_spawn_team", 3),
(assign, "$dmod_team_3_leader", ":agent_no"),
(else_try),
(eq, "$dmod_spawn_team", 4),
(assign, "$dmod_team_4_leader", ":agent_no"),
(try_end),

(team_set_leader, 0, "$dmod_team_0_leader", 0),
(team_set_leader, 1, "$dmod_team_1_leader", 1),
(team_set_leader, 2, "$dmod_team_2_leader", 2),
(team_set_leader, 3, "$dmod_team_3_leader", 3),
(team_set_leader, 4, "$dmod_team_4_leader", 4),

(assign, "$dmod_new_leader", 0),
(try_end),
    ]),

#Reinforcements    
(1, 0, 5, [(lt,"$defender_reinforcement_stage", "$dmod_reinforcement_waves"),
(store_mission_timer_a,":mission_time"),
(ge,":mission_time",10),
(store_normalized_team_count,":num_defenders", 0),
(lt,":num_defenders",6),
],[
(assign, "$dmod_spawn_normal", 1),
(add_reinforcements_to_entry,0,7),
(val_add,"$defender_reinforcement_stage",1),
]),           

(1, 0, 5, [
(lt,"$attacker_reinforcement_stage", "$dmod_reinforcement_waves"),
(store_mission_timer_a,":mission_time"),
(ge,":mission_time",10),
(store_normalized_team_count,":num_attackers", 1),
(lt,":num_attackers",6),
],[
(assign, "$dmod_spawn_normal", 1),
(add_reinforcements_to_entry,3,7),
(val_add,"$attacker_reinforcement_stage",1),
]),
       
#AI Tiggers
# (0, 0, ti_once, [(store_mission_timer_a,":mission_time"),(ge,":mission_time",2)],[(call_script, "script_select_battle_tactic"),(call_script, "script_battle_tactic_init")]),     
# (5, 0, 0, [(store_mission_timer_a,":mission_time"),(ge,":mission_time",3),(call_script, "script_battle_tactic_apply")], []),

 ]),

]

И ставится все это до последней квадратной скобки!


Ну все я спать.... завтра еще напишу
« Последнее редактирование: 09 Июля, 2012, 22:42 от Доктор-2.Возвращение »
Ответ #14 10 Июля, 2012, 12:14
-2
Однако интересно...
Ответ #15 10 Июля, 2012, 23:47
0

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