WB Etude d'ajout d'une quête

Users who are viewing this thread

Bonjour

Comme j'en avais parlé à Bertolkien, je me lance dans l'étude d'ajout de nouvelles quête dans la native de M&B Warband.

Après avoir décortiqué ce tutoriel:
Tutoriel pour débutant

J'ai trouvé, à force de lancer des compils, des petites erreurs.


Code:
["antler","Antler","Antler",tf_hero, scn_town_4_tavern|entry(3),reserved, fac_commoners,[itm_nomad_armor,itm_nomad_boots],def_attrib|level(2),wp(20),knows_common,0x00000000000430c701ea98836781647f],
 
["thyr","Thyr","Thyr",tf_hero,|tf_unkillable, no_scene,0, fac_order_of_night,[itm_great_axe,itm_black_armor,itm_winged_great_helmet,itm_nomad_boots,itm_charger],knight_attrib_1|level(30),wp(140),knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],

["guardian","Guardian","Guardian",tf_guarantee_armor|tf_guarantee_boots|tf_guarantee_horse|tf_guarantee_helmet,0,0,fac_order_of_night,
   [itm_great_axe,itm_black_armor,itm_mail_coif,itm_nomad_boots,itm_charger],
   knight_attrib_1|level(30),wp(140),knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],


Que j'ai modifiées...


Code:
["antler","Antler","Antler",tf_hero, scn_town_4_tavern|entry(3), reserved, fac_commoners,[itm_nomad_armor,itm_nomad_boots],def_attrib|level(2),wp(20),
  knows_common,0x00000000000430c701ea98836781647f],
  
["thyron","Thyron","Thyron",tf_hero|tf_unkillable, no_scene, 0, fac_order_of_night,[itm_great_axe,itm_black_armor,itm_winged_great_helmet,itm_nomad_boots,itm_charger],knight_attrib_1|level(30),wp(140),
  knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],
  
["guardian","Guardian","Guardian",tf_guarantee_armor|tf_guarantee_boots|tf_guarantee_horse|tf_guarantee_helmet,0,0,fac_order_of_night,
  [itm_great_axe,itm_black_armor,itm_mail_coif,itm_nomad_boots,itm_charger],
  knight_attrib_1|level(30),wp(140),knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],


Mais à la fin de ma dernière compil, ça me donne ce résumé:




Unable to find objet: pt_order_of_night
Illegal identifier: pt_order_of_night
C'est pas grand chose par rapport aux précédentes compils, mais, là... je bloque!!



Si quelqu'un pouvait m'aider?

Merci
 
Bonjour et merci pour ton aide...

Voilà le code rajouté dans module_dialog.py
... en dessous du dialogue de "ramun_the_slave_trader"...

Code:
# Dialogue nouvelle quete relic
  [trp_antler, "start", 
  [[eq, "$holy_relic",2]], "Greetings {playername}.", "bye2",[]],
  [trp_antler|plyr, "bye2", [], "Greetings to you too, Antler.", "close_window",[]],
  [trp_antler, "start", [[eq,"$holy_relic",1]], "Did you find the relic?", "relic_find_question",[]],
  [trp_antler|plyr, "relic_find_question", [(player_has_item,"itm_relic")], "Yes! It was quite difficult.", "relic_znaleziona",[(call_script,"script_end_quest","qst_relic")]],
  [trp_antler|plyr, "relic_find_question", [], "No, not yet.", "close_window",[]],
  [trp_antler, "relic_znaleziona", [], "Really? Well, congratulations {young man/lassie}! I decided to don't give you reward. This book is a reward. You can sell it in shops.", "close_window",[[assign,"$holy_relic",2]]],
  [trp_antler, "start", [[eq,"$holy_relic",0]], "Hello, {young man/lassie}! Are you looking for a job or something?", "god1",[]],
  [trp_antler|plyr, "god1", [], "Yes!", "god2",[]],
  [trp_antler, "god2", [], "Good. Do you heard anything about Order of Night? They're band of wandering bastards or fallen knights, led by Thyr. They recently raided Veluca monastery and stolen holy relic. Now, they should be resting near village of Veidar. Find them, kill everyone except Thyr. Then, persuade him to give you information about location of relic. I hope it's quite clearly.  I'll pay you 2000 denars.", "god3",[]],
  [trp_antler|plyr, "god3", [], "Allright, that's nice offer. I'll regain relic!", "godyes",[
      (setup_quest_text, "qst_relic"),
      (str_store_string, s2, "@A guy called Antler told me interesting story. Fallen Knights called Order of Night, recently raided Veluca monastery and stolen holy relic. I must find them and after battle, persuade their leader Thyr to give me holy relic. Those bastards, now should be near Veidar!"),
      (call_script, "script_start_quest", "qst_relic", "trp_antler"), (set_spawn_radius,1),(spawn_around_party,"p_village_48", "pt_order_of_night")]],
  [trp_antler|plyr, "god3", [], "No, I don't have time for that!", "close_window",[]],
  [trp_antler, "godyes", [], "Excellent!", "close_window",[[assign,"$holy_relic",1]]],


...et dans module_quest.py

Code:
# nouvelle quete relic
("relic", "Find holy relic", qf_random_quest,
  "A guy called Antler told me interesting story. Fallen Knights called Order of Night, recently raided Veluca monastery and stolen holy relic. I must find them and after battle, persuade their leader Thyr to give me holy relic. Those bastards, now should be near Veidar!"
  ),

... dans module_item.py

Code:
(juste avant ["items_end", "Items End", [("shield_round_a",0)], 0, 0, 1, 0, 0],

J'ai ajouté:
# item nouvelle quete relic

["relic","St. Grunwalder", [("book_e",0)], itp_type_book, 0, 10000,weight(2)|abundance(100),imodbits_none],

et dans module_faction.py


Code:
Code rajouté juste avant : ("dark_knights","{!}Dark Knights", 0, 0.5,[("innocents",-0.9),("player_faction",-0.4)], []),

# Faction nouvelle quete relic 
  ("order_of_night","Order of Night", 0, 0.5,[("player_faction",-1.0)], []),


... dans module_troop.py

Code:
  # nouvelle quete relic
  ["antler","Antler","Antler",tf_hero, scn_town_4_tavern|entry(3), reserved, fac_commoners,[itm_nomad_armor,itm_nomad_boots],def_attrib|level(2),wp(20),
  knows_common,0x00000000000430c701ea98836781647f],
  ["thyron","Thyron","Thyron",tf_hero|tf_unkillable, no_scene, 0, fac_order_of_night,[itm_great_axe,itm_black_armor,itm_winged_great_helmet,itm_nomad_boots,itm_charger],knight_attrib_1|level(30),wp(140),
  knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],
  ["guardian","Guardian","Guardian",tf_guarantee_armor|tf_guarantee_boots|tf_guarantee_horse|tf_guarantee_helmet,0,0,fac_order_of_night,
  [itm_great_axe,itm_black_armor,itm_mail_coif,itm_nomad_boots,itm_charger],
  knight_attrib_1|level(30),wp(140),knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],
 
 
Encore moi  :iamamoron:

J'ai pas trop de temps avant ce soir, mais j'ai quand même regardé. As tu bien suivi la phase 3 de son tutoriel ou il faut ajouter
Code:
("order_of_night","Order of Night", 0, 0.5,[("player_faction",-1.0)], []),
dans le module_factions.py ?

Ça peut provenir de là, si jamais c'est pas ça, envoies moi par mp ton module system et je déjaugerai ça ce soir.

 
Alphα said:
Encore moi  :iamamoron:

J'ai pas trop de temps avant ce soir, mais j'ai quand même regardé. As tu bien suivi la phase 3 de son tutoriel ou il faut ajouter
Code:
("order_of_night","Order of Night", 0, 0.5,[("player_faction",-1.0)], []),
dans le module_factions.py ?

Ça peut provenir de là, si jamais c'est pas ça, envoies moi par mp ton module system et je déjaugerai ça ce soir.

Oui, comme je l'ai précisé dans la réponse précédente:



code ajouté dans module_faction.py

Code rajouté juste avant : ("dark_knights","{!}Dark Knights", 0, 0.5,[("innocents",-0.9),("player_faction",-0.4)], []),

# Faction nouvelle quete relic
  ("order_of_night","Order of Night", 0, 0.5,[("player_faction",-1.0)], []),


Autrement, envoie moi une adresse mail où je pourrai t'envoyer le module system.

Merci

 
Peut-être  il manque-t-il le "party template"  (dans le fichier : module_party_templates.py ) de ce groupe:
genre :
Code:
("mechants","Groupe De Mechants",icon_khergit_horseman_b|carries_goods(4)|pf_quest_party,0,fac_order_of_night,bandit_personality,[(trp_grand_mechant,1,1),(trp_mechant,10,20)]),



 
Hello

fladin said:
Peut-être  il manque-t-il le "party template"  (dans le fichier : module_party_templates.py ) de ce groupe:
genre :
Code:
("mechants","Groupe De Mechants",icon_khergit_horseman_b|carries_goods(4)|pf_quest_party,0,fac_order_of_night,bandit_personality,[(trp_grand_mechant,1,1),(trp_mechant,10,20)]),

Tout à fait fladin !  :wink:

Je me souviens avoir mis cela dans module_party_templates.py (Tout à la fin du fichier) :
Code:
("order_of_night","order_of_night",icon_axeman|carries_goods(2),0,fac_outlaws,bandit_personality,[(trp_thyr,1,1),(trp_looter,5,15),(trp_mountain_bandit,5,10)]),

Où (trp_thyr,1,1) est le leader du groupe order_of_night, et les autres sont les troupes additionnelles !


lolitablue,
Tu n'as pas choisi la facilité car ce tuto est un peu vieux et à mon avis pas tout à fait pour débutant.
Mais on peut s'en sortir, je me souviens l'avoir testé à mes débuts de "programmeur". J'étais arrivé à le faire marcher avec du mal. Mais tel quel, cette quête a un gros défaut, 2 fois sur 3 on ne peut pas la finir, le personnage se sauve !

De mon côté, à ta demande, j'ai préparé un premier tuto pour insérer une nouvelle quête simple :
Un personnage, un objet, une quête pour lui ramener cet objet.
Je le mets en ligne en ouvrant un nouveau sujet. On rendra la quête plus complexe dans un prochain tuto. Jusqu'à se battre s'il le faut car il y a d'autres façons de faire que dans ce vieux tuto !

Tchin !
:twisted:
 
D'ac!

Mais c'était histoire de voir comment ça marchait tout ça... Je me doutais de la difficulté.
J'ai quand même réussi malgré mes lacunes, à résoudre quelques coquilles...

Mais c'est sur il vaut mieux commencer par plus simple. J'attends ton tutoriel.

Et merci à tous du coup de main...


Edit:

Ta formule:
Code:
("order_of_night","Order_of_night",icon_axeman|carries_goods(2),0,fac_outlaws,bandit_personality,[(trp_thyr,1,1),(trp_looter,5,15),(trp_mountain_bandit,5,10)]),

... fonctionne, BerTolkien, very good!!

Effectivement, la plupart du temps, le gars se barre avant d'être fait prisonnier!
En résumé:
J'ai trouvé Antler dans la taverne de Suno puis Thyr dans la taverne de Dirhim (aléatoire!)... ensuite j'ai décimé sa bande avec mes quarante chevaliers Swadiens près de Veimar! Mais le gars s'est tiré comme un voleur! C'est le cas de le dire.

Par contre le dialogue avec Thyr n'est pas au point, il y a un mélange avec un autre dialogue concernant un gars qui demande à ce qu'on lui paye un coup à boire et a être embauché dans mon groupe!!!
 
Back
Top Bottom