dcx:event_library
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dcx:event_library [2015/11/21 19:39] – vic | dcx:event_library [2026/06/22 12:21] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 32: | Line 32: | ||
| If there is a lot of interest in the Community Project I might start on this though. | If there is a lot of interest in the Community Project I might start on this though. | ||
| + | |||
| + | ====Tutorial to create a very simple event library=== | ||
| + | Lets say we would like to have functionality that simulate some command & control problems for one or both of the sides in a scenario. How would we design an event library that would be capable to provide that functionality? | ||
| + | |||
| + | Before we start lets list what we'll need to do: | ||
| + | |||
| + | * A regime libvar that switches this functionality on/off: CommandProblemsEnabled = yes/no | ||
| + | |||
| + | * A regime libvar that specifies the % a HQ suffers C&C problems: CommandProblemsChance = numeric (0-100) | ||
| + | |||
| + | * A regime libvar that specifies the basic AP its units will lose: CommandProblemsFixedAPLoss = numeric (0-100) | ||
| + | |||
| + | * A regime libvar that specifies a random ammount of AP its units will lose: CommandProblemsRandomAPLoss = numeric (0-100) | ||
| + | |||
| + | * A 'turn event' that when the regime in question has its regimeLibVar CommandProblems set to ' | ||
| + | |||
| + | Thats it. It will do the job. No chrome, but I am keeping it simple in this tutorial. | ||
| + | |||
| + | ===Step A: Creating an event library and libvars=== | ||
| + | |||
| + | Make sure you have the advanced editor enabled. In the main menu click on the ' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Then once in the advanced editor go to the settings tab and then to the ' | ||
| + | |||
| + | This is important as it tells the Simple editor that your event library is compatible with the default VR ruleset. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Then go to the lib tabsheet. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | There we do the following. | ||
| + | |||
| + | 1. Create a new library | ||
| + | |||
| + | 2. Set the name of this library. Remember it has to be a unique name (call it something specific, not just 'my library' | ||
| + | |||
| + | 3. Add 4 libvars | ||
| + | |||
| + | 4. Set each libvar to ' | ||
| + | |||
| + | Optionally you can also give a description field to each libvar and to the library as a whole. This is RECOMMENDED because you'd like other designers to make use of your library as well. Thats the whole philosophy behind the Community Project. | ||
| + | |||
| + | Thats it. We have defined our library and libvars. Now we go to the event editor. | ||
| + | |||
| + | ===Step B: Adding the event scripting=== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | In the event editor you do the following. | ||
| + | |||
| + | 1. Add a new event. | ||
| + | |||
| + | 2. Assign the event to your " | ||
| + | |||
| + | 3. Name the event | ||
| + | |||
| + | 4. Set the execution type for the event to 'late start turn'. ' | ||
| + | |||
| + | ===Step C: Scripting the event=== | ||
| + | |||
| + | Then I script the following code: | ||
| + | < | ||
| + | 0) ' event code is going to come here | ||
| + | 1) SETVAR: TempVar1 = CheckTurn | ||
| + | 2) ' | ||
| + | 3) SETVAR: TempVar2 = CheckLibVarRegime(TempVar1, | ||
| + | 4) SETVAR: TempVar3 = CheckLibVarRegime(TempVar1, | ||
| + | 5) SETVAR: TempVar4 = CheckLibVarRegime(TempVar1, | ||
| + | 6) SETVAR: TempVar5 = CheckLibVarRegime(TempVar1, | ||
| + | 7) ' | ||
| + | 8) SETVAR: TempString1 = '' | ||
| + | 9) ' | ||
| + | 10) | ||
| + | 11) ' | ||
| + | 12) | ||
| + | 13) ' | ||
| + | 14) | ||
| + | 15) | ||
| + | 16) | ||
| + | 17) ' | ||
| + | 18) | ||
| + | 19) | ||
| + | 20) ' | ||
| + | 21) ' | ||
| + | 22) | ||
| + | 23) | ||
| + | 24) | ||
| + | 25) | ||
| + | 26) | ||
| + | 27) | ||
| + | 28) ' | ||
| + | 29) | ||
| + | 30) | ||
| + | 31) | ||
| + | 32) | ||
| + | 33) | ||
| + | 34) ' | ||
| + | 35) | ||
| + | 36) ' | ||
| + | 37) | ||
| + | 38) | ||
| + | 39) | ||
| + | 40) END CHECK | ||
| + | 41) | ||
| + | 42) | ||
| + | 43) END CHECK | ||
| + | 44) | ||
| + | 45) | ||
| + | 46) END CHECK | ||
| + | 47) ' | ||
| + | 48) | ||
| + | 49) ' | ||
| + | 50) | ||
| + | 51) END CHECK | ||
| + | 52) ' | ||
| + | 53) END LOOPER | ||
| + | 54) ' | ||
| + | 55) END CHECK | ||
| + | 56) ' | ||
| + | 57) END CHECK | ||
| + | 58) END CHECK | ||
| + | 59) END CHECK | ||
| + | 60) ' | ||
| + | 61) END LOOPER | ||
| + | 62) ' | ||
| + | 63) | ||
| + | 64) | ||
| + | 65) END CHECK | ||
| + | 66) ' | ||
| + | 67) END CHECK | ||
| + | </ | ||
| + | |||
| + | ===Step D: Save the event library=== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Save your work with the .dcxevlib extension. | ||
| + | |||
| + | And thats it. | ||
| + | |||
| + | In the final Step E i am just going to show how it looks like to the end-user when he loads your event library. | ||
| + | |||
| + | ===Step E: In the Simple Editor & In-Game=== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | In the Simple Editor you or an end-user can load your event library and configure it (as shown in the example above) for one or more regimes. | ||
| + | |||
| + | Also note that the contents of the library are correctly listed as 4 libvars and 1 event. | ||
| + | |||
| + | Then finally when in-game when in-game the player will get reports like this one: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | It is important to check if your event libraries work properly before distributing them. | ||
| + | |||
| + | Don't forget to use the description fields for the library itself and its libvars and/or stringlists (tables for end-user). | ||
| + | |||
| + | Thats it! A working and tested library ready for use or sharing with other designers. | ||
| + | |||
| + | ===Tutorial library=== | ||
| + | |||
| + | Here you can download the library created in the tutorial above: | ||
| + | |||
| + | [[http:// | ||
dcx/event_library.1448134776.txt.gz · Last modified: 2026/06/22 12:14 (external edit)
