Results 1 to 4 of 4

Thread: set_counter dont work?

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Default set_counter dont work?

    Hello all.I have problem with Garrisоn script
    This is my script:
    Spoiler Alert, click show to read: 

    declare_counter f1
    declare_counter g1

    monitor_event SettlementTurnStart not SettlementIsLocal
    and SettlementName Paris
    set_counter g1 0
    end_monitor
    monitor_event SettlementTurnStart SettlementIsLocal
    and SettlementName Paris
    set_counter g1 1
    end_monitor

    inc_counter f1 1
    ;;;;;;;;;;;;;;;;;;;script;;;;;;;;;;;;;;;
    monitor_event ButtonPressed ButtonPressed siege_maintain_button
    if I_SettlementUnderSiege Paris
    and I_CompareCounter g1 = 0
    and I_CompareCounter f1 > 1
    create_unit Paris, Mercenary Spearmen, num 1, exp 1, arm 0, wep 0
    create_unit Paris, Breton Light Cavalry, num 1, exp 1, arm 0, wep 0
    create_unit Paris, Breton Light Cavalry, num 1, exp 1, arm 0, wep 0
    create_unit Paris, Mercenary Pavise Crossbowmen, num 1, exp 1, arm 0, wep 0
    set_counter f1 1
    end_if
    end_monitor

    But i have 2 problems
    1)Units can spawn twice if i pressed Begin Siege.set_counter f1 1 dont work?
    2)Units Spawn Through time when I press(i.e I press Begin Siege Units dont spawn,if pressed Once again-Units spawn successful

    I need help

  2. #2

    Icon1 Re: set_counter dont work?

    Try this:
    Spoiler Alert, click show to read: 
    Code:
    declare_counter paris_units 
    declare_counter paris_ai
    
    	monitor_event SettlementTurnStart not SettlementIsLocal
    		and SettlementName Paris
    		set_counter paris_ai 0
    	end_monitor
    
    	monitor_event SettlementTurnStart SettlementIsLocal
    		and SettlementName Paris
    		set_counter paris_ai 1
    	end_monitor
    
    ;;;;;;;;;;;;;;;;;;;script;;;;;;;;;;;;;;;
    
    	monitor_event ButtonPressed ButtonPressed siege_maintain_button
    		if I_SettlementUnderSiege Paris
    		and I_CompareCounter paris_ai = 0
    		and I_CompareCounter paris_units = 0
    		create_unit Paris, Mercenary Spearmen, num 1, exp 1, arm 0, wep 0
    		create_unit Paris, Breton Light Cavalry, num 1, exp 1, arm 0, wep 0
    		create_unit Paris, Breton Light Cavalry, num 1, exp 1, arm 0, wep 0
    		create_unit Paris, Mercenary Pavise Crossbowmen, num 1, exp 1, arm 0, wep 0
    		set_counter paris_units 1
    	end_if
    	end_monitor

  3. #3

    Default Re: set_counter dont work?

    Quote Originally Posted by TNZ View Post
    Try this:
    Spoiler Alert, click show to read: 
    Code:
    declare_counter paris_units 
    declare_counter paris_ai
     
        monitor_event SettlementTurnStart not SettlementIsLocal
            and SettlementName Paris
            set_counter paris_ai 0
        end_monitor
     
        monitor_event SettlementTurnStart SettlementIsLocal
            and SettlementName Paris
            set_counter paris_ai 1
        end_monitor
     
    ;;;;;;;;;;;;;;;;;;;script;;;;;;;;;;;;;;;
     
        monitor_event ButtonPressed ButtonPressed siege_maintain_button
            if I_SettlementUnderSiege Paris
            and I_CompareCounter paris_ai = 0
            and I_CompareCounter paris_units = 0
            create_unit Paris, Mercenary Spearmen, num 1, exp 1, arm 0, wep 0
            create_unit Paris, Breton Light Cavalry, num 1, exp 1, arm 0, wep 0
            create_unit Paris, Breton Light Cavalry, num 1, exp 1, arm 0, wep 0
            create_unit Paris, Mercenary Pavise Crossbowmen, num 1, exp 1, arm 0, wep 0
            set_counter paris_units 1
        end_if
        end_monitor
    It work very good.Units is spawn good....But on next turn Units dont spawn
    I write this,but why is dont work?
    Spoiler Alert, click show to read: 

    declare_counter f200
    declare_counter g200

    monitor_conditions not I_SettlementUnderSiege Mensk
    and I_CompareCounter f200 = 1
    set_counter f200 0
    end_monitor

    monitor_event ScrollOpened ScrollOpened siege_scroll
    if I_SettlementUnderSiege Mensk
    and I_CompareCounter f200 = 0
    and I_CompareCounter g200 = 0
    create_unit Mensk, Mercenary Spearmen, num 1, exp 1, arm 0, wep 0
    create_unit Mensk, Mercenary Spearmen, num 1, exp 1, arm 0, wep 0
    create_unit Mensk, Mercenary Frankish Knights, num 1, exp 1, arm 0, wep 0
    create_unit Mensk, Mercenary Frankish Knights, num 1, exp 1, arm 0, wep 0
    create_unit Mensk, Macemen, num 1, exp 1, arm 0, wep 0
    set_counter f200 1
    end_if
    end_monitor

  4. #4

    Default Re: set_counter dont work?

    Hi all !

    I've manually changed SS6.4 from 1TPY to 2TPY. Everything works fine, including ageing, except 2 things:
    - BGR4 recap scripts doesn't show any longer
    - Impossible to alt+tab (basically I've got to ctrl+alt+del or let whatever background window opened to go back to OS)

    Here's my new script if it can help :

    Code:
    declare_counter semester
    set_counter semester 1
    monitor_event FactionTurnEnd FactionType slave
     and I_CompareCounter semester > 1
     console_command season summer
    end_monitor 
    monitor_event PreFactionTurnStart FactionIsLocal ; set the season for each semester
         if I_CompareCounter semester == 1 ;April, May, June, July, Aug, Sept
          console_command season summer
         end_if
     
         if I_CompareCounter semester == 2 ;Oct, Nov, Dec, Jan, Feb, March
          console_command season winter
         end_if
     
         inc_counter semester 1 ;advance the semester
         if I_CompareCounter semester == 3 ;start a new year
          set_counter semester 1
         end_if
    end_monitor
    compared with original code:

    Code:
    declare_counter season
    declare_counter turn
    set_counter turn 0
    monitor_event FactionTurnEnd FactionType slave
     console_command season winter
     set_counter turn 1
    end_monitor
    monitor_event PreFactionTurnStart I_CompareCounter turn = 1
     inc_counter season 1
     if I_CompareCounter season = 1
      console_command season summer
     end_if
     if I_CompareCounter season = 2
      console_command season winter
      set_counter season 0
     end_if
     set_counter turn 0
    end_monitor
    I got rid of the turns counter since I didn't understand what it stood for. Any idea on this small issue ? Is my new script correct ?
    Last edited by RKO; November 23, 2011 at 11:09 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •