Modding Q&A [For Quick Questions and Answers]

Users who are viewing this thread

Status
Not open for further replies.
How is music changed during a fight once the first song is over? Is it possible to direct it to call a script or does it just automatically decide anything with mtf_sit_fight or whatever? Same with the world map.

Basically I'm trying to make music more culture/situation specific, similar to the way Pendor has done it.
 
jacobhinds said:

  Ah, that would have been extremely helpful, I now could understand some of the conditional operations that functioned with the part of the code you gave me. Excuse my lack of coding knowledge, Warband's the first game that I've ever dared go past 2D/3D artistry.

  Now that I've figured out the custom scenes part, I'm sort of left hollowed with a lack of any battle scenes, and searching the forums are either mostly castle scenes or multiplayer scenes. Anyone know of any OSPs that has single player battle scenes?

  Also, I noticed that map sizes that I've generated from edit mode aren't as big as random battle scenes. Is there a way to make it as big as the random scenes? I've places size x and y to max and put 5 metres for the polygon option, but it's still small.An oversight on my part
 
Johao said:
  Now that I've figured out the custom scenes part, I'm sort of left hollowed with a lack of any battle scenes, and searching the forums are either mostly castle scenes or multiplayer scenes. Anyone know of any OSPs that has single player battle scenes?

  Also, I noticed that map sizes that I've generated from edit mode aren't as big as random battle scenes. Is there a way to make it as big as the random scenes? I've places size x and y to max and put 5 metres for the polygon option, but it's still small.

check the articles and videos in this thread dedicated to scenes:
:arrow: http://forums.taleworlds.com/index.php/topic,163368.0.html

about your size question: create a new terrain (at which point you can choose the area size), then use it for the scene you are editing.
 
I've fixed the equip_best_meleeweapon script to the point that it is working with polearms.
How do I get it to work without formations?
Currently, it is only embedded in formation scripts.
Troops that spawn without formations (as in camp scenes or when I turn player formations off) spawn without the correct weapons.
When I call formations, they equip.

How can I get them to spawn with the right weapons without formations?
 
gdwitt said:
I've fixed the equip_best_meleeweapon script to the point that it is working with polearms.
How do I get it to work without formations?
Currently, it is only embedded in formation scripts.
Troops that spawn without formations (as in camp scenes or when I turn player formations off) spawn without the correct weapons.
When I call formations, they equip.
How can I get them to spawn with the right weapons without formations?

just call it when you use the normal game formations commands (hold, charge) or MBWFS orders, you have the constants in your header and triggers for that


Code:
ti_on_order_issued            = -71.0 # An agent has issued a tactical order
    # trigger param 1 = order_code (see mordr_* constants in header_mission_templates.py)
    # trigger param 2 = agent_id
Code:
mordr_hold				= 0
mordr_follow			= 1
mordr_charge			= 2
mordr_mount				= 3
mordr_dismount			= 4
mordr_advance			= 5
mordr_fall_back			= 6
mordr_stand_closer		= 7
mordr_spread_out		= 8
mordr_use_blunt_weapons = 9
mordr_use_any_weapon    = 10
mordr_stand_ground      = 11
mordr_hold_fire         = 12
mordr_fire_at_will      = 13
mordr_retreat           = 14
mordr_use_melee_weapons	= 15
mordr_use_ranged_weapons= 16
mordr_fire_at_my_command= 17
mordr_all_fire_now		= 18
mordr_left_fire_now		= 19
mordr_middle_fire_now	= 20
mordr_right_fire_now	= 21
mordr_form_1_row		= 22
mordr_form_2_row		= 23
mordr_form_3_row		= 24
mordr_form_4_row		= 25
mordr_form_5_row		= 26

rordr_free				= 0
rordr_mount				= 1
rordr_dismount			= 2

wordr_use_any_weapon	= 0
wordr_use_blunt_weapons	= 1
wordr_use_melee_weapons	= 2
wordr_use_ranged_weapons= 3

aordr_fire_at_will      = 0
aordr_hold_your_fire    = 1
 
Thanks. They already work with orders. The problem is that the relevant orders disappear in important mission templates.
More specifically, how do I identify the mission_template for camp attacks?
I found the ambush one.
The battlefield commands seem to be turned off in these situations making the script call impossible.

