I used the module system to decipher things, actually. After you figure out the codes for things you can just search for that number to find what you're looking for.
As far as editing the salary, it really is easier with the module system
The code for the mercenary pay trigger in the module system is:
#Mercenary Pay day.
(6,
[
(store_current_hours, ":cur_hours"),
(try_begin),
(ge, ":cur_hours", "$mercenary_service_next_pay_time"),
(call_script, "script_party_calculate_strength", "p_main_party", 0),
(assign, "

ffer_value", reg0),
(val_div, "

ffer_value", 2),
(val_add, "

ffer_value", 30),
(call_script, "script_round_value", "

ffer_value"),
(val_add, "$mercenary_service_accumulated_pay", reg0),
(store_add, "$mercenary_service_next_pay_time", ":cur_hours", 7 * 24),
(try_end),
]),
Which basically does this: Takes the current time every 6 hours, compares it to the last time mercenary wages have been taken, and if it has been over a week it continues. It then calls script_party_calculate_strength, which is in scripts.txt and assigns a number for the strength level of each stack of troops and adds it all up. That script assigns the number it gets to reg0. Then it takes reg0 and sets it as

ffer_value. Then it divides offer_value by 2, adds 30, and then calls script_round_value using offer_value as the input. That script does a big roundoff - if the number is less than 100 (1-99) it rounds it off to a multiple of 10 - so under 5 = 0, 5-14 = 10, etc on up to 95-99 = 100. If the number is more than 99 but less than 300 (100-299) it rounds it off to multiples of 50. So 100-124 = 100, 125-174 = 150, 175-224 = 200, etc. If it's over 299, it rounds if off to multiples of 100. In this case 349 would be 300, 350-449 = 400, etc. It then takes the rounded value from that script (again assigned to reg0, lots of scripts do that) and adds it to the accumulated pay, which is given to you when you ask the King for your pay. It also adds 1 week (7x24=16

to the mercenary pay time, so you won't get the pay to trigger for another week.
The trigger for the mercenary pay in text is:
6.000000 11 2270 1 1224979098644774912 4 0 30 2 1224979098644774912 144115188075855953 1 3 936748722493063209 648518346341351424 0 2133 2 1224979098644774913 72057594037927936 2108 2 1224979098644774913 2 2105 2 1224979098644774913 30 1 2 936748722493063384 1224979098644774913 2105 2 144115188075855932 72057594037927936 2120 3 144115188075855953 1224979098644774912 168 3 0
In this case, the 6.000000 is the interval time. The 11 is the number of lines to follow (if you count the above script, it has 11 lines of code). The 2270 is store_current_hours, the 1 is the number of things used in that function, and the 1224979098644774912 is the number used for the first local variable in every script or trigger (in this case, :cur_hours). It then continues along with the same exact format - the 4 is try_begin, the 0 being part of that (0 bits to follow), then the 30 is ge (greater than or equal to), and so on and so forth. Breaking it up into the 11 lines you get:
6.000000 11
01 2270 1 1224979098644774912
02 4 0
03 30 2 1224979098644774912 144115188075855953
04 1 3 936748722493063209 648518346341351424 0
05 2133 2 1224979098644774913 72057594037927936
06 2108 2 1224979098644774913 2
07 2105 2 1224979098644774913 30
08 1 2 936748722493063384 1224979098644774913
09 2105 2 144115188075855932 72057594037927936
10 2120 3 144115188075855953 1224979098644774912 168
11 3 0
These lines directly relate to the module system code above.
Comparing the two, you can see that editing the 2 or the 30 would affect the pay. The 2 is the divisor, changing it to 1 would double the troop power based pay. The 30 is simply added to it, and would be a direct bonus to wages regardless of troop power. You could also change the 2108. 2108 is calling for val_div, if you changed it to 2107 it would be val_mul (as in, multiply instead of divide). Doing this you could make it effectively 4x the pay per troop power (instead of dividing by 2, you're multiplying by 2, so 4x). Or you could change both the 2 and the 2108 to make it multiply by a higher number.
I didn't innately know what val_mul, val_div, try_begin, etc etc were. I looked them up in the module system, every operation is listed inside header_operations. If you understand how it's all sorted, you can easily divide a script into lines like I did above and quickly look up the various operations to figure out exactly what's going on. Not quite as easy as just reading the module system, but it works. The module system is much easier for doing any modifications if you have it though, as it has useful comments like "#Mercenary Pay Day" which helps you figure out what's what - without such comments figuring out which trigger was mercenary pay day might have been difficult.