lua:loadfunction
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| lua:loadfunction [2014/07/18 15:42] – vodur | lua:loadfunction [2026/10/14 01:10] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | To be completed, here are some notes: | ||
| - | |||
| - | There is a way to do this using loadfunction: | ||
| - | |||
| - | <code lua> | ||
| - | -- mprog 31404 | ||
| - | function a_function( arg1, arg2 ) | ||
| - | say(" | ||
| - | say(" | ||
| - | return 3 + 5 | ||
| - | end | ||
| - | |||
| - | |||
| - | -- mprog 31405 | ||
| - | target_mob = getmobworld(31424)[1] | ||
| - | target_mob: | ||
| - | target_mob: | ||
| - | a_function( " | ||
| - | end) | ||
| - | |||
| - | |||
| - | -- alternate mprog 31405 | ||
| - | target_mob = getmobworld(31424)[1] | ||
| - | target_mob: | ||
| - | loadprog(31404) | ||
| - | -- alternately: | ||
| - | -- alternately : mob: | ||
| - | a_function( " | ||
| - | end) | ||
| - | |||
| - | -- mprog 31405 with return value | ||
| - | -- note, ' | ||
| - | environment | ||
| - | -- uses closure magic to move values between script envs | ||
| - | local result | ||
| - | target_mob = getmobworld(31424)[1] | ||
| - | target_mob: | ||
| - | loadprog(31404) | ||
| - | result=a_function( " | ||
| - | end) | ||
| - | </ | ||
| - | |||
| - | Not as pretty as something like target_mob: | ||
| - | but there is no straightforward way to implement args to loadprog directly. | ||
| - | For instance, if I used the syntax above, by what name would you | ||
| - | refer to those parameters in the 31404 script? | ||
| - | |||
| - | |||
| - | So loadfunction is the way to do tricky stuff like this, for better or worse. | ||
| - | I agree, it's often nice to have all the code in one place. | ||
| - | loadfunction can't directly return a value, but you can use other tricks to | ||
| - | get the job done: | ||
| - | |||
| - | <code lua> | ||
| - | -- mprog 31405 with return value | ||
| - | -- uses closure magic to move values between script envs | ||
| - | local result | ||
| - | target_mob = getmobworld(31424)[1] | ||
| - | target_mob: | ||
| - | loadprog(31404) | ||
| - | result=a_function( " | ||
| - | end) | ||
| - | </ | ||
lua/loadfunction.1405698124.txt.gz · Last modified: (external edit)