Answer found: The MST called entrenched_encounter is the camp scene. Poor name choice.
I added this to the end of the MST:
+ AI_triggers + heridas_chel + dplmc_battle_mode_triggers + formations_triggers + order_volley_triggers + rider_damage + warcry_chel,
and now can call ranks which calls the equip_bestmeleeweapon script.
It would be nice to just call that script directly in the MST, but I don't seem to be able to get that to work and compile.
It keeps telling me parameters are missing.
Suggestions?
 
How is the MS script scoped?

For example, if I change the fixed point multiplier, will it reset to it's default/previous value upon leaving my code block (whatever that may be...)?
 
gdwitt said:
Thanks.
More specifically, how do I identify the mission_template for camp attacks?
I found the ambush one.
The battlefield commands seem to be turned off in these situations making the script call impossible.

Answer found: The MST called entrenched_encounter is the camp scene. Poor name choice.
I added this to the end of the MST:
+ AI_triggers + heridas_chel + dplmc_battle_mode_triggers + formations_triggers + order_volley_triggers + rider_damage + warcry_chel,
and now can call ranks which calls the equip_bestmeleeweapon script.
It would be nice to just call that script directly in the MST, but I don't seem to be able to get that to work and compile.
It keeps telling me parameters are missing.
Suggestions?

Explain further: include your code where you are trying to call the script (the entire trigger) and where you are adding it. It seems you are simple not doing it right, the script (for 1.41) requires this parameters:

Code:
  # script_equip_best_melee_weapon by motomataru
  # Input: agent id, flag to force shield, flag to force for length ALONE, current fire order
  # Output: none
  ("equip_best_melee_weapon", [
	(store_script_param, ":agent", 1),
	(store_script_param, ":force_shield", 2),
	(store_script_param, ":force_length", 3),
	(store_script_param, ":fire_order", 4),
Code:
(call_script, "script_equip_best_melee_weapon", ":agent", 0, 0, ":fire_order"),

can't tell without a code snippet
 
Here is where I tried and failed at the outset of lead_charge:
(    "lead_charge",mtf_battle_mode|mtf_synch_inventory,charge,
 
(
    "lead_charge",mtf_battle_mode|mtf_synch_inventory,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,[]),
    ], [
      (ti_on_agent_spawn, 0, 0, [], [
        (store_trigger_param_1, ":agent_no"),
        (call_script, "script_force_weapon", ":agent_no"), ###chief anadido para forzar jabalinas#line13here
        ##gdw put (call_script, "script_equip_best_melee_weapon", ":agent", 1, 0, ":fire_order"),
        ##it causes this message:
#          SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 1; LINE NO: 1:
# At script: equip_best_melee_weapon. SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 2; LINE NO: 2:
# At script: equip_best_melee_weapon. SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 3; LINE NO: 3:
# At script: equip_best_melee_weapon. SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 1; LINE NO: 1:
        ###chief anadido para forzar jabalinas#line13here
        (call_script, "script_agent_reassign_team", ":agent_no"),
        (assign, ":initial_courage_score", 4000), #chief cambia a 3500, menos corage al principio
           
        (agent_get_troop_id, ":troop_id", ":agent_no"),
        (store_character_level, ":troop_level", ":troop_id"),
        (val_mul, ":troop_level", 35), #chief aumenta a 35 moral por nivel de tropa
        (val_add, ":initial_courage_score", ":troop_level"), #average : 20 * 35 = 700
#anade corage a tropas al inicio de batalla chief
        (agent_get_troop_id, ":troop_id", ":agent_no"),
        (try_begin),
                (this_or_next|eq,":troop_id","trp_briton_bannerman"),
(this_or_next|eq,":troop_id","trp_saxon_bannerman"),
                (this_or_next|eq,":troop_id","trp_picto_portaestandarte"),
(this_or_next|eq,":troop_id","trp_engle_bannerman"),
(this_or_next|eq,":troop_id","trp_irish_bannerman"),
                (eq,":troop_id","trp_jute_portaestandarte"),
        (val_add, ":initial_courage_score", 400),
                (else_try),
                (this_or_next|eq,":troop_id","trp_jute_cleric"),
(this_or_next|eq,":troop_id","trp_briton_sacerdote"),
                (this_or_next|eq,":troop_id","trp_saxon_sacerdote"),
(this_or_next|eq,":troop_id","trp_picto_sacerdote"),
(this_or_next|eq,":troop_id","trp_pagan_priest"),
(this_or_next|eq,":troop_id","trp_irish_priest"),
                (eq,":troop_id","trp_engle_rxpriest"),
        (val_add, ":initial_courage_score", 100),
                (else_try),
(this_or_next|eq,":troop_id","trp_picto_cuerno"),
                (eq,":troop_id","trp_todos_cuerno"),
        (val_add, ":initial_courage_score", 300),
                (try_end),
#anade corage a tropas al inicio de batalla chief acaba     
       
        (store_random_in_range, ":randomized_addition_courage", 0, 2500), #average : 1500 chief reduce a 2500
        (val_add, ":initial_courage_score", ":randomized_addition_courage"),
                 
        (agent_get_party_id, ":agent_party", ":agent_no"),       
        (party_get_morale, ":cur_morale", ":agent_party"),
       
        (store_sub, ":morale_effect_on_courage", ":cur_morale", 70),
        (val_mul, ":morale_effect_on_courage", 30), #this can effect morale with -2100..900
        (val_add, ":initial_courage_score", ":morale_effect_on_courage"),
       
        #average = 5000 + 700 + 1500 = 7200; min : 5700, max : 8700
        #morale effect = min : -2100(party morale is 0), average : 0(party morale is 70), max : 900(party morale is 100)
        #min starting : 3600, max starting  : 9600, average starting : 7200
        (agent_set_slot, ":agent_no", slot_agent_courage_score, ":initial_courage_score"),
        ]),
,
The script itself: I only need the portion where it focrces them to choose the superior polearm based on item_score:
("equip_best_melee_weapon", [
(store_script_param, ":agent", 1),
(store_script_param, ":force_shield", 2),
(store_script_param, ":force_length", 3),
(store_script_param, ":fire_order", 4),

#priority items
(assign, ":shield", itm_no_item),
(assign, ":weapon", itm_no_item),
(try_for_range, ":item_slot", ek_item_0, ek_head),
(agent_get_item_slot, ":item", ":agent", ":item_slot"),
(gt, ":item", itm_no_item),
(item_get_type, ":weapon_type", ":item"),
(try_begin),
(eq, ":weapon_type", itp_type_shield),
(assign, ":shield", ":item"),
(else_try),
(eq, ":weapon_type", itp_type_thrown),
(eq, ":fire_order", aordr_fire_at_will),
# (agent_get_ammo, ":ammo", ":agent", 0), #assume infantry would have no other kind of ranged weapon
# (gt, ":ammo", 0),
(assign, ":weapon", ":item"), #use thrown weapons first
(try_end),
(try_end),
#select weapon
(try_begin),
(eq, ":weapon", itm_no_item),
(assign, ":cur_score", 0),
(try_for_range, ":item_slot", ek_item_0, ek_head),
(agent_get_item_slot, ":item", ":agent", ":item_slot"),
(gt, ":item", itm_no_item),
(item_get_type, ":weapon_type", ":item"),
(neq, ":weapon_type", itp_type_shield),

(item_get_slot, reg0, ":item", slot_item_needs_two_hands),
(this_or_next|eq, reg0, 0),
(this_or_next|eq, ":force_shield", 0),
(eq, ":shield", itm_no_item),

(try_begin),#equipping longest item for the formation
(neq, ":force_length", 0),
(item_get_slot, ":item_length", ":item", slot_item_length),
(try_begin),
(lt, ":cur_score", ":item_length"),
(assign, ":cur_score", ":item_length"),
(assign, ":weapon", ":item"),
(try_end),
(else_try),
(assign, ":imod", imodbit_plain),
(agent_get_troop_id, ":troop_id", ":agent"),
(try_begin),    #only heroes have item modifications
(troop_is_hero, ":troop_id"),
(try_for_range, ":troop_item_slot",  ek_item_0, ek_head),    # heroes have only 4 possible weapons (equipped)
(troop_get_inventory_slot, reg0, ":troop_id", ":troop_item_slot"),  #Find Item Slot with same item ID as Equipped Weapon
(eq, reg0, ":item"),
(troop_get_inventory_slot_modifier, ":imod", ":troop_id", ":troop_item_slot"),
(try_end),
(try_end),

(call_script, "script_get_item_score_with_imod", ":item", ":imod"),
(lt, ":cur_score", reg0),
(assign, ":cur_score", reg0),
(assign, ":weapon", ":item"),
(try_end),
(try_end),
(try_end),
(agent_get_wielded_item, reg0, ":agent", 0),
(try_begin),
(neq, reg0, ":weapon"),
(try_begin),
(gt, ":shield", itm_no_item),
(agent_get_wielded_item, reg0, ":agent", 1),
(neq, reg0, ":shield"), #reequipping secondary will UNequip (from experience)
(agent_set_wielded_item, ":agent", ":shield"),
(try_end),
(gt, ":weapon", itm_no_item),
(agent_set_wielded_item, ":agent", ":weapon"),
(try_end),
  ]),

I get the sense that this thread is for elite game coders. Should I post questions like this in the forum below?
I try to put my easy questions here, but it's hard to answer because different people mess up the train of ideas.
 
gdwitt said:
Here is where I tried and failed at the outset of lead_charge:

why are you trying to use a script before you setup the parameters?

Code:
 (call_script, "script_equip_best_melee_weapon", ":agent", 1, 0, ":fire_order"),

:agent and :fire_order are not defined nor have a value

        ##gdw put (call_script, "script_equip_best_melee_weapon", ":agent", 1, 0, ":fire_order"),
        ##it causes this message:
#          SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 1; LINE NO: 1:
# At script: equip_best_melee_weapon. SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 2; LINE NO: 2:
# At script: equip_best_melee_weapon. SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 3; LINE NO: 3:
# At script: equip_best_melee_weapon. SCRIPT ERROR ON OPCODE 23: Invalid Script Parameter ID: 1; LINE NO: 1:
 
wrwlf said:
For example, if I change the fixed point multiplier, will it reset to it's default/previous value upon leaving my code block (whatever that may be...)?
No: I think it is reset to 100 at certain times (not exactly sure when, but maybe once per frame), but I suggest you always set the fixed point multiplier to what you need in the same trigger or script block before using any operations that are affected by it. I have had problems in the past where a position related script would sometimes work correctly, other times not; probably depending on whether the engine ran it before or after presentation triggers using a 1000 or 10000 fixed point multiplier.
 
Vornne said:
wrwlf said:
For example, if I change the fixed point multiplier, will it reset to it's default/previous value upon leaving my code block (whatever that may be...)?
No: I think it is reset to 100 at certain times (not exactly sure when, but maybe once per frame), but I suggest you always set the fixed point multiplier to what you need in the same trigger or script block before using any operations that are affected by it. I have had problems in the past where a position related script would sometimes work correctly, other times not; probably depending on whether the engine ran it before or after presentation triggers using a 1000 or 10000 fixed point multiplier.

I guess (hopefully) every code block which needs a specific multiplier will set it itself (oh the joys of programming with mutable global flags/vars  :facepalm:)

EDIT: This position code is driving me nuts, seems like I cannot get a consistent measurement in-game (referring to my question on the previous page about spawning an item flat/flush with the terrain by altering it's rotation).
Has anyone else ever attempted this? Or maybe somebody with some more experience with the position_* ops can provide some more insight.

All I want is to find angle "alpha" in this case:
example2.jpg

Here's my test code so far:
Code:
        # experimenting with precision values...
        (set_fixed_point_multiplier, 10000),
        (get_player_agent_no, l.player),
        (agent_get_position, pos0, l.player),
        
        (copy_position, pos1, pos0),
        
        (position_move_y, pos1, 60),
        (position_set_z_to_ground_level, pos1),
        
        (position_get_z, reg0, pos0),
        (position_get_z, reg1, pos1),
        (display_message, "@Original Height: {reg0}", 0x0000FF),
        (display_message, "@Offset   Height: {reg1}", 0x00FF00),
        
        (assign, l.offset_oppDIVadj, reg1),
        (val_mul, l.offset_oppDIVadj, 100),
        (val_div, l.offset_oppDIVadj, 60),
        (store_tan, l.offset_tan, l.offset_oppDIVadj),
        (store_atan, l.offset_rot, l.offset_tan),
        
        (assign, reg0, l.offset_rot),
        (display_message, "@Offset Rotation Angle: {reg0}", 0x00FF00),
        (position_rotate_x_floating, pos0, l.offset_rot),

        (set_spawn_position, pos1),
        (spawn_item, itm.test, 0, 0),

Definitely appreciate any help, thanks!
 
Short Q,

  I've selected wheat from the Edit Mode in Warband. It's just a plant.

  Making a wheat field would mean about hundreds of wheat, and hundreds of props. Any convenient alternative that I'm missing out?
 
You might be able to just place five wheat props, then select them all, and just keep copy-pasting them. That way it'll go 5 times faster.

Can't confirm if it's actually possible, though. #JacobGuideMe
 
You can't copy-paste stuff in edit mode, unfortunately. And having that number of props will make edit mode much slower (unless you press H to disable object detection), and make scenes take forever to load. Use fewer scene props wherever possible, even if the eventual polycount is higher.

On the other hand, even if you have 100,000 polygons of wheat (a few acres) in a single scene prop, it has a tendency to corrupt the scene since reloading it forces all the static shadows to be re-rendered (I assume), which causes runtime errors.
 
There is a major stuttering problem with Brtenwalda much worse that what I experienced in 1257AD.\ the screen stutters by shaking vertically for 2 seconds.
Then only the compass, messaging and calender shake while the screen says "pausing" for another 15-20 seconds.
Meanwhile, control over one's icon on the map is lost.
The groups on the map continue to run about as if nothing is happening.
Players say the mod is unplayable because of this.

I am pretty certain it has to do with a triggered script(s) because it happens at the exact same time each day.
I am not sure I can get rid of the stuttering though suggestions would be helpful.

If that is the way it is, how can I change the time when scripts run to night time when most players are at camp and it won't be a nuisance.
I am guessing there's a trigger I can adjust for running political and economic calculations.

I've been inserting display_debug_message in many of the bigger routine scripts as you can see:
DEBUG -- hardship index for Seals-ey = 1
DEBUG -- hardship index for Din Eidyn = 3
DEBUG -- hardship index for Caer Ligualid = 3
DEBUG -- hardship index for Caer Luit Coyt = 2
DEBUG -- hardship index for Dorce Ceaster = 3
DEBUG -- hardship index for Caer Uisc = 2
DEBUG -- hardship index for Searoburh = 2
DEBUG -- hardship index for Dun At = 1
DEBUG -- hardship index for Caer Meguaidd = 2
DEBUG -- hardship index for Brycheiniog = 0
DEBUG -- hardship index for Llys Pengwern = 2
DEBUG -- hardship index for Din Bych = 1
DEBUG -- hardship index for Cruaghan = 0
DEBUG -- hardship index for Temair = 1
DEBUG -- hardship index for Aileach = 2
DEBUG -- hardship index for Monid Crobh = 1
DEBUG -- hardship index for Dun Iasgach = 1
DEBUG -- hardship index for Dun Taruo = 3
DEBUG -- hardship index for Din Cado = 3
DEBUG -- hardship index for Caer Lloyw = 0
DEBUG -- hardship index for Loch Gabar = 0
DEBUG -- hardship index for Dinas Powys = 0
DEBUG -- hardship index for Theodford = 0
DEBUG -- hardship index for Colne Ceaster = 0
DEBUG -- hardship index for Dinas = 0
DEBUG -- hardship index for Esterteferd = 0
DEBUG -- hardship index for Kelliwic = 0
DEBUG -- hardship index for Caer Magnis = 0
DEBUG -- hardship index for Gyldeford = 0
DEBUG -- hardship index for Cathair Chomain = 0
DEBUG -- hardship index for Ard Ladhrann = 0
DEBUG -- hardship index for Caer Caratauc = 0
DEBUG -- hardship index for Ath Cormac = 0
DEBUG -- hardship index for Vintan Ceaster = 0
DEBUG -- hardship index for Boweseia = 0
DEBUG -- hardship index for Ligor Ceaster = 0
DEBUG -- hardship index for Caer Manaw = 0
DEBUG -- hardship index for Din Rheged = 0
DEBUG -- hardship index for Duin Ollaigh = 0
DEBUG -- hardship index for Caer Aeron = 0
DEBUG -- hardship index for Caer Caradawg = 0
DEBUG -- hardship index for Middelsburh = 0
The problem with these debuggers is that they MIGHT be making the problem worse.
Is that true?

I understand that BW has many scripts that run on 12, 24 and 36 hour schedules.
How can I diagnose which one of these is causing the problem?

How can I set it to run at 3am?
Here's a time-set trigger from mst:
Code:
common_custom_battle_tab_press,
      common_custom_battle_question_answered,
      common_inventory_not_available,
      (ti_before_mission_start, 0, 0, [],
       [         (scene_set_day_time, 15),         ]),

It might help if I can set the game to start at 3am. Currently it starts in the early morning and the game stutters each morning for the rest of the game.
 
Interesting idea.
#  Each trigger contains the following fields:
# 1) Check interval: How frequently this trigger will be checked
# 2) Delay interval: Time to wait before applying the consequences of the trigger
#    After its conditions have been evaluated as true.
# 3) Re-arm interval. How much time must pass after applying the consequences of the trigger for the trigger to become active again.
#    You can put the constant ti_once here to make sure that the trigge
r never becomes active again
Here's some more information:
In the new game, the stuttering lasts about from 4-6pm.
I tabbed out of the game and opened up RGL_log.
This has printed out since the last look:
Best threat of Abercrdf has value level of 0
Best threat of Abercrdf has value level of 0
No center found to attack
No center found to defend
No center found to defend
No center found to attack
No center found to defend
No center found to defend
No center found to attack
No center found to defend
No center found to defend
No center found to attack
No center found to defend
No center found to defend
No center found to attack
No center found to defend
No center found to defend
No center found to attack
No center found to defend
No center found to defend
Log entry 33: type 5
DEBUG -- hardship index for Linnuis = 3
Log entry 34: type 5
DEBUG -- hardship index for Lundenwic = 4
Log entry 35: type 5
DEBUG -- hardship index for Caer Went = 4
DEBUG -- Doing political calculations for Ealdorman Ceadda Cuthwining
DEBUG -- Doing political calculations for Ealdorman Cynebald Cuthwining
DEBUG -- Calculating sortie for Gyldeford strength of 4668 vs 5473 enemies
Army of enemies spotted near <p=85>Gyldeford</>.
DEBUG -- Doing political calculations for Ealdorman Saebbi Seaxreding
DEBUG -- Ealdorman Saebbi Seaxreding backs Ealdorman Saebbi Seaxreding:I chose the most valiant of our nobles, whom I trust, and whose name is not currently tainted by controversy.
DEBUG -- Doing political calculations for Ealdorman Swithhelm Seaxbalding
DEBUG -- Ealdorman Swithhelm Seaxbalding backs Ealdorman Swithhelm Seaxbalding:I chose the most valiant of our nobles, whom I trust, and whose name is not currently tainted by controversy.
DEBUG -- Calculating sortie for Lundenwic strength of 5473 vs 4668 enemies
Army of enemies spotted near <p=35>Lundenwic</>.
DEBUG -- Doing political calculations for Ealdorman Swithfrith Seaxbalding
DEBUG -- Ealdorman Swithfrith Seaxbalding backs Ealdorman Swithhelm Seaxbalding:I chose the most valiant of our nobles, whom I trust, and whose name is not currently tainted by controversy.
DEBUG -- Doing political calculations for Aetheling Eormin Annaning
DEBUG -- Aetheling Eormin Annaning backs Aetheling Eormin Annaning:I chose the most valiant of our nobles, whom I trust, and whose name is not currently tainted by controversy.
DEBUG -- Calculating sortie for Norwic strength of 2434 vs 2141 enemies
Significant group of enemies spotted near <p=105>Norwic</>.
DEBUG - Main party raw strength 15, terrain code -2, modified strength 15
  DEBUG - Enemy party raw strength 6707, terrain code -2, modified strength 6779
DEBUG -- Prosperity: 70

How does setting the delay work?
Here is a trigger that checks for the presence of a quest condition.
Does this mean it checks every .1 hours or once a day at .1 hours?
Code:
(0.1, 0, ti_once,
[
(check_quest_active,"qst_mod_trouble"),
(quest_slot_eq,"qst_mod_trouble",slot_quest_current_state,1),
(store_time_of_day,reg(100)),
(gt,reg(100),12)
],
[
(set_spawn_radius,0),
However, there are no RAM-hogging scripts in Triggers.
They are all in simple_triggers, which only allows one time number (usually a 12 or 24):
####################################################################################################################
# Simple triggers are the alternative to old style triggers. They do not preserve state, and thus simpler to maintain.
#
#  Each simple trigger contains the following fields:
# 1) Check interval: How frequently this trigger will be checked
# 2) Operation block: This must be a valid operation block. See header_operations.py for reference.
####################################################################################################################

Would someone advise I convert simple triggers to triggers? Wont' that mess something up?
Why were they not built in triggers in the first place?

The other issue is that most of the time these scripts run in the afternoon eventhough, like you said, the game starts about 6am.
 
Status
Not open for further replies.
Back
Top Bottom