Ok, below is the file. Just go south from the first room. If no ogre spawns, go north then back south until it tells you the ogre shows up. Then wait about 30 seconds for its action script to fire.
<!--Saved by Quest 5.2.4515.34846-->
<asl version="520">
<include ref="English.aslx" />
<include ref="Core.aslx" />
<game name="tester">
<gameid>33b72982-78b8-4684-8ddd-fbe3c93c0934</gameid>
<version>1.0</version>
<author>Doug Goldner</author>
<category>Fantasy</category>
</game>
<object name="Starting Room">
<inherit name="editor_room" />
<description>You are in the starting room. Shock...</description>
<object name="player">
<inherit name="defaultplayer" />
</object>
<exit alias="north" to="Second Room">
<inherit name="northdirection" />
</exit>
</object>
<object name="Second Room">
<inherit name="editor_room" />
<description>You are now in the second room. Woop!</description>
<enter type="script">
random_monster (50, ogre)
</enter>
<exit alias="south" to="Starting Room">
<inherit name="southdirection" />
</exit>
<object name="Bow">
<inherit name="editor_object" />
<worn type="int">0</worn>
<look>Bow 1</look>
<take />
<inventoryverbs>Look at; Use; Drop; Equip</inventoryverbs>
<alias>Bow</alias>
<equip type="script">
do_equip ("Bow")
</equip>
</object>
<object name="Hammer">
<inherit name="editor_object" />
<alias>Hammer</alias>
<worn type="int">0</worn>
<inventoryverbs>Look at; Use; Drop; Equip</inventoryverbs>
<equip type="script">
do_equip ("Hammer")
</equip>
<take />
</object>
</object>
<object name="ogre">
<inherit name="editor_object" />
<visible type="boolean">false</visible>
<speed type="int">20</speed>
<last_seen type="int">0</last_seen>
<chance_to_hit type="int">30</chance_to_hit>
<damage_base type="int">4</damage_base>
<damage_random type="int">6</damage_random>
<look>The ogre is mean looking!</look>
</object>
<verb>
<property>equip</property>
<pattern>equip</pattern>
<defaultexpression>"You can't equip " + object.article + "."</defaultexpression>
</verb>
<function name="monster_attack" parameters="monster_to_attack">
msg ("You see a " + monster_to_attack + " attack!")
</function>
<function name="do_equip" parameters="obj_name">
us = GetObject(obj_name)
if (us.worn = 0) {
inven = GetDirectChildren(GetObject("player"))
for (myItem, 0, ListCount(inven) - 1) {
the_item = ObjectListItem(inven,myItem)
if (the_item.worn = 1) {
the_item.worn = 0
the_item.alias = Left(the_item.alias,LengthOf(the_item.alias) - 6)
}
}
}
if (us.worn = 1) {
us.alias = Left(us.alias,LengthOf(us.alias) - 6)
msg ("You no longer have your " + us.name + " equipped")
us.worn = 0
}
else {
us.alias = us.alias + "(worn)"
msg ("You equip yout " + us.name)
us.worn = 1
}
</function>
<function name="random_monster" parameters="chance, monster_name">
msg ("Checking for random monster with chance " + ToString(chance))
if (RandomChance(chance)) {
y = CloneObject(monster_name)
y.parent = player.parent
MakeObjectVisible (y)
msg ("You see a " + y.alias + " enter the room!")
create timer ("mtimer")
our_time = GetTimer("mtimer")
SetTimerInterval (our_time, y.speed)
SetTimerScript (our_time) {
monster_attack (y.name)
}
EnableTimer (our_time)
}
</function>
<function name="change_name">
</function>
</asl>