|
Description: This script will generate random numbers for everyone who beeps you within 12 seconds of saying an item. |
|
To use: Make sure ONLY stuff you want auctioned is in your inventory. Type StartAuction to initialize your auctioning list. Instruct everyone to beep you once you say an item name if they want to be in to lottery. Type Auction XXX, where XXX is the name of the item. Once 12 seconds are up, everyone is assigned a random number from 0 to 100. Give out that item to whoever won. |
|
#CLASS {Smobbing}
#ALIAS Auction { say %1 %2 %3 %4 %5 %6 %7 #VAR PeopleArray {} {} #WAIT 12000 #FORALL @PeopleArray {emote randomly chooses %random( 100) for %i.} } #VAR PeopleArray {} {} #TRIGGER {(%w) beeps you!} {#ADDITEM PeopleArray %1} #CLASS 0 |
|
Description: This script will reformat your locates and make it a numbered list. |
|
To use: Use your own alias for locate life and/or locate object, so it's in the form "chann 'locate life'". It is important that [chann 'locate life'] is what you see from the mud.
Once you have located, you may do either of the following (where X is the number in the list):
- travel X - will take you to that location (e.g. travel 11)
- store X <shortname> - will store this port code as whatever abbreviation you give it; ONE WORD ONLY (e.g. store 7 wb)
Once you have stored a location, you use:
- port <shortname> - will travel you to that city
When a month change is detected (through the time command or by the Wheel turning), you will receive a message and your shortname list will be cleared automatically.
IMPORTANT: When the wheel turns, your ports will be cleared. Type 'time' before you set any ports for the new month, or your ports will be lost again. |
|
#CLASS {codes}
#ALIAS listports { #say {The following port codes are stored:} #SHOWDB @cityports } #ALIAS travel { @portnum = %eval( %1) @port = %item( @ports, @portnum) chann 'travel' @port } #ALIAS store { @portnum = %eval( %1) @port = %item( @ports, @portnum) #ADDKEY cityports %2 @port } #ALIAS port { @port = @cityports.%1 chann 'travel' @port } #TRIGGER {~[chann ~'locate life~'~]} { @portlistnum = 0 @ports = "" } #TRIGGER {~[chann ~'locate object~'~]} { @portlistnum = 0 @ports = "" } #TRIGGER {&object - ~[&code~] - somewhere &codedir of here.} { @portlistnum = %eval( @portlistnum + 1) #SUB {@portlistnum @code @object @codedir} #ADDITEM ports @code } #TRIGGER {&object - ~[&code~] - somewhere &codedir of here, carried by &holder} { @portlistnum = %eval( @portlistnum + 1) #SUB {@portlistnum @code @object @codedir @holder} #ADDITEM ports @code } #TRIGGER {&object - ~[&code~] - somewhere around here.} { @portlistnum = %eval( @portlistnum + 1) #SUB {@portlistnum @code @object THIS ZONE} #ADDITEM ports @code } #TRIGGER {&object - ~[&code~] - somewhere around here, carried by &holder} { @portlistnum = %eval( @portlistnum + 1) #SUB {@portlistnum @code @object THIS ZONE @holder} #ADDITEM ports @code } #TRIGGER {It is &time o'clock &m, on the * day of the month of &month, year *.} { #IF (@month == @oldmonth) {} { @cityports = "" #say {"MONTH CHANGE - PORTS LOST"} } @oldmonth = @month } #TRIGGER {The Wheel of Time spins} { #say {"MONTH CHANGE - PORTS LOST"} @cityports = "" } #TRIGGER {The Wheel of Time turns toward} { #say {"MONTH CHANGE - PORTS LOST"} @cityports = "" } #TRIGGER {A flash of bright white light appears, and suddenly envelopes you.} {#FIND} #CLASS 0 |
|
Description: This script will keep track of people in your room. Friends versus enemies. |
|
To use: Add @friendlies and @enemies to your status bar. |
|
#CLASS {PeopleCount}
#TRIGGER {^(%w) * is {standing|resting|sleeping|sitting} here{.|,}} { @friendlies = %eval( @friendlies + 1) #ADDITEM goodlist %1 } #TRIGGER {^(%w) * is here, fighting *} { @friendlies = %eval( @friendlies + 1) #ADDITEM goodlist %1 } #TRIGGER {~**~* has arrived from the *} { @enemies = %eval( @enemies + 1) #ADDITEM badlist %1 } #TRIGGER {~**~* leaves *.} { @enemies = %eval( @enemies - 1) #DELITEM badlist %1 } #TRIGGER {~**~* is dead! R.I.P.} { @enemies = %eval( @enemies - 1) #DELITEM badlist %1 } #TRIGGER {^(%w) has arrived from the *} { @friendlies = %eval( @friendlies + 1) #ADDITEM goodlist %1 } #TRIGGER {^(%w) leaves *.} { @friendlies = %eval( @friendlies - 1) #DELITEM goodlist %1 } #TRIGGER {~[ obvious exits} { @enemies = 0 @friendlies = 0 @goodlist = "" @badlist = "" } #TRIGGER {It is pitch black...} { @enemies = 0 @friendlies = 0 @goodlist = "" @badlist = "" } #TRIGGER {~**~* is {standing|resting|sleeping|sitting} here.} { @enemies = %eval( @enemies + 1) #ADDITEM badlist %1 } #TRIGGER {~**~* is {standing|resting|sleeping|sitting} here, riding a shadow stallion.} { @enemies = %eval( @enemies + 1) #ADDITEM badlist %1 } #CLASS 0 |
|
Description: This script greatly aids in learning herbs and Wisdom Lore recipes. It has two functions. First, it will change the herb's description to its recipe amount. Secondly, it will analyze your herbs and tell you how many of each you need.
Example: a small pile of blue goatflower petals becomes a small pile of blue goatflower petals [STRENGTH 3] which means that 3 of them are required in the strength tea recipe. |
|
To use: Put all the herbs you've collected into a sack. Type STRENGTH, ANTIFEAR, or REFRESH. The contents of your sack will be analyzed and it will tell you how many more of each herb you need to make that respective potion. |
|
#CLASS {WisdomLore}
#ALIAS Strength { @Goatflower = 0 @Willowbark = 0 @Fennel = 0 @Nightsbane = 0 @Strength = 0 l in sack #WAIT 2000 #IF (@Goatflower >= 3 AND @Willowbark >= 1 AND @Fennel >= 1 AND @Nightsbane >= 1) {@Strength = 1} #IF (@Strength == 1) {#ECHO "You can make strength tea."} {#ECHO You need %eval( 3 - @Goatflower) Goatflower, %eval( 1- @Willowbark) Willowbark, %eval( 1-@Fennel) Fennel, and %eval( 1-@Nightsbane) Nightsbane to make strength tea.} } #ALIAS Refresh { @Flatwort = 0 @Kaf = 0 @Ivy = 0 @Refresh = 0 l in sack #WAIT 2000 #IF (@Flatwort >= 3 AND @Kaf >= 2 AND @Ivy >= 1) {@Refresh = 1} #IF (@Refresh == 1) {#ECHO "You can make a refresh vial."} {#ECHO You need %eval( 3 - @Flatwort) Flatwort, %eval( 2- @Kaf) Kaf, and %eval( 1-@Ivy) Ivy to make a refresh vial.} } #ALIAS AntiFear { @Sunburst = 0 @Belladonna = 0 @Juniper = 0 @Dogwort = 0 @AntiFear = 0 l in sack #WAIT 2000 #IF (@Juniper >= 1 AND @Belladonna >= 2 AND @Sunburst >= 1 AND @Dogwort >= 1) {@AntiFear = 1} #IF (@AntiFear == 1) {#ECHO "You can make an antifear vial."} {#ECHO You need %eval( 2 - @Belladonna) Belladonna, %eval( 1- @Juniper) Juniper, %eval( 1-@Sunburst) Sunburst, and %eval( 1-@Dogwort) Dogwort to make an antifear vial.} } #VAR Strength {0} #VAR Refresh {0} #VAR AntiFear {0} #VAR Nightsbane {0} #VAR Flatwort {0} #VAR Fennel {0} #VAR Ivy {0} #VAR Goatflower {0} #VAR Dogwort {0} #VAR Juniper {0} #VAR Willowbark {0} #VAR Kaf {0} #VAR Sunburst {0} #VAR Belladonna {0} #TRIGGER {blue pouch of flatwort tea} { #SUBST "blue pouch of flatwort tea [REFRESH 3]" @Flatwort = %eval( @Flatwort + 1) } #TRIGGER {gray fennel plant} { #SUBST "gray fennel plant [STRENGTH 1]" @Fennel = %eval( @Fennel + 1) } #TRIGGER {sack of green ivy} { #SUBST "sack of green ivy [REFRESH 1]" @Ivy = %eval( @Ivy + 1) } #TRIGGER {small pile of blue goatflower petals} { #SUBST "small pile of blue goatflower petals [STRENGTH 3]" @Goatflower = %eval( @Goatflower + 1) } #TRIGGER {Lightly spread across the ground are a number of soft blue petals} {#SUBST "Lightly spread across the ground are a number of soft blue petals [STRENGTH 3]"} #TRIGGER {fuzzy green dogwort leaves} { #SUBST "fuzzy green dogwort leaves [ANTI-FEAR 1]" @Dogwort = %eval( @Dogwort + 1) } #TRIGGER {A short plant with fuzzy green leaves grows here} {#SUBST "A short plant with fuzzy green leaves grows here [ANTI-FEAR 1]"} #TRIGGER {handful of dark blue juniper berries} { #SUBST "handful of dark blue juniper berries [ANTI-FEAR 1]" @Juniper = %eval( @Juniper + 1) } #TRIGGER {A small scattering of blue berries graces the ground.} {#SUBST "A small scattering of blue berries graces the ground [ANTI-FEAR 1]."} #TRIGGER {piece of white willow bark} { #SUBST "piece of white willow bark [STRENGTH 1]" @Willowbark = %eval( @Willowbark + 1) } #TRIGGER {A piece of newly cut white willow bark lies on the ground.} {#SUBST "A piece of newly cut white willow bark lies on the ground [STRENGTH 1]."} #TRIGGER {sprig of green nightsbane} { #SUBST "sprig of green nightsbane [STRENGTH 1]" @Nightsbane = %eval( @Nightsbane + 1) } #TRIGGER {A slender dark green plant is growing here in the gloom.} {#SUBST "A slender dark green plant is growing here in the gloom [STRENGTH 1]."} #TRIGGER {section of sunburst root} { #SUBST "section of sunburst root [ANTI-FEAR 1]" @Sunburst = %eval( @Sunburst + 1) } #TRIGGER {A thin, stringy yellow and red root extends from the ground.} {#SUBST "A thin, stringy yellow and red root extends from the ground [ANTI-FEAR 1]."} #TRIGGER {brown kaf beans} { #SUBST "brown kaf beans [REFRESH 2]" @Kaf = %eval( @Kaf + 1) } #TRIGGER {bag lies open, with brown kaf beans inside} {#SUBST "bag lies open, with brown kaf beans inside [REFRESH 2]"} #TRIGGER {section of red and yellow sunburst root} { #SUBST "section of red and yellow sunburst root [ANTI-FEAR 1]" @Sunburst = %eval( @Sunburst +1) } #TRIGGER {black belladonna berry} { #SUBST "black belladonna berry [ANTI-FEAR 2]" @Belladonna = %eval( @Belladonna + 1) } #TRIGGER {Some black belladonna berries are here.} {#SUBST "Some black belladonna berries are here [ANTI-FEAR 2]."} #CLASS 0 |
|
Description: This script will display to you each receipt in your inventory, along with the number. Very helpful when looking through chests.
Editor's Note: I am not the author of this script. |
|
To use: Type reclist x, where x is the number of receipts in your inventory, OR
Type reclist x y, where x is the start and y is the end of the receipts you wish to view. (eg reclist 2 4 will show you receipts 2 through 4) |
|
#CLASS {rec}
#ALIAS reclist { #if (%1=" ") {#show How many receipts do you have again?} { #if (%2=" ") { #var listend {%1} #var liststart {1} } { #var listend {%2} #var liststart {%1} } reclists2e } } #ALIAS reclists2e { #var receiptnum @liststart #loop @liststart,@listend {exa %{i}.receipt} } #TRIGGER {^*It is a receipt for %1} { #sub {Receipt # @receiptnum : %1} #add receiptnum 1 } #CLASS 0 |
|
Description: This script will sync your tick timer as often as it can. STILL BEING UPDATED! |
|
To use: Go to Action Menu -> Tick Timer. Hit Start and then OK. |
|
#CLASS {TickSync}
#TRIGGER {Timer now at &ticlen secs.} {#IF (@ticlen > 90 OR @ticlen < 60) {#TS 70}}
#TRIGGER {The day has begun.} {#TS} #TRIGGER {The sun rises} {#TS} #TRIGGER {The sun sets.} {#TS} #TRIGGER {You suddenly feel less protected.} {#TS} #TRIGGER {Your heartbeat calms down more as you feel less panicked.} {#TS} #TRIGGER {The night has begun.} {#TS} #TRIGGER {* is about to go out!} {#TS} #TRIGGER {A * is definitely fading.} {#TS} #TRIGGER {* has gone out!} {#TS} #TRIGGER {You move slightly, settling your cloak into position.} {#TS} #TRIGGER {As you watch * seems to melt into the background, vanishing.} {#TS} #TRIGGER {The rising sun casts both warm light and long shadows across the mountains.} {#TS} #TRIGGER {The piercing rays of dawn peek above the eastern horizon.} {#TS} #TRIGGER {The sun peeks over the topless towers of the city.} {#TS} #TRIGGER {An orange glow covers the grassland as the sun slowly sinks into the horizon.} {#TS} #TRIGGER {A shadow is cast over the land as the sun vanishes beyond Garen's Wall.} {#TS} #TRIGGER {The sun's first rays touch the eastern slopes of Garen's Wall.} {#TS} #TRIGGER {Radiant hues permeate the horizon as the sun sinks in the west.} {#TS} #TRIGGER {A ball of red light rises slowly from the edge of the grassland, bringing light to the savannah.} {#TS} #TRIGGER {Light begins to peak from behind the hills.} {#TS} #TRIGGER {The sun sinks slowly beneath the rolling hills to the west.} {#TS} #TRIGGER {Shadows lengthen as the sun approaches the horizon.} {#TS} #TRIGGER {Morning dew glitters in the days first sunrays.} {#TS} #TRIGGER {The Wheel of Time spins} {#TS} #TRIGGER {The Wheel of Time turns toward} {#TS} #TRIGGER {A glowing portal fades from existence.} {#TS} #TRIGGER {The sun sinks below the western horizon.} {#TS} #TRIGGER {The corpse of * has decayed into a pile of dust.} {#TS} #TRIGGER {* begins to dim a little.} {#TS} #TRIGGER {Your white aura has faded.} {#TS} #TRIGGER {The sun drops quickly in the west in a glory of color.} {#TS} #TRIGGER {As the sky burns in shades of fushia and gold the sun sets in the west.} {#TS} #TRIGGER {The sun begins its journey to its peak in the sky.} {#TS} #TRIGGER {Shadows embrace the city as twilight falls over Seandar.} {#TS} #TRIGGER {The clouds in the east burn pink and violet with the rising of the sun.} {#TS} #TRIGGER {You feel parched from the hot weather.} {#TS} #TRIGGER {Low deep bronze tones fill the air as a wind blows from the north.} {#TS} #TRIGGER {Darkness gently falls as the sun slips behind the rolling hills.} {#TS} #TRIGGER {A warm glow is cast by the rising sun.} {#TS} #TRIGGER {The last rays of light burn red against the foothills.} {#TS} #TRIGGER {The sun slowly rises above the plains.} {#TS} #TRIGGER {Shadows descend upon the land as the sun drops behind the hills to the west.} {#TS} #TRIGGER {The dust of the plains in the air turns golden with the falling hush of dusk.} {#TS} #TRIGGER {A warm glow bathes the Illian road in a bright light.} {#TS} #TRIGGER {* disappears into the void.} {#TS} #TRIGGER {The nocturnal sounds of the forest begin to rise as the sun sets in the west.} {#TS} #TRIGGER {Thin rays of sunlight pierce the sky over the marshes.} {#TS} #TRIGGER {Shadows grow beneath the peaks as dusk arrives.} {#TS} #TRIGGER {The suns golden rays glisten over the Aryth ocean as it rises.} {#TS} #TRIGGER {The sun falls slowly behind the walls of the city.} {#TS} #TRIGGER {The sun slowly sinks in the west, casting long shadows across the city.} {#TS} #TRIGGER {You feel your extra strength fading.} {#TS} #TRIGGER {A harsh light emerges as the sun rises.} {#TS} #TRIGGER {The sun bursts into the eastern skies.} {#TS} #TRIGGER {As if by a painter's brush, the sun sets in a sky of violet, red, and blue.} {#TS} #TRIGGER {Light breaks over the horizon through waves of heat as a new day begins.} {#TS} #TRIGGER {The sky glows with the rising of the sun.} {#TS} #TRIGGER {The sun begins to cast an orange glow on the trees as it rises.} {#TS} #TRIGGER {The sun sinks behind the western wall of the city.} {#TS} #TRIGGER {The tall towers above you shimmer brightly in the light of the rising sun.} {#TS} #TRIGGER {The sun sets behind the Spine of the World.} {#TS} #TRIGGER {The sun starts to rise above the walls of the city.} {#TS} #TRIGGER {The darkness turns to a bright haze as the sun breaks the horizon to the east.} {#TS} #TRIGGER {Dew settles on the grasslands as darkness descends.} {#TS} #TRIGGER {The lilac blue of dawn begins to grace the sky from the east.} {#TS} #TRIGGER {Heatwaves shimmer as the blistering sun arcs into the sky.} {#TS} #TRIGGER {The blazing hot sun sinks beneath the horizon of the Waste.} {#TS} #TRIGGER {The sun crests the horizon and light breaks through the trees.} {#TS} #TRIGGER {The sky glows with subdued light as the sun dips below the horizon.} {#TS} #TRIGGER {The sky turns red as a fiery sun sets in the west.} {#TS} #TRIGGER {The sky turns orange and pink as the sun sinks into the Aryth Ocean.} {#TS} #TRIGGER {The sun's blinding light is reflected in the lakes waters as it sets.} {#TS} #TRIGGER {Golden rays of sunshine peek over the hills of the surrounding countryside.} {#TS} #TRIGGER {Dew settles on the ground as the sun sets west of the mountains.} {#TS} #TRIGGER {The blazing sun fades into greyness behind the towers.} {#TS} #TRIGGER {The golden sun sinks down behind the rugged hills.} {#TS} #TRIGGER {Ruddy amber hues streak across the vanishing horizon as night falls.} {#TS} #TRIGGER {The sun sets behind the city's western wall.} {#TS} #TRIGGER {The sun sinks into the hills.} {#TS} #TRIGGER {The sunlight sweeps across the plains with the dawn.} {#TS} #TRIGGER {The world is submerged into coolness as the sun sinks into the horizon.} {#TS} #TRIGGER {As the sun lowers beneath the horizon, a gloomy darkness descends on the long road.} {#TS} #TRIGGER {The sun casts its yellow light over the long road.} {#TS} #TRIGGER {The sun slowly descends behind the hills.} {#TS} #TRIGGER {Light fades as the red evening sun slowly drops below the horizon.} {#TS} #TRIGGER {Vivid colors flood the sky as the sun sets over the hills.} {#TS} #CLASS 0 |
|
Description: This script will do any command given to you by the player you specify. Useful if you go AFK for extended periods of time and need someone to take care of you.
Warning: Make sure you trust the person! |
|
To use: Replace XXX with the person's name you wish to obey, before entering it into your buffer. |
|
#CLASS {ObeyXXX}
#VAR OrderedCommand {0} #TRIGGER {XXX orders you to '&OrderedCommand'} {#SEND @OrderedCommand} #CLASS 0 |
|
Description: This script will extract information for your zMUD status bar to display correct information. |
|
To use: Nothing. |
|
#CLASS {Score}
#VAR MaxHp {0} #VAR MaxSp {0} #VAR MaxMv {0} #VAR Exp {0} #VAR Tnl {0} #VAR CurrSp {0} #VAR CurrHp {0} #VAR CurrMv {0} #TRIGGER {You have (&CurrHP)~((&MaxHP)~) hit, (&CurrSP)~((&MaxSP)~) saidar and (&CurrMV)~((&MaxMV)~) movement points.} {} #TRIGGER {You have (&CurrHP)~((&MaxHP)~) hit and (&CurrMV)~((&MaxMV)~) movement points.} {} #TRIGGER {You have scored (&Exp) experience points} {} #TRIGGER {You need (&Tnl) exp to level} {} #TRIGGER {You need (&Tnl) exp to reach the next level} {} #STAT {HP: @CurrHP/@MaxHP SP: @CurrSP/@MaxSP Move: @CurrMV/@MaxMV TNL: @tnl}
#CLASS 0 |
|
Description: This script will keep the HP portion of your zMUD prompt updated in real time during battle. In general, it errs on the side of caution (ie your actual HP >= shown HP). |
|
To use: Nothing. |
|
#CLASS {HPTracker}
#TRIGGER {HP:Healthy *} {@currHp = @maxHp} "" {nocr|prompt} #TRIGGER {HP:Scratched *} {#IF (@currHp < %eval( @maxHp * 9/10)) {@currHp = %eval( @maxHp * 9/10)}} "" {nocr|prompt} #TRIGGER {HP:Hurt *} {#IF (@currHp > %eval( @maxHp * 9/10)) {@currHp = %eval( @maxHp * 9/10)}} "" {nocr|prompt} #COND {HP:Hurt *} {#IF (@currHp < %eval( @maxHp * 7/10)) {@currHp = %eval( @maxHp * 7/10)}} {nocr|prompt} #TRIGGER {HP:Wounded *} {#IF (@currHp > %eval( @maxHp * 7/10)) {@currHp = %eval( @maxHp * 7/10)}} "" {nocr|prompt} #COND {HP:Wounded *} {#IF (@currHp < %eval( @maxHp * 1/2)) {@currHp = %eval( @maxHp * 1/2)}} #TRIGGER {HP:Battered *} {#IF (@currHp > %eval( @maxHp * 1/2)) {@currHp = %eval( @maxHp * 1/2)}} "" {nocr|prompt} #COND {HP:Battered *} {#IF (@currHp < %eval( @maxHp * 3/10)) {@currHp = %eval( @maxHp * 3/10)}} {nocr|prompt} #TRIGGER {HP:Beaten *} {#IF (@currHp > %eval( @maxHp * 3/10)) {@currHp = %eval( @maxHp * 3/10)}} "" {nocr|prompt} #COND {HP:Beaten *} {#IF (@currHp < %eval( @maxHp * 1/10)) {@currHp = %eval( @maxHp * 1/10)}} #TRIGGER {HP:Critical *} {#IF (@currHp < 0) {@currHp = %eval( @maxHp * 1/10)}} "" {nocr|prompt} #TRIGGER {* (&type) tickles your * with %w %a.$} {#IF (@type == "barely") {@currHp = %eval( @currHp - 2)} {@currHp = %eval( @currHp - 3)}} #TRIGGER {* barely {@Attacks} your {@Body}.$} {@currHp = %eval( @currHp - 5)} #TRIGGER {* %w {@Attacks} your {@Body}.$} {#IF ( %1 <> "barely") {@currHp = %eval( @currHp - 10)}} #TRIGGER {* {@Attacks} your {@Body} hard.$} {@currHp = %eval( @currHp - 15)} #TRIGGER {* {@Attacks} your {@Body} very hard.$} {@currHp = %eval( @currHp - 20)} #TRIGGER {* {@Attacks} your {@Body} extremely hard.$} {@currHp = %eval( @currHp - 25)} #TRIGGER {* {@Attacks} your {@Body} into bloody fragments!$} {@currHp = %eval( @currHp - 30)} #CLASS 0 |
|
Description: This script will keep the MV portion of your zMUD prompt updated in real time during battle. In general, it errs on the side of caution (ie your actual MV >= shown MV). |
|
To use: Nothing. |
|
#CLASS {MVTracker}
#TRIGGER {* MV:Fresh *} {@currMv = @maxMv} "" {nocr|prompt} #TRIGGER {* MV:Full *} {#IF (@currMv < %eval( @maxMv * 7/8)) {@currMv = %eval( @maxMv * 7/8)}} "" {nocr|prompt} #TRIGGER {* MV:Strong *} {#IF (@currMv > %eval( @maxMv * 7/8)) {@currMv = %eval( @maxMv * 7/8)}} "" {nocr|prompt} #COND {* MV:Strong *} {#IF (@currMv < %eval( @maxMv * 3/4)) {@currMv = %eval( @maxMv * 3/4)}} {nocr|prompt} #TRIGGER {* MV:Tiring *} {#IF (@currMv > %eval( @maxMv * 3/4)) {@currMv = %eval( @maxMv * 3/4)}} "" {nocr|prompt} #COND {* MV:Tiring *} {#IF (@currMv < %eval( @maxMv * 1/2)) {@currMv = %eval( @maxMv * 1/2)}} {nocr|prompt} #TRIGGER {* MV:Winded *} {#IF (@currMv > %eval( @maxMv * 1/2)) {@currMv = %eval( @maxMv * 1/2)}} "" {nocr|prompt} #COND {* MV:Winded *} {#IF (@currMv < %eval( @maxMv * 1/4)) {@currMv = %eval( @maxMv * 1/4)}} #TRIGGER {* MV:Weary *} {#IF (@currMv > %eval( @maxMv * 1/4)) {@currMv = %eval( @maxMv * 1/4)}} "" {nocr|prompt} #COND {* MV:Weary *} {#IF (@currMv < %eval( @maxMv * 1/8)) {@currMv = %eval( @maxMv * 1/8)}} #TRIGGER {* MV:Haggard *} {#IF (@currMv < 0) {@currMv = %eval( @maxMv * 1/8)}} "" {nocr|prompt} #COND {* MV:Haggard *} {#IF (@currMv > %eval( @maxMv * 1/8)) {@currMv = %eval( @maxMv * 1/8)}} #CLASS 0 |
|
Description: This script will keep the SP portion of your zMUD prompt updated in real time during battle. In general, it errs on the side of caution (ie your actual SP >= shown SP). This script was written by Raynee. |
|
To use: Nothing. |
|
#CLASS {saidarbar}
#ALIAS castspell { #var casting 1 #if (@chanspell=armor) {#math sp @sp-5} #if (@chanspell=flame and @chanspell2=strike) {#math sp @sp-10} #if (@chanspell=ice and @chanspell2=spikes) {#math sp @sp-10} #if (@chanspell=freeze) {#math sp @sp-10} #if (@chanspell=locate and @chanspell2=object) {#math sp @sp-12} #if (@chanspell=call and @chanspell2=lightning) {#math sp @sp-12} #if (@chanspell=locate and @chanspell2=life) {#math sp @sp-12} #if (@chanspell=warding and @chanspell2=vs and @chanspell3=damage) {#math sp @sp-25} #if (@chanspell=create and @chanspell2=food) {#math sp @sp-5} #if (@chanspell=create and @chanspell2=water) {#math sp @sp-5} #if (@chanspell=light and @chanspell2=ball) {#math sp @sp-5} #if (@chanspell=travel) {#math sp @sp-25} #if (@chanspell=blind) {#math sp @sp-10} #if (@chanspell=chill) {#math sp @sp-10} #if (@chanspell=heal) {#math sp @sp-50} #if (@chanspell=fear) {#math sp @sp-5} #if (@chanspell=cure and @chanspell2=light and @chanspell3=wounds) {#math sp @sp-5} #if (@chanspell=cure and @chanspell2=serious and @chanspell3=wounds) {#math sp @sp-10} #if (@chanspell=cure and @chanspell2=critical and @chanspell3=wounds) {#math sp @sp-12} #if (@chanspell=sleep) {#math sp @sp-12} #if (@chanspell=contagion) {#math sp @sp-12} #if (@chanspell=refresh) {#math sp @sp-15} #if (@chanspell=cure and @chanspell2=blindness) {#math sp @sp-10} #if (@chanspell=cure and @chanspell2=contagion) {#math sp @sp-10} #if (@chanspell=change and @chanspell2=weather) {#math sp @sp-7} #if (@chanspell=create and @chanspell2=fog) {#math sp @sp-7} #if (@chanspell=create and @chanspell2=phantom) {#math sp @sp-15} } #VAR off_target {cat} #VAR saidar {0} {0} #VAR hungry {0} {0} #VAR thirsty {0} {0} #VAR def_target {marwenn} #VAR sp {176} #VAR maxsp {163} #VAR chanspell {cure} #VAR chanspell2 {blindness} #VAR chanspell3 {worse} #VAR resting {0} {0} #VAR sleeping {0} {0} #VAR casting {0} {0} #VAR sptick {0} {0} #VAR standing {1} {1} #VAR oldsp {176} #TRIGGER {, leaving only a blackened corpse.} {#var oldsp @sp} #TRIGGER {TICK IN 5 SECONDS} { #if (@standing=1) {#math sptick 0} #if ((@saidar=0) and (@resting=1)and (@hungry=0) and (@thirsty=0) and (@sptick<>1)) {#math sp @sp+25} #if (@sptick=1 and @resting=1) { #if (@sp<>@maxsp) { #wait 5000 emb score rel } } #if ((@saidar=0) and (@standing=1) and (@hungry=0) and (@thirsty=0)) {#math sp @sp+18} #if ((@saidar=0) and (@sleeping=1)and (@hungry=0) and (@thirsty=0)) {#math sp @sp+30} #if ((@hungry=1) or (@thirsty=1)) {#math sp @sp+5} #if (@saidar=1) {#math sp @sp-1} #var oldsp @sp #if (@resting=1 or @sleeping=1) {#math sptick @sptick+1} #if (@sptick>=3) {#var sptick 0} } #TRIGGER {You feel the flows of saidar coursing through your body.} {#var saidar 1} #TRIGGER {You are thirsty.} {#var thirsty 1} #TRIGGER {You drink the water} {#var thirsty 0} #TRIGGER {You are hungry} {#var hungry 1} #TRIGGER {You eat the} {#var hungry 0} #TRIGGER {You nibble a } {#var hungry 0} #TRIGGER {It tastes like } {#var thirsty 0} #TRIGGER {Nah... You feel too relaxed to} {#var sp @oldsp} #TRIGGER {You are already resting.} { #var resting 1 #var sleeping 0 #var standing 0 } #TRIGGER {You are already sound asleep.} { #var resting 0 #var sleeping 1 #var standing 0 } #TRIGGER {You are already standing.} { #var resting 0 #var sleeping 0 #var standing 1 } #TRIGGER {You go to sleep.} { #var resting 0 #var sleeping 1 #var standing 0 } #TRIGGER {You lost control of Saidar} { #var oldsp @sp #if ((@chanspell=sleep)or (@chanspell=armor)or (@chanspell=blind)or (@chanspell=strength)) {channel '@chanspell' @castsave} #if (@chanspell=light) {channel '@chanspell @chanspell2'} #if (@chanspell=refresh) {channel '@chanspell'} #var casting 0 } #TRIGGER {You rest your tired bones.} { #var resting 1 #var sleeping 0 #var standing 0 #var sptick 0 } #TRIGGER {You sit down and rest your tired bones.} { #var resting 1 #var sleeping 0 #var standing 0 #var sptick 0 } #TRIGGER {You stand up.} { #var resting 0 #var sleeping 0 #var standing 1 } #TRIGGER {You stop resting, and stand up.} { #var resting 0 #var sleeping 0 #var standing 1 } #TRIGGER {channel '(%w) (%w) (%w)'} { #var chanspell %1 #var chanspell2 %2 #var chanspell3 %3 } #TRIGGER {channel '(%w) (%w)'} { #var chanspell %1 #var chanspell2 %2 } #TRIGGER {Cancelled.} {#var sp @oldsp} #TRIGGER {Ok.} { #if @casting=1 {#var casting 0} #if @saidar=1 { #var saidar 0 #var oldsp @sp } } "" {case} #TRIGGER {- {[}*{]} - somewhere} { #var casting 0 #var oldsp @sp } #TRIGGER {You failed} { #var oldsp @sp #if ((@chanspell=sleep)or (@chanspell=armor)or (@chanspell=blind)or (@chanspell=strength)) {channel '@chanspell' @castsave} #if (@chanspell=light) {channel '@chanspell @chanspell2'} #if (@chanspell=refresh) {channel '@chanspell'} #var casting 0 } "" {case} #TRIGGER {You begin to weave the appropriate flows...} {castspell} #TRIGGER {channel '(%w)'} {#var chanspell %1} #TRIGGER {channel '(%w)*' (%*)} { #var chanspell %1 #var castsave %2 #if ((@chanspell=strength) or (@chanspell=warding) or (@chanspell=cure) or (@chanspell=remove) or (@chanspell=armor) or (@chanspell=heal)) {#var def_target @castsave} #if ((@chanspell=flame) or (@chanspell=ice) or (@chanspell=sleep) or (@chanspell=chill) or (@chanspell=contagion) or (@chanspell=fear) or (@chanspell=slow) or (@chanspell=freeze) or (@chanspell=blind)) {#var off_target @castsave} } #TRIGGER {You have (%d)~((%d)~) hit, (%d)~((%d)~) saidar and (%d)~((%d)~) movement points.} { #var hp {%1} #var maxhp {%2} #var sp {%3} #var oldsp {%3} #var maxsp {%4} } "" {case} #BUTTON 1 {Saidar @sp( @maxsp)} { emb score rel } {} {} {@sp} {} {} {Size} {230} {17} {Pos} {0} {619} {32862} {} {Gauge||12|@maxsp|25|1} {} "" {Inset} {} {} #CLASS 0 |
|
Description: This script will automatically fix your map when you flee.
Editor's Note: I am not the author of this script. |
|
To use: Nothing. If you find your map is wrong, type #find. |
|
#CLASS {FleeScript}
#VAR Flee {Found12039RoomNameThe Mouth of a Gorge} #TRIGGER "FleeTrig" {^You flee head over heels.$} {Flee=""} #COND {^(*)$} { Flee.Found="" Flee.RoomName=%replace( "%1", "'", "''") #PRIORITY {#FORALL %roomexit {#FORALL %roomlink( ,%i) {#IF (%ismember( %j, %mapquery( {Name = '@Flee.RoomName'}))) {#ADDITEM Flee.Found %j}}}} #IF (%numitems( @Flee.Found)=1) { #say Room Found Teleporting #TELEPORT @Flee.Found } {#IF (%numitems( @Flee.Found)>1) { #SAY Multi Rooms Found Teleporting to First #TELEPORT %item( @Flee.Found, 1) } {#SAY No Connecting Rooms Found}} } {within|param=1} #CLASS 0 |
|
Description: This script will enable you to use the zMap in SafeMode.
Editor's Note: I am not the author of this script.
A sample map configuration file can be found here. Download it to your /zmud/WheelofTime directory, then Config -> Import Config and select this file. |
|
To use: Nothing. If you find your map is wrong, type #find. |
|
#CLASS {Mapping}
#TRIGGER {sw (*)} { #nodir #map %1 } #TRIGGER {The (%w) seems to be closed.} {#door %lastdir %1} #TRIGGER {You follow %w through the gateway.} {#find} #TRIGGER {You ride into the gateway.} {#find} #TRIGGER {You step through the gateway.} {#find} #TRIGGER {You follow someone.} {#map @fmove} #TRIGGER {Alas, you cannot go that way...} {#NODIR} #TRIGGER {Nah... You feel too relaxed to do that..} {#nodir} #TRIGGER {No way!*} {#NODIR} #TRIGGER {You can't ride in there.} {#nodir} #TRIGGER {You can't ride on water.} {#nodir} #TRIGGER {You can't ride there on a horse!} {#nodir} #TRIGGER {You need a boat to go there.} {#nodir} #TRIGGER {You need to swim to go there.} {#nodir} #TRIGGER {You shudder at the concept of crossing water.} {#nodir} #TRIGGER {You would need to swim there, you can't just walk it.} {#nodir} #TRIGGER {Your mount is too exhausted.} {#NODIR} #TRIGGER {You follow @follow(*)} { #NOMAP #map @fmove } #TRIGGER {@follow leaves (%w)(*)} { #NOMAP #var fmove %1 } #TRIGGER {It is pitch black...} {#ok} #TRIGGER {You now follow (%w).} {#var follow %1} #TRIGGER {You stop following (%w).} {#var follow abcdefghak} #TRIGGER {~[ obvious exits:} {#OK} #TRIGGER {You are too exhausted.} {#NODIR} #TRIGGER {The * seems to be closed.} {#NODIR} #CLASS 0 |