Loader
logo

Recent posts

#1
V9.0 / Follow-up: Bunch of warnings a...
Last post by tos1 - April 15, 2024, 07:02:09 PM
Related topic (v8.* but inherited to v9.3):
"Re: Unmotivated practice melee fighters in arenas" by me

Warning-lines displayed at the beginning of melee fight at arenas. They block the normal message for 20 - 30 seconds.
----
SCRIPT WARNING ON OPCODE 505: Invalid Agent ID: 0; LINE NO 6:
At Mission Template mst_arena_melee_fight trigger no: 33 consequences.
At Mission Template mst_arena_melee_fight trigger no: 33 consequences.
At Mission Template mst_arena_melee_fight trigger no: 33 consequences.
:
----

As I wrote in the self-reply to the thread above on 2023-12-12, it is too early to set all 40 agent slots before they spawn.

I experimentally removed the try-block and moved the "agent_set_slot" operation just before the "try_end" of the next trigger 34's exit, and there seems to be no problem. This prevents the warning from appearing and allows normal messages to be displayed without delay.

(Please note that this does not correct the "unmotivated fighters" I pointed out in the topic above.)

My hand-disassembly:
AWoIaF 9.3  mission_templates.txt  mst_arena_melee_fight

#---- trigger 33 (count from 0)
0.000000, 0.000000, ti_once,
[],
[
eq "$g_mt_mode" 1       # 31 2 144115188075856304 1
assign "$g_arena_training_max_opponents" 40     # 2133 2 144115188075856710 40
assign "$g_arena_training_num_agents_spawned" 0 # 2133 2 144115188075856708 0
assign "$g_arena_training_kills" 0      # 2133 2 144115188075856709 0
assign "$g_arena_training_won" 0        # 2133 2 144115188075856711 0
###################### Remove 3 lines below to fix the warning.
try_for_range ":L0" 0 "$g_arena_training_max_opponents" # 6 3 1224979098644774912 0 144115188075856710
  agent_set_slot ":L0" 7 0      # 505 3 1224979098644774912 7 0
try_end # 3 0
######################
call_script "script_music_set_situation_with_culture" 131072    # 1 2 936748722493063661 131072
],

#---- trigger 34 (count from 0)
ti_on_agent_spawn, 0.000000, 0.000000,
[
eq "$g_mt_mode" 1   # 31 2 144115188075856304 1
],
[
store_trigger_param_1 ":L0"   # 2071 1 1224979098644774912
agent_get_troop_id ":L1" ":L0"   # 1718 2 1224979098644774913 1224979098644774912
try_begin   # 4 0
  eq ":L1" "trp_player"[Player]   # 31 2 1224979098644774913 360287970189639680
  agent_set_team ":L0" 6   # 1771 2 1224979098644774912 6
else_try   # 5 0

:

  agent_set_team ":L0" ":L3"   # 1771 2 1224979098644774912 1224979098644774915
  val_add "$g_arena_training_num_agents_spawned" 1   # 2105 2 144115188075856708 1
  ###################### Add a line below. Probably here is the right place to initialize the slot.
  agent_set_slot ":L0" 7 0      # 505 3 1224979098644774912 7 0
  ######################
try_end   # 3 0
],
#2
V9.0 / Re: Melee (crowd) fight at are...
Last post by tos1 - April 15, 2024, 05:45:30 PM
Follow-up.
After doing hand-disassembly of v9.3, I've just found the cause.
In the mst_arena_melee_fight, "$g_arena_training_num_agents_spawned" is increased twice in total at trigger 34 and 37 (counted from 0) per spawning.

I don't know if it's okay to simply delete one or the other, but after I experimentally deleted the latter, the number of remaining fighters returned to normal (finishing at about 40).

(Among the other issues above, I have also made progress on the WARNING, so I will write a follow-up on another topic.)

- Game version (and steam or downloaded):
AWoIaF v9.3 - v9.0. Warband v1.174 downloaded
(v8.2 doesn't have the problem)
#3
Help & Support / WSE2 version 9 update installa...
Last post by jwlbigdog - April 09, 2024, 04:56:15 AM
I'm reposting this from the moddb forum. In summary, when the 9.0 update was released, I was not able to update WSE2. Eventually, I reinstalled after the 9.3 release. Now, although WSE2 correctly displays the version as 9.3, every tool tip says "STR NOT FOUND: ui_etc-etc". I'm not sure what is installed incorrectly at this point. I'm unable to attach a screenshot, as for some reason, the file size is too large.

Appreciate any assistance!
#4
V9.0 / Follow-up: A pet dog blocks to...
Last post by tos1 - April 03, 2024, 02:55:20 PM
Related topic:
A pet dog blocks to retreat from battle field

It is about an issue where we cannot use the Tab key to leave the battle field when the pet dog is nearby. I disassembled the code and have just found out the cause and the solution.

Current code (v9.3)
---- cf_check_enemies_nearby in script.txt
get_player_agent_no ":L0"   # 1700 1 1224979098644774912
agent_is_alive ":L0"   # 1702 1 1224979098644774912
agent_get_position 1 ":L0"   # 1710 2 1 1224979098644774912
assign ":L1" 0   # 2133 2 1224979098644774913 0
set_fixed_point_multiplier 100   # 2124 1 100
try_for_agents ":L2"   # 12 1 1224979098644774914
  neq ":L2" ":L0"   # 2147483679 2 1224979098644774914 1224979098644774912
  agent_is_alive ":L2"   # 1702 1 1224979098644774914
  agent_is_human ":L2"   # 1704 1 1224979098644774914
  agent_is_ally|neg ":L2"   # 2147485354 1 1224979098644774914
  this_or_next|neq "$wolf_companion" 1   # 3221225503 2 144115188075855957 1
  this_or_next|neq "$dog_companion" 1   # 3221225503 2 144115188075855959 1
  this_or_next|neq ":L2" "$player_wolf_agent_no"   # 3221225503 2 1224979098644774914 144115188075856612
  neq ":L2" "$player_dog_agent_no"   # 2147483679 2 1224979098644774914 144115188075856614
  agent_get_position 2 ":L2"   # 1710 2 2 1224979098644774914
  get_distance_between_positions ":L3" 1 2   # 710 3 1224979098644774915 1 2
  lt ":L3" 1000   # 2147483678 2 1224979098644774915 1000
  assign ":L1" 1   # 2133 2 1224979098644774913 1
try_end   # 3 0
eq ":L1" 0   # 31 2 1224979098644774913 0
----

Currently, the code block for dog/wolf is OR of 4 conditions, so when loop variable L2 is the pet dog agent and there is no wolf in the party, it badly proceed to the distance check.

A correct logic should be:
"if (A and B) or (C and D) then skip to next agent"
As you know, if we write this as code as is, we will need to add variables and registers for flags, so let's convert it to "not( AND of not(OR)s )" using De Morgan's law:
"if not ( (not A or not B) and (not C or not D) ) then skip to next agent"
In other words,
"if (not A or not B) and (not C or not D) then check distance"

I don't know if we can have the dog and wolf in the party at the same time, but that case also should cause no problem at the last logic above. That's because the loop variable ":L2" cannot represent two agents at the same time and "if (not TRUE or not TRUE) and (not TRUE or not TRUE)" never happen even if both animal is in the party.

In conclusion, it is necessary to add a try-block as shown below, and the judgement of "$player_wolf_agent_no" must be "neq" immediately after "$wolf_companion", and the 4 judgements and the distance checking must be in the newly added try-block.

A correct code.
---- cf_check_enemies_nearby in script.txt
get_player_agent_no ":L0"   # 1700 1 1224979098644774912
agent_is_alive ":L0"   # 1702 1 1224979098644774912
agent_get_position 1 ":L0"   # 1710 2 1 1224979098644774912
assign ":L1" 0   # 2133 2 1224979098644774913 0
set_fixed_point_multiplier 100   # 2124 1 100
try_for_agents ":L2"   # 12 1 1224979098644774914
  neq ":L2" ":L0"   # 2147483679 2 1224979098644774914 1224979098644774912
  agent_is_alive ":L2"   # 1702 1 1224979098644774914
  agent_is_human ":L2"   # 1704 1 1224979098644774914
  agent_is_ally|neg ":L2"   # 2147485354 1 1224979098644774914
  try_begin   # 4 0
    this_or_next|neq "$wolf_companion" 1   # 3221225503 2 144115188075855957 1
    neq ":L2" "$player_wolf_agent_no"   # 2147483679 2 1224979098644774914 144115188075856612
    this_or_next|neq "$dog_companion" 1   # 3221225503 2 144115188075855959 1
    neq ":L2" "$player_dog_agent_no"   # 2147483679 2 1224979098644774914 144115188075856614
    agent_get_position 2 ":L2"   # 1710 2 2 1224979098644774914
    get_distance_between_positions ":L3" 1 2   # 710 3 1224979098644774915 1 2
    lt ":L3" 1000   # 2147483678 2 1224979098644774915 1000
    assign ":L1" 1   # 2133 2 1224979098644774913 1
  try_end   # 3 0
try_end   # 3 0
eq ":L1" 0   # 31 2 1224979098644774913 0
----

After experimentally editing the relevant part of the txt file as shown above, I tried Tab key in cases below and found no problem:
"Only the dog is nearby", "Dog and ally soldier are nearby", "Only enemy soldiers are nearby", "Dog and enemy soldiers are nearby", "Only ally soldiers are nearby", "No one is nearby".

I haven't tried the case where both the dog and wolf are in the party at the same time.

- How to reproduce it/when/why it happens:
Play until you get the pet dog or pet wolf, start a battle, hit Tab key when the dog is near the player. Try that also for all conceivable cases.

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
(Note: v8.* and v7.11 has the same logic in the script.)
#5
V9.0 / Fatal hole in Lorathi arena
Last post by tos1 - March 30, 2024, 08:14:49 PM
I don't know if it was intentional, but the small triangular hole along the wall opposite to the big door in the Lorathi arena is so deep that the player character can't get out if falls into it.



- How to reproduce it/when/why it happens:
Visit "Lorath", "Visit the training grounds", start melee (crowd) fight. Walk to the point farthest from the big door, search for the hole nearby (one of 2 holes), and dive into it.

- Game version (and steam or downloaded):
AWoIaF v9.3, v8.2. Warband v1.174 downloaded
#6
V9.0 / Sticky wooden deck in Storms E...
Last post by tos1 - March 30, 2024, 08:11:04 PM
When the player character (and also other agents?) comes into contact with the covered wooden deck (where the tournament master is standing) at the end near the castle, she/he gets stuck and cannot escape from it.

(We may have a chance to escape by taking a screenshot using Ctrl Insert.)



- How to reproduce it/when/why it happens:
Visit "Storms End", "Visit the training grounds", start melee (crowd) fight (or "Join the competitions" if a tournament is being held). Walk and contact with the wooden stage.

- Game version (and steam or downloaded):
AWoIaF v9.3, v8.2. Warband v1.174 downloaded
#7
V9.0 / Beric Dondarion's "book" neede...
Last post by tos1 - March 27, 2024, 09:27:44 AM
(Spoiler)

In the quest "A Lannister always pays his debts" from Beric Dondarion at Hollow Hill:
1. It's hard that the player remembers the need for a book from the Beric's words "You lying ..." and the quest text "Beric Dondarrion has asked ...". (Especially when there was a real-week playing gap between accepting the quest and the battle.) Both texts should include words for the book.
2. The speaker of "You lying ..." and "The only one ..." must be Beric.



Related lines:

Quest
---- ### The book should be mentioned here.
qst_relic_text|Beric Dondarrion has asked you to despatch a Lannister raiding party that has been reported pillaging the villages around Hollow Hill. Once completed, you must return to Beric.
----

Dialog
----
dlga_start:relic_find_question
Have you dispatched the Lannister raiding party yet?
----
dlga_relic_find_question:relic_znaleziona
Yes! They all lie slaughtered. They won't be causing any more problems around here.
----
dlga_relic_find_question:close_window
No, not yet.
----
dlga_relic_find_question:relic_cannot_complete
I am afraid I have failed. They managed to escape.
----

----
dlga_relic_znaleziona:close_window
Excellent! I've something a little different as your reward, {playername}. This book you recovered, It's extremely valuable and now it's yours. Feel free to sell it if you don't want to keep it for yourself.
----

---- ### The book should be mentioned here, and ### the speaker must be Beric.
dlga_relic_znaleziona:close_window.1
You lying bastard! You remember me saying, 'We've been watching you'?!
----

---- ### The speaker must be Beric.
dlga_relic_cannot_complete:close_window
The only one that has failed is me, thinking someone like you would have been able to succeed in the first place.
----

- How to reproduce it/when/why it happens:
Visit Beric Dondarrion, accept the quest, find the enemy, and fight. Test all combinations (a) x (b); (a) Return with the book / without the book (*1), (b) Select "Yes! They all lie ... " / "I am afraid I ...". Check the dialog text and the quest text. Check the speaker of "You lying ..." and "The only one ...".

*1  To make the situation "without the book", fill up the inventory before the fight or abandon/sell the book after the fight.

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
#8
Help & Support / Sea Smoke
Last post by Dovabearsk - March 26, 2024, 01:42:14 PM
So did anyone manage to locate the Sea Smoke sword chest? Ive been looking all over Driftmark, but found nothing.
#9
V9.0 / Unspecified text in lord info ...
Last post by tos1 - March 26, 2024, 11:17:41 AM


The image above is of AWoIaF v8.2 but the code seems to be unchanged for v9.3.

As long as I did disassemble the code in the script dplmc_troop_political_notes_to_s47, it seems that the initialization for s45 is possibly not done before it is used for s47.

----
  str_store_string 47 "str_s46s45s44s48[{!}{s46}{s45}{s44}{s48}]"   # 2320 2 47 216172782113786834
----

s45 is set only while the try_for_range loop (from 35 to < 38) as the 71st (from 0) operation in the script. When the two str_store_string here are skipped, s45 (global scope AFAIK) retains an old value before coming to this script.

----
    try_for_range ":L5" 35 38   # 6 3 1224979098644774917 35 38
      troop_get_slot ":L6" ":L0" ":L5"   # 520 3 1224979098644774918 1224979098644774912 1224979098644774917
      is_between ":L6" "trp_knight_1_1_wife"[Error_-_knight_1_1_wife_should_not_appear_in_game] "trp_heroes_end"[{!}heroes_end]   # 33 3 1224979098644774918 360287970189640928 360287970189641170
      str_store_troop_name 39 ":L6"   # 2322 2 39 1224979098644774918
      call_script "script_troop_get_relation_with_troop" ":L0" ":L6"   # 1 3 936748722493063679 1224979098644774912 1224979098644774918
      str_store_string 45 "str_dplmc_s40_love_interest_s39[{s40}. Aside from that his love interest is {s39}.]"   # 2320 2 45 216172782113788301
      try_begin   # 4 0
        troop_slot_eq ":L0" 34 ":L6"   # 540 3 1224979098644774912 34 1224979098644774918
        str_store_string 45 "str_dplmc_s40_betrothed_s39[{s40}. Aside from that he is betrothed to {s39}.]"   # 2320 2 45 216172782113788302
      try_end   # 3 0
    try_end   # 3 0
----

It seems that two sub scripts called from it also don't set s45.
----
call_script "script_troop_get_relation_with_troop" ":L0" ":L4"   # 1 3 936748722493063679 1224979098644774912 1224979098644774916
call_script "script_troop_get_relation_with_troop" ":L0" ":L6"   # 1 3 936748722493063679 1224979098644774912 1224979098644774918
call_script "script_troop_get_relation_with_troop" ":L0" ":L2"   # 1 3 936748722493063679 1224979098644774912 1224979098644774914
----
call_script "script_calculate_troop_political_factors_for_liege" ":L0" ":L2"   # 1 3 936748722493063676 1224979098644774912 1224979098644774914
----

I haven't looked into the details of whether the castle menu uses s45 to display the "Manage this castle".
----
qstr_Manage_this_{reg0?to
Manage this {reg0?town:castle}
----

Other related parts.
----
str_dplmc_reputation_upstanding
It is said that {s46} is an upstanding person.
----
str_dplmc_relation_mnus_30_ns
{reg4?She:He} seems to be resentful against {s59}.
----

- How to reproduce it/when/why it happens:
Play as an independent faction, attack and get a enemy's castle. Hire the Master of Whisperers, visit the castle, meet him, select "I require information about a lord.", "The Vale", and "Lord Brynden Tully" (or "Lord Edmure Tully"). Repeat the visiting till unexpected text inserted after the first sentence.

- Game version (and steam or downloaded):
AWoIaF v9.3, v8.2. Warband v1.174 downloaded
#10
V9.0 / Spawn point in the Lorathi are...
Last post by tos1 - March 18, 2024, 03:42:55 PM
During melee fights (crowd) in the arena of Lorath, some participants are trapped behind a large door and cannot enter into the arena, forcing the player to abort the fight using the Tab key. Sometimes also the player character is trapped at the initial random position. Either the spawn point is at wrong position or the closed door is wrong.

As I observed, the participants who were lucky enough to enter the arena seemed to pop out from within the wall near the door.



- How to reproduce it/when/why it happens:
Visit Lorath, visit the arena, take part in melee (crowd) fight, stand near the large door, face it, observe the wall in your left, and wait (i.e. fight) until participants emerge from the wall. As you repeatedly do the fight, there is a chance that you will see a participant or your character trapped on the other side of the door.

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded