User Tools

Site Tools


dcx:vr_logic_library

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dcx:vr_logic_library [2016/05/18 07:07] – vicdcx:vr_logic_library [2026/06/22 12:21] (current) – external edit 127.0.0.1
Line 4: Line 4:
  
 First added to Community Project v0.90 First added to Community Project v0.90
- 
  
 In a nutshell: In a nutshell:
Line 10: Line 9:
 * Allow VR Basic Library (v7 and higher) and VR Immersion Library to use the FLAGs using IFs and SETs * Allow VR Basic Library (v7 and higher) and VR Immersion Library to use the FLAGs using IFs and SETs
  
-* Contains the functions to interpret IFs and SETs +* Allows you to make entries to a Logic Table and Change Global Libvar Table.
- +
-* Contains table and event to run a logic table+
  
-* Contains table and event to execute change to any libraries global libvars based on an IF statement.+The Logic Library is not meant to replace scripting your own events. Its meant to do some simple switches. If you want to make some complicated functionality your advised to create your own event library.
  
 ===IF & SET statements=== ===IF & SET statements===
Line 30: Line 27:
 etc.. etc..
  
-They can be combined using an @ symbol that acts as a logical AND.+They can be combined using an @ symbol that acts as a logical AND. For example a>b@a>c@a>d
  
-And IF or SET statement always has to have 3 parts. A value to the left, to the right and an operator ( <, >, = for IF and =, *, /, +, - for SET) in the middle.+And IF or SET statement always has to have 3 parts. A value to the left, to the right and an operator ( <, >, = for IF ....and.......  =, *, /, +, - for SET) in the middle.
  
 The value to the left or the right can be a number, a LookUp value or a Flag. The value to the left or the right can be a number, a LookUp value or a Flag.
 +
 +When using a SET statement you can also push a string into a Flag. Like for example yourcapitol=Moscow
  
 ==Lookup values== ==Lookup values==
Line 40: Line 39:
 Valid lookup codes at the moment are: Valid lookup codes at the moment are:
  
-[turn]+[turn] => Is 0 based and returns 0 for the first player and 1 for the second player
  
-[round]+[round] => Returns round number. First round returns 1, second returns 2, etc.. 
 + 
 +[hexowner$x,y] => Returns regime slot (0 for first player, 1 for second player) that owns that hex. For example: [hexowner$22,40] 
 + 
 +[random$min,max] => Returns a random value between or equal to those minimum and maximum numbers. For example: [random$1,6] for a 1d6 roll. 
 + 
 +Lookup values are case INsensitive.
  
 ==Flags== ==Flags==
Line 49: Line 54:
  
 To err on the side of caution only use regular letters and numbers in your flag names. And never ever use [,],<.>,=,*,/,+,- To err on the side of caution only use regular letters and numbers in your flag names. And never ever use [,],<.>,=,*,/,+,-
 +
 +Flag names are case INsensitive.
 +
 +When a Flag is first used without being set its value will be 0.
  
 ===Logic Table=== ===Logic Table===
Line 54: Line 63:
 Has just two columns. IF and SET. If IF statement is true then the SET statement will be executed. Has just two columns. IF and SET. If IF statement is true then the SET statement will be executed.
  
-Checked at the early start of every turn.+Checked at the early start of every turn.  
 + 
 +It runs before any of the VR Basic Library events are run. So you can for example set flagA = 1 here in the same turn as having it cause 10 PP extra to arrive through the VR Basic Event Libs PP rewards table that has IF Logic flagA>0.
  
 === Global Libvar Table=== === Global Libvar Table===
  
 Has four columns. First one of course the IF statement. If the IF statement is true the global lib var (name in 3rd column) of library name (name in 2nd column) will be set to the value in the 4th column. Has four columns. First one of course the IF statement. If the IF statement is true the global lib var (name in 3rd column) of library name (name in 2nd column) will be set to the value in the 4th column.
 +
 +It also runs before any of the VR Basic Library events are run.
  
 === Interoperability with the VR Basic Events Library === === Interoperability with the VR Basic Events Library ===
Line 79: Line 92:
  
 * Officer Pool Table * Officer Pool Table
 +
 +* Reduce AP Table
 +
 +* Change VP Table
  
 If any IF logic is added to any of the rows to these tables these rows will only be executed if the IF logic returns true. If any IF logic is added to any of the rows to these tables these rows will only be executed if the IF logic returns true.
Line 84: Line 101:
 This allows you for example to give a special PP reward when a certain FLAG is present, or let specific unit arrive upon a certain FLAG value. This allows you for example to give a special PP reward when a certain FLAG is present, or let specific unit arrive upon a certain FLAG value.
  
-Best wishes, +===If you write your own libraries=== 
-Vic+ 
 +This would requires the Keys of Potential Doom. 
 + 
 +You could easily make your library tie in with the Logic Library as well and execute very specific things on an IF trigger. 
 + 
 +Let me know if you need exact code on how to do this. 
 + 
 +===Debug=== 
 + 
 +You can enable the global libvar 'debug' of this library to receive a message each turn for each player listing the current values of all flags.
  
dcx/vr_logic_library.1463555279.txt.gz · Last modified: 2026/06/22 12:14 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki