Modding Q&A [For Quick Questions and Answers]

Users who are viewing this thread

Status
Not open for further replies.
2 questions :

what  script is responsible for displaying the characters  (or hard coded)  ?
because recently it began to display all the troops and not just the heroes 
tnkiXaV.jpg
I spent a whole week to check and recheck  troops tuples and game costantes ... everything is in order and yet  :sad:

the second question is about player re-spawni during battle

my tinkered script
Code:
common_respawn_player = (
   10, 0, 20,
   [
		(eq, "$deathcam_on", 1),
		(store_mission_timer_a,":cur_time"),
		(store_add,":rec_time","$wound_time",60),# globl variable $wound_time recorded at the start of the death cam
		(gt,":cur_time",":rec_time"),
   ],
   [
		  (get_player_agent_no, ":player_agent"),
		  (agent_get_position, pos3, ":player_agent"),
		  (set_spawn_position, pos3),
		  (agent_get_team, ":player_team", ":player_agent"),
		  (mission_cam_set_mode, 0),
		  (assign, "$deathcam_on", 0),
		  (troop_set_inventory_slot, "$g_player_troop", ek_horse, -1),#remove horse
		  (spawn_agent, "$g_player_troop"),
		
		  (assign, ":player_agent", reg0),
		  (agent_set_team, ":player_agent", ":player_team"),
		  (agent_set_hit_points,":player_agent",5),
   ]
) 
it works, but sometimes I find myself fighting my own team ... if anyone can tell me where's my mistake

Thanks
 
What's wrong with this trigger? I used rather ****ty coding because I was too lazy to make the three tiers of kingsguard as slots, but it still should work as it is.

Code:
   (72 , 72, 72,
   [],
   [
   (store_random_in_range, ":random_chance_of_kingsguard_upgrade", 0, 15),
      (assign, ":random_chance_of_kingsguard_upgrade", 5),

    (try_begin),
      (eq, ":random_chance_of_kingsguard_upgrade", 1),
	  (faction_get_slot, ":kingsguard", "fac_kingdom_1", slot_faction_kingsguard),
	  (try_begin),
	    (eq, ":kingsguard", "trp_swadia_retainer_1"),
	    (assign, ":kingsguard2", "trp_swadia_retainer_2"),
      (else_try),
	    (eq, ":kingsguard", "trp_swadia_retainer_2"),
	    (assign, ":kingsguard2", "trp_swadia_retainer_3"),
      (else_try),
	    (assign, ":kingsguard2", "trp_swadia_retainer_1"),
	  (try_end),
	  (faction_set_slot, "fac_kingdom_1", slot_faction_kingsguard, ":kingsguard2"),
      (try_for_parties, ":party_no"),
        (party_is_active, ":party_no"),
        (party_get_slot, ":cur_party_type", ":party_no", slot_party_type),
        (store_faction_of_party, ":cur_faction", ":party_no"),
        (eq, ":cur_party_type", spt_kingdom_hero_party),
		(party_stack_get_troop_id, ":leader", ":party_no"),
        (this_or_next|eq, ":leader", "trp_kingdom_1_lord"),
        (eq, ":leader", "trp_kingdom_1_pretender"),
        (eq, ":cur_faction", "fac_kingdom_1"),
	    (party_count_members_of_type, ":amount", ":party_no", ":kingsguard"),
        (party_remove_members, ":party_no", ":kingsguard", ":amount"),
        (party_add_members, ":party_no", ":kingsguard2", ":amount"),
      (try_end),
    (else_try),
      (eq, ":random_chance_of_kingsguard_upgrade", 2),
	  (faction_get_slot, ":kingsguard", "fac_kingdom_2", slot_faction_kingsguard),
	  (try_begin),
	    (eq, ":kingsguard", "trp_vaegir_retainer_1"),
	    (assign, ":kingsguard2", "trp_vaegir_retainer_2"),
      (else_try),
	    (eq, ":kingsguard", "trp_vaegir_retainer_2"),
	    (assign, ":kingsguard2", "trp_vaegir_retainer_3"),
      (else_try),
	    (assign, ":kingsguard2", "trp_vaegir_retainer_1"),
	  (try_end),
	  (faction_set_slot, "fac_kingdom_2", slot_faction_kingsguard, ":kingsguard2"),
      (try_for_parties, ":party_no"),
        (party_is_active, ":party_no"),
        (party_get_slot, ":cur_party_type", ":party_no", slot_party_type),
        (store_faction_of_party, ":cur_faction", ":party_no"),
        (eq, ":cur_party_type", spt_kingdom_hero_party),
		(party_stack_get_troop_id, ":leader", ":party_no"),
        (this_or_next|eq, ":leader", "trp_kingdom_2_lord"),
        (eq, ":leader", "trp_kingdom_2_pretender"),
        (eq, ":cur_faction", "fac_kingdom_2"),
	    (party_count_members_of_type, ":amount", ":party_no", ":kingsguard"),
        (party_remove_members, ":party_no", ":kingsguard", ":amount"),
        (party_add_members, ":party_no", ":kingsguard2", ":amount"),
      (try_end),
    (else_try),
      (eq, ":random_chance_of_kingsguard_upgrade", 3),
	  (faction_get_slot, ":kingsguard", "fac_kingdom_3", slot_faction_kingsguard),
	  (try_begin),
	    (eq, ":kingsguard", "trp_khergit_retainer_1"),
	    (assign, ":kingsguard2", "trp_khergit_retainer_2"),
      (else_try),
	    (eq, ":kingsguard", "trp_khergit_retainer_2"),
	    (assign, ":kingsguard2", "trp_khergit_retainer_3"),
      (else_try),
	    (assign, ":kingsguard2", "trp_khergit_retainer_1"),
	  (try_end),
	  (faction_set_slot, "fac_kingdom_3", slot_faction_kingsguard, ":kingsguard2"),
      (try_for_parties, ":party_no"),
        (party_is_active, ":party_no"),
        (party_get_slot, ":cur_party_type", ":party_no", slot_party_type),
        (store_faction_of_party, ":cur_faction", ":party_no"),
        (eq, ":cur_party_type", spt_kingdom_hero_party),
		(party_stack_get_troop_id, ":leader", ":party_no"),
        (this_or_next|eq, ":leader", "trp_kingdom_3_lord"),
        (eq, ":leader", "trp_kingdom_3_pretender"),
        (eq, ":cur_faction", "fac_kingdom_3"),
	    (party_count_members_of_type, ":amount", ":party_no", ":kingsguard"),
        (party_remove_members, ":party_no", ":kingsguard", ":amount"),
        (party_add_members, ":party_no", ":kingsguard2", ":amount"),
      (try_end),
    (else_try),
    (else_try),
      (eq, ":random_chance_of_kingsguard_upgrade", 4),
	  (faction_get_slot, ":kingsguard", "fac_kingdom_4", slot_faction_kingsguard),
	  (try_begin),
	    (eq, ":kingsguard", "trp_nord_retainer_1"),
	    (assign, ":kingsguard2", "trp_nord_retainer_2"),
      (else_try),
	    (eq, ":kingsguard", "trp_nord_retainer_2"),
	    (assign, ":kingsguard2", "trp_nord_retainer_3"),
      (else_try),
	    (assign, ":kingsguard2", "trp_nord_retainer_1"),
	  (try_end),
	  (faction_set_slot, "fac_kingdom_4", slot_faction_kingsguard, ":kingsguard2"),
      (try_for_parties, ":party_no"),
        (party_is_active, ":party_no"),
        (party_get_slot, ":cur_party_type", ":party_no", slot_party_type),
        (store_faction_of_party, ":cur_faction", ":party_no"),
        (eq, ":cur_party_type", spt_kingdom_hero_party),
		(party_stack_get_troop_id, ":leader", ":party_no"),
        (this_or_next|eq, ":leader", "trp_kingdom_4_lord"),
        (eq, ":leader", "trp_kingdom_4_pretender"),
        (eq, ":cur_faction", "fac_kingdom_4"),
	    (party_count_members_of_type, ":amount", ":party_no", ":kingsguard"),
        (party_remove_members, ":party_no", ":kingsguard", ":amount"),
        (party_add_members, ":party_no", ":kingsguard2", ":amount"),
      (try_end),
    (else_try),
      (eq, ":random_chance_of_kingsguard_upgrade", 5),
	  (faction_get_slot, ":kingsguard", "fac_kingdom_5", slot_faction_kingsguard),
	  (try_begin),
	    (eq, ":kingsguard", "trp_rhodok_retainer_1"),
	    (assign, ":kingsguard2", "trp_rhodok_retainer_2"),
      (else_try),
	    (eq, ":kingsguard", "trp_rhodok_retainer_2"),
	    (assign, ":kingsguard2", "trp_rhodok_retainer_3"),
      (else_try),
	    (assign, ":kingsguard2", "trp_rhodok_retainer_1"),
	  (try_end),
	  (faction_set_slot, "fac_kingdom_5", slot_faction_kingsguard, ":kingsguard2"),
      (try_for_parties, ":party_no"),
        (party_is_active, ":party_no"),
        (party_get_slot, ":cur_party_type", ":party_no", slot_party_type),
        (store_faction_of_party, ":cur_faction", ":party_no"),
        (eq, ":cur_party_type", spt_kingdom_hero_party),
		(party_stack_get_troop_id, ":leader", ":party_no"),
        (this_or_next|eq, ":leader", "trp_kingdom_5_lord"),
        (eq, ":leader", "trp_kingdom_5_pretender"),
        (eq, ":cur_faction", "fac_kingdom_5"),
	    (party_count_members_of_type, ":amount", ":party_no", ":kingsguard"),
        (party_remove_members, ":party_no", ":kingsguard", ":amount"),
        (party_add_members, ":party_no", ":kingsguard2", ":amount"),
      (try_end),
    (else_try),
      (eq, ":random_chance_of_kingsguard_upgrade", 6),
	  (faction_get_slot, ":kingsguard", "fac_kingdom_6", slot_faction_kingsguard),
	  (try_begin),
	    (eq, ":kingsguard", "trp_sarranid_retainer_1"),
	    (assign, ":kingsguard2", "trp_sarranid_retainer_2"),
      (else_try),
	    (eq, ":kingsguard", "trp_sarranid_retainer_2"),
	    (assign, ":kingsguard2", "trp_sarranid_retainer_3"),
      (else_try),
	    (assign, ":kingsguard2", "trp_sarranid_retainer_1"),
	  (try_end),
	  (faction_set_slot, "fac_kingdom_6", slot_faction_kingsguard, ":kingsguard2"),
      (try_for_parties, ":party_no"),
        (party_is_active, ":party_no"),
        (party_get_slot, ":cur_party_type", ":party_no", slot_party_type),
        (store_faction_of_party, ":cur_faction", ":party_no"),
        (eq, ":cur_party_type", spt_kingdom_hero_party),
		(party_stack_get_troop_id, ":leader", ":party_no"),
        (this_or_next|eq, ":leader", "trp_kingdom_6_lord"),
        (eq, ":leader", "trp_kingdom_6_pretender"),
        (eq, ":cur_faction", "fac_kingdom_6"),
	    (party_count_members_of_type, ":amount", ":party_no", ":kingsguard"),
        (party_remove_members, ":party_no", ":kingsguard", ":amount"),
        (party_add_members, ":party_no", ":kingsguard2", ":amount"),
      (try_end),
    (try_end),
    ]),


