Try this as a possible solution - you seemed to be headed in the right 
direction but stopped to soon :)
  Use a dynamic property evaluation tied to your trigger/gkc sequence numbered 
1 to 2. As each trigger fires it increase the dynamic value to 2. When the 
trigger finishes evaluating its own square it fires a reset to put the dynamic 
marker value back at 1.
  All the triggers must have a property filter that only allows them to fire if 
the dynamic marker value is 1.
   
  The dynamic marker is acting as a "pause" if you like between all your 
triggers and being part of the sequence, will not allow triggers to fire unless 
all conditions are true
   
  Dont use the dynamic marker on the actual pieces though because they are 
always moving and wont evaluate if their zone has changed - place it on an null 
piece offboard or something to that effect so it is always present and fixed

Marcos Hidalgo <[EMAIL PROTECTED]> wrote:
          I finished coding the Dungeon Twister module, I've scanned yesterday 
all content and today I was bringing it all toguether... In 
preliminary tests I've only used one counter over every board to 
check that it works, but now testing with more than one counter it 
CRASHES!! The error is a "CONCURRENTMODIFICATION" exception.
Tim Byrne found the same error some time before (look here 
http://games.groups.yahoo.com/group/vassalengine/message/7219)

I think the problem is the way VASSAL operates with the "Global Key 
Commads" and "Triggers", in my module the "BoardTile" over a zone 
invokes a "Global Key Command" for every piece in his ZONE when 
rotated. There are 8 zones for the basic game and everyone with 25 or 
5x5 possible squares for the pieces over it.

The piece has one trigger for every position over the BoardTile, 
that's 25 triggers, every trigger is listening for the global key 
casted before (with the global key command), and launches a "Move 
Fixed Distance" trait (for its current position) if the Piece is in 
that position (LocationName property).

The order of the trigger traits is the one pictured here:

http://www.toposolitario.com/basura/fallo_vassal01.jpg

As you can see there are triggers like this
"if the piece is in the square 1 then moves it to square 5"
"if the piece is in the square 2 then moves it to square 10"
"if the piece is in the square 3 then moves it to square 15"
...and so on

The evaluation order is showed from 1 to 25 in the previous image.

If we got two pieces it usually crashes for example in this layout:

http://www.toposolitario.com/basura/fallo_vassal02.jpg

But this one DOESNT CRASH!!!... WHY?

http://www.toposolitario.com/basura/fallo_vassal03.jpg

The answer is that when the piece is in an square (for example 19) 
and the new position of the piece is a previously evaluated square 
(for example 17) it works, but when the piece is to be moved to 
another square evaluated later (for example from 5 to 25 in the 
crashing image) the CONCURRENTMODIFICATION exception jumps up!

The same happens even if the two pieces have different prototypes 
wich defines the movement or if I include a Dynamic property to mark 
them moved (and testing for that property when triggering)...

It is clearly a BUG and I didn't found anything to go through it... I 
need it to be solved or Dungeon Twister is impossible to be made. 
PLEASE! PLEASE! PLEASE!

TOPO - http://www.toposolitario.com



         


[Non-text portions of this message have been removed]



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/vassalengine/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/vassalengine/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to