PDA

View Full Version : Jamus' Scripting Engine Hosted!



Bobmuhthol
08-11-2005, 01:56 PM
http://www.filefarmer.com/Bobmuhthol/Engine/

Enjoy.

StrayRogue
08-11-2005, 01:57 PM
When can you start tutoring me how to use it?

Bobmuhthol
08-11-2005, 02:01 PM
Everything I know is what's included in jamus.htm (not much) and scripttutorial.htm (slightly more).

The ultimate healing script, I think I might want to keep to myself and friends I send it to. You could probably see how some things work with it though.

Bobmuhthol
08-11-2005, 02:32 PM
My dummies script is way sweet.

.dummies <reps>

Counts down reps, goes out and gets a new task. Easily done in Wizard but someone might find it useful.

[Edited on 8-11-2005 by Bobmuhthol]

Artha
08-11-2005, 05:48 PM
Man, that ultimate healing script is fucking awesome though.

Bobmuhthol
08-11-2005, 05:55 PM
Yeah I know!

Artha
08-11-2005, 06:03 PM
Heals everything in like half a second, was funny using it with Ehro. Only problem is people nodding either right before or right after it gets started up.

edit: And being an empath. Man they suck.

[Edited on 8-11-2005 by Artha]

Jonty
08-11-2005, 08:42 PM
Thanks.

Shaelun
08-12-2005, 10:53 AM
Something about, "how's it work?" "I don't know, but it's cool!" "can you tutor me?" "I'm not even sure what it can do!" etc., bugged me, heh...

Took a quick (I'm talking literally 2-3 mins) look at the file... now maybe someone with experience using Microsoft Visual C++ (Jamus' compiler, judging from this and PsiNet) can clarify this list, but I figured since I'm good at this sort of thing, it's worth 5 mins of my time to give you guys at least the bare commands and let you do the rest (now don't forget, I've never run the thing, but these are all extracted from the program itself and all look to me like what JSE will recognize as commands, but don't hate me if I'm wrong on some):

loadarray
savearray
cleararray
setmember
getmember
getlength
makearray
pause
exit
wait
waitrt
waitfor
echo
save
return
goto
matchpause
matchclear
matchwait
release
nextroom
trap
matchbool
put
forceput
matches
matchload
matchsave
if_ reside
spawnquiet
registerscript
extractcell
setglobal
set
match
endif
else
if(
if
ifcontainsname
ifcontainsvalue
ifset
ifarray


I'm kind of clueless about the 'if_ reside' one. Might be two commands, might be one and what it recognizes goes inbetween it, might be something totally unrelated. But to get more information would require some seriously involved reverse engineering, and that'd take more than the 5 mins I spent getting them, so the rest is up to you ;)

Bobmuhthol
08-12-2005, 11:13 AM
The only command I can think of that isn't listed is DEBUGWIN, placed in a script will unhide the interface, DEBUGWIN again will hide it.

And if you close the engine instead of using DEBUGWIN to hide it, the Wizard will crash due to a fatal error. I've done that so many times.

Bobmuhthol
08-12-2005, 11:15 AM
<<matchpause>>

This one's fun. It acts like a matchwait, and if x amount of seconds don't pass, it continues to the next line.

Bobmuhthol
08-12-2005, 11:18 AM
Here's the heal all scars script I threw together.

Bobmuhthol
08-12-2005, 11:33 AM
matchload
matchsave
if_ reside
spawnquiet
spawn
registerscript
extractcell
setglobal
set
math
endif
else
if(
if
ifcontainsname
ifcontainsvalue
ifarray
ifset
counter
loadarray
savearray
cleararray
setmember
getmember
getlength
makearray
pause
exit
wait
waitrt
waitfor
echo
save
gosub
return
goto
matchpause
matchclear
matchwait
release
nextroom
trap
matchevent
matchbool
match
forceput
put

set
divide
multiply
subtract
add
!
!=
=>
=<
>=
<=
>
<
$left$ % $right$
$left$ / $right$
$left$ * $right$
$left$ - $right$
$left$ + $right$
$left$ => $right$
$left$ =< $right$
$left$ >= $right$
$left$ <= $right$
$left$ > $right$
$left$ < $right$
$left$ != $right$
$left$ == $right$
&&
||
right
left
$left$($right$
woundstoarray(
itemstoarray(
postevent(
nobeginningspaces
getcrittername(
that
which
who
getcritternoun(
getname(
getlastword(
getword(
numwords(
math(
aplowercase(
getrand(
containsvalue(
queuelength(
getevent(
peekevent(
lengthof(
getmember(
NextRoom
BleedingPer
Bleeders
CurrentRoomPeople
CurrentRoomExits
CurrentRoomItems
scarprefix S_
woundprefix W_
NERVES
REYE
RIGHT_EYE
RIGHTEYE
LEYE
LEFT_EYE
LEFTEYE
RLEG
RIGHT_LEG
RIGHTLEG
LLEG
LEFT_LEG
LEFTLEG
RHAND
RIGHT_HAND
RIGHTHAND
LHAND
LEFT_HAND
LEFTHAND
RARM
RIGHT_ARM
RIGHTARM
LARM
LEFT_ARM
LEFTARM
ABDOMEN
ABS
BACK
CHEST
NECK
HEAD
NumberOfExits
status_joined
status_hidden
status_asleep
status_stunned
status_invisible
status_webbed
status_dead
status_staunched
status_bleeding
position
mindmessage
mindstate
MAXMANA
MANA
MAXSPIRIT
SPIRIT
MAXBLOOD
BLOOD
MAXHP
HP

Shaelun
08-12-2005, 12:03 PM
You pointing out the debug thing made me realize I'd made an error - it's kind of hard to recognize what's what in a jumble of gibberish, and I made an assumption that apparently was in error (I figured the rest didn't look much like they'd be usable, but apparently, they could be). These ones I'm really unsure about, particularly some of the ones toward the end, so take the list with a grain of salt (for God's sake, don't go writing the ultimate play-by-itself script and give it away or something stupid like that because of this, okay):

shift
waitingparams
TRUE <-- I don't see a matching FALSE (don't ask me)
lock
unlock
lockfor
9 <-- ? no clue
debugwin
debugwin on off <-- probably not a command
set
spawn
divide
multiply
subtract
add
!
!=
=>
=<
>=
<=
>
<
[ ]
]- <-- don't ask me...
(left) % (right) <-- not familiar with what '%' means, so don't ask me
(left) / (right) <-- divide by
(left) * (right) <-- multiply
(left) - (right)
(left) + (right)
&& <-- next two are symbolic "and," and "or," respectively
|| <-- && means to be true they both have to be true, || means it's true if either one is true... details vary from language to language
woundstoarray(
itemstoarray(
postevent(
nobeginningspaces
getcrittername( <-- if you guys didn't know about this one, be cool about it and don't go write the ultimate hunter, okay
that
which
who <-- not sure, but I think it matches (space)who(space). Ditto for above two
getcritternoun( <-- see above
who <-- this one seems to match (space)who -- no, I don't know wtf, and it's your job to figure it out, not mine ;)
getname(
getlastword(
str
num
getword(
numwords(
math(
aplowercase(
getrand(
containsvalue(
queuelength(
getevent(
peekevent( <-- Incase you're not aware, all the ones like 'get(' require a closing ')'. Do in every other language anyway
lengthof(
,
getmember(
NextRoom
BleedingPer
Bleeders
CurrentRoomPeople
CurrentRoomExits
CurrentRoomItems
S_ <-- again, don't ask me, I don't care enough to figure it out
scarprefix
W_
woundprefix
ScriptDir

Shaelun
08-12-2005, 12:04 PM
Hahah, you beat me to it Bob! ;) Well, whatever

Bobmuhthol
08-12-2005, 12:06 PM
<<S_ <-- again, don't ask me, I don't care enough to figure it out>>

Scars. %S_LEYE, for example, would return 0 (no scar), 1 (minor scar), 2 (major scar), or 3 (major scar).

Bobmuhthol
08-12-2005, 01:56 PM
Allow me to brag about how cool my tackle script is.

[You have completed your training task.]
Roundtime: 7 sec.
>
PUT: pull x

You pull x to his feet.
>
PUT: ask kli for tr

PUT: ask kli for tr

Klidel says, "I remember you, you were training in Tackle..."

You ask Klidel for an assignment in Tackle.

Klidel says, "All done with that task? Great!" Klidel checks her clipboard, "This gives you 12 Training Points, leaving you 78 points shy of earning your next rank."
>
Klidel says, "I remember you, you were training in Tackle..."

You ask Klidel for an assignment in Tackle.

PUT: whis x Returns 11

Klidel assays you with a critical eye and says, "Let's find you something to do to earn a rank in Tackle." Klidel rubs her chin thoughtfully, then continues, "Gather one of your Warrior Guild fellows and let him or her pin you down. Make sure he has about the same amount of trainin' or more so." Klidel also adds, "Repeat this 11 times."
>
You quietly whisper to x, "Returns 11."



Loading tacklebob.cmd into memory.
Bobmuhthol whispers, "Returns 11."
>
PUT: tack bobmuhthol

HarmNone
08-12-2005, 05:27 PM
It's cool of you to host this, Bob. So many people have wanted it and been unable to get it. :)