I waited 10 days for Graveth to upgrade his troops but he never did.
 
fladin said:
what  script is responsible for displaying the characters  (or hard coded)  ?
Mechanics is in module_tableau_materials.py in troop_note_mesh.
Call is in game_start in module_scripts via add_troop_note_tableau_mesh.

fladin said:
the second question is about player re-spawni during battle
In SP?
I think, you get overridden by later call of trigger ti_on_agent_spawn.
 
The Dark Robin said:
I waited 10 days for Graveth to upgrade his troops but he never did.
For my point view, here is too many code to understand what is going on. I would suggest to put some debug messages to get a clue.
 
Rongar said:
fladin said:
what  script is responsible for displaying the characters  (or hard coded)  ?
Mechanics is in module_tableau_materials.py in troop_note_mesh.
Call is in game_start in module_scripts via add_troop_note_tableau_mesh.

thank you for the answer

but I'm talking of the list of heroes, not their notes (information, families)
there's also a list of locations who becomes crazy, display all game parties (bandits, lord's parties ...all !)

ELsgVcy.jpg

I made this some  tests with add_troop_note_tableau_mesh  :
Code:
      (try_for_range, ":troop_no", mercenary_troops_begin, mercenary_troops_end),#--changed to display only mercenaries 
        (add_troop_note_tableau_mesh, ":troop_no", "tableau_troop_note_mesh"),
      (try_end),
	  
      (try_for_range, ":center_no", centers_begin, centers_end),
        (add_party_note_tableau_mesh, ":center_no", "tableau_center_note_mesh"),
      (try_end),
nothing changed, still displaying the whole game's troop  :mad:

I even commented out the whole  troop_set_note_available section
Code:
      (try_for_range, ":troop_no", kings_begin, kings_end),
        (troop_set_note_available, ":troop_no", 1),
      (try_end),
	  
      (try_for_range, ":troop_no", lords_begin, lords_end),
        (troop_set_note_available, ":troop_no", 1),
      (try_end),

	  (try_for_range, ":troop_no", kingdom_ladies_begin, kingdom_ladies_end),
        (troop_set_note_available, ":troop_no", 1),
      (try_end),
	  (troop_set_note_available, "trp_knight_1_1_wife", 0),

      (try_for_range, ":troop_no", pretenders_begin, pretenders_end),
        (troop_set_note_available, ":troop_no", 1),
      (try_end),
	  
	  #Lady and companion notes become available as you meet/recruit them
	  
      (try_for_range, ":faction_no", npc_kingdoms_begin, npc_kingdoms_end),
        (faction_set_note_available, ":faction_no", 1),
      (try_end),
      (faction_set_note_available, "fac_neutral", 0),
	  
      (try_for_range, ":party_no", centers_begin, centers_end),
        (party_set_note_available, ":party_no", 1),
      (try_end),
but nothing changes !



 
How come my knight is a human lightbulb?

1425243336-mb4.jpg

it's not even on parts of the model that make sense, his sleeves and top are chain but only part of the chain is bright white.
 
Hello! I have problem with my bank script. I want this trigger add 10% of money to money after 7 days. So if I have 10000, then I must have 11000 after 7 days, but it gives me 101000 denars. What is wrong with this trigger?

(sorry for my poor english)

# Bank
  (24*7,
  [(eq, "$g_bank", 1),
  (try_begin),
      (troop_get_slot, reg1, "trp_player", slot_bank_money),
      (val_div, reg1, 10),
  (assign, "$g_hajsy_co_robic", reg1),
  (troop_get_slot, reg2, "trp_player", slot_bank_money),
      (val_mul, reg2, 10),
  (val_add, reg2, "$g_hajsy_co_robic"),
  (troop_set_slot, "trp_player", slot_bank_money, reg2),
  (assign, "$g_hajsy_co_robic", 0),
    ]),
 
i have a more amateurish code :
Code:
(troop_get_slot, ":current_money", "trp_player", slot_bank_money), 
 (assign,":income",":current_money"),
 (val_div,":income",10),
 (val_add,":current_money",":income"),
 (troop_set_slot, "trp_player", slot_bank_money, ":current_money"),
 
fladin said:
i have a more amateurish code :
Code:
(troop_get_slot, ":current_money", "trp_player", slot_bank_money), 
 (assign,":income",":current_money"),
 (val_div,":income",10),
 (val_add,":current_money",":income"),
 (troop_set_slot, "trp_player", slot_bank_money, ":current_money"),

It works, thank you. You will get credit for this in non-english forum :wink:
 
Masterancza said:
Hello! I have problem with my bank script. I want this trigger add 10% of money to money after 7 days. So if I have 10000, then I must have 11000 after 7 days, but it gives me 101000 denars. What is wrong with this trigger?

(sorry for my poor english)

# Bank
  (24*7,
  [(eq, "$g_bank", 1),
  (try_begin),
      (troop_get_slot, reg1, "trp_player", slot_bank_money),
      (val_div, reg1, 10),
  (assign, "$g_hajsy_co_robic", reg1),
  (troop_get_slot, reg2, "trp_player", slot_bank_money),
      (val_mul, reg2, 10),
  (val_add, reg2, "$g_hajsy_co_robic"),
  (troop_set_slot, "trp_player", slot_bank_money, reg2),
  (assign, "$g_hajsy_co_robic", 0),
    ]),

Because you are dividing 10000 by 10. That gives 1000.
Then you times 10000 by 10 giving 100,000
Then you add them together giving 101,000

 
@Masterancza to make the code even shorter, you can replace
Code:
(assign,":income",":current_money"),
 (val_div,":income",10),
with
Code:
(store_div, ":income",":current_money", 10),
:grin:
 
The_dragon said:
@Masterancza to make the code even shorter, you can replace
Code:
(assign,":income",":current_money"),
 (val_div,":income",10),
with
Code:
(store_div, ":income",":current_money", 10),
:grin:

Thanks, but it's not needed :grin:
 
Hey guys, Im trying to negate the proficiency of a troop (multiplayer) with (val_mul, reg0, -1) then troop_raise_proficiency,
but it doesn't seem to work, instead it is still positive...
 
Status
Not open for further replies.
Back
Top Bottom