WoTMUD Archives
http://www.wotmudarchives.org/forum/

House of Medakan cMUD Scripts
http://www.wotmudarchives.org/forum/viewtopic.php?f=9&t=2440
Page 3 of 4

Author:  Taziar [ Sat Oct 12, 2019 6:12 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpPractice to view help file in client.

Image

Direct download: PracticeCMUD.txt

Code:
#CLASS {Practice}
#ALIAS helpPractice {
      #PRINT {%crlf <C dodgerblue>-----Practice Help File-----</C>}
      #PRINT {      <C dodgerblue>[Updated: 9/23/19]</C>}
      #PRINT { Practice %'s automatically save when viewing practices at any trainer or training a skill.}
      #PRINT { Saves pracs for each character and automatically resets when a practice reset is detected.}
      #PRINT {}
      #PRINT { Type <C dodgerblue>showPracs</C> to view list of current practices and prac points remaining of current character.}
      #PRINT {  Note: will show practiced weaves and spell points remaining if character is a channeler.}
      #PRINT {}
      #PRINT { Type <C dodgerblue>savePracs</C> to save a .txt file of current character's current practices.}
      #PRINT {}
      #PRINT { Type <C dodgerblue>resetPracs</C> to reset practice data.}
      #PRINT {  Note: will automatically reset saved pracs when a practice reset is detected.}
      #PRINT {}
      #PRINT { All .txt files are saved in your package directory.}
      #PRINT {}
   }
#ALIAS showPracs {
   #PRINT {%crlf}
   #PRINT {You have %eval(%concat("@pracRemaining",%char)) practice points remaining.}
   #IF (%null(%eval(%concat("@pracSpellRemaining",%char)))) {} {
      #PRINT {You have %eval(%concat("@pracSpellRemaining",%char)) spell points remaining.}
      }
   #PRINT {You are skilled in the following:}
   #PRINT {-------Warrior Pracs-------}
   #FORALL @pracListWarrior {
      #IF (%eval(%concat("@prac",%char,%i))>0) {
         #PRINT {%i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~)}
         } {}
      }
   #PRINT {--------Rogue Pracs--------}
   #FORALL @pracListRogue {
      #IF (%eval(%concat("@prac",%char,%i))>0) {
         #PRINT {%i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~)}
         } {}
      }
   #PRINT {-------Hunter Pracs--------}
   #FORALL @pracListHunter {
      #IF (%eval(%concat("@prac",%char,%i))>0) {
         #PRINT {%i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~) %if((%ismember(%i,@pracListHunterLevels)),Level" " %eval(%eval(%concat("@prac",%char,%i))/14),"")}
         } {}
      }
   #IF (%null(%eval(%concat("@pracSpellRemaining",%char)))) {} {
      #PRINT {------Channeler Pracs------}
      }
   #IF (%null(%eval(%concat("@pracSpellRemaining",%char)))) {} {
      #PRINT {---------Elements----------}
      }
   #IF (%null(%eval(%concat("@pracSpellRemaining",%char)))) {} {
      #FORALL @pracListElement {
         #IF (%eval(%concat("@prac",%char,%i))>0) {
            #PRINT {%i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~) Level %eval(%eval(%concat("@prac",%char,%i))/14)}
            } {}
         }
      }
   #IF (%null(%eval(%concat("@pracSpellRemaining",%char)))) {} {
      #PRINT { ----------Weaves-----------}
      }
   #IF (%null(%eval(%concat("@pracSpellRemaining",%char)))) {} {
      #FORALL @pracListWeaves {
         #IF (%eval(%concat("@prac",%char,%i))>0) {
            #PRINT { %i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~)}
            } {}
         }
      }
   }
#ALIAS savePracs {
   #FILE 1 %concat("prac",%char,"Data.txt")
   #WRITE 1 {}
   #WRITE 1 {%char %time(c)}
   #WRITE 1 {}
   #WRITE 1 {-------Warrior Pracs-------}
   #FORALL @pracListWarrior {
      #IF (%eval(%concat("@prac",%char,%i))>0) {
         #WRITE 1 {%i %repeat(" ",%eval(20-%len(%i))) %eval(%concat("@prac",%char,%i))}
         }
      } {}
   #WRITE 1 {--------Rogue Pracs--------}
   #FORALL @pracListRogue {
      #IF (%eval(%concat("@prac",%char,%i))>0) {
         #WRITE 1 {%i %repeat(" ",%eval(20-%len(%i))) %eval(%concat("@prac",%char,%i))}
         }
      } {}
   #WRITE 1 {-------Hunter Pracs--------}
   #FORALL @pracListHunter {
      #IF (%eval(%concat("@prac",%char,%i))>0) {
         #WRITE 1 {%i %repeat(" ",%eval(20-%len(%i))) %eval(%concat("@prac",%char,%i)) %if((%ismember(%i,@pracListHunterLevels)),Level" " %eval(%eval(%concat("@prac",%char,%i))/14),"")}
         }
      } {}
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #WRITE {------Channeler Pracs------}
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #WRITE {---------Elements----------}
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #FORALL @pracListElement {
         #IF (%eval(%concat("@prac",%char,%i))>0) {
            #PRINT {%i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~) Level %eval(%eval(%concat("@prac",%char,%i))/14)}
            } {}
         }
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #WRITE {----------Weaves-----------}
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #FORALL @pracListWeaves {
         #IF (%eval(%concat("@prac",%char,%i))>0) {
            #PRINT {%i %repeat(" ",%eval(20-%len(%i))) ~(%eval(%concat("@prac",%char,%i))~%~)}
            } {}
         }
      }
   #CLOSE 1
   }
#ALIAS resetPracs {
   #RAISE eventResetPractices
   }
#VAR pracListRogue {steal|pick|hide|sneak|dodge|attack|backstab|palm|shortBlades|projectiles}
#VAR pracListWarrior {bash|kick|rescue|shieldParry|charge|longBlades|mediumBlades|fencingBlades|axes|clubs|staves|lances|spears|javelins|polearms|flails|bows|chains|crossbows|slings|whips}
#VAR pracListHunter {search|track|ride|wisdomLore|swim|notice|camouflage|rangerSneak|coverTracks|survival}
#VAR pracListHunterLevels {ride|wisdomlore|survival}
#VAR pracListElement {earth|air|fire|water|spirit}
#VAR pracListWeaves {armor|blind|callLightning|changeWeather|chill|contagion|createFog|createFood|createPhantomObject|createWater|cureBlindness|cureCriticalWounds|cureFear|cureLightWounds|curePoison|cureSeriousWounds|deafen|earthquake|elementalStaff|fear|fireball|flameStrike|freeze|gate|hailstorm|hammerOfAir|heal|hurricane|iceSpikes|incinerate|lightBall|locateLife|locateObject|poison|refresh|removeContagion|removeWarding|senseWarding|shield|silence|sleep|sliceWeaves|slow|sonicBoom|strength|swordOfFlame|travel|wardObject|wardingVsDamage|wardingVsEvil|whirlpool}
#VAR pracSkillInput {}
#TRIGGER "pracResetGuardian" {^Your skills have been reset by the Guardian!$} {
   #RAISE eventResetPractices
   } "" {case}
#TRIGGER "pracResetTrigger" {^You've forgotten everything you've learned!$} {
   #RAISE eventResetPractices
   } "" {case}
#ONINPUT "pracInput" {^{pr|pra|prac|pract|practi|practic|practice}(*)$} {
   #VAR pracSkillInput {%replace(%1," ","")}
   #T+ Practice|PracticeTriggers
   }
#EVENT eventResetPractices {
   #VAR %concat("pracRemaining",%char) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   #FORALL @pracListRogue {
      #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      }
   #FORALL @pracListWarrior {
      #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      }
   #FORALL @pracListHunter {
      #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #VAR %concat("pracSpellRemaining",%char) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #FORALL @pracListElement {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      }
   #IF (%null(%concat("@pracSpellRemaining",%char))) {} {
      #FORALL @pracListWeaves {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      }
   #PRINT {%crlf Practice data for <C dodgerblue>%char</C> is reset.}
   }
#EVENT onConnect {
   #IF (%class(Practice|%concat(%char,PracticeVariables))=-1) {
      #CLASS {Practice|%concat(%char,PracticeVariables)} {disable}
      #CLASS 0
      #VAR %concat("pracRemaining",%char) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      #FORALL @pracListRogue {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      #FORALL @pracListWarrior {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      #FORALL @pracListHunter {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      #VAR %concat("pracSpellRemaining",%char) {} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      #FORALL @pracListElement {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      #FORALL @pracListWeaves {
         #VAR %concat("prac",%char,%proper(%i)) {0} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
         }
      } {
      #T+ Practice|%concat(%char,PracticeVariables)
      }
   }
#CLASS 0
#CLASS {Practice|PracticeTriggers} {disable}
#TRIGGER "pracRemainingTrigger" {You have got (*) practice sessions left.$} {
   #VAR %concat("pracRemaining",%char) {%1} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {case}
#TRIGGER "pracSpellRemainingTrigger" {You have got (*) spell practice sessions left.$} {
   #VAR %concat("pracSpellRemaining",%char) {%1} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {case}
#TRIGGER "pracChannelerTrigger" {You have got (*) practice sessions, and (*) spell practice sessions left.$} {
   #VAR %concat("pracRemaining",%char) {%1} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   #VAR %concat("pracSpellRemaining",%char) {%2} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {case}
#TRIGGER "pracSkillTrigger" {^You now have (*)~% knowledge of this skill and (*) practice sessions left.$} {
   #IF (%class(%concat("prac",%char,@pracSkillInput))) {
      #VAR %concat("prac",%char,@pracSkillInput) {%1} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      #VAR %concat("pracRemaining",%char) {%2} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      } {}
   } "" {case}
#TRIGGER "pracSpellTrigger" {^You now have (*)~% knowledge of this weave and (*) spell practice sessions left.$} {
   #IF (%class(%concat("prac",%char,@pracSkillInput))) {
      #VAR %concat("prac",%char,@pracSkillInput) {%1} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      #VAR %concat("pracSpellRemaining",%char) {%2} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
      } {}
   } "" {case}
#TRIGGER "pracTrigger1" {^(%w)%s~((*)~%~)$} {
   #VAR %concat("prac",%char,%1) {%trim(%2)} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {}
#TRIGGER "pracTrigger2" {^(%w)%s(%w)%s~((*)~%~)$} {
   #VAR %concat("prac",%char,%1,%2) {%trim(%3)} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {}
#TRIGGER "pracTrigger3" {^(%w)%s(%w)%s(%w)%s~((*)~%~)$} {
   #VAR %concat("prac",%char,%1,%2,%3) {%trim(%4)} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {}
#TRIGGER "pracTrigger4" {^(%w)%sLevel%s(%d)%s~((*)~%~)$} {
   #VAR %concat("prac",%char,%1) {%trim(%3)} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {case}
#TRIGGER "pracTrigger5" {^(%w)%s(%w)%sLevel%s(%d)%s~((*)~%~)$} {
   #VAR %concat("prac",%char,%1,%2) {%trim(%4)} {_nodef} {Practice|%concat(%char,"PracticeVariables")}
   } "" {case}
#TRIGGER "pracTrigger6" {~* Press ~<Return~> to continue, q to quit ~*~>} {
   #GAG
   #CR
   } "" {case|prompt|nocr}
#TRIGGER "pracTrigger7" {{o|*} * >} {
   #ALARM "pracPromptAlarm" {+2} {
      #T- Practice|PracticeTriggers
      } "Practice"
   } "" {case|prompt|nocr}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:13 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpProjectiles to view help file in client.

Image

Direct download: ProjectilesCMUD.txt

Code:
#CLASS {Projectiles}
#ALIAS helpProjectiles {
   #PRINT {%crlf <C dodgerblue>-----Projectiles Help File-----</C>}
   #PRINT {      <C dodgerblue>[Updated: 7/24/2019]</C>}
   #PRINT { Projectiles script manages projectiles as either a primary or secondary weapon type.}
   #PRINT { Toggle between primary and secondary modes with the meleePro command.}
   #PRINT {}
   #PRINT {  Type <C dodgerblue>meleePro</C> to toggle between primary and secondary mode.}
   #PRINT {   Note: to change melee keyword type: meleePro <keyword>}
   #PRINT {    Current melee keyword: <C dodgerblue>@proMelee</C>}
   #PRINT {}
   #PRINT {  Type <C dodgerblue>loadPro</C> to load all sheaths from inventory.}
   #PRINT {   Note: to change projectile keyword type: loadPro <keyword>}
   #PRINT {    Current projectile keyword: <C dodgerblue>@proKeyword</C>}
   #PRINT {}
   #PRINT {  Type <C dodgerblue>autoPro</C> to automatically throw a projectile every combat round.}
   #PRINT {   Note: will continue to throw until all sheaths are empty of projectiles.}
   #PRINT {}
   #PRINT {  Type <C dodgerblue>bashPro</C> to throw at the last name bashed. (including mobs)}
   #PRINT {   Note: target sets each recognized bash and clears variable after 6 seconds.}
   #PRINT {}
   #PRINT {  Type <C dodgerblue>smobPro <pet> <move direction> <target> <number of times></C> to smob throw.}
   #PRINT {   Example: smobPro puppy east smob 3}
   #PRINT {    Orders puppy sit, on stand commits the following:}
   #PRINT {    [moves east, throw smob, draw projectile, move west] 3 times total}
   #PRINT {}
   #PRINT {   Notes: (smobPro)}
   #PRINT {    -direction input auto sets return direction to room of origin}
   #PRINT {    -can use full direction name or single letters: n s e w u d}
   #PRINT {    -maximum of four attempts between mob aggro pulses}
   #PRINT {    -if in secondary mode will sheath melee and draw pro prior to order}
   #PRINT {    -if cycle is broken smobPro automatically shuts off}
   #PRINT {}
   }
#ALIAS autoPro {
   #T- Projectiles|AutoLoad
   #T+ Projectiles|AutoThrow
   #T+ Projectiles|CrossThrow
   #T+ proAutoWho
   #T+ proAutoOut
   #T+ proNamePrompt
   #T+ proAssistPrompt
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proKeyword}
      #SENDRAW {throw}
      } {
      #SENDRAW {throw}
      }
   }
#ALIAS bashPro {
   #T- Projectiles|AutoLoad
   #T- Projectiles|AutoRound
   #T- Projectiles|AutoThrow
   #T- Projectiles|CrossThrow
   #T- proAutoWho
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proKeyword}
      #SENDRAW {throw @proBashed}
      #SENDRAW {draw @throwMelee}
      } {
      #SENDRAW {throw @proBashed}
      #SENDRAW {draw @proKeyword}
      }
   }
#ALIAS loadPro {
   #T+ Projectiles|AutoLoad
   #T- Projectiles|AutoRound
   #T- Projectiles|AutoThrow
   #T- Projectiles|CrossThrow
   #T- proAutoWho
   #T- proAutoOut
   #IF (%null(%1)) {
      #IF (%null(@proKeyword)) {
         #T- Projectiles|AutoLoad
         #PRINT {%crlf Projectile keyword missing, Usage: <C dodgerblue>loadPro <keyword></C>}
         } {
         #SENDRAW {sheath}
         }
      } {
      #VAR proKeyword %1
      #SENDRAW {sheath}
      }
   }
#ALIAS meleePro {
   #IF (%null(%1)) {
      #IF (%null(@proMelee)) {
         #T- Projectiles|AutoLoad
         #PRINT {%crlf Melee keyword missing, Usage: <C dodgerblue>meleePro <keyword></C>}
         } {
         #IF (@throwMelee) {
            #VAR throwMelee 0
            #PRINT {%crlf Projectiles have been set to primary mode.}
            } {
            #VAR throwMelee 1
            #PRINT {%crlf Projectiles have been set to secondary mode.}
            }
         }
      } {
      #IF (@throwMelee) {
         #VAR throwMelee 0
         #PRINT {%crlf Projectiles have been set to primary mode.}
         } {
         #VAR throwMelee 1
         #PRINT {%crlf Projectiles have been set to secondary mode.}
         }
      #VAR proMelee %1
      }
   }
#ALIAS smobPro {
   #IF (%null(%4)) {
      #PRINT {%crlf Usage: <C dodgerblue>smobPro <pet> <move direction> <target> <number of times></C>}
      } {
      #VAR proPet %1
      #VAR proDirection %2
      #VAR proTarget %3
      #IF (%4>4) {
         #VAR proAttempts 4
         } {
         #VAR proAttempts %4
         }
      #T+ Projectiles|SmobThrow
      #VAR proCount 0
      #IF (@throwMelee) {
         #SENDRAW {sheath}
         #SENDRAW {draw @proKeyword}
         #SENDRAW {order @proPet sit}
         } {
         #SENDRAW {order @proPet sit}
         }
      }
   }
#VAR proAttempts {}
#VAR proBashed {}
#VAR proCount {0}
#VAR proDirection {}
#VAR proKeyword {throwing}
#VAR proEngaged {}
#VAR proPet {}
#VAR proTarget {}
#VAR proMelee {sai}
#VAR proMove {n|e|s|w|u|d}
#VAR proReturn {s|w|n|e|d|u}
#VAR proSitting {}
#VAR throwMelee {0}
#TRIGGER "proLastBashed" {^[A-Z]%w sends (*) sprawling with a powerful bash!$} {
   #IF (%1=you) {
      #VAR proBashed {}
      } {
      #IF (%numwords(%1)>1) {
         #VAR proBashed %word(%1,%numwords(%1))
         } {
         #VAR proBashed %replace(%1,"*","")
         }
      }
   #ALARM "proBashedAlarm" {+6} {
      #VAR proBashed {}
      } "Projectiles"
   } "" {case}
#TRIGGER "proAutoWho" {Throw at who?$} {
   #T- proAutoWho
   #T- proAutoOut
   #T- Projectiles|AutoRound
   #T- Projectiles|AutoThrow
   #T- Projectiles|CrossThrow
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proMelee}
      }
   } "" {case|disable}
#TRIGGER "proAutoOut" {You don't seem to have a sheathed weapon.$} {
   #T- proAutoOut
   #T- proAutoWho
   #T- Projectiles|AutoRound
   #T- Projectiles|AutoThrow
   #T- Projectiles|CrossThrow
   #IF (@throwMelee) {
      #SENDRAW {draw @proMelee}
      } {
      #SENDRAW {wield @proKeyword}
      loadPro
      }
   } "" {case|disable}
#TRIGGER "proNamePrompt" {^{o|*} * - (*): [A-Z]%w >} {
   #T- proNamePrompt
   #T- proAssistPrompt
   #IF (%numwords(%1)>1) {
      #VAR proEngaged %word(%1,%numwords(%1))
      } {
      #VAR proEngaged %1
      }
   } "" {case|disable|nocr|prompt}
#TRIGGER "proAssistPrompt" {^{o|*} * - *: %w - (*): [A-Z]%w >} {
   #T- proNamePrompt
   #T- proAssistPrompt
   #IF (%numwords(%1)>1) {
      #VAR proEngaged %word(%1,%numwords(%1))
      } {
      #VAR proEngaged %1
      }
   } "" {case|disable|nocr|prompt}
#CLASS 0
#CLASS {Projectiles|AutoLoad} {disable}
#TRIGGER {You're already wielding a weapon.$} {
   #SENDRAW {sheath}
   } "" {case}
#TRIGGER {There is already something in *.$} {
   #T- Projectiles|AutoLoad
   #IF (@throwMelee) {
      #SENDRAW {remove @proKeyword}
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#TRIGGER {You don't seem to have *.$} {
   #T- Projectiles|AutoLoad
   #IF (@throwMelee) {
      #SENDRAW {remove @proKeyword}
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#TRIGGER {You are not wielding a weapon.$} {
   #SENDRAW {wield @proKeyword}
   } "" {case}
#TRIGGER {You sheath * into *.$} {
   #SENDRAW {wield @proKeyword}
   } "" {case}
#TRIGGER {You wield *.$} {
   #SENDRAW {sheath}
   } "" {case}
#CLASS 0
#CLASS {Projectiles|AutoRound} {disable}
#VAR proAttack {blast|cleave|crush|hack|hit|lance|pierce|pound|scythe|shoot|slash|slice|smite|stab|sting|strike|whip}
#VAR proAttacked {blasts|cleaves|crushes|hacks|hits|lances|pierces|pounds|scythes|shoots|slashes|slices|smites|stabs|stings|strikes|tickles|whips}
#TRIGGER {~*@proEngaged~* {@proAttacked} your *{.|!}$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|CrossThrow
   #SENDRAW {throw}
   } "" {case}
#TRIGGER {~*@proEngaged~* barely {@proAttacked} your *.$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|CrossThrow
   #SENDRAW {throw}
   } "" {case}
#TRIGGER {~*@proEngaged~* tries to {@proAttack} you, but you *.$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|CrossThrow
   #SENDRAW {throw}
   } "" {case}
#TRIGGER {You swiftly dodge ~*@{proEngaged}~*'s attempt to {@proAttack} you.$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|CrossThrow
   #SENDRAW {throw}
   } "" {case}
#TRIGGER {@proEngaged {@proAttacked} your *{.|!}$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|AutoThrow
   #SENDRAW {throw}
   } "" {}
#TRIGGER {@proEngaged barely {@proAttacked} your *.$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|AutoThrow
   #SENDRAW {throw}
   } "" {}
#TRIGGER {@proEngaged tries to {@proAttack} you, but you *.$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|AutoThrow
   #SENDRAW {throw}
   } "" {}
#TRIGGER {You swiftly dodge @{proEngaged}'s attempt to {@proAttack} you.$} {
   #T- Projectiles|AutoRound
   #T+ Projectiles|AutoThrow
   #SENDRAW {throw}
   } "" {}
#CLASS 0
#CLASS {Projectiles|AutoThrow} {disable}
#TRIGGER {You are already wielding a weapon!$} {
   #T+ Projectiles|AutoRound
   } "" {case}
#TRIGGER {You're too busy at the moment!$} {
   #T+ Projectiles|AutoRound
   } "" {case}
#TRIGGER {You don't seem to have a sheathed weapon.$} {
   #T- Projectiles|AutoRound
   #T- Projectiles|AutoThrow
   #IF (@throwMelee) {
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#TRIGGER {You throw * at *.} {
   #T+ Projectiles|AutoRound
   #T- Projectiles|CrossThrow
   #SENDRAW {draw @proKeyword}
   } "" {case}
#TRIGGER {@proEngaged deflects * that was thrown at %w.$} {
   #SENDRAW {get @proKeyword}
   } "" {case}
#TRIGGER {* just misses @proEngaged and falls to the ground.$} {
   #SENDRAW {get @proKeyword}
   } "" {case}
#TRIGGER {^@proEngaged is dead!  R.I.P.$} {
   #SENDRAW {get all.@proKeyword corpse}
   #T- Projectiles|AutoRound
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#CLASS 0
#CLASS {Projectiles|CrossThrow} {disable}
#TRIGGER {You are already wielding a weapon!$} {
   #T+ Projectiles|AutoRound
   } "" {case}
#TRIGGER {You're too busy at the moment!$} {
   #T+ Projectiles|AutoRound
   } "" {case}
#TRIGGER {You don't seem to have a sheathed weapon.$} {
   #T- Projectiles|AutoRound
   #IF (@throwMelee) {
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#TRIGGER {You throw * at ~*[A-Z]%w~*.} {
   #T+ Projectiles|AutoRound
   #T- Projectiles|AutoThrow
   #SENDRAW {draw @proKeyword}
   } "" {case}
#TRIGGER {~*@{proEngaged}~* (deflects * that was thrown at %w.)$} {
   #SENDRAW {get @proKeyword}
   } "" {}
#TRIGGER {(* just misses) ~*@{proEngaged}~* (and falls to the ground.)$} {
   #SENDRAW {get @proKeyword}
   } "" {}
#TRIGGER {^~*@{proEngaged}~* is dead!  R.I.P.$} {
   #T- Projectiles|AutoRound
   #SENDRAW {get all.@proKeyword corpse}
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proMelee}
      }
   } "" {}
#CLASS 0
#CLASS {Projectiles|SmobThrow} {disable}
#TRIGGER {([A-Z]*) clambers to %w feet.$} {
   #VAR proSitting %1
   #SENDRAW {order @proPet sit}
   #SENDRAW {@proDirection}
   #SENDRAW {throw @proTarget}
   #SENDRAW {%reversedir(@proDirection)}
   #SENDRAW {draw @proKeyword}
   } "" {case}
#TRIGGER {@proSitting is sitting here.$} {
   #IF (@proCount=4) {
      #T- Projectiles|SmobThrow
      } {
      #VAR proCount (@proCount+1)
      #IF (@proCount!=@proAttempts) {
         #SENDRAW {@proDirection}
         #SENDRAW {throw @proTarget}
         #SENDRAW {%reversedir(@proDirection)}
         #SENDRAW {draw @proKeyword}
         } {
         #T- Projectiles|SmobThrow
         }
      }
   } "" {case}
#TRIGGER {No way!  You're fighting for your life!} {
   #T- Projectiles|SmobThrow
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#TRIGGER {You flee head over heels.} {
   #T- Projectiles|SmobThrow
   #IF (@throwMelee) {
      #SENDRAW {sheath}
      #SENDRAW {draw @proMelee}
      }
   } "" {case}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:13 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpPulseTimer to view help file in client.

Image

Direct download: PulseTimerCMUD.txt

Code:
#CLASS {PulseTimer}
#ALIAS helpPulseTimer {
   #PRINT {%crlf <C dodgerblue>-----Pulse Timer Help File-----</C>}
   #PRINT {      <C dodgerblue>[Updated: 10/12/2019]</C>}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>colorPulse <type> [color]</C> to set color for type.}
   #PRINT {  Available types: (shown in current set color)}
   #PRINT {   Pulse symbol color: <C @pulseColor>%proper(@pulseColor)</C>}
   #PRINT {}
   #PRINT {  Note: can use [foreground background] format, background color is optional.}
   #PRINT {   Example: colorPulse info red darkgray}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>fontPulse <font></C> to set font type for Pulse Timer.}
   #PRINT {  Current font type: <C dodgerblue>%proper(@pulseFont)</C>}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>sizePulse <#></C> to set font size for Pulse Timer.}
   #PRINT {  Note: cannot be more or less than 4-5 points from default session font size.}
   #PRINT {   Hint: if timer does not show correctly try adjusting sizePulse #}
   #PRINT {    Current font size: <C dodgerblue>@pulseSize</C>}
   #PRINT {}
   #PRINT { For standard results set color, font, and size to the same as default session.}
   #PRINT {}
   #PRINT { <C dodgerblue>-----Special Function-----</C>}
   #PRINT {  Usage: <C dodgerblue>rainbowPulse</C> to toggle Pulse Timer rainbow color rotation on/off.}
   #PRINT {   Rainbow function: <C dodgerblue>%if(%class(eventRainbowPulse),ON,OFF)</C>}
   #PRINT {}
   }
#ALIAS colorPulse {
   #IF (%null(%1)) {
      #PRINT {%crlf  Usage: <C dodgerblue>colorPulse [color]</C>}
      #PRINT {}
      #PRINT {   Pulse symbol color: <C @pulseColor>%proper(@pulseColor)</C>}
      #PRINT {}
      #PRINT {  Note: can use [foreground background] format, background color is optional.}
      #PRINT {   Example: colorPulse red darkgray}
      #PRINT {}
      } {
      #IF (%null(%1)) {
         #PRINT {%crlf <C dodgerblue>What color is that?...</C>}
         } {
         #IF (%colorname(%1)=536870911 AND %color(%1)=0) {
            #VAR pulseColor {}
            #PRINT {%crlf <C dodgerblue>%1 is an invalid color. pulseColor variable cleared.</C>}
            } {
            #IF (%null(%2)) {
               #VAR pulseColor {%1}
               #PRINT {%crlf Pulse color set: <C %1>%1</C>}
               } {
               #IF (%colorname(%2)=536870911 AND %color(%2)=0) {
                  #VAR pulseColor {}
                  #PRINT {%crlf <C dodgerblue>%2 is an invalid color. pulseColor variable cleared.</C>}
                  } {
                  #VAR pulseColor {%concat(%1," ",%2)}
                  #PRINT {%crlf Pulse color set: <C %1 %2>%1 %2</C>}
                  }
               }
            }
         }
      }
   }
#ALIAS sizePulse {
   #IF (%isnumber(%1)) {
      #VAR pulseSize %1
      #PRINT {%crlf Pulse Timer symbol font size set to: <C dodgerblue>@pulseSize</C> %crlf}
      } {
      #PRINT {%crlf What kind of number is that... %crlf}
      }
   }
#ALIAS fontPulse {
   #IF (%null(%1)) {
      #PRINT {%crlf Font name not detected... %crlf}
      } {
      #VAR pulseFont {%concat(~",%-1,~")}
      #PRINT {%crlf Pulse Timer symbol font set to: <C dodgerblue>%-1</C> %crlf}
      }
   }
#ALIAS rainbowPulse {
   #IF (%class(eventRainbowPulse)) {
      #T- eventRainbowPulse
      #PRINT {%crlf Pulse Timer symbol color set to normal. %crlf}
      } {
      #T+ eventRainbowPulse
      #PRINT {}
      #MXP { Pulse Timer color set: <C red>R<C orange>A<C yellow>I<C green>N<C blue>B<C indigo>O<C violet>W</C>}
      #PRINT {}
      }
   }
#VAR pulseColor {white}
#VAR pulseCount {}
#VAR pulseFont {Consolas}
#VAR pulseLastPrompt {}
#VAR pulseRainbowCount {0}
#VAR pulseRainbowList {red|orange|yellow|lime|dodgerblue|darkorchid|violet}
#VAR pulseSize {18}
#TRIGGER "pulseChargeTrigger" {^(You line up your charge...)(*)$} {
   #IF (%ends(%line,"> ")) {
      #PSUB {@pulseLastPrompt %e[K} %x1
      #PRINT {You line up your charge...}
      }
   } "" {case}
#TRIGGER "pulseBeginTimer" {^(%s)(*)$} {
   #RAISE eventPulseBegin {%1} {%2}
   } "" {nocr|prompt}
#TRIGGER "pulseBeginLine" {^(%s)(*)$} {
   #RAISE eventPulseBegin {%1} {%2}
   } "" {}
#TRIGGER "pulseDash" {^(-)} {
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%1</DEST></FONT>}
   #RAISE eventDashFirst
   #RAISE eventDashLast
   #T+ pulsePrompt
   #T+ pulseCancelled
   #T+ pulseOk
   } "" {disable|nocr|prompt}
#TRIGGER "pulseDashLine" {^(-)} {
   #PRINT {}
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%e[2A%1</DEST></FONT>}
   #VAR pulseCount 1
   #RAISE eventDashFirst
   #RAISE eventDashLast
   #T+ pulsePrompt
   #T+ pulseCancelled
   #T+ pulseOk
   } "" {disable}
#TRIGGER "pulseEqual" {^(=)} {
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%1</DEST></FONT>}
   #RAISE eventEqualFirst
   #RAISE eventEqualLast
   } "" {disable|nocr|prompt}
#TRIGGER "pulseEqualLine" {^(=)} {
   #PRINT {}
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%e[2A%1</DEST></FONT>}
   #VAR pulseCount 1
   #RAISE eventEqualFirst
   #RAISE eventEqualLast
   } "" {disable}
#TRIGGER "pulsePlus" {^(+)} {
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%1</DEST></FONT>}
   #RAISE eventPlusFirst
   #RAISE eventPlusLast
   } "" {disable|nocr|prompt}
#TRIGGER "pulsePlusLine" {^(+)} {
   #PRINT {}
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%e[2A%1</DEST></FONT>}
   #VAR pulseCount 1
   #RAISE eventPlusFirst
   #RAISE eventPlusLast
   } "" {disable}
#TRIGGER "pulseStar" {^(~*)} {
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%1</DEST></FONT>}
   #RAISE eventStarLast
   #RAISE eventStarFirst
   } "" {disable|nocr|prompt}
#TRIGGER "pulseStarLine" {^(~*)} {
   #PRINT {}
   #ADD pulseCount 1
   #PSUB {" "} %x1
   #RAISE eventRainbowPulse
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%e[2A%1</DEST></FONT>}
   #VAR pulseCount 1
   #RAISE eventStarLast
   #RAISE eventStarFirst
   } "" {disable}
#TRIGGER "pulseSpace" {^(%s)} {
   #ADD pulseCount 1
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%1</DEST></FONT>}
   #T+ pulseDash
   #T+ pulseDashLine
   #T+ eventDashFirst
   } "" {disable|nocr|prompt}
#TRIGGER "pulseSpaceLine" {^(%s)} {
   #PRINT {}
   #ADD pulseCount 1
   #MXP {<FONT @pulseFont @pulseSize @pulseColor><DEST X=@pulseCount>%e[2A%1</DEST></FONT>}
   #VAR pulseCount 1
   #T+ pulseDash
   #T+ pulseDashLine
   #T+ eventDashFirst
   } "" {disable}
#TRIGGER "pulsePrompt" {(^{o|*} * > )} {
   #SUB {%1}
   #T- pulsePrompt
   #T- pulseCancelled
   #T- pulseOk
   #T- pulseDash
   #T- pulseDashLine
   #T- eventDashFirst
   #T- eventDashLast
   #T- pulseEqual
   #T- pulseEqualLine
   #T- eventEqualFirst
   #T- eventEqualLast
   #T- pulsePlus
   #T- pulsePlusLine
   #T- eventPlusFirst
   #T- eventPlusLast
   #T- pulseStar
   #T- pulseStarLine
   #T- eventStarFirst
   #T- eventStarLast
   #T- pulseSpace
   #T- pulseSpaceLine
   #T+ pulseBeginLine
   #T+ pulseBeginTimer
   } "" {nocr|prompt}
#TRIGGER "pulseLastPrompt" {^({o|*} * > )} {
   #VAR pulseLastPrompt %1
   } "" {nocr|prompt}
#TRIGGER "pulseCancelled" {^Cancelled.} {
   #T- pulseCancelled
   #T+ pulseBeginLine
   #T+ pulseBeginTimer
   } "" {disable}
#TRIGGER "pulseOk" {^Ok.} {
   #T- pulseOk
   #T+ pulseBeginLine
   #T+ pulseBeginTimer
   } "" {disable}
#EVENT eventPulseBegin {
   #IF (%null(%2)) {
      #IF (%null(%line(1))) {} {#PRINT {}}
      #T+ eventDashFirst
      #T+ pulseDash
      #T+ pulseDashLine
      #VAR pulseCount 1
      #T+ pulsePrompt
      #T+ pulseCancelled
      #T+ pulseOk
      } {
      #IF (%ends(%line,"> ")) {
         #PSUB {@pulseLastPrompt %e[K} %x1
         #PRINT {%crlf}
         #T+ eventDashFirst
         #T+ pulseDash
         #T+ pulseDashLine
         #VAR pulseCount 1
         }
      }
   }
#EVENT eventDashFirst {
   #T- eventDashFirst
   #T- pulseDash
   #T- pulseDashLine
   #T- pulseBeginLine
   #T- pulseBeginTimer
   #T+ pulseEqual
   #T+ pulseEqualLine
   #T+ eventEqualFirst
   }
#EVENT eventDashLast {
   #T- eventDashLast
   #T- pulseDash
   #T- pulseDashLine
   #T+ pulseSpace
   #T+ pulseSpaceLine
   }
#EVENT eventEqualFirst {
   #T- eventEqualFirst
   #T- pulseEqual
   #T- pulseEqualLine
   #T+ pulsePlus
   #T+ pulsePlusLine
   #T+ eventPlusFirst
   }
#EVENT eventEqualLast {
   #T- eventEqualLast
   #T- pulseEqual
   #T- pulseEqualLine
   #T+ pulseDash
   #T+ pulseDashLine
   #T+ eventDashLast
   }
#EVENT eventPlusFirst {
   #T- eventPlusFirst
   #T- pulsePlus
   #T- pulsePlusLine
   #T+ pulseStar
   #T+ pulseStarLine
   #T+ eventStarFirst
   }
#EVENT eventPlusLast {
   #T- eventPlusLast
   #T- pulsePlus
   #T- pulsePlusLine
   #T+ pulseEqual
   #T+ pulseEqualLine
   #T+ eventEqualLast
   }
#EVENT eventStarFirst {
   #T- eventStarFirst
   #T+ eventStarLast
   }
#EVENT eventStarLast {
   #T- eventStarLast
   #T- pulseStar
   #T- pulseStarLine
   #T+ pulsePlus
   #T+ pulsePlusLine
   #T+ eventPlusLast
   }
#EVENT eventRainbowPulse {
   #ADD pulseRainbowCount 1
   #VAR pulseColor (%item(@pulseRainbowList,(@pulseRainbowCount\%numitems(@pulseRainbowList)+1)))
   }
#EVENT onConnect {
   #T+ pulseLastPrompt
   }
#CLASS 0
#T- eventRainbowPulse

Author:  Taziar [ Sat Oct 12, 2019 6:13 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpRazor to view help file in client.

Image

Direct download: RazorCMUD.txt

Code:
#CLASS {Razor}
#ALIAS helpRazor {
   #PRINT {%crlf <C dodgerblue>-----Razor Help File-----</C>}
   #PRINT {    <C dodgerblue>[Updated: 9/23/2019]</C>}
   #PRINT { To craft a Domani Razor travel to the Domani Coastal Palace.}
   #PRINT {  Type: <C dodgerblue>makeRazor</C> (to begin crafting)}
   #PRINT {   Note: crafting room is Stable Stalls (in northeast corner of Palace zone)}
   #PRINT {}
   }
#ALIAS makeRazor {
   #T+ razorFetchTrigger
   #T+ razorFailTrigger
   #SEND {fetch shovel}
   }
#TRIGGER "razorFailTrigger" {Arglebargle, glop-glyf!?!} {
   #T- razorFailTrigger
   #T- razorFetchTrigger
   } "" {case|disable}
#TRIGGER "razorFetchTrigger" {You fetch a shovel.} {
   #T- razorFetchTrigger
   #T- razorFailTrigger
   #T+ razorGetTrigger
   #SEND {get shovel}
   } "" {case|disable}
#TRIGGER "razorGetTrigger" {You get a shovel.} {
   #T- razorGetTrigger
   #T+ razorContinueTrigger
   #SEND {muckout stable}
   } "" {case|disable}
#TRIGGER "razorContinueTrigger" {You can continue to shovel straw.} {
   #T- razorContinueTrigger
   #T+ razorShovelTrigger
   #SEND {shovel straw}
   } "" {case|disable}
#TRIGGER "razorShovelTrigger" {You gather another shovel of straw and deposit it in the wheelbarrow.} {
   #T+ razorDepositTrigger
   #ALARM "razorAlarm" {+8} {
      #SEND {shovel straw}
      } "Razor"
   } "" {case|disable}
#TRIGGER "razorDepositTrigger" {You deposit the last shovelful in the wheelbarrow and cart it off.} {
   #T- razorShovelTrigger
   #ALARM "razorAlarm" {+1} {
      #T- razorDepositTrigger
      } "Razor"
   #T+ razorGroomTrigger
   } "" {case|disable}
#TRIGGER "razorGroomTrigger" {You can continue working and groom a horse.} {
   #T- razorGroomTrigger
   #T+ razorTackTrigger
   #SEND {groom horse}
   } "" {case|disable}
#TRIGGER "razorTackTrigger" {You can continue working and clean the tack.} {
   #T- razorTackTrigger
   #SEND {clean tack}
   } "" {case|disable}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:14 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpRent to view help file in client.

Image

Direct download: RentCMUD.txt

Code:
#CLASS {Rent}
#ALIAS helpRent {
   #PRINT {%crlf <C dodgerblue>-----Rent Help File-----</C>}
   #PRINT {<C dodgerblue>   [Updated: 8/26/2019]</C>}
   #PRINT { Saves a list of all equipment deposited in any rent when the list command is used.}
   #PRINT { Script saves data across all characters automatically adding new names via the <C dodgerblue>~%char</C> function.}
   #PRINT { Uses cMUD map functions <C dodgerblue>~%roomkey</C>, <C dodgerblue>~%roomname</C> and <C dodgerblue>~%zonename</C> to save data for each rent location.}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>showRent</C> for list of available rents and usage syntax.}
   #PRINT {  Syntax: <C dodgerblue>showRent <rentnumber> [character, current if omitted]</C>}
   #PRINT {   Example: <C dodgerblue>showRent all <Name></C> will show all items in all rent locations for that character name.}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>addRent</C> in any room with an innkeeper to create a rent location there.}
   #PRINT {  Note: Make sure cMUD map is in proper room position.}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>deleteRent <rentNumber></C> to delete a rent location and all contents.}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>clearRent <rentNumber> <characterName></C> to clear a character's rent for that location.}
   #PRINT {}
   #PRINT { Usage: <C dodgerblue>searchRent <item keyword(s)></C> to search for an item in all rents across all alts.}
   #PRINT {}
   }
#ALIAS showRent {
   #IF (%null(%param(1))) {
      #PRINT {%crlf <C dodgerblue>showRent <rentnumber> [character, current if omitted]</C> %crlf}
      #PRINT { <C dodgerblue>-------------Available Rents-------------</C>}
      #LOOP 1,%numitems(@rentKey) {
         #PRINT {<C dodgerblue>%if(%len(%i)=1,"  "%i," "%i))</C> %item(@rentZone,%i) - %item(@rentName,%i)}
         }
      #PRINT {}
      } {
      #IF (%null(%param(2))) {
         #VAR rentChar %char
         } {
         #VAR rentChar %param(2)
         }
      }
   #IF (%isnumber(%param(1))) {
      #VAR rentCurrent %item(@rentKey,%param(1))
      #IF (%item(@rentZone,%param(1)) AND %item(@rentName,%param(1))) {
         #PRINT {%crlf -----Rent Contents for <C dodgerblue>%proper(@rentChar)</C>-----}
         #PRINT {%crlf %item(@rentZone,%param(1)) - %item(@rentName,%param(1))}
         }
      #IF (%null(%expand(%concat("@",@rentChar,@rentCurrent)))) {
         #PRINT { <C dodgerblue>%proper(@rentChar) has no items stored at this location!</C>}
         } {
         #LOOP 1,%numitems(%expand(%concat("@",@rentChar,@rentCurrent))) {
            #PRINT {%if(%len(%i)=1,"  "%i," "%i)) %item(%expand(%concat("@",@rentChar,@rentCurrent)),%i)}
            }
         }
      } {
      #IF (%param(1)=all) {
         #PRINT {%crlf -----All Rent Contents for <C dodgerblue>%proper(@rentChar)</C>-----}
         #LOOP 1,%numitems(@rentKey) {
            #VAR rentCurrent %item(@rentKey,%i)
            #IF (%numitems(%expand(%concat("@",@rentChar,@rentCurrent)))) {
               #PRINT {%crlf <C dodgerblue>%item(@rentZone,%i) - %item(@rentName,%i)</C>}
               #LOOP 1,%numitems(%expand(%concat("@",@rentChar,@rentCurrent))) {
                  #PRINT {<C dodgerblue>%if(%len(%j)=1,"   "%j,"  "%j))</C> %item(%expand(%concat("@",@rentChar,@rentCurrent)),%j)}
                  }
               }
            }
         }
      }
   }
#ALIAS addRent {
   #IF (%ismember(%roomkey,@rentKey)) {
      #PRINT { <C dodgerblue>Rent already in database.</C>}
      } {
      #VAR rentKey %additem(%roomkey,@rentKey)
      #VAR rentName %additem(%roomname,@rentName)
      #VAR rentZone %additem(%zonename,@rentZone)
      #PRINT { <C dodgerblue>Rent added!</C>}
      }
   }
#ALIAS clearRent {
   #IF (%null(%param(1))) {
      #PRINT {%crlf Usage: <C dodgerblue>clearRent <rentNumber> <characterName></C>}
      } {
      #IF (%null(%item(@rentKey,%param(1)))) {
         #PRINT {%crlf  Not a valid rent number, <C dodgerblue>clearRent</C> for usage.}
         } {
         #IF (%ismember(%proper(%param(2)),@rentCharList)) {
            #VAR %concat(%lower(%param(2)),%item(@rentKey,%param(1))) {} {_nodef} {Rent|RentContent}
            #PRINT { <C dodgerblue>Rent cleared!</C>}
            } {
            #PRINT {%crlf  Not a valid character name...}
            }
         }
      }
   }
#ALIAS deleteRent {
   #IF (%null(%param(1))) {
      #PRINT {%crlf Usage: <C dodgerblue>deleteRent <rentNumber></C>}
      } {
      #IF (%null(%item(@rentKey,%param(1)))) {
         #PRINT {%crlf  Not a valid rent number, <C dodgerblue>deleteRent</C> for usage.}
         } {
         #FORALL @rentCharList {
            #TEMP "rentTEMP" {Variable * removed.} {#GAG} "Rent" {}
            #UNVAR %concat(%lower(%i),%item(@rentKey,%param(1))) {Rent|RentContent}
            }
         #VAR rentKey %delnitem(@rentKey,%param(1))
         #VAR rentName %delnitem(@rentName,%param(1))
         #VAR rentZone %delnitem(@rentZone,%param(1))
         #PRINT { <C dodgerblue>Rent deleted!</C>}
         }
      }
   }
#ALIAS searchRent {
   #IF (%null(%params)) {
      #PRINT {%crlf Usage: <C dodgerblue>searchRent <item keyword(s)></C>}
      } {
      #T- eventRentSearch
      #VAR rentSearchItem %lower(%params)
      #PRINT {%crlf Searching rents for: <C dodgerblue>@rentSearchItem</C>}
      #LOOP 1,%numitems(@rentCharList) {
         #LOOP 1,%numitems(@rentKey) {
            #IF (%pos(@rentSearchItem,%eval(%concat("@",%item(@rentCharList,%i),%item(@rentKey,%j))))) {
               #T+ eventRentSearch
               #PRINT {%crlf %proper(%item(@rentCharList,%i)) - %item(@rentZone,%j) - %item(@rentName,%j)}
               #LOOP 1,%numitems(%eval(%concat("@",%item(@rentCharList,%i),%item(@rentKey,%j)))) {
                  #IF (%pos(@rentSearchItem,%item(%eval(%concat("@",%item(@rentCharList,%i),%item(@rentKey,%j))),%k))>0) {
                     #PRINT {%if(%len(%k)=1,"  "%k," "%k)) <C dodgerblue>%item(%eval(%concat("@",%item(@rentCharList,%i),%item(@rentKey,%j))),%k)</C>}
                     } {
                     #PRINT {%if(%len(%k)=1,"  "%k," "%k)) %item(%eval(%concat("@",%item(@rentCharList,%i),%item(@rentKey,%j))),%k)}
                  }
               }
            }
         }
      }
      #IF (%class(eventRentSearch)) {
         #T- eventRentSearch
         } {
         #PRINT {%crlf Did not find any: <C dodgerblue>@rentSearchItem</C>}
         }
      }
   }
#VAR rentChar {}
#VAR rentCharList {}
#VAR rentCurrent {}
#VAR rentItem {}
#VAR rentItemCost {}
#VAR rentSearchItem {}
#TRIGGER "rentInnTrigger" {tells you, 'I don't have any items for you here.'$} {
   #VAR %concat(%lower(%char),%roomkey) {} {_nodef} {Rent|RentContent}
   #PRINT { <C dodgerblue>Rent Cleared!</C>}
   } "" {case|disable}
#TRIGGER "rentListTrigger" {%d. %d {item|items} stored for (%d {day|days}), (* rent due).$} {
   #T+ rentItemTrigger
   #T+ eventRentPrompt
   #VAR rentItemCost %concat([,%1," ",%2,])
   } "" {disable|case}
#TRIGGER "rentItemTrigger" {^(%s)([a-z]*)$} {
   #IF (%len(%1)>4) {
      #VAR rentItem %additem(%concat(%2," ",~(in container~)),@rentItem)
      } {
      #VAR rentItem %additem(%concat(%2," ",@rentItemCost),@rentItem)
      }
   } "" {disable}
#TRIGGER "rentPrompt" {^{o|*} * >} {
   #T- rentPrompt
   #T- rentItemTrigger
   #RAISE eventListPrompt
   #RAISE eventRentPrompt
   } "" {case|disable|prompt|nocr}
#ONINPUT "rentListInput" {^{li|lis|list}$} {
   #IF (%ismember(%roomkey,@rentKey)) {
      #VAR rentCurrent %roomkey
      #T+ eventListPrompt
      #T+ rentInnTrigger
      #T+ rentListTrigger
      #T+ rentPrompt
      }
   } "" {}
#EVENT onConnect {
   #T- eventRentPrompt
   #T- eventListPrompt
   #ADDITEM rentCharList %char
   }
#EVENT eventListPrompt {
   #T- eventListPrompt
   #T- rentInnTrigger
   #T- rentListTrigger
   }
#EVENT eventRentPrompt {
   #T- eventRentPrompt
   #VAR %concat(%lower(%char),%roomkey) {@rentItem} {_nodef} {Rent|RentContent}
   #VAR rentItem {}
   #PRINT { <C dodgerblue>Rent Updated!</C>}
   }
#EVENT eventRentSearch {}
#CLASS 0
#CLASS {Rent|RentContent}
#VAR rentKey {}
#VAR rentName {}
#VAR rentZone {}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:14 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpSailing to view help file in client.

Image

Type rivermap to view rivermap in client.

Image

Type oceanmap to view oceanmap in client.

Image

Direct download: SailingCMUD.txt

Code:
#CLASS {Sailing}
#ALIAS helpSailing {
   #PRINT {%crlf <C dodgerblue>-----Sailing Help File-----</C>}
   #PRINT {     <C dodgerblue>[Update: 8/28/2019]</C>}
   #PRINT { Type <C dodgerblue>riversail <starting location> <destination></C>}
   #PRINT {  Hint: Can abbreviate locations and destinations down to the first 3 letters.}
   #PRINT {   Example: riversail illian irinjavar or riversail ill iri}
   #PRINT {}
   #PRINT { Type <C dodgerblue>oceansail <starting location> <destination></C>}
   #PRINT {  Hint: Can abbreviate locations and destinations down to the first 3 letters.}
   #PRINT {   Example: oceansail mayene tremalking or oceansail may tre}
   #PRINT {}
   #PRINT { Note: Departing from Bandar Eban or departing from Tar Valon use only the first word in each name.}
   #PRINT {  Example: riverSail tar tear or oceanSail bandar tanchico}
   #PRINT {}
   #PRINT { Type <C dodgerblue>oceanmap</C> or <C dodgerblue>rivermap</C>}
   #PRINT {  Note: shows map of water routes, destinations, and boat names.}
   #PRINT {   Feature: keeps track of ship movement as you progress on your trip, X marks the spot!}
   #PRINT {}
   #PRINT { Type <C dodgerblue>stopsailing</C>}
   #PRINT {  Note: will deactivate the Sailing script if something goes wrong or your trip is interrupted.}
   #PRINT {}
   }
#ALIAS riverSail {
   #VAR sailOrigin %copy(%1,1,3)
   #VAR sailDestination %copy(%2,1,3)
   #VAR sailInput %concat(@sailOrigin,@sailDestination)
   #FORALL @sailRiverList {
      #IF (%copy(%i,1,3)=%proper(@sailOrigin)) {
         #VAR sailDepartureLocation %i
         }
      }
   #FORALL @sailRiverList {
      #IF (%copy(%i,1,3)=%proper(@sailDestination)) {
         #VAR sailArrivalLocation %i
         }
      }
   #VAR riverTripNotification {Current trip: @sailDepartureLocation to @sailArrivalLocation.}
   #IF (%null(@sailDepartureLocation) OR %null(@sailArrivalLocation)) {
      #PRINT {%crlf Sorry %char, we don't sail to %2 from %1... %crlf}
      #RAISE eventSailStop
      } {
      #VAR sailIndex {1}
      #VAR sailTrip {%expand(%concat("@",@sailInput))}
      #VAR sailNextDirection %item(@sailTrip,@sailIndex)
      #VAR sailMoveShip %item(@sailDir,@sailNextDirection)
      #T+ Sailing|RiverSail
      #T+ Sailing|SailorEmotes
      #ALARM "alarmSailMessage" {+1} {
         #PRINT {%crlf <C dodgerblue>Trip set:</C> @sailDepartureLocation to @sailArrivalLocation, type <C dodgerblue>rivermap</C> to view trip progress. %crlf}
         } "Sailing"
      }
   }
#ALIAS oceanSail {
   #VAR sailOrigin %copy(%1,1,3)
   #VAR sailDestination %copy(%2,1,3)
   #VAR sailInput (%expand(%concat(@sailOrigin,@sailDestination)))
   #FORALL @sailOceanList {
      #IF (%copy(%i,1,3)=%proper(@sailOrigin)) {
         #VAR sailDepartureLocation %i
         }
      }
   #FORALL @sailOceanList {
      #IF (%copy(%i,1,3)=%proper(@sailDestination)) {
         #VAR sailArrivalLocation %i
         }
      }
   #VAR oceanTripNotification {Current trip: @sailDepartureLocation to @sailArrivalLocation.}
   #IF (%null(@sailDepartureLocation) OR %null(@sailArrivalLocation)) {
      #PRINT {%crlf Sorry %char, we don't sail to %2 from %1... %crlf}
      #RAISE eventSailStop
      } {
      #VAR sailIndex 1
      #VAR sailTrip (%expand(%concat("@",@sailInput)))
      #VAR sailNextDirection %item(@sailTrip,@sailIndex)
      #VAR sailMoveShip %item(@sailDir,@sailNextDirection)
      #T+ Sailing|OceanSail
      #T+ Sailing|SailorEmotes
      #T+ sailCaptainTrigger
      #ALARM "alarmSailMessage" {+1} {
         #PRINT {%crlf <C dodgerblue>Trip set:</C> @sailDepartureLocation to @sailArrivalLocation, type <C dodgerblue>oceanmap</C> to view trip progress. %crlf}
         } "Sailing"
      }
   }
#ALIAS stopSailing {
   #RAISE eventSailStop
   }
#VAR sailArrivalLocation {}
#VAR sailDepartureLocation {}
#VAR sailDestination {}
#VAR sailDir {sail north|sail east|sail south|sail west}
#VAR sailEmbarkRoom {}
#VAR sailIndex {}
#VAR sailInput {}
#VAR sailOceanList {Amadicia|Bandar Eban|Falme|Illian|Jafar|Mayene|Tanchico|Tear|Tremalking}
#VAR sailRiverList {Aringill|Cairhien|Illian|Irinjavar|Tar Valon|Tear|Whitebridge}
#VAR sailMapDestination {}
#VAR sailMoveShip {}
#VAR sailNextDirection {}
#VAR sailOrigin {}
#VAR sailShipName {}
#VAR sailShowMessage {}
#VAR sailTrip {}
#VAR oceanTripNotification {}
#VAR riverTripNotification {}
#TRIGGER "sailEmbarkTrigger" {^{%char} steps off a gangplank unsteadily.$} {
   #T- sailEmbarkTrigger
   #T- sailArglebargleTrigger
   #T- sailNotHereTrigger
   #IF (%class(@sailEmbarkRoom)=-1) {} {#VAR %eval(@sailEmbarkRoom) "X"}
   } "" {case|disable}
#TRIGGER "sailDisembarkTrigger" {^Ok.$} {
   #T- sailDisembarkTrigger
   #T- sailArglebargleTrigger
   #VAR sailShipName {}
   #VAR sailEmbarkRoom {}
   #RAISE eventMapReset
   #RAISE eventSailStop
   } "" {case|disable}
#TRIGGER "sailNotHereTrigger" {^That ship is not here.$} {
   #T- sailNotHereTrigger
   #T- sailEmbarkTrigger
   #VAR sailShipName {}
   #VAR sailEmbarkRoom {}
   } "" {case|disable}
#TRIGGER "sailArglebargleTrigger" {Arglebargle, glop-glyf!?!$} {
   #T- sailArglebargleTrigger
   #T- sailDisembarkTrigger
   #T- sailEmbarkTrigger
   #T- sailNotHereTrigger
   } "" {case|disable}
#TRIGGER "sailCaptainTrigger" {^You're not the captain of this ship!$} {
   #T- sailCaptainTrigger
   #RAISE eventSailStop
   } "" {case|disable}
#ONINPUT {^disembark$} {
   #T+ sailDisembarkTrigger
   #T+ sailArglebargleTrigger
   }
#ONINPUT {^embark (*)$} {
   #T+ sailEmbarkTrigger
   #T+ sailArglebargleTrigger
   #T+ sailNotHereTrigger
   #VAR sailShipName %proper(%1)
   #IF (%numwords(@sailShipName)=2) {
      #VAR sailShipName %concat(%proper(%word(@sailShipName,1))," ",%proper(%word(@sailShipName,2)))
      } {
      #IF (%numwords(@sailShipName)=3) {
         #VAR sailShipName %concat(%proper(%word(@sailShipName,1))," ",%word(@sailShipName,2)," ",%proper(%word(@sailShipName,3)))
         }
      }
   #VAR sailEmbarkRoom (%replace(%replace(%replace(%roomname()," ",""),"'",""),"-",""))
   }
#EVENT eventSailStop {
   #VAR sailOrigin {}
   #VAR sailDestination {}
   #VAR sailInput {}
   #VAR sailTrip {}
   #VAR sailIndex {}
   #VAR sailNextDirection {}
   #VAR sailMoveShip {}
   #VAR sailArrivalLocation {}
   #VAR sailDepartureLocation {}
   #VAR oceanTripNotification {}
   #VAR riverTripNotification {}
   #T- Sailing|RiverSail
   #T- Sailing|OceanSail
   #T- Sailing|SailorEmotes
   }
#EVENT eventSailEngine {
   #VAR sailIndex (@sailIndex+1)
   #VAR sailNextDirection %item(@sailTrip,@sailIndex)
   #VAR sailMoveShip %item(@sailDir,@sailNextDirection)
   #T- sailCaptainTrigger
   }
#EVENT eventOceanStart {
   #RAISE eventMapReset
   #VAR %concat(oceanOpen,%replace(@sailDepartureLocation," ","")) "X"
   }
#EVENT eventSailEmote {
   #IF (%len(@sailMoveShip)) {
      #SENDRAW {@sailMoveShip}
      }
   }
#EVENT eventMapReset {
   #VAR ADockattheEdgeofthePier " "
   #VAR ATarredTimberDock " "
   #VAR CenterWharf " "
   #VAR DocksOnTheAlguenyaRiver " "
   #VAR EndofthePier " "
   #VAR OnaLongDock " "
   #VAR OnthePierofIsleJafar " "
   #VAR OvergrownPlainsnearaSmallStream " "
   #VAR Southharbor " "
   #VAR StoneDocksofIllian " "
   #VAR TheCityDocks " "
   #VAR TheShoresoftheAryth " "
   #VAR WatersEdgeontheCalpene " "
   #VAR WhitebridgeDocks " "
   #VAR oceanOpen " "
   #VAR oceanOpenAltara " "
   #VAR oceanOpenAmadicia " "
   #VAR oceanOpenBandarEban " "
   #VAR oceanOpenFalme " "
   #VAR oceanOpenIllian " "
   #VAR oceanOpenJafar " "
   #VAR oceanOpenMayene " "
   #VAR oceanOpenTanchico " "
   #VAR oceanOpenTremalking " "
   #VAR riverOpenAringill " "
   #VAR riverOpenCairhien " "
   #VAR riverOpenIllian " "
   #VAR riverOpenIrinjavar " "
   #VAR riverOpenTarValon " "
   #VAR riverOpenTear " "
   #VAR riverOpenWhitebridge " "
   }
#CLASS 0
#CLASS {Sailing|RiverSail} {disable}
#TRIGGER {^Sweeps churning the water steer the ship onto the river.$} {
   #RAISE eventMapReset
   #VAR %concat("riverOpen",%replace(@sailDepartureLocation," ","")) "X"
   #RAISE eventSailEngine
   } "" {case}
#TRIGGER {^Ropes are pulled to adjust the sail as the ship sails north against the current.$} {
   #IF (@riverOpenAringill=X) {
      #VAR riverOpenAringill " "
      #VAR riverOpenTarValon "X"
      } {}
   #IF (@riverOpenTear=X) {
      #VAR riverOpenTear " "
      #VAR riverOpenAringill "X"
      } {}
   #IF (@riverOpenWhitebridge=X) {
      #VAR riverOpenWhitebridge " "
      #VAR riverOpenIrinjavar "X"
      } {}
   #IF (@riverOpenIllian=X) {
      #VAR riverOpenIllian " "
      #VAR riverOpenWhitebridge "X"
      } {}
   #RAISE eventSailEngine
   } "" {case}
#TRIGGER {^Ropes are pulled to adjust the sail as the ship sails east against the current.$} {
   #VAR riverOpenAringill " "
   #VAR riverOpenCairhien "X"
   #RAISE eventSailEngine
   } "" {case}
#TRIGGER {^Ropes are pulled to adjust the sail as the ship sails south on the current.$} {
   #IF (@riverOpenAringill=X) {
      #VAR riverOpenAringill " "
      #VAR riverOpenTear "X"
      } {}
   #IF (@riverOpenTarValon=X) {
      #VAR riverOpenTarValon " "
      #VAR riverOpenAringill "X"
      } {}
   #IF (@riverOpenWhitebridge=X) {
      #VAR riverOpenWhitebridge " "
      #VAR riverOpenIllian "X"
      } {}
   #IF (@riverOpenIrinjavar=X) {
      #VAR riverOpenIrinjavar " "
      #VAR riverOpenWhitebridge "X"
      } {}
   #RAISE eventSailEngine
   } "" {case}
#TRIGGER {^Ropes are pulled to adjust the sail as the ship sails west on the current.$} {
   #VAR riverOpenCairhien " "
   #VAR riverOpenAringill "X"
   #RAISE eventSailEngine
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship towards the Cairhien docks.$} {
   #VAR riverOpenCairhien " "
   #VAR DocksOnTheAlguenyaRiver "X"
   #VAR sailMapDestination {DocksOnTheAlguenyaRiver}
   #PRINT {Welcome to Cairhien Captain %char, gateway to the Spine of the World and the Aiel Waste. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship towards the Tear docks.$} {
   #VAR riverOpenTear " "
   #VAR TheCityDocks "X"
   #VAR sailMapDestination {TheCityDocks}
   #PRINT {The Stone still stands Captain %char, welcome to Tear. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship towards the Aringill docks.$} {
   #VAR riverOpenAringill " "
   #VAR ATarredTimberDock "X"
   #VAR sailMapDestination {ATarredTimberDock}
   #PRINT {Welcome to Aringill Captain %char, largest port in Andor. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship into Southharbor.$} {
   #VAR riverOpenTarValon " "
   #VAR Southharbor "X"
   #VAR sailMapDestination {Southharbor}
   #PRINT {The Shining Walls of Tar Valon await you Captain %char. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship towards the Illian docks.$} {
   #VAR riverOpenIllian " "
   #VAR StoneDocksofIllian "X"
   #VAR sailMapDestination {StoneDocksofIllian}
   #PRINT {Welcome to Illian Captain %char, home to the Illian Companions. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship towards the Whitebridge docks.$} {
   #VAR riverOpenWhitebridge " "
   #VAR WhitebridgeDocks "X"
   #VAR sailMapDestination {WhitebridgeDocks}
   #PRINT {They say it was created in the Age of Legends Captain %char, welcome to Whitebridge. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^Sails are lowered and sweeps steer the ship towards the Irinjavar shoreline.$} {
   #VAR riverOpenIrinjavar " "
   #VAR OvergrownPlainsnearaSmallStream "X"
   #VAR sailMapDestination {OvergrownPlainsnearaSmallStream}
   #PRINT {Welcome to Saldaea Captain %char, Maradon lies to the north. %crlf}
   #RAISE eventSailStop
   } "" {case}
#CLASS 0
#CLASS {Sailing|OceanSail} {disable}
#TRIGGER {^Sweeps steer the ship away from the beach.$} {
   #RAISE eventSailEngine
   #RAISE eventOceanStart
   } "" {case}
#TRIGGER {^Sweeps steer the ship out of the harbor.$} {
   #RAISE eventSailEngine
   #RAISE eventOceanStart
   } "" {case}
#TRIGGER {^Sweeps steer the ship out of the cove.$} {
   #RAISE eventSailEngine
   #RAISE eventOceanStart
   } "" {case}
#TRIGGER {^Sweeps steer the ship away from the shore.$} {
   #RAISE eventSailEngine
   #RAISE eventOceanStart
   } "" {case}
#TRIGGER {^The ship sails north.$} {
   #RAISE eventSailEngine
   #IF (@oceanOpenFalme=X) {
      #VAR oceanOpenFalme " "
      #VAR oceanOpenBandarEban "X"
      } {}
   #IF (@oceanOpenTanchico=X) {
      #VAR oceanOpenTanchico " "
      #VAR oceanOpenFalme "X"
      } {}
   #IF (@oceanOpenAmadicia=X) {
      #VAR oceanOpenAmadicia " "
      #VAR oceanOpenTanchico "X"
      } {}
   } "" {case}
#TRIGGER {^The ship sails east.$} {
   #RAISE eventSailEngine
   #IF (@oceanOpenTear=X) {
      #VAR oceanOpenTear " "
      #VAR oceanOpenMayene "X"
      } {}
   #IF (@oceanOpen=X) {
      #VAR oceanOpen " "
      #VAR oceanOpenTear "X"
      } {}
   #IF (@oceanOpenIllian=X) {
      #VAR oceanOpenIllian " "
      #VAR oceanOpen "X"
      } {}
   #IF (@oceanOpenAltara=X) {
      #VAR oceanOpenAltara " "
      #VAR oceanOpenIllian "X"
      } {}
   #IF (@oceanOpenAmadicia=X) {
      #VAR oceanOpenAmadicia " "
      #VAR oceanOpenAltara "X"
      } {}
   #IF (@oceanOpenTremalking=X) {
      #VAR oceanOpenTremalking " "
      #VAR oceanOpenAmadicia "X"
      } {}
   #IF (@oceanOpenJafar=X) {
      #VAR oceanOpenJafar " "
      #VAR oceanOpenFalme "X"
      } {}
   } "" {case}
#TRIGGER {^The ship sails south.$} {
   #RAISE eventSailEngine
   #IF (@oceanOpenTanchico=X) {
      #VAR oceanOpenTanchico " "
      #VAR oceanOpenAmadicia "X"
      } {}
   #IF (@oceanOpenFalme=X) {
      #VAR oceanOpenFalme " "
      #VAR oceanOpenTanchico "X"
      } {}
   #IF (@oceanOpenBandarEban=X) {
      #VAR oceanOpenBandarEban " "
      #VAR oceanOpenFalme "X"
      } {}
   } "" {case}
#TRIGGER {^The ship sails west.$} {
   #RAISE eventSailEngine
   #IF (@oceanOpenAmadicia=X) {
      #VAR oceanOpenAmadicia " "
      #VAR oceanOpenTremalking "X"
      } {}
   #IF (@oceanOpenAltara=X) {
      #VAR oceanOpenAltara " "
      #VAR oceanOpenAmadicia "X"
      } {}
   #IF (@oceanOpenIllian=X) {
      #VAR oceanOpenIllian " "
      #VAR oceanOpenAltara "X"
      } {}
   #IF (@oceanOpen=X) {
      #VAR oceanOpen " "
      #VAR oceanOpenIllian "X"
      } {}
   #IF (@oceanOpenTear=X) {
      #VAR oceanOpenTear " "
      #VAR oceanOpen "X"
      } {}
   #IF (@oceanOpenMayene=X) {
      #VAR oceanOpenMayene " "
      #VAR oceanOpenTear "X"
      } {}
   #IF (@oceanOpenFalme=X) {
      #VAR oceanOpenFalme " "
      #VAR oceanOpenJafar "X"
      } {}
   } "" {case}
#TRIGGER {^The ship sails into the harbor of Mayene.$} {
   #VAR oceanOpenMayene " "
   #VAR OnaLongDock "X"
   #PRINT {Welcome to Mayene Captain %char, home to the Winged Guard. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails towards the shore of Tremalking.$} {
   #VAR oceanOpenTremalking " "
   #VAR ADockattheEdgeofthePier "X"
   #PRINT {Welcome to Tremalking Captain %char, home of the Sea Folk city of Samarin. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails into the harbor of Tear.$} {
   #VAR oceanOpenTear " "
   #VAR TheCityDocks "X"
   #PRINT {We made it through the Fingers of the Dragon Captain %char, welcome to Tear! %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails towards Falme.$} {
   #VAR oceanOpenFalme " "
   #VAR CenterWharf "X"
   #PRINT {We have arrived at the Seanchan controlled city of Falme Captain %char. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails towards Bandar Eban.$} {
   #VAR oceanOpenBandarEban " "
   #VAR EndofthePier "X"
   #PRINT {The home of the Sword and Hand, welcome to Bandar Eban Captain %char. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails towards the shore of Jafar.$} {
   #VAR oceanOpenJafar " "
   #VAR OnthePierofIsleJafar "X"
   #PRINT {Welcome to Jafar Captain %char, The Seanchan call it Aile Jafar. %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails into a sheltered cove.$} {
   #VAR oceanOpenAmadicia " "
   #VAR TheShoresoftheAryth "X"
   #PRINT {We are here Captain %char, east of Windbitter's Finger on the Shadow Coast! %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails towards the shore of Illian.$} {
   #VAR oceanOpenIllian " "
   #VAR StoneDocksofIllian "X"
   #PRINT {The Hunt for the Horn of Valere starts in Illian, good luck Captain %char! %crlf}
   #RAISE eventSailStop
   } "" {case}
#TRIGGER {^The ship sails east to the docks of Tanchico.$} {
   #VAR oceanOpenTanchico " "
   #VAR WatersEdgeontheCalpene "X"
   #PRINT {The Seanchan and Civil Watch battle openly here in the streets of Tanchico Captain %char. %crlf}
   #RAISE eventSailStop
   } "" {case}
#CLASS 0
#CLASS {Sailing|SailorEmotes} {disable}
#TRIGGER {A sailor calls out as he sees a giant fish alongside the ship.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor calls out the depth of the river.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor climbs into the ship's mast and looks out over the water.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor hauls up a bucket of fresh water and splashes it across the deck.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor leans on the ship's railing and looks across the water.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor neatly coils a rope on the front deck.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor sings hoarsely as he works.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor stuffs his pipe with tabac and lights it.} {#RAISE eventSailEmote} "" {case|verbatim}
#TRIGGER {A sailor takes a mop and starts scrubbing the deck.} {#RAISE eventSailEmote} "" {case|verbatim}
#CLASS 0
#CLASS {Sailing|OceanVariables}
#VAR amaban {1|1|1|1|2}
#VAR amafal {1|1|1|2}
#VAR amaill {1|2|2|1}
#VAR amajaf {1|1|1|4|3}
#VAR amamay {1|2|2|2|2|2|1}
#VAR amatan {1|1|2}
#VAR amatea {1|2|2|2|2|1}
#VAR amatre {1|4|3}
#VAR banama {4|3|3|3|3}
#VAR banfal {4|3|2}
#VAR banill {4|3|3|3|2|2|1}
#VAR banjaf {4|3|4|3}
#VAR banmay {4|3|3|3|2|2|2|2|2|1}
#VAR bantan {4|3|3|2}
#VAR bantea {4|3|3|3|2|2|2|2|1}
#VAR bantre {4|3|3|3|4|3}
#VAR falama {4|3|3|3}
#VAR falban {4|1|2}
#VAR falill {4|3|3|2|2|1}
#VAR faljaf {4|4|3}
#VAR falmay {4|3|3|2|2|2|2|2|1}
#VAR faltan {4|3|2}
#VAR faltea {4|3|3|2|2|2|2|1}
#VAR faltre {4|3|3|4|3}
#VAR illama {3|4|4|3}
#VAR illban {3|4|4|1|1|1|2}
#VAR illfal {3|4|4|1|1|2}
#VAR illjaf {3|4|4|1|1|4|3}
#VAR illmay {3|2|2|2|1}
#VAR illtan {3|4|4|1|2}
#VAR illtea {3|2|2|1}
#VAR illtre {3|4|4|4|3}
#VAR jafama {1|2|3|3|3}
#VAR jafban {1|2|1|2}
#VAR jaffal {1|2|2}
#VAR jafill {1|2|3|3|2|2|1}
#VAR jafmay {1|2|3|3|2|2|2|2|2|1}
#VAR jaftan {1|2|3|2}
#VAR jaftea {1|2|3|3|2|2|2|2|1}
#VAR jaftre {1|2|3|3|4|3}
#VAR mayama {3|4|4|4|4|4|3}
#VAR mayban {3|4|4|4|4|4|1|1|1|2}
#VAR mayfal {3|4|4|4|4|4|1|1|2}
#VAR mayill {3|4|4|4|1}
#VAR mayjaf {3|4|4|4|4|4|1|1|4|3}
#VAR maytan {3|4|4|4|4|1|2}
#VAR maytea {3|4|1}
#VAR maytre {3|4|4|4|4|4|4|3}
#VAR tanama {4|3|3}
#VAR tanban {4|1|1|2}
#VAR tanfal {4|1|2}
#VAR tanill {4|3|2|2|1}
#VAR tanjaf {4|1|4|3}
#VAR tanmay {4|3|2|2|2|2|2|1}
#VAR tantea {4|3|2|2|2|2|1}
#VAR tantre {4|3|4|3}
#VAR teaama {3|4|4|4|4|3}
#VAR teaban {3|4|4|4|4|1|1|1|2}
#VAR teafal {3|4|4|4|4|1|1|2}
#VAR teaill {3|4|4|1}
#VAR teajaf {3|4|4|4|4|1|1|4|3}
#VAR teamay {3|2|1}
#VAR teatan {3|4|4|4|1|2}
#VAR teatre {3|4|4|4|4|4|3}
#VAR treama {1|2|3}
#VAR treban {1|2|1|1|1|2}
#VAR trefal {1|2|1|1|2}
#VAR treill {1|2|2|2|1}
#VAR trejaf {1|2|1|1|4|3}
#VAR tremay {1|2|2|2|2|2|2|1}
#VAR tretan {1|2|1|2}
#VAR tretea {1|2|2|2|2|2|1}
#CLASS 0
#CLASS {Sailing|RiverVariables}
#VAR aricai {2|2|1}
#VAR aritar {2|1|1}
#VAR aritea {2|3|3}
#VAR caiari {3|4|4}
#VAR caitar {3|4|1|1}
#VAR caitea {3|4|3|3}
#VAR illiri {1|1|1|1}
#VAR illwhi {1|1|2}
#VAR iriill {3|3|3|3}
#VAR iriwhi {3|3|2}
#VAR tarari {3|3|4}
#VAR tarcai {3|3|2|1}
#VAR tartea {3|3|3|3}
#VAR teaari {1|1|4}
#VAR teacai {1|1|2|1}
#VAR teatar {1|1|1|1}
#VAR whiill {4|3|3}
#VAR whiiri {4|1|1}
#CLASS 0
#CLASS {Sailing|MapVariables}
#VAR ADockattheEdgeofthePier " "
#VAR ATarredTimberDock " "
#VAR CenterWharf " "
#VAR DocksOnTheAlguenyaRiver " "
#VAR EndofthePier " "
#VAR OnaLongDock " "
#VAR OnthePierofIsleJafar " "
#VAR OvergrownPlainsnearaSmallStream " "
#VAR Southharbor " "
#VAR StoneDocksofIllian " "
#VAR TheCityDocks " "
#VAR TheShoresoftheAryth " "
#VAR WatersEdgeontheCalpene " "
#VAR WhitebridgeDocks " "
#VAR oceanOpen " "
#VAR oceanOpenAltara " "
#VAR oceanOpenAmadicia " "
#VAR oceanOpenBandarEban " "
#VAR oceanOpenFalme " "
#VAR oceanOpenIllian " "
#VAR oceanOpenJafar " "
#VAR oceanOpenMayene " "
#VAR oceanOpenTanchico " "
#VAR oceanOpenTear " "
#VAR oceanOpenTremalking " "
#VAR riverOpenAringill " "
#VAR riverOpenCairhien " "
#VAR riverOpenIllian " "
#VAR riverOpenIrinjavar " "
#VAR riverOpenTarValon " "
#VAR riverOpenTear " "
#VAR riverOpenWhitebridge " "
#CLASS 0
#CLASS {Sailing|OceanMap}
#ALIAS oceanMap {
   #PRINT {}
   #PRINT {}
   #PRINT { <font size=7>Ports of the Aryth Ocean and the Sea of Storms</font>}
   #PRINT {}
   #PRINT {            [@oceanOpenBandarEban]---[@EndofthePier]                               Ocean Vessels}
   #PRINT {             ¦  Bandar Eban                         -------------}
   #PRINT {             ¦                                      Black Swan}
   #PRINT {             ¦                                      Dauntless}
   #PRINT {      [@oceanOpenJafar]---[@oceanOpenFalme]---[@CenterWharf] Falme                         Golden Tree}
   #PRINT {       ¦     ¦                                      Horn of Valere}
   #PRINT {      [@OnthePierofIsleJafar]    ¦                                      Silverpike}
   #PRINT {     Jafar   ¦  Tanchico                            Silver Sword}
   #PRINT {            [@oceanOpenTanchico]---[@WatersEdgeontheCalpene]                               Victory of Jafar}
   #PRINT {             ¦         Illian      Tear  Mayene     Windchaser}
   #PRINT {             ¦          [@StoneDocksofIllian]         [@TheCityDocks]   [@OnaLongDock]}
   #PRINT {             ¦           ¦           ¦     ¦        Clan Vessels}
   #PRINT {             ¦           ¦           ¦     ¦        -------------}
   #PRINT {      [@oceanOpenTremalking]---[@oceanOpenAmadicia]---[@oceanOpenAltara]---[@oceanOpenIllian]---[@oceanOpen]---[@oceanOpenTear]---[@oceanOpenMayene]       Golden Bee (Illian)}
   #PRINT {       ¦     ¦                                      Golden Hawk (Mayene)}
   #PRINT {       ¦    [@TheShoresoftheAryth] Amadicia                            Crescent Moon (Tear)}
   #PRINT {      [@ADockattheEdgeofthePier]}
   #PRINT {   Tremalking}
   #PRINT {}
   #PRINT {       <C dodgerblue>@oceanTripNotification</C> }
   #PRINT {}
   }
#CLASS 0
#CLASS {Sailing|RiverMap}
#ALIAS riverMap {
   #PRINT {}
   #PRINT {}
   #PRINT { <font size=7>Ports of The River Arinelle and The River Erinin</font>}
   #PRINT {}
   #PRINT {   River Arinelle}
   #PRINT {   --------------       [@OvergrownPlainsnearaSmallStream] Irinjavar      Tar Valon [@Southharbor]}
   #PRINT {   Swallow               ¦                            ¦}
   #PRINT {   Kingfisher            ¦                            ¦    Cairhien}
   #PRINT {   Hummingbird          [@riverOpenIrinjavar]                          [@riverOpenTarValon]     [@DocksOnTheAlguenyaRiver]}
   #PRINT {   Starling*             ¦                            ¦       ¦}
   #PRINT {                         ¦  Whitebridge               ¦       ¦}
   #PRINT {   River Erinin         [@riverOpenWhitebridge]-----[@WhitebridgeDocks]          [@ATarredTimberDock]-----[@riverOpenAringill]-----[@riverOpenCairhien]}
   #PRINT {   --------------        ¦                 Aringill   ¦}
   #PRINT {   River Flame           ¦                            ¦}
   #PRINT {   River Sun            [@riverOpenIllian]                          [@riverOpenTear]}
   #PRINT {   River Queen           ¦                            ¦}
   #PRINT {   River Stork           ¦                            ¦}
   #PRINT {   River Lady*          [@StoneDocksofIllian] Illian              Tear [@TheCityDocks]}
   #PRINT {}
   #PRINT {       <C dodgerblue>@riverTripNotification</C> }
   #PRINT {}
   }
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:14 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpScoreStatTime to view help file in client.

Image

Direct download: ScoreStatTimeCMUD.txt

Code:
#CLASS {ScoreStatTime}
#ALIAS helpScoreStatTime {
   #PRINT {%crlf <C dodgerblue>-----ScoreStatTime Help File-----</C>}
   #PRINT {        <C dodgerblue>[Updated: 8/28/2019]</C>}
   #PRINT { Saves score, stat, time, and equipment info in character notes.}
   #PRINT {  Note: also saves character's rent info if Rent script is detected,}
   #PRINT {   estimated reroll date, or character deletion date if under level 30.}
   #PRINT {}
   #PRINT { Type <C dodgerblue>showBMI</C> to toggle BMI:<BMI> at end of weight line (on/off).}
   #PRINT {  Note: BMI statistics shown are truncated.}
   #PRINT {   Example: a BMI of 0.390059173107147 will show as BMI:0.39}
   #PRINT {}
   #PRINT { Type <C dodgerblue>showStatSum</C> to toggle SUM:<statsum> at end of stats line (on/off).}
   #PRINT {  Example: Your base abilities are: Str:17 Int:11 Wil:6 Dex:19 Con:19 Sum:72.}
   #PRINT {}
   #PRINT { Type <C dodgerblue>showTime</C> to toggle time messages in time command output (on/off).}
   #PRINT {  Example: It has been 7 days, 17 hours since ~%char last connected. (game time)}
   #PRINT {}
   #PRINT { Type <C dodgerblue>showTotalDefense</C> to toggle Total Defense:<defense> at end of bonus line (on/off).}
   #PRINT {  Example: Offensive bonus: 151, Dodging bonus: 82, Parrying bonus: 20, Total defense: 102}
   #PRINT {}
   #PRINT { Type <C dodgerblue>showEXP</C> to toggle EXP since last score command line (on/off).}
   #PRINT {  Example: You have gained 510 experience points since your last score command.}
   #PRINT {   Note: will not display line if experience gained is zero or less.}
   #PRINT {}
   #PRINT { Typing <C dodgerblue>rent</C> or <C dodgerblue>quit</C> will send time command to save data then rent/quit.}
   #PRINT {}
   #PRINT { Type <C dodgerblue>linkless</C> to save data and disconnect if linkless renting.}
   #PRINT {}
   }
#ALIAS showBMI {
   #IF (@showBMI) {
      #VAR showBMI 0
      #PRINT {%crlf BMI information is turned off.}
      } {
      #VAR showBMI 1
      #PRINT {%crlf BMI information is turned on.}
      }
   }
#ALIAS showEXP {
   #IF (@showEXP) {
      #VAR showEXP 0
      #PRINT {%crlf EXP line function is turned off.}
      #T- scoreEXPmath
      } {
      #VAR showEXP 1
      #PRINT {%crlf EXP line function is turned on.}
      #T+ scoreEXPmath
      }
   }
#ALIAS showStatSum {
   #IF (@showStatSum) {
      #VAR showStatSum 0
      #PRINT {%crlf StatSum information is turned off.}
      } {
      #VAR showStatSum 1
      #PRINT {%crlf StatSum information is turned on.}
      }
   }
#ALIAS showTime {
   #IF (@showTimeDisplay) {
      #VAR showTimeDisplay 0
      #PRINT {%crlf Time message information is turned off.}
      } {
      #VAR showTimeDisplay 1
      #PRINT {%crlf Time message information is turned on.}
      }
   }
#ALIAS showTotalDefense {
   #IF (@showTotalDefense) {
      #VAR showTotalDefense 0
      #PRINT {%crlf TotalDefense information is turned off.}
      } {
      #VAR showTotalDefense 1
      #PRINT {%crlf TotalDefense information is turned on.}
      }
   }
#VAR scoreEXP1 {0} {0}
#VAR scoreEXP2 {0} {0}
#VAR scoreEXPresult {0} {0}
#VAR scoreLevel {} {}
#VAR scoreQP1 {0} {0}
#VAR scoreQP2 {0} {0}
#VAR scoreQPresult {0} {0}
#VAR serverCalTemp {}
#VAR serverDay {}
#VAR serverDisplayDay {}
#VAR serverDisplayDays {0} {0}
#VAR serverDisplayMonth {}
#VAR serverDisplayMonths {0} {0}
#VAR serverMonth {}
#VAR serverMonthDays {31|28|31|30|31|30|31|31|30|31|30|31}
#VAR serverMonthNames {Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec}
#VAR serverRerollMonth {}
#VAR serverRerollMonths {0} {0}
#VAR serverRerollYear {}
#VAR serverYear {}
#VAR showBMI {1}
#VAR showEXP {1}
#VAR showStatSum {1}
#VAR showTimeConnection {1} {1}
#VAR showTimeDeletion {0} {0}
#VAR showTimeDisconnect {0} {0}
#VAR showTimeDisplay {1}
#VAR showTimeMessage {0} {0}
#VAR showTotalDefense {1}
#VAR statAge {} {}
#VAR statBMI {} {}
#VAR statCON {} {}
#VAR statCarryWeight {} {}
#VAR statClass {} {}
#VAR statDEX {} {}
#VAR statDodge {} {}
#VAR statFeet {} {}
#VAR statGender {} {}
#VAR statHeightBMI {} {}
#VAR statINT {} {}
#VAR statInches {} {}
#VAR statOffensive {} {}
#VAR statParry {} {}
#VAR statRace {} {}
#VAR statSTR {} {}
#VAR statSUM {} {}
#VAR statTotalBMI {} {}
#VAR statTotalDefense {} {}
#VAR statTotalHeight {} {}
#VAR statWIL {} {}
#VAR statWeight {} {}
#VAR statWeightBMI {} {}
#VAR statWeightCondition {} {}
#VAR statWeightTotalBMI {} {}
#VAR statWornWeight {} {}
#VAR timeAMPM {}
#VAR timeCurrentTotal {0}
#VAR timeDay {0}
#VAR timeDeleteReroll {}
#VAR timeDisplayDay {0}
#VAR timeDisplayHour {0}
#VAR timeDisplayMonth {0}
#VAR timeDisplayYear {0}
#VAR timeEvalDays {0}
#VAR timeEvalHours {0}
#VAR timeEvalMonths {0}
#VAR timeEvalPastDays {0}
#VAR timeEvalPastHours {0}
#VAR timeEvalPastMonths {0}
#VAR timeEvalPastYears {0}
#VAR timeEvalYears {0}
#VAR timeHour {0}
#VAR timeMonth {}
#VAR timeMonthNames {Taisham|Jumara|Saban|Aine|Adar|Saven|Amadaine|Tammaz|Maigdhal|Choren|Shaldine|Nesan|Danu}
#VAR timePastAMPM {} {}
#VAR timePastDay {0} {0}
#VAR timePastHour {0} {0}
#VAR timePastMonth {} {}
#VAR timePastTotal {0} {0}
#VAR timePastYear {0} {0}
#VAR timeTotalDays {0}
#VAR timeTotalHours {0}
#VAR timeTotalMonths {0}
#VAR timeTotalYears {0}
#VAR timeYear {0}
#TRIGGER "sstWelcomeTrigger" {^Welcome to the Wheel of Time!  Type 'help' for information.$} {
   #RAISE eventSSTconnection
   } "" {case}
#TRIGGER "sstReconnectTrigger" {^Reconnecting.$} {
   #RAISE eventSSTconnection
   } "" {case}
#TRIGGER "sstAlreadyTrigger" {^You take over your own body, already in use!$} {
   #RAISE eventSSTconnection
   } "" {case}
#TRIGGER "scoreTrigger" {^This ranks you as [A-Z]%w * ~(Level &%dscoreLevel~).$} {
   #T- scoreTrigger
   } "" {case|disable}
#TRIGGER "scorePointsTrigger" {^You have scored &%dscoreEXP1 experience points and &%dscoreQP1 quest points.$} {
   #T- scorePointsTrigger
   #T+ scoreEXPtrigger
   #VAR scoreEXPresult (@scoreEXP1-@scoreEXP2)
   #VAR scoreEXP2 @scoreEXP1
   #VAR scoreQPresult (@scoreQP1-@scoreQP2)
   #VAR scoreQP2 @scoreQP1
   } "" {case|disable}
#TRIGGER "scoreEXPtrigger" {^You need * exp to} {
   #T- scoreEXPtrigger
   #IF (@scoreEXP2=@scoreEXPresult AND @scoreQP2=@scoreQPresult) {
      #PRINT {<C dodgerblue>Current experience and quest points saved!</C>}
      } {
      #IF (@scoreEXPresult>0 AND @scoreQPresult=0) {
         #PRINT {<C dodgerblue>You have gained @scoreEXPresult experience points since your last score command.</C>}
         } {
         #IF (@scoreEXPresult=0 AND @scoreQPresult>0) {
            #PRINT {<C dodgerblue>You have gained @scoreQPresult quest points since your last score command.</C>}
            } {
            #IF (@scoreEXPresult>0 AND @scoreQPresult>0) {
               #PRINT {<C dodgerblue>You have gained @scoreEXPresult experience points and @scoreQPresult quest points since your last score command.</C>}
               }
            }
         }
      }
   } "" {case|disable}
#TRIGGER "statTrigger" {You are a &%dstatAge year old &%wstatGender &%wstatRace &%w{statClass}.} {
   #T- statTrigger
   #T+ statAbilitiesTrigger
   #T+ statBonusTrigger
   #T+ statBMITrigger
   #T+ statBMI2Trigger
   } "" {case|disable}
#TRIGGER "statAbilitiesTrigger" {^Your base abilities are: Str:&%dstatSTR Int:&%dstatINT Wil:&%dstatWIL Dex:&%dstatDEX Con:&%dstatCON} {
   #T- statAbilitiesTrigger
   #VAR statSUM (@statSTR+@statINT+@statWIL+@statDEX+@statCON)
   #IF (@showStatSum) {
      #SUB {Your base abilities are: Str:@statSTR Int:@statINT Wil:@statWIL Dex:@statDEX Con:@statCON Sum:@statSUM}
      }
   } "" {case|disable}
#TRIGGER "statBonusTrigger" {^Offensive bonus: &%dstatOffensive, Dodging bonus: &%dstatDodge, Parrying bonus: &%dstatParry} {
   #T- statBonusTrigger
   #VAR statTotalDefense (@statDodge+@statParry)
   #IF (@showTotalDefense) {
      #SUB {Offensive bonus: @statOffensive, Dodging bonus: @statDodge, Parrying bonus: @statParry, Total defense: @statTotalDefense}
      }
   } "" {case|disable}
#TRIGGER "statBMITrigger" {^Your height is &%dstatFeet feet, &%dstatInches inches, and you weigh &statWeight lbs.} {
   #T- statBMITrigger
   #VAR statTotalHeight (@statFeet*12+@statInches)
   #VAR statHeightBMI (@statTotalHeight*@statTotalHeight)
   #VAR statWeightBMI (@statWeight*10)
   #VAR statBMI (%float(@statWeightBMI)/%float(@statHeightBMI))
   #IF (@showBMI) {
      #SUB {Your height is @statFeet feet, @statInches inches, and you weigh @statWeight lbs. Base BMI:%copy(@statBMI,1,4)}
      }
   } "" {case|disable}
#TRIGGER "statBMI2Trigger" {^You are carrying &statCarryWeight lbs and wearing &statWornWeight lbs, &statWeightCondition.} {
   #T- statBMI2Trigger
   #VAR statWeightTotalBMI ((@statWeight+@statWornWeight)*10)
   #VAR statTotalBMI (%float(@statWeightTotalBMI)/%float(@statHeightBMI))
   #IF (@showBMI) {
      #SUB {You are carrying @statCarryWeight lbs and wearing @statWornWeight lbs, @statWeightCondition Total BMI:%copy(@statTotalBMI,1,4)}
      }
   } "" {case|disable}
#TRIGGER "timeTrigger" {It is &%dtimeHour o'clock &%wtimeAMPM, on the &%d{timeDay}{st|nd|rd|th} day of the month of &%wtimeMonth, year &%dtimeYear.} {
   #T- timeTrigger
   #T+ timeDisplayTrigger
   #T+ serverTrigger
   #VAR timeEvalYears (@timeYear*8736)
   #VAR timeEvalMonths (%ismember(@timeMonth,@timeMonthNames)*672)
   #VAR timeEvalDays (@timeDay*24)
   #IF (@timeAMPM=pm)  {
      #VAR timeEvalHours (@timeHour+12)
      } {
      #VAR timeEvalHours @timeHour
      }
   #IF (@timeHour=12) {
      #IF (@timeAMPM=am) {
         #VAR timeEvalHours 0
         } {
         #VAR timeEvalHours 12
         }
      }
   #VAR timeCurrentTotal (@timeEvalYears+@timeEvalMonths+@timeEvalDays+@timeEvalHours)
   #VAR timeEvalPastYears (@timePastYear*8736)
   #VAR timeEvalPastMonths (%ismember(@timePastMonth,@timeMonthNames)*672)
   #VAR timeEvalPastDays (@timePastDay*24)
   #IF (@timePastAMPM=pm)  {
      #VAR timeEvalPastHours (@timePastHour+12)
      } {
      #VAR timeEvalPastHours @timePastHour
      }
   #IF (@timePastHour=12) {
      #IF (@timePastAMPM=am) {
         #VAR timeEvalPastHours 0
         } {
         #VAR timeEvalPastHours 12
         }
      } {}
   #VAR timePastTotal (@timeEvalPastYears+@timeEvalPastMonths+@timeEvalPastDays+@timeEvalPastHours)
   #VAR timeTotalHours (@timeCurrentTotal-@timePastTotal)
   #IF (@timeTotalHours > 8736) {
      #VAR timeDisplayYear (%format(0,%float(@timeTotalHours/8736)))
      #VAR timeTotalMonths (@timeTotalHours-@timeDisplayYear*8736)
      } {
      #VAR timeDisplayYear 0
      #VAR timeTotalMonths @timeTotalHours
      }
   #IF (@timeTotalMonths > 672) {
      #VAR timeDisplayMonth (%format(0,%float(@timeTotalMonths/672)))
      #VAR timeTotalDays (@timeTotalMonths-@timeDisplayMonth*672)
      } {
      #VAR timeDisplayMonth 0
      #VAR timeTotalDays @timeTotalMonths
      }
   #IF (@timeTotalDays > 24) {
      #VAR timeDisplayDay (%format(0,%float(@timeTotalDays/24)))
      #VAR timeDisplayHour (@timeTotalDays-@timeDisplayDay*24)
      } {
      #VAR timeDisplayDay 0
      #VAR timeDisplayHour @timeTotalDays
      }
   #VAR timePastAMPM @timeAMPM
   #VAR timePastMonth @timeMonth
   #VAR timePastHour @timeHour
   #VAR timePastDay @timeDay
   #VAR timePastYear @timeYear
   #VAR %concat(%char,AMPM) {@timeAMPM} {_nodef} {ScoreStatTime|%concat(sst,%char)}
   #VAR %concat(%char,Month) {@timeMonth} {_nodef} {ScoreStatTime|%concat(sst,%char)}
   #VAR %concat(%char,Hour) {@timeHour} {_nodef} {ScoreStatTime|%concat(sst,%char)}
   #VAR %concat(%char,Day) {@timeDay} {_nodef} {ScoreStatTime|%concat(sst,%char)}
   #VAR %concat(%char,Year) {@timeYear} {_nodef} {ScoreStatTime|%concat(sst,%char)}
   } "" {case|disable}
#TRIGGER "timeDisplayTrigger" {^Forums: * Wiki: * Web client: *$} {
   #IF (@showTimeDisplay) {} {#ABORT 1}
   #IF (@showTimeMessage) {
      #PRINT {<C dodgerblue>It has been %if(@timeDisplayYear>1,@timeDisplayYear years~," ","")%if(@timeDisplayYear=1,1 year~," ","")%if(@timeDisplayMonth>1,@timeDisplayMonth months~," ","")%if(@timeDisplayMonth=1,1 month~," ","")%if(@timeDisplayDay>1,@timeDisplayDay days~," ","")%if(@timeDisplayDay=1,1 day~," ","")%if(@timeDisplayHour>0,@timeDisplayHour hour,"0 hours")%if(@timeDisplayHour>1,"s "," ")since your last time command.</C> ~(game time~)}
      } {}
   #IF (@showTimeConnection) {
      #PRINT {<C dodgerblue>It has been %if(@timeDisplayYear>1,@timeDisplayYear years~," ","")%if(@timeDisplayYear=1,1 year~," ","")%if(@timeDisplayMonth>1,@timeDisplayMonth months~," ","")%if(@timeDisplayMonth=1,1 month~," ","")%if(@timeDisplayDay>1,@timeDisplayDay days~," ","")%if(@timeDisplayDay=1,1 day~," ","")%if(@timeDisplayHour>0,@timeDisplayHour hour,"0 hours")%if(@timeDisplayHour>1,"s "," ")since %char last connected.</C> ~(game time~)}
      } {}
   #IF (@showTimeDisconnect) {#PRINT {<C dodgerblue>%char's disconnection time has been saved.</C>}}
   } "" {case|disable}
#COND {$} {
   #T- timeDisplayTrigger
   #IF (@showTimeDisplay) {} {#ABORT 1}
   #IF (@showTimeMessage) {#GAG} {}
   #IF (@showTimeConnection) {#GAG} {}
   #IF (@showTimeDisconnect) {#GAG} {}
   #VAR showTimeMessage 1
   #VAR showTimeConnection 0
   #VAR showTimeDisconnect 0
   }
#TRIGGER "serverTrigger" {^~(Server: %w &%wserverMonth { ||}&%dserverDay %d:%d:%d &%dserverYear EST} {
   #T- serverTrigger
   #VAR serverDisplayDays 0
   #VAR serverDisplayMonths 0
   #IF (@scoreLevel>29) {#VAR showTimeDeletion 0} {#VAR showTimeDeletion 1}
   #IF (@scoreLevel>19 AND @scoreLevel<30) {#VAR serverDisplayMonths 6} {}
   #IF (@scoreLevel>9 AND @scoreLevel<20) {#VAR serverDisplayMonths 3} {}
   #IF (@scoreLevel>4 AND @scoreLevel<10) {#VAR serverDisplayMonths 1} {}
   #IF (@scoreLevel>1 AND @scoreLevel<5) {#VAR serverDisplayDays 7} {}
   #IF (@scoreLevel=1) {#VAR serverDisplayDays 3} {}
   #IF (@serverDisplayMonths>0) {
      #VAR serverDisplayMonth @serverDisplayMonths+%ismember(@serverMonth,@serverMonthNames)
         #IF (@serverDisplayMonth>12) {
            #VAR serverDisplayMonth @serverDisplayMonth-12
            #VAR serverDisplayMonth %item(@serverMonthNames,@serverDisplayMonth)
            } {
            #VAR serverDisplayMonth %item(@serverMonthNames,@serverDisplayMonth)
            }
      #VAR serverDisplayDay @serverDay
      } {
      #VAR serverDisplayMonth @serverMonth
      }
   #IF (@serverDisplayDays>0) {
      #VAR serverDisplayDay @serverDisplayDays+@serverDay
      #IF (@serverDisplayDay>%eval(%item(@serverMonthDays,%ismember(@serverMonth,@serverMonthNames)))) {
         #VAR serverDisplayDay @serverDisplayDay-%eval(%item(@serverMonthDays,%ismember(@serverMonth,@serverMonthNames)))
         #VAR serverDisplayMonth %item(@serverMonthNames,(%ismember(@serverMonth,@serverMonthNames)+1))
         } {
         #VAR serverDisplayDay @serverDisplayDays+@serverDay
         }
      } {}
   #IF (@statAge<200) {
      #VAR serverCalTemp (200-@statAge)*10
      } {
      #VAR serverCalTemp (%concat(%eval(%copy(@statAge,1,1)+1),00)-@statAge)*10
      }
   #VAR serverRerollMonths @serverCalTemp/30
   #VAR serverRerollYear 0
   #WHILE (@serverRerollMonths>11) {
      #VAR serverRerollYear @serverRerollYear+1
      #VAR serverRerollMonths @serverRerollMonths-12
      }
   #VAR serverRerollMonth @serverRerollMonths+%ismember(@serverMonth,@serverMonthNames)
   #IF (@serverRerollMonth>12) {
      #VAR serverRerollYear @serverRerollYear+1
      #VAR serverRerollMonth @serverRerollMonth-12
      } {}
   #VAR serverRerollMonth %item(@serverMonthNames,@serverRerollMonth)
   #VAR serverRerollYear @serverRerollYear+@serverYear
   #IF (@showTimeDeletion) {
      #PRINT {<C red>%char will delete in %if(@serverDisplayMonths=1,@serverDisplayMonths month,%if(@serverDisplayMonths>1,@serverDisplayMonths months,@serverDisplayDays days)) on @serverDisplayMonth @serverDisplayDay if not logged in before this date.</C>}
      } {}
   #IF (@scoreLevel<30) {
      #VAR timeDeleteReroll {%char will delete on @serverDisplayMonth @serverDisplayDay.}
      } {
      #VAR timeDeleteReroll {%char will reroll in @serverRerollMonth @serverRerollYear.}
      }
   } "" {case|disable}
#TRIGGER "sstSleepWellWake" {You {drawl|hiss|say} 'sleep well and wake'$} {
   #RAISE eventRentNotes
   #RAISE eventCharacterNotes
   } "" {}
#ONINPUT "sstQuitInput" {^quit$} {
   #TEMP "quitTEMP" {^~(Server: * EST, last rebooted *~)$} {
      #IF (%class(Rent)=1) {#RAISE eventRentNotes} {}
      #RAISE eventCharacterQuit
      } "ScoreStatTime" {case}
   #RAISE eventTimeDisconnect
   }
#ONINPUT "sstRentInput" {^{ren|rent}$} {
   #TEMP "rentTEMP" {^~(Server: * EST, *~)$} {
      #RAISE eventRentNotes
      #RAISE eventCharacterNotes
      } "ScoreStatTime" {case}
   #RAISE eventTimeDisconnect
   }
#ONINPUT "sstSaveInput" {^{sav|save}$} {
   #RAISE eventRentNotes
   #RAISE eventCharacterNotes
   }
#ONINPUT "sstScoreInput" {^{sc|sco|scor|score}$} {
   #T+ scoreTrigger
   #T+ scorePointsTrigger
   #T+ ScoreStatTime|CharacterNotes|ScoreNotes
   }
#ONINPUT "sstStatInput" {^stat$} {
   #T+ statTrigger
   #T+ ScoreStatTime|CharacterNotes|StatNotes
   }
#ONINPUT "sstTimeInput" {^{ti|tim|time}$} {
   #T+ timeTrigger
   #T+ ScoreStatTime|CharacterNotes|TimeNotes
   }
#EVENT OnConnect {
   #T+ sstWelcomeTrigger
   #T+ sstReconnectTrigger
   #T+ sstAlreadyTrigger
   #VAR eqNotesList {}
   #VAR rentNotesList {}
   #VAR rentNotesTemp {}
   #VAR scoreNotesList {}
   #VAR statNotesList {}
   #VAR timeNotesList {}
   #IF (%class(ScoreStatTime|%concat(sst,%char))=-1) {
      #CLASS {ScoreStatTime|%concat(sst,%char)} {disable}
      #VAR %concat(%char,AMPM) {}
      #VAR %concat(%char,Month) {}
      #VAR %concat(%char,Hour) {0}
      #VAR %concat(%char,Day) {0}
      #VAR %concat(%char,Year) {0}
      #CLASS 0
      } {
      #T+ ScoreStatTime|%concat(sst,%char)
      }
   }
#EVENT eventSSTconnection {
   #T- sstWelcomeTrigger
   #T- sstReconnectTrigger
   #T- sstAlreadyTrigger
   #T+ scoreTrigger
   #IF (@showEXP) {
      #T+ scorePointsTrigger
      } {
      #T- scorePointsTrigger
      }
   #T+ statTrigger
   #T+ timeTrigger
   #T+ ScoreStatTime|CharacterNotes|TimeNotes
   #VAR timePastAMPM {%expand(%concat("@",%char,AMPM))} {_nodef} {ScoreStatTime}
   #VAR timePastMonth {%expand(%concat("@",%char,Month))} {_nodef} {ScoreStatTime}
   #VAR timePastHour {%expand(%concat("@",%char,Hour))} {_nodef} {ScoreStatTime}
   #VAR timePastDay {%expand(%concat("@",%char,Day))} {_nodef} {ScoreStatTime}
   #VAR timePastYear {%expand(%concat("@",%char,Year))} {_nodef} {ScoreStatTime}
   #SENDRAW {score}
   #SENDRAW {stat}
   #SENDRAW {time}
   }
#EVENT eventTimeDisconnect {
   #T+ timeTrigger
   #T+ ScoreStatTime|CharacterNotes|TimeNotes
   #VAR showTimeMessage 0
   #VAR showTimeDisconnect 1
   #TEMP "disconnectTEMP" {^Forums: * Wiki: * Web client: *$} {
      #VAR %concat(%char,AMPM) {@timeAMPM} {_nodef} {ScoreStatTime|%concat(sst,%char)}
      #VAR %concat(%char,Month) {@timeMonth} {_nodef} {ScoreStatTime|%concat(sst,%char)}
      #VAR %concat(%char,Hour) {@timeHour} {_nodef} {ScoreStatTime|%concat(sst,%char)}
      #VAR %concat(%char,Day) {@timeDay} {_nodef} {ScoreStatTime|%concat(sst,%char)}
      #VAR %concat(%char,Year) {@timeYear} {_nodef} {ScoreStatTime|%concat(sst,%char)}
      } "ScoreStatTime" {case}
   #SENDRAW {time}
   }
#ALIAS linkless {
   #TEMP "linklessTEMP" {^~(Server: * EST, *~)$} {
      #DISCONNECT
      #RAISE eventRentNotes
      #RAISE eventCharacterNotes
      } "ScoreStatTime" {case}
   #RAISE eventTimeDisconnect
   }
#CLASS 0
#CLASS {ScoreStatTime|CharacterNotes}
#VAR eqNotesList {}
#VAR rentNotesList {}
#VAR rentNotesTemp {}
#VAR scoreNotesList {}
#VAR statNotesList {}
#VAR timeNotesList {}
#TRIGGER "eqNotesTrigger" {You are using:$} {
   #T+ ScoreStatTime|CharacterNotes|EquipmentNotes
   #VAR eqNotesList {}
   } "" {case}
#EVENT eventCharacterNotes {
   #CALL {%charnotes(@timeDeleteReroll)}
   #CALL {%charcomment("Rent location: "%roomname() %crlf)}
   #CALL {%charcomment(%replace(@scoreNoteslist,"|",%lf) %crlf)}
   #CALL {%charcomment(%replace(@statNotesList,"|",%lf) %crlf)}
   #CALL {%charcomment(%replace(@timeNotesList,"|",%lf) %crlf)}
   #CALL {%charcomment(%replace(@eqNotesList,"|",%lf) %crlf)}
   #CALL {%charcomment(%replace(@rentNotesList,"|",%lf) %crlf)}
   }
#EVENT eventCharacterQuit {
   #CALL {%charnotes(@timeDeleteReroll)}
   #CALL {%charcomment("Quit location: "%roomname() %crlf)}
   #CALL {%charcomment(%replace(@scoreNoteslist,"|",%lf) %crlf)}
   #CALL {%charcomment(%replace(@statNotesList,"|",%lf) %crlf)}
   #CALL {%charcomment(%replace(@timeNotesList,"|",%lf) %crlf)}
   #CALL {%charcomment(Equipment notes for %char were deleted due to using the quit command! %crlf)}
   #CALL {%charcomment(%replace(@rentNotesList,"|",%lf) %crlf)}
   }
#EVENT eventRentNotes {
   #VAR rentNotesList {-----Rent Contents for %char-----}
   #LOOP 1,%numitems(@rentKey) {
      #VAR rentNotesTemp %item(@rentKey,%i)
      #IF (%numitems(%expand(%concat("@",%char,@rentNotesTemp)))) {
         #ADDITEM rentNotesList {%crlf %item(@rentZone,%i) - %item(@rentName,%i)}
         #LOOP 1,%numitems(%expand(%concat("@",%char,@rentNotesTemp))) {
            #VAR rentNotesList {%additem(%item(%expand(%concat("@",%char,@rentNotesTemp)),%j),@rentNotesList)}
            }
         }
      }
   }
#CLASS 0
#CLASS {ScoreStatTime|CharacterNotes|ScoreNotes} {enable}
#TRIGGER "scoreNote1" {(You have %d~(%d~) hit*movement points.)$} {
   #VAR scoreNotesList {}
   #VAR scoreNotesList %additem(%1,@scoreNotesList)
   } "" {case}
#TRIGGER "scoreNote2" {^(You have scored %d experience points and %d quest points.)$} {#VAR scoreNotesList %additem(%1,@scoreNotesList)} "" {case}
#TRIGGER "scoreNote3" {^(You need %d exp to *.)$} {#VAR scoreNotesList %additem(%1,@scoreNotesList)} "" {case}
#TRIGGER "scoreNote4" {^(You have acquired %d alt qps to date.)$} {#VAR scoreNotesList %additem(%1,@scoreNotesList)} "" {case}
#TRIGGER "scoreNote5" {^(You have amassed %d Turn points to date.)$} {#VAR scoreNotesList %additem(%1,@scoreNotesList)} "" {case}
#TRIGGER "scoreNote6" {^(You have played %d days and %d hours ~(real time~).)$} {#VAR scoreNotesList %additem(%1,@scoreNotesList)} "" {case}
#TRIGGER "scoreNote7" {^(This ranks you as [A-Z]%w * ~(Level %d~).)$} {
   #T- ScoreStatTime|CharacterNotes|ScoreNotes
   #VAR scoreNotesList %additem(%1,@scoreNotesList)
   } "" {case}
#CLASS 0
#CLASS {ScoreStatTime|CharacterNotes|StatNotes} {enable}
#TRIGGER "statNote1" {(You are a %d year old *.)$} {
   #VAR statNotesList {}
   #VAR statNotesList %additem(%1,@statNotesList)
   } "" {case}
#TRIGGER "statNote2" {^(Your height is %d feet, %d inches, and you weigh * lbs.*)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote3" {^(You are carrying * lbs and wearing * lbs, *.*)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote4" {^(Your base abilities are: Str:%d Int:%d Wil:%d Dex:%d Con:%d*.*)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote5" {^(Offensive bonus: %d, Dodging bonus: %d, Parrying bonus: *)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote6" {^(Your mood is: %w. You will flee below: %d Hit Points)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote7" {^(Your posture is: %w.)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote8" {^(You are wanted by:*)$} {#VAR statNotesList %additem(%1,@statNotesList)} "" {case}
#TRIGGER "statNote9" {^(Your armor absorbs about * on average.)$} {
   #T- ScoreStatTime|CharacterNotes|StatNotes
   #VAR statNotesList %additem(%1,@statNotesList)
   } "" {case}
#CLASS 0
#CLASS {ScoreStatTime|CharacterNotes|TimeNotes} {enable}
#TRIGGER "timeNote1" {(It is * day of the month of %w, year %d.)$} {
   #VAR timeNotesList {}
   #VAR timeNotesList %additem(%1,@timeNotesList)
   } "" {case}
#TRIGGER "timeNote2" {^(~(Server: * EST, *~))$} {
   #T- {ScoreStatTime|CharacterNotes|TimeNotes}
   #VAR timeNotesList %additem(%1,@timeNotesList)
   } "" {case}
#CLASS 0
#CLASS {ScoreStatTime|CharacterNotes|EquipmentNotes}
#TRIGGER "eqNote1" {^(~<used as light>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote2" {^(~<held>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote3" {^(~<worn on finger>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote4" {^(~<worn on head>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote5" {^(~<worn around neck>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote6" {^(~<worn on body>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote7" {^(~<worn about body>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote8" {^(~<slung on back>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote9" {^(~<worn on arms>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote10" {^(~<worn on hands>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote11" {^(~<worn around wrist>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote12" {^(~<worn as shield>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote13" {^(~<wielded>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote14" {^(~<wielded two-handed>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote15" {^(~<worn about waist>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote16" {^(~<worn on belt>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote17" {^(~<worn on legs>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNote18" {^(~<worn on feet>*)$} {#VAR eqNotesList %additem(%1,@eqNotesList)} "" {case}
#TRIGGER "eqNotesPrompt" {^{o|*} * >} {
   #T- ScoreStatTime|CharacterNotes|EquipmentNotes
   } "" {nocr|prompt}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:15 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpSource to view help file in client.

Image

Direct download: SourceCMUD.txt

Code:
#CLASS {Source}
#ALIAS helpSource {
   #PRINT {%crlf <C dodgerblue>-----Source Help File-----</C>}
   #PRINT {    <C dodgerblue>[Updated: 5/31/2019]</C>}
   #PRINT { Set a macro or alias to quickly toggle the source on/off.}
   #PRINT {  Note: automatically sets to release when cut off from the source.}
   #PRINT {}
   #PRINT { Female channelers:}
   #PRINT {   Type <C dodgerblue>toggleSource</C> (place in macro or alias)}
   #PRINT {}
   #PRINT { Male channelers:}
   #PRINT {   Type <C dodgerblue>toggleSaidar</C> (place in macro or alias)}
   #PRINT {}
   }
#ALIAS toggleSaidar {
   #IF (@sourceEmbrace=release) {
      #VAR sourceEmbrace embrace
      #VAR sourceTargetDisplay release
      } {
      #VAR sourceEmbrace release
      #VAR sourceTargetDisplay embrace
      }
   #SENDRAW {@sourceEmbrace}
   }
#ALIAS toggleSaidin {
   #IF (@sourceSeize=release) {
      #VAR sourceSeize seize
      #VAR sourceTargetDisplay release
      } {
      #VAR sourceSeize release
      #VAR sourceTargetDisplay embrace
      }
   #SENDRAW {@sourceSeize}
   }
#VAR sourceEmbrace release release
#VAR sourceSeize release release
#VAR sourceTargetDisplay {}
#TRIGGER "sourceLoseTrigger" {You lose all sense of the True Source here.} {
   #VAR sourceEmbrace release
   #VAR sourceSeize release
   } "" {case|verbatim}
#TRIGGER "sourceUnableTrigger" {You are unable to sense the True Source at all from here.} {
   #VAR sourceEmbrace release
   #VAR sourceSeize release
   } "" {case|verbatim}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:15 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpStatting to view help file in client.

Image

Direct download: StattingCMUD.txt

Code:
#CLASS {Statting}
#ALIAS helpStatting {
   #PRINT {%crlf <C dodgerblue>-----Statting Help File-----</C>}
   #PRINT {     <C dodgerblue>[Updated: 4/6/2020]</C>}
   #PRINT { Botting on WoTmud is against the rules, using triggers is not.}
   #PRINT {  When using the automatic statting option you must stay at the keyboard,}
   #PRINT {   or you could be zapped for botting. Use script at your own risk.}
   #PRINT {}
   #PRINT { Must have at least 2 saplings in room as script targets 2.sapling}
   #PRINT {}
   #PRINT { Records stats automatically (for current character: <C lime>%concat(StatRecord,%char).txt</C>)}
   #PRINT {  Save format: race class homeland STR INT WIL DEX CON SUM}
   #PRINT {   Note: cMUD saves this as .txt file in the package folder in the cMUD folder}
   #PRINT {}
   #PRINT { Type <C dodgerblue>autoStat</C> to start statting automatically.}
   #PRINT { WARNING: Botting can lead to zapping, bot at your own risk...}
   #PRINT {  Hint: keep @stattingLight in @stattingContainer for autoStat day/night triggers.}
   #PRINT {}
   #PRINT { Type <C dodgerblue>setStats <STR> <INT> <WIL> <DEX> <CON> <SUM></C> to set statting minimums.}
   #PRINT {  Example: setStats 15 19 19 18 15 82 to set individual requirements.}
   #PRINT {   Script will trigger if all stats rolled is = or > ALL stat requirements.}
   #PRINT {    Stat SUM will trigger any roll if SUM is = or > set number.}
   #PRINT {     Hint: Type setStats without parameters to view current set stat minimums.}
   #PRINT {}
   #PRINT { Type <C dodgerblue>setLightContainer <lightSource> <container></C> to set light source and container.}
   #PRINT {  Example: setLightContainer mirrored pouch}
   #PRINT {   Sets light source keyword as mirrored and container keyword to pouch.}
   #PRINT {    (<C red>current keywords:</C> @stattingLight @stattingContainer)}
   #PRINT {}
   #PRINT { Type <C dodgerblue>stopStat</C> to stop the automatic statting process.}
   #PRINT {}
   }
#ALIAS autoStat {
   #IF (@minSum) {
      #T+ {Statting|Automatic}
      #T+ {stattingScore}
      #T- {stattingSeedling}
      #RAISE eventStattingStart
      } {
      #PRINT {%crlf Minimum stat SUM must be set above zero, type: <C red>setStats</C>}
      }
   }
#ALIAS setLightContainer {
   #VAR stattingLight %1
   #VAR stattingContainer %2
   #PRINT {%crlf Statting light and container set to: %1 and %2}
   }
#ALIAS setStats {
   #PRINT {}
   #IF (%null(%1)) {
      #PRINT {%crlf Current statting minimums: STR:@minSTR INT:@minINT WIL:@minWIL DEX:@minDEX CON:@minCON SUM:@minSUM}
      #PRINT {}
      #PRINT { Usage: setStats <STR> <INT> <WIL> <DEX> <CON> <SUM> to set statting minimums.}
      #PRINT {  Example: setStats 15 19 19 18 15 82 to set individual requirements.}
      #PRINT {   Script will trigger if all stats rolled is = or > ALL stat requirements.}
      #PRINT {    Stat SUM will trigger any roll if SUM is = or > set number.}
      #ABORT 1
      }
   #IF (%isnumber(%1)) {
      #VAR minSTR {%1}
      #PRINT {Minimum STR requirement set to %1}
      } {
      #PRINT {<C red>Minimum STR requirement number not recognized or missing...</C>}
      #ABORT 1
      }
   #IF (%isnumber(%2)) {
      #VAR minINT {%2}
      #PRINT {Minimum INT requirement set to %2}
      } {
      #PRINT {<C red>Minimum INT requirement number not recognized or missing...</C>}
      #ABORT 1
      }
   #IF (%isnumber(%3)) {
      #VAR minWIL {%3}
      #PRINT {Minimum WIL requirement set to %3}
      } {
      #PRINT {<C red>Minimum WIL requirement number not recognized or missing...</C>}
      #ABORT 1
      }
   #IF (%isnumber(%4)) {
      #VAR minDEX {%4}
      #PRINT {Minimum DEX requirement set to %4}
      } {
      #PRINT {<C red>Minimum DEX requirement number not recognized or missing...</C>}
      #ABORT 1
      }
   #IF (%isnumber(%5)) {
      #VAR minCON {%5}
      #PRINT {Minimum CON requirement set to %5}
      } {
      #PRINT {<C red>Minimum CON requirement number not recognized or missing...</C>}
      #ABORT 1
      }
   #IF (%isnumber(%6)) {
      #VAR minSUM {%6}
      #PRINT {Minimum SUM requirement set to %6}
      } {
      #PRINT {<C red>Minimum SUM requirement number not recognized or missing...</C>}
      #ABORT 1
      }
   }
#ALIAS stopStat {
   #BEEP 0
   #SENDRAW {disengage}
   #T+ {Statting|Automatic}
   #T- {stattingScore}
   #T- {stattingRestat}
   #T- {stattingDisengage}
   #T- {stattingNotFighting}
   #T- {Statting|Automatic}
   #PRINT {%crlf <C red>Automatic statting disabled.</C>}
   }
#VAR stattingCount {0} {0}
#VAR stattingCON {0} {0}
#VAR stattingClass {na} {na}
#VAR stattingContainer pack
#VAR stattingDEX {0} {0}
#VAR stattingHomeland {na} {na}
#VAR stattingINT {0} {0}
#VAR stattingLight lantern
#VAR minCON {0} {0}
#VAR minDEX {0} {0}
#VAR minINT {0} {0}
#VAR minSTR {0} {0}
#VAR minSUM {0} {0}
#VAR minWIL {0} {0}
#VAR stattingRace {na} {na}
#VAR stattingSTR {0} {0}
#VAR stattingSUM {0} {0}
#VAR stattingWIL {0} {0}
#TRIGGER "stattingCapture1" {You are a %d year old {male|female} &%wstattingRace &%wstattingClass} {
   #T- {stattingCapture1}
   } "" {case|disable}
#TRIGGER "stattingCapture2" {^Your base abilities are: Str:&%dstattingSTR Int:&%dstattingINT Wil:&%dstattingWIL Dex:&%dstattingDEX Con:&%dstattingCON} {
   #T- {stattingCapture2}
   #IF (%1>=@minSTR) {#PCOL lime %x1} {#PCOL mxpred %x1}
   #IF (%2>=@minINT) {#PCOL lime %x2} {#PCOL mxpred %x2}
   #IF (%3>=@minWIL) {#PCOL lime %x3} {#PCOL mxpred %x3}
   #IF (%4>=@minDEX) {#PCOL lime %x4} {#PCOL mxpred %x4}
   #IF (%5>=@minCON) {#PCOL lime %x5} {#PCOL mxpred %x5}
   #VAR stattingSUM (@stattingSTR+@stattingINT+@stattingWIL+@stattingDEX+@stattingCON)
   #IF (%1>=@minSTR AND %2>=@minINT AND %3>=@minWIL AND %4>=@minDEX AND %5>=@minCON) {
      #BEEP 0
      stopStat
      #PRINT {%crlf <C dodgerblue>Minimum statting requirements met!</C>}
      } {
      #IF (@stattingSUM>=@minSUM) {
         #BEEP 0
         stopStat
         #PRINT {%crlf <C dodgerblue>Minimum stat sum requirements met!</C>}
         } {
         #IF (%class(Statting|Automatic)=1) {
            #T+ {stattingDisengage}
            #T+ {stattingNotFighting}
            #T+ {stattingRestat}
            #SENDRAW {disengage}
            }
         }
      }
   } "" {case|disable}
#TRIGGER "stattingRecord" {^You are subjected to the following effects:$} {
   #T- {stattingRecord}
   #FILE 1 %concat(StatRecord,%char,.txt)
   #WRITE 1 {@stattingRace @stattingClass @stattingHomeland STR:@stattingSTR INT:@stattingINT WIL:@stattingWIL DEX:@stattingDEX CON:@stattingCON SUM:@stattingSUM}
   #CLOSE 1
   } "" {case|disable}
#CLASS 0
#CLASS {Statting|Automatic} {disable}
#EVENT eventStattingStart {
   #PRINT {%crlf <C red>Botting can lead to zapping, bot at your own risk...</C>}
   #T+ {stattingRanks}
   #VAR stattingCount 0
   #SENDRAW {score}
   }
#TRIGGER "stattingSeedling" {A seedling firmly takes root and spreads its limbs to the sky.} {
   autostat
   } "" {case|disable}
#TRIGGER "stattingDeathCry" {^Your blood freezes as you hear a stout young sapling's death cry.$} {
   #T+ {stattingRanks}
   #SENDRAW {score}
   } "" {case}
#TRIGGER "stattingRanks" {^This ranks you as [A-Z]%w {of|the} (*) ~(Level (%d)~).$} {
   #T- {stattingRanks}
   #T+ {stattingDeathCry}
   #IF (%2=1 OR %2=2) {
      #VAR stattingCount (@stattingCount+1)
      #SENDRAW {kill 2.sapling}
      }
   #IF (%2=3) {
      #IF (@stattingCount=0) {
         #RAISE eventStattingStart
         } {
         #VAR stattingCount 0
         #T+ {stattingCapture1}
         #T+ {stattingCapture2}
         #T+ {stattingRecord}
         #VAR stattingHomeland {%1}
         #SENDRAW {stat}
         }
      }
   #IF (%2=4) {
      #T+ {stattingDisengage}
      #T+ {stattingNotFighting}
      #T+ {stattingRestat}
      #SENDRAW {disengage}
      }
   #IF (%2>4) {
      #PRINT {%crlf Statting fail! Character level too high...}
      stopStat
      }
   } "" {case}
#TRIGGER "stattingScore" {You gain a level!$} {
   #IF (%class(Statting|Automatic)=1) {
      #T- {stattingDeathCry}
      #T+ {stattingRanks}
      }
   #SENDRAW {score}
   } "" {case|disable}
#TRIGGER {They aren't here.$} {
   #T+ {stattingSeedling}
   stopStat
   } "" {case}
#TRIGGER "stattingDisengage" {You disengage from the fight.} {
   #T- {stattingDisengage}
   #T- {stattingNotFighting}
   #SENDRAW {restat}
   } "" {case|disable}
#TRIGGER "stattingNotFighting" {But you're not fighting anyone!?} {
   #T- {stattingNotFighting}
   #T- {stattingDisengage}
   #SENDRAW {restat}
   } "" {case|disable}
#TRIGGER "stattingRestat" {You feel dizzy as time seems to spin backwards...$} {
   #T- {stattingRestat}
   #RAISE eventStattingStart
   } "" {case|disable}
#TRIGGER "stattingOut" {A * has gone out!$} {
   #SENDRAW {remove @stattingLight}
   #SENDRAW {drop all.@stattingLight}
   #SENDRAW {get @stattingLight @stattingContainer}
   #SENDRAW {grab @stattingLight}
   } "" {case}
#TRIGGER "stattingLight" {You could not light a *.$} {
   #SENDRAW {remove @stattingLight}
   #SENDRAW {drop all.@stattingLight}
   #SENDRAW {get @stattingLight @stattingContainer}
   #SENDRAW {grab @stattingLight}
   } "" {case}
#TRIGGER "stattingDay" {The day has begun.$} {
   #SENDRAW {remove @stattingLight}
   #SENDRAW {put @stattingLight @stattingContainer}
   } "" {case}
#TRIGGER "stattingNight" {The night has begun.$} {
   #SENDRAW {get @stattingLight @stattingContainer}
   #SENDRAW {hold @stattingLight}
   } "" {case}
#CLASS 0

Author:  Taziar [ Sat Oct 12, 2019 6:15 pm ]
Post subject:  Re: House of Medakan cMUD Scripts

Type helpStatusBar to view help file in client.

Image

Example:
Image

Direct download: [url]StatusBarCMUD.txt[/url]

[code][/code]

Page 3 of 4 All times are UTC - 5 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/