@VSharp
Bon en fait, il est plutôt facile d'ajouter une option pour que le joueur rejoigne un royaume des le début, il existe un script qui fait à peu prés tout ce qui est nécessaire:
player_join_faction
Donc il suffit de l'appeler depuis le menu de départ, par exemple ici:
Code:
("start_phase_2",mnf_disable_all_keys,
"...",
"none",
[],
[
("town_1",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Praven, in the Kingdom of Swadia.",
[
(assign, "$current_town", "p_town_6"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_praven"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
...
("town_6",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Shariz, in the Sarranid Sultanate.",
[
(assign, "$current_town", "p_town_19"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_shariz"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
Et d'y rajouter une réponse avec ce script, plus quelques variables globales à initialiser:
Code:
("vassal_kingdom_1",[(eq, "$current_startup_quest_phase", 0),],
"join the Kingdom of Swadia as a vassal of King Harlaus",
# Je prefere generalement utiliser les noms stockes dans des string plutot que d'ecrire en brut,
# mais c'est le debut du jeu donc il ne devrait pas y avoir de probleme (a part si les factions ou seigneurs ont ete changes)
[
(call_script, "script_player_join_faction", "fac_kingdom_1"),
(assign, "$player_has_homage" ,1), # Pour dire que le joueur est dans une faction
(assign, "$g_player_banner_granted", 1), # Pour recevoir une banniere
# Les lignes suivantes sont peut etre redondantes et/ou inutiles, mais elles sont appelees juste avant le combat contre le bandit
# Etant donne que on ne devrais pas passer par la je les ai mise par precaution
(assign, ":player_faction_culture", "fac_culture_1"),
(faction_set_slot, "fac_player_supporters_faction", slot_faction_culture, ":player_faction_culture"),
(faction_set_slot, "fac_player_faction", slot_faction_culture, ":player_faction_culture"),
(party_set_morale, "p_main_party", 100), # Je pense que celle la est inutile, elle doit etre appelé dans game_start
(party_relocate_near_party, "p_main_party", "p_town_6", 2),
(change_screen_return),
]),
Bien sur il est possible de le faire pour chaque royaume.
ps: je n'ai pas testé les résultat, et il est possible que la petite quête d'introduction du début cause des problèmes, préviens moi si c'est le cas.
@AlphA-FR
Je suppose que pour enlever les options sur le menu principal, il faut commenter, ou supprimer les menu correspondants (dans module_game_menus).
Pour le tutorial, ça serait le menu '
tutorial'.
Pour les batailles personnalisées, il n'y a pas de menu, mais une présentation, alors je ne suis pas sur si le fait de l'enlever donnerai le résultat approprié, mais bon ça vaut surement le coup de le commenter juste pour voir: '
game_custom_battle_designer' (dans module_presentations).
Et pour le jeu solo, je ne suis pas sur, mais je pense que c'est dans le même genre, en supprimant, ou commentant le menu '
start_game_0'
Et au niveau des factions et classes, les classes sont les troupes situées entre les troupes '
swadian_crossbowman_multiplayer' et '
multiplayer_end' (ou plutot entre les constantes
multiplayer_troops_begin et
multiplayer_troops_end dans module_constants)
Pour en ajouter une il suffit donc de la rajouter ici, il ne faut pas oublier de rajouter les items à acheter avec ça:
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_item", "trp_troop"),
Dans module_scripts se trouve déjà un endroit ou est appelé ce script plusieurs fois.
Si les items ne sont pas déjà disponible en multijoueur il faut aussi penser à les ajouter avec ça:
(item_set_slot, "itm_item", slot_item_multiplayer_item_class, multi_item_class_type_itemtype),
Des exemples sont au même endroit que la ou sont assignés les items pour chaque classe.
Pour les supprimer, il vaut mieux éviter, car il faudrait ensuite trouver les endroit ou sont utilisés ces troupes, ça peut être long, donc au début il vaut mieux modifier les constantes mentionnées plus haut (
multiplayer_troops_begin et
multiplayer_troops_end dans module_constants).
Pour enlever des factions à sélectionner, étant donné que le mod ne sera uniquement multijoueur, tu peux modifier les constante des faction
npc_kingdoms_begin et
npc_kingdoms_end pour ne contenir que la/les faction intéressantes.