SYS:CHOSEN (result from choose command) SYS:ROLLED (result from rolled dice random comand) SYS:LOOPINDEX (the position in the for loop command) SYS:TARGET (from target, hit, attack and focus commands - also when assigning a class to an entity)
To use you can recall as a special lookup %SYS:TARGET%. _____________________________
NEW: ASSIGN COMMAND
Instead of assigning classes on build, you now assign classes post build. i.e.
build map
map.obj (assigns the obj class - classes are stored as global scripts! - ignore store as .class option)
Example: BOOK CLASS.
%target% is takeable;
%target% is readable;
Then you would type:
map.book
_____________________________
SCRIPTING: USE ! TO FORCE FEEDBACK ON COMMANDS
!%target% is takeable;
This will force the engine to tell the player that the targeted object is now takeable. _____________________________
||%SEP%||%A%||%RATE%||
You can now put special lookup commands next to each other by separating using || as above. _____________________________
UPDATE: %SPECIAL% also looks in SESSION DATA
type showdata to see all map data to see what you have access to, for example:
?%n-is-active%=1:narrate open!narrate closed;
_____________________________
UPDATE: DUPLICATE OBJECTS
IF you build more than one of the same object it will create duplicates with a number appended to the end. i.e. map, map2, map3 etc.. _____________________________
DELETE
Now automatically detects what you are trying to delete including objects, scripts, variables and custom commands. _____________________________
FIXES:
FIXED: store as global IF (AND) FIXED: store as local IF (THEN)
SYS:CHOSEN (result from choose command) SYS:ROLLED (result from rolled dice random comand) SYS:LOOPINDEX (the position in the for loop command) SYS:TARGET (from target, hit, attack and focus commands - also when assigning a class to an entity)
To use you can recall as a special lookup %SYS:TARGET%. _____________________________
NEW: ASSIGN COMMAND
Instead of assigning classes on build, you now assign classes post build. i.e.
build map
map.obj (assigns the obj class - classes are stored as global scripts! - ignore store as .class option)
Example: BOOK CLASS.
%target% is takeable;
%target% is readable;
Then you would type:
map.book
_____________________________
SCRIPTING: USE ! TO FORCE FEEDBACK ON COMMANDS
!%target% is takeable;
This will force the engine to tell the player that the targeted object is now takeable. _____________________________
||%SEP%||%A%||%RATE%||
You can now put special lookup commands next to each other by separating using || as above. _____________________________
UPDATE: %SPECIAL% also looks in SESSION DATA
type showdata to see all map data to see what you have access to, for example:
?%n-is-active%=1:narrate open!narrate closed;
_____________________________
UPDATE: DUPLICATE OBJECTS
IF you build more than one of the same object it will create duplicates with a number appended to the end. i.e. map, map2, map3 etc.. _____________________________
DELETE
Now automatically detects what you are trying to delete including objects, scripts, variables and custom commands. _____________________________
FIXES:
FIXED: store as global IF (AND) FIXED: store as local IF (THEN)
Currently it works using temp vars as above not direct calls to player.var or target.var.
DELAY x
You can now specify a delay before the next script action processes. The delay runs until the delay value reaches 0, subtracting 1 each tick. The value can hold any number but bear in mind too high a number will result in too long a delay!
short delay:
delay 100
long delay:
delay 1000
NEW TIMER COMMANDS
START TIMER - resumes an active timer.
stop timer 0
STOP TIMER - pauses an active timer.
stop timer 10
ERASE TIMER - deletes an active timer.
erase timer 5
Timers will need to be micromanaged. The best way would be to create a variable pointer to timers you want to have control over. Timers are incremented from 0 and their data is stored in session_map_data. Type edit session to view.
#healtimer=1;
start timer %healtimer%
[/code]
BUGS FIXED
TIMED EVENTS are now working again!
after x second do something
every x minutes do something
DELETE MULTIPLE CHARACTERS Delete no longer deletes multiple characters occasionally when pressing backspace.
DELETE KEY: no longer deletes entire code entry while text is being rendered, was most notable when adlengine was loading if you made mistakes trying to enter commands and had to delete characters.
Currently it works using temp vars as above not direct calls to player.var or target.var.
DELAY x
You can now specify a delay before the next script action processes. The delay runs until the delay value reaches 0, subtracting 1 each tick. The value can hold any number but bear in mind too high a number will result in too long a delay!
short delay:
delay 100
long delay:
delay 1000
NEW TIMER COMMANDS
START TIMER - resumes an active timer.
stop timer 0
STOP TIMER - pauses an active timer.
stop timer 10
ERASE TIMER - deletes an active timer.
erase timer 5
Timers will need to be micromanaged. The best way would be to create a variable pointer to timers you want to have control over. Timers are incremented from 0 and their data is stored in session_map_data. Type edit session to view.
#healtimer=1;
start timer %healtimer%
[/code]
BUGS FIXED
TIMED EVENTS are now working again!
after x second do something
every x minutes do something
DELETE MULTIPLE CHARACTERS Delete no longer deletes multiple characters occasionally when pressing backspace.
DELETE KEY: no longer deletes entire code entry while text is being rendered, was most notable when adlengine was loading if you made mistakes trying to enter commands and had to delete characters.
Another big update bringing some cool new functionality to #ADLENGINE that increases both the control you have over the engine and the environments you are creating.
-----------------------------
NEW %SPECIALS%:
-----------------------------
%specials% can be placed in any command or as part of any data and provide a means to LOOKUP data, when processed the engine checks against, vars, map data and more to return the current value of the special.
e.g.
[code[room description is You are standing in a cellar, a grill lies %grillstatus%[/code]
When the room description is rendered %grillstatus% will be swapped with a value you have set up in a variable for example as per below. This happens as it happens.
Another big update bringing some cool new functionality to #ADLENGINE that increases both the control you have over the engine and the environments you are creating.
-----------------------------
NEW %SPECIALS%:
-----------------------------
%specials% can be placed in any command or as part of any data and provide a means to LOOKUP data, when processed the engine checks against, vars, map data and more to return the current value of the special.
e.g.
[code[room description is You are standing in a cellar, a grill lies %grillstatus%[/code]
When the room description is rendered %grillstatus% will be swapped with a value you have set up in a variable for example as per below. This happens as it happens.