cMUD Script Repository

I thought it would be a good idea to start a cMUD repository. Post your cMUD scripts here. If your script can also be used with zMUD, please make a note of it.
«13

Comments

  • edited April 2013
    cMUD only Tattoo's script.

    Syntax to use is Aetolia's own: INK <tattoo> ON <body part> OF <person>.

    This will automatically take the correct inks from your cache to use.


    #CLASS {Tattoos}
    #VAR Cur_Tattoo {}
    #VAR Firefly {yellowink}
    #VAR Moss {yellowink|blueink|redink}
    #VAR Feather {blueink|blueink|redink}
    #VAR Shield {redink|redink|greenink}
    #VAR Mindseye {greenink|blueink|blueink}
    #VAR Hammer {redink|redink|purpleink}
    #VAR Cloak {blueink|blueink|blueink}
    #VAR Bell {blueink|blueink|blueink|redink|redink}
    #VAR Crystal {greenink|yellowink|purpleink}
    #VAR Moon {redink|blueink|yellowink}
    #VAR Starburst {blueink}
    #VAR Boar {purpleink|redink|redink}
    #VAR Web {greenink|yellowink}
    #VAR Tentacle {greenink|greenink|purpleink}
    #VAR Hourglass {yellowink|blueink}
    #VAR Owl {blueink|redink|redink|purpleink}
    #VAR Brazier {yellowink|yellowink|redink|redink}
    #VAR Prism {redink|blueink|yellowink|greenink|purpleink}
    #VAR Tree {greenink|greenink|greenink|greenink|greenink}
    #VAR Mountain {greenink|blueink|goldink}
    #VAR Chameleon {goldink|purpleink|yellowink}
    #ALIAS INK($tat,$on,$side,$part,$of,$who) {Cur_Tattoo=$tat;#FORALL %expand(@%expand(@Cur_Tattoo)) {outc %i};#IF ($who) {~INK $tat on $side $part of $who} {~INK $tat on $side of $of}}
    #CLASS 0
    MoireanDaskalosTirria
  • This is a cMUD only simply Concoctions script.

    Syntax is CFILL <number> <concoction>



    #CLASS {Spec|Concoctions}
    #VAR refill_count {0}
    #ALIAS CFILL($RFillD,$RFillT) {refill_count=$RFillD;#SWITCH ($RFillT = %lower(health)) {#FORALL @Con_Health {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(mana)) {#FORALL @Con_Mana {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(epidermal)) {#FORALL @Con_Epidermal {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(immunity)) {#FORALL @Con_Immunity {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(mass)) {#FORALL @Con_Mass {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(speed)) {#FORALL @Con_Speed {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(levitation)) {#FORALL @Con_Levitation {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(caloric)) {#FORALL @Con_Caloric {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(frost)) {#FORALL @Con_Frost {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(venom)) {#FORALL @Con_Venom {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(mending)) {#FORALL @Con_Mending {outc $RFillD %i;inpot $RFillD %i to pot}} ($RFillT = %lower(restoration)) {take %eval(200*$RFillD) gold from pack;inpot %eval(200*$RFillD) gold to pot;#FORALL @Con_Restoration {outc $RFillD %i;inpot $RFillD %i to pot}};boil pot for $RFillT}
    #TRIGGER {^With a sudden slow pulsing of white light} {#IF (@refill_count) {#LOOP @refill_count {~fill empty from pot};refill_count=0}}
    #VAR Con_Health {valerian|valerian|goldenseal|ginseng|myrrh}
    #VAR Con_Mana {slipper|bellwort|hawthorn|bloodroot}
    #VAR Con_Epidermal {kuzu|kuzu|bloodroot|hawthorn|ginseng}
    #VAR Con_Immunity {sac|ash|echinacea|echinacea}
    #VAR Con_Mass {moss|bloodroot|kuzu|dust}
    #VAR Con_Speed {skin|skin|kuzu|goldenseal|ginger}
    #VAR Con_Levitation {kelp|kelp|pear|feather}
    #VAR Con_Caloric {kuzu|kuzu|valerian|kelp|kelp|bellwort}
    #VAR Con_Frost {kelp|pear|ginseng}
    #VAR Con_Venom {sac|cohosh|kelp|skullcap}
    #VAR Con_Mending {dust|kelp|kuzu|ginger|ginger}
    #VAR Con_Restoration {kuzu|kuzu|valerian|bellwort}
    #CLASS 0
  • I find this cMUD only script to be extremely useful.

    First, it'll capture your Icewall, Firewall and Firelash enchantment's (on a ring) simply by viewing MAGICLIST. Once done, you can FIRELASH <dir>, FIREWALL <dir> or ICEWALL <dir> to cast that enchantment in the specified direction. This script also allows you to only be wearing one ring at a time, leaving you space for those signet rings, resistance rings, etc. It'll automatically switch rings for you. Last, I included a nifty little script which captures room exits and tracks which exits currently have an icewall (or not). To completely icewall yourself into a room, which is nifty for leylines and such, simply type ICE. It will then icewall each exit in turn.




    #CLASS {MagicList}
    #VAR Icewall {}
    #VAR Firewall {}
    #VAR Firelash {}
    #VAR Current_Enchant {}
    #ALIAS icewall {#IF (@Current_Enchant != @Icewall) {remove @Current_Enchant;wear @Icewall;Current_Enchant=@Icewall};point @Icewall %1}
    #ALIAS firewall {#IF (@Current_Enchant != @Firewall) {remove @Current_Enchant;wear @Firewall;Current_Enchant=@Firewall};point @Firewall %1}
    #ALIAS firelash {#IF (@Current_Enchant != @Firelash) {remove @Current_Enchant;wear @Firelash;Current_Enchant=@Firelash};point @Firelash at icewall %1}
    #ALIAS magiclist {#T+ EnchantCap;Icewall=%null;Firewall=%null;Firelash=%null;~magiclist}
    #CLASS 0
    #CLASS {MagicList|EnchantCap}
    #TRIGGER {^(%a) %s an icewall enchantment %s %d$} {Icewall=%1}
    #TRIGGER {^(%a) %s a firewall enchantment %s %d$} {Firewall=%1}
    #TRIGGER {^(%a) %s a firelash enchantment %s %d$} {Firelash=%1}
    #TRIGGER {%a*%d$}
    #COND {^--------------------------------------------------------$} {#T- EnchantCap}
    #CLASS 0
    #CLASS {MagicList|Ice_Wall}
    #var do_ice {0}
    #VAR room_exits {}
    #VAR wall_exits {}
    #VAR wall_curnt {}
    #VAR ice_eval {}
    #ALIAS ICE {wall_exits=%null;do_ice=1;wall_curnt=%item(@room_exits, 1);icewall %item(@room_exits, 1)}
    #TRIGGER {^You see {exits|a single exit}} {room_exits=%subregex(%gmcp.room.info.exits, "=\d+", "")}
    #TRIGGER {^You raise your hands dramatically, and summon an icewall to the %w.$} {#ADDI wall_exits @wall_curnt}
    #COND {^You have recovered equilibrium.$} {#IF (@do_ice) {ice_eval}}
    #TRIGGER {^There is already an icewall in that direction.$} {#ADDI wall_exits @wall_curnt;ice_eval}
    #ALIAS ice_eval {ice_eval=%null;#FORALL @room_exits {#IF (%ismember(%i,@wall_exits)) {} {#ADDI ice_eval %i}};#IF (%numitems(@ice_eval)) {wall_curnt=%item(@ice_eval, 1);icewall %item(@ice_eval, 1)} {do_ice=0}}
    #CLASS 0
  • edited April 2013
    A bunch of smaller script for stuff..


    ---------------------------------------------------------




    An extremely simply script, it'll capture all communication via tell, web, clan, guild, etc.. and save a log of it into another window.

    #CLASS {Misc|Capture}
    #TRIGGER {^You tell} {#CAP Communications}
    #TRIGGER {^%w tells you,} {#CAP Communications}
    #TRIGGER {^~(*~):} {#CAP Communications}
    #TRIGGER {^~<~<*~>~>:} {#CAP Communications}
    #CLASS 0



    ---------------------------------------------------------



    Be polite: Close the door behind you!

    OD: Opens a door, moves through, and closes it behind you.
    UD Same as above, but also locks and unlocks the door.




    #CLASS {Misc|Doors}
    #ALIAS OD {#IF (%1=in) {open door in;in;close door out} {#IF (%1=out) {open door out;out;close door in} {open door %1;%1;close door %reversedir(%1)}}}
    #ALIAS UD {#IF (%1=in) {unlock door in;od in;lock door out} {#IF (%1=out) {unlock door out;od out;lock door in} {unlock door %1;od %1;lock door %reversedir(%1)}}}
    #CLASS 0

    ---------------------------------------------------------

    An easy way to color people's name.

    COLOR <name>, UNCOLOR <name>
    Colors their name in cyan. I use this for allies.

    ECOLOR <name>, UECOLOR <name>
    Colors their name red. I use this for enemies.

    GCOLOR <name>, UGCOLOR <name>
    Colors their name green. I use this for gods.

    BCOLOR <name>, UBCOLOR <name>
    Colors their name blue. I use this for people I want to keep a special eye on.




    #CLASS {Misc|WColor}
    #VAR Allies {}
    #ALIAS Color {#ADDI Allies \b%1\b;#SORT @Allies}
    #ALIAS UnColor {#DELI Allies \b%1\b;#DELI Allied_list %1}
    #REGEX {@Allies} {#CW cyan}
    #VAR GMember {}
    #ALIAS GColor {#ADDI GMember \b%1\b;#SORT @GMember}
    #ALIAS UGColor {#DELI GMember \b%1\b}
    #REGEX {@GMember} {#CW green}
    #VAR EMember {}
    #VAR Enemy_list {}
    #ALIAS EColor {#ADDI EMember \b%1\b;#SORT @EMember;#ADDI Enemy_list %1;#SORT @Enemy_list}
    #ALIAS UEColor {#DELI EMember \b%1\b;#DELI Enemy_list \b%1\b}
    #REGEX {@EMember} {#CW red}
    #VAR BMember {}
    #ALIAS BColor {#ADDI BMember \b%1\b;#SORT @BMember}
    #ALIAS UBColor {#DELI BMember \b%1\b}
    #REGEX {@BMember} {#CW blue}
    #CLASS 0

    ---------------------------------------------------------

    I'm lazy. I don't want to type out the whole "put # <object> in pack" line.

    INP # <object>
    OUTP # <object>



    #CLASS {Misc|Packs}
    #ALIAS Inp {Put %1 %2 in pack}
    #ALIAS Outp {Take %1 %2 from pack}
    #CLASS 0



    ---------------------------------------------------------


    I like to keep an eye on when my guildmates arrive. Some have found this slightly creepy, but whatever. Simply type GUILDWHO once and it'll begin checking every 60 seconds and alert you to newly arrived guildmates. By the way, it'll also gag this, so you wont even see that it's checking.



    #CLASS {Misc|GuildWho}
    #VAR G_WHO {}
    #VAR G_NEW {}
    #VAR G_OLD {}
    #ALIAS GUILDWHO {gw;#ALARM "guildcheck" {+30} {guildcheck}}
    #ALIAS GUILDCHECK {G_OLD=@G_WHO;G_NEW=%null;G_WHO=%null;#T+ GuildCheck;GW}
    #CLASS 0
    #CLASS {GuildWho|GuildCheck}
    #TRIGGER {^The following members of the %w are in the realm:$} {#GAG}
    #TRIGGER {^Member %s Rank %s Position %s Class$} {#GAG}
    #TRIGGER {^----------------------------------------------------------------------------$} {#GAG}
    #TRIGGER {^(%w) * {Ascendril|Bloodborn|Cabalist|Druid|Indorani|Carnifex|Luminary|Lycanthrope|Monk|Nightstalker|Templar|Sciomancer|Sentinel|Syssin|Teradrim|Praenomen|Zealot|Shaman}$} {#ADDI G_WHO %1;#GAG}
    #COND {^H:%d M:%d} {#T- GuildCheck;G_NEW=@G_WHO;#FORALL @G_OLD {#DELI G_NEW %i};#IF (@G_NEW) {#SHOW {};#ECHO {Newly Arrived: @G_NEW};#SHOW {}};#ALARM "guildcheck" {+60} {guildcheck}} {within|param=1}
    #CLASS 0
  • Thank you for the tell capture thing I have been trying to figure that out for days!
    Show Him Who's Boss!
  • I have one problem with it, it doesn't seem to capture the second line of anything anyone says, how do I fix that if you could tell me?
    Show Him Who's Boss!
  • MoireanMoirean Chairmander Portland
    You can also capture lines to another window through color (I do this to track emotes). Just select "ansi trigger" for trigger type and then paste part of the colored text you want to copy. Then delete the words themselves and replace them with *
  • Barda said:
    I have one problem with it, it doesn't seem to capture the second line of anything anyone says, how do I fix that if you could tell me?
    Try setting wrapwidth to 0 so your client does the wrapping instead of server side. Pretty sure that's the fix that worked last time I helped someone with it.
    Alastair
  • MoireanMoirean Chairmander Portland
    Yeah, I walked him through it.
  • MoireanMoirean Chairmander Portland
    edited July 2013

    Updated to work on CMUD:


    Xml: https://sites.google.com/site/jlhealy/code/crit_counter.xml?attredirects=0&d=1

    --------


    Here's my crit counter with a NEW AND IMPROVED damage tracking and overkill uptime feature! AND COLOR!

    Track how many critical hits you get. Make sure to change the trigger for adding to totalhits to match your own attack type! (here it is set to "You strike"). Also set the variable DAMAGESPEED to the balance/eq for your bashing attack (3.25, 4.0, etc). Finally, turn config mobdamage on.

    SHOWCRITS to view your current crit readout
    RESETCRITS to reset crit counter. Do this on first import to set everything to zero.

    #CLASS {critcounter}
    #ALIAS showcrits {#math normalhits (@totalhits-@crithits-@staghits-@crushhits-@muthits-@annhits)

    totalpercent=100.0

    critpercent= %format( 2, %eval( @crithits*100.00/@totalhits))

    stagpercent=%format( 2, %eval( @staghits*100.00/@totalhits))

    crushpercent=%format( 2, %eval( @crushhits*100.00/@totalhits))

    mutpercent= %format( 2, %eval( @muthits*100.00/@totalhits))

    annpercent= %format( 2, %eval( @annhits*100.00/@totalhits))

    normalpercent= %format( 2, %eval( @normalhits*100.00/@totalhits))

    #math totalcrits @totalhits-@normalhits

    totalcritpercent= %format( 2, %eval( @totalcrits*100.00/@totalhits))

    #var totaldamage {}

    #loop 1,%numitems( @damagedone) {#add totaldamage %item( @damagedone, %i)}

    #var dps {}

    #math damagecalc (@totaldamage/%numitems( @damagedone))

    #math dps @damagecalc/@damagespeed

    overkilluptime=%format(2, %eval(@overkilled*100/@overkilltotal))

    dps=%format( 2, @dps)

    #say

    #show %ansi( cyan).:*~~*:.%ansi( high, white)C%ansi( cyan).:*~~*:.%ansi( high, white)R%ansi( cyan).:*~~*:.%ansi( high, white)I%ansi( cyan).:*~~*:.%ansi( high, white)T%ansi( cyan).:*~~*:.%ansi( high, white)S%ansi( cyan).:*~~*:.

    #show %ansi( cyan).

    #show %ansi( cyan)* %ansi( cyan)Hits %ansi( cyan)............................%ansi( cyan)@totalhits @totalpercent%ansi( cyan)% *

    #show %ansi( cyan). %ansi( high, white)Normal %ansi( cyan)..........................%ansi( high, white)@normalhits @normalpercent%ansi( cyan)% .

    #show %ansi( cyan)* %ansi( high, red)Critical %ansi( cyan)........................%ansi( high, red)@crithits @critpercent%ansi( cyan)% *

    #show %ansi( cyan). %ansi( yellow)Staggering %ansi( cyan).......................%ansi( yellow)@staghits @stagpercent%ansi( cyan)% .

    #show %ansi( cyan)* %ansi( high, cyan)Crushing %ansi( cyan).........................%ansi( high, cyan)@crushhits @crushpercent%ansi( cyan)% *

    #show %ansi( cyan). %ansi( high, blue)Mutilating %ansi( cyan).......................%ansi( high, blue)@muthits @mutpercent%ansi( cyan)% .

    #show %ansi( cyan)* %ansi( high, green)Annihilating %ansi( cyan).....................%ansi( high, green)@annhits @annpercent%ansi( cyan)% *

    #show %ansi( cyan) .

    #show %ansi( cyan)* %ansi( cyan)Total hits: @totalhits

    #show %ansi( cyan). %ansi( cyan)Total criticals: @totalcrits

    #show %ansi( cyan)* Crit percentage: %ansi( high, white)@totalcritpercent%

    #show %ansi( cyan).

    #show %ansi( cyan)* %ansi( cyan)Average hit value: @damagecalc

    #show %ansi( cyan). %ansi( cyan)Average of %ansi( high, white)@dps %ansi( cyan)damage per second.

    #show %ansi( cyan)*

    #show %ansi( cyan). %ansi( cyan)Overkills: @overkilled

    #show %ansi( cyan)* %ansi( cyan)Wasted overkills: @overkillmissed

    #show %ansi( cyan). %ansi( cyan)Overkill uptime: @overkilluptime~%

    #show %ansi( cyan)*

    #show %ansi( cyan).:*~~*:.%ansi( high, white)_%ansi( cyan).:*~~*:.%ansi( high, white)_%ansi( cyan).:*~~*:.%ansi( high, white)_%ansi( cyan).:*~~*:.%ansi( high, white)_%ansi( cyan).:*~~*:.%ansi( high, white)_%ansi( cyan).:*~~*:.}
    #ALIAS resetcrits {totalhits=0;normalhits=0;crithits=0;staghits=0;crushhits=0;muthits=0;annhits=0;
    #var damagedone {}}
    #TRIGGER {^You strike} {#add totalhits 1}
    #TRIGGER {^You have scored a CRITICAL hit!} {#add crithits 1}
    #TRIGGER {^You have scored a STAGGERING CRITICAL hit!} {#add staghits 1}
    #TRIGGER {^You have scored a CRUSHING CRITICAL hit!} {#add crushhits 1}
    #TRIGGER {^You have scored a MUTILATING CRITICAL hit!} {#add muthits 1}
    #TRIGGER {^You have scored an ANNIHILATING CRITICAL hit!!!} {#add annhits 1}
    #TRIGGER {^Damage done: (%d), %w.$}  {lastdamage=%1;#var damagedone %additem( %1, @damagedone)}

    #TRIGGER {^Damage done: (%d) ~((%d) overkill~), %w.$} {#if @bash=1 {lastdamage=%2+%1;#var damagedone;%additem( @lastdamage, @damagedone);  #add overkilled 1}}

    #TRIGGER {^The rush of energy fades.$} {#add overkillmissed 1}

    #TRIGGER {^A rush of energy fills you as you feel ready to deliver a devastating blow upon your next target.$} {#add overkilltotal 1}


    #VARIABLE {totalhits} {0}
    #VARIABLE {cirthits} {0}
    #VARIABLE {staghits} {0}
    #VARIABLE {crushhits} {0}
    #VARIABLE {muthits} {0}
    #VARIABLE {annhits} {0}
    #VARIABLE {lastdamage} {0}
    #VARIABLE {damagedone} {0}
    #VARIABLE {dps} {0}
    #VARIABLE {damagecalc} {0}
    #VARIABLE {damagespeed} {0}

    #VARIABLE {overkilltotal} {0}

    #VARIABLE {overkilled} {0}

    #VARIABLE {overkillmissed} {0}
    #CLASS 0

    Display:

    .:*~*:.C.:*~*:.R.:*~*:.I.:*~*:.T.:*~*:.S.:*~*:.

    .

    * Hits ............................429 100% *

    . Normal ..........................234 54.55% .

    * Critical ........................87 20.28% *

    . Staggering .......................43 10.02% .

    * Crushing .........................25 5.83% *

    . Mutilating .......................21 4.90% .

    * Annihilating .....................19 4.43% *

     .

    * Total hits: 429

    . Total criticals: 195

    * Crit percentage: 45.45%

    .

    * Average hit value: 4260

    . Average of 1217.14 damage per second.

    *

    . Overkills: 13

    * Wasted overkills: 3

    . Overkill uptime: 81.00%

    *

    .:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.

  • MoireanMoirean Chairmander Portland
    edited April 2013
    Semi-auto vibe embedding.

    Type VSET to reset vibe set, then just type VIBE each time you have EQ to lay a new one. If you want to change the priority just shift around the string list (I have it set to what you probably want most for combat). Type VIBELIST to get a quick refresher of what each vibe does and a shortcut alias to spin and embed each one.

    #CLASS {option|vibes}
    #ALIAS vibe {%item( @vibelist, 1);currentvibe=%item( @vibelist, 1);#t+ nextvibe;#alarm +1 {#t- nextvibe};#3 inc crystal}
    #ALIAS vibelist {#say;#say %ansi( high, red)+%ansi( high, white)---------------------------------------%ansi( high, red)+;#say %ansi( high, white)| %ansi( high, red)Vibe Key %ansi( high, white). . . . . . . . . . . . . . .|;#say %ansi( high, red)+%ansi( high, white)---------------------------------------%ansi( high, red)+;#say;#say %ansi( high, blue) Vibes%ansi( high, white);#say;#say %ansi( high, green)Adduction%ansi( black).....|%ansi( green) Suck in %ansi( black).......%ansi( high, green)Alarm %ansi( black)..........%ansi( green)Alert;#say %ansi( high, green)Cataclysm%ansi( black).....|%ansi( green) Magnify%ansi( black)........%ansi( high, green)Creeps %ansi( black).........%ansi( green)Fear;#say %ansi( high, green)Crystalforest%ansi( black).|%ansi( green) Ouch%ansi( black)...........%ansi( high, green)Disorientation %ansi( black).%ansi( green)Dizziness;#say %ansi( high, green)Dissipate%ansi( black).....|%ansi( green) Mana Drain%ansi( black).....%ansi( high, green)Dissonance%ansi( black)......%ansi( green)Dissonance...;#say %ansi( high, green)Energize%ansi( black)......|%ansi( green) Health Leech%ansi( black)...%ansi( high, green)Focus%ansi( black)...........%ansi( green)Call Vibes;#say %ansi( high, green)Gravity%ansi( black).......|%ansi( green) Tentacle %ansi( black)......%ansi( high, green)Grounding%ansi( black).......%ansi( green)Mass;#say %ansi( high, green)Harmony%ansi( black).......|%ansi( green) Healing%ansi( black)........%ansi( high, green)Lullaby%ansi( black).........%ansi( green)ZzzZzz;#say %ansi( high, green)Heat%ansi( black)..........|%ansi( green) Melt ice%ansi( black).......%ansi( high, green)Palpitation%ansi( black).....%ansi( green)Heart Attack;#say %ansi( high, green)Oscillate%ansi( black).....|%ansi( green) Amnesia%ansi( black)........%ansi( high, green)Retardation%ansi( black).....%ansi( green)Slow Mo;#say %ansi( high, green)Plague%ansi( black)........|%ansi( green) Afflict%ansi( black)........%ansi( high, green)Reverberation%ansi( black)...%ansi( green)Protect Vibes;#say %ansi( high, green)Revelation%ansi( black)....|%ansi( green) Heatsight%ansi( black)......%ansi( high, green)Sonicportal%ansi( black).....%ansi( green)Portal;#say %ansi( high, green)Silence%ansi( black).......|%ansi( green) SHH!%ansi( black)...........%ansi( high, green)Tremors%ansi( black).........%ansi( green)I feel the earth move...!;#say %ansi( high, green)Stridulation%ansi( black)..|%ansi( green) Break EQ%ansi( black)..%ansi( high, green)}
    #ALIAS vset {#var vibelist {};#additem vibelist 1rev;#additem vibelist 1c;#additem vibelist 1t;#additem vibelist 1a;#additem vibelist 1al;#additem vibelist 1s;#additem vibelist 1di;#additem vibelist 1e;#additem vibelist 1pa;#additem vibelist 1ds;#additem vibelist 1h;#additem vibelist 1o;#additem vibelist 1l;#additem vibelist 1p;#additem vibelist 1d;#additem vibelist 1r;#additem vibelist 1g;#say VIBES RESET!}
    #ALIAS 1a {vi disc polyhedron;embed adduction}
    #ALIAS 1al {vi spiral;embed alarm}
    #ALIAS 1c {vi pyramid diamond;embed forest}
    #ALIAS 1cr {vi torus;embed creeps}
    #ALIAS 1d {vi pentagon;embed dissipate}
    #ALIAS 1di {vi spiral;embed disorientation}
    #ALIAS 1ds {vi sphere cylinder spiral;embed dissonance}
    #ALIAS 1e {vi polyhedron;embed energize}
    #ALIAS 1f {vi pyramid;embed focus}
    #ALIAS 1g {vi torus egg;embed gravity}
    #ALIAS 1gr {vi sphere;embed grounding}
    #ALIAS 1h {vi sphere egg;embed harmony}
    #ALIAS 1he {vi pyramid;embed heat}
    #ALIAS 1l {vi pyramid;embed lullaby}
    #ALIAS 1o {vi diamond;embed oscillate}
    #ALIAS 1p {vi spiral cube pyramid;embed plague}
    #ALIAS 1pa {vi cylinder;embed palpitation}
    #ALIAS 1r {vi diamond cube;embed revelation}
    #ALIAS 1re {vi disc;embed retardation}
    #ALIAS 1rev {vi pentagon disc;embed reverberation}
    #ALIAS 1s {vi cylinder polyhedron;embed stridulation}
    #ALIAS 1si {vi sphere cylinder spiral;embed dissonance}
    #ALIAS 1t {vi egg disc;embed tremors}
    #VAR vibelist {}
    #CLASS 0
    #CLASS {option|vibes|nextvibe}
    #TRIGGER {With a forceful gesture} {#delnitem vibelist 1}
    #TRIGGER {You already have that vibration embedded here.} {#additem vibelist @currentvibe}
    #CLASS 0

  • MoireanMoirean Chairmander Portland
    Also, so people stop asking me how to do this, here's how you do a varying, random return message. 

    #al {msgshuffle} {set returnmessage %item( @msgshuffle, %random( 1, %numitems( @msgshuffle)))}
    #tr {* has just left you message #(%d).} {msgshuffle}
    #var {msgshuffle} {snazzy return message 1|fun return message 2|you get the picture}

    Be sure to put the trigger into your disable-able options class, so it doesn't fire during stuff like behead, etc. That has totally never happened to me. Ahem.
  • MoireanMoirean Chairmander Portland
    One more. This is called "I am lazy but randomness evens out over the long run anyways" surprisesection!

    #alias {diss} {dissect %item( @dissectlist, %random( 1, %numitems( @dissectlist))) from corpse}
    #variable {dissectlist} {kidney|liver|eyeball|ovary|spleen|bone|sulphurite|castorite|pineal|stomach|heart|lung|tongue|bladder|testis}
    #tr {Cutting open the corpse of} {#temp {You have recovered equil*} {diss}}
    #tr {You cannot seem to find that organ anywhere in the body.} {diss}

    >_> Hey, it actually ends up working fairly well. I don't advise this if you want certain organs, though. It's more of a "hit it and quit it while you're grabbing a smoke after bashing" thing.
  • MoireanMoirean Chairmander Portland
    edited May 2013
    I made a little esteem tracker. If there is anything you'd like added, I can maaaaybe tweak things and make it niftier, so msg me if you have ideas to adjust this.


    Syntax:
    -----------

    ESTEEMS - shows you all your esteems

    ESTEEMS # # - similar to readlog, first number is the starting spot, second number is the ending spot (this lets you view smaller chunks). Note that the numbers are based on the PEOPLE who have esteemed you.

    eg ESTEEMS 2 4 will bring up esteem for people 2, 3 and 4 (people are listed at the bottom)

    image

    ESTEEMS FROM (name) - display all esteems from a specific person

    image


    ESTEEMLIST - displays how many people have esteemed you and who they are


    ---------------------------------------------------------

    #trigger {^(%w) has expressed {his|her} esteem of you for the following reason: (*)} {#if (%iskey( @esteem, %1)) {#addkey esteem {%1} {%db( @esteem, %1)|%2}} {#addkey esteem {%1} {%2}}}

    #alias {esteems} {#if %1 {esteemloopmin=%1;esteemloopmax=%2} {esteemloopmin=1;esteemloopmax=%numitems(%dbkeys(@esteem))}
    #if %1=from {esteemperson=%2
    #say
    #show %ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)S%ansi( cyan).:*~~*:.%ansi( high, white)T%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)M%ansi( cyan).:*~~*:.
    #say
    #say %ansi(grey)This is why %ansi(brown)%proper(@esteemperson)%ansi(grey) thinks you are awesome:
    #say %ansi(cyan)---------------------------------------------------------------------
    #say %ansi(grey)%expandlist(%db(@esteem,@esteemperson),%crlf)
    #say %ansi(cyan)---------------------------------------------------------------------} {
    #say 
    #say 
    #show %ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)S%ansi( cyan).:*~~*:.%ansi( high, white)T%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)M%ansi( cyan).:*~~*:.
    #say
    #say "      " %ansi(grey)Displaying esteems from admirer ~#@esteemloopmin to ~#@esteemloopmax
    #say %ansi(cyan)---------------------------------------------------------------------
    #loop @esteemloopmin,@esteemloopmax {#show %expandlist((%ansi(brown)%item(%dbkeys(@esteem),%i):" "%ansi(grey)%item(%dbvalues(@esteem),%i)),%crlf%ansi(brown)%item(%dbkeys(@esteem),%i):" "%ansi(grey))}
    #say %ansi(cyan)---------------------------------------------------------------------;
    #show %ansi(grey)You have esteems from: %ansi(brown)%expandlist(%dbkeys(@esteem), %ansi(grey)", "%ansi(brown))}}

    #alias {esteemlist} {#say
    #show %ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)S%ansi( cyan).:*~~*:.%ansi( high, white)T%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)M%ansi( cyan).:*~~*:.
    #say
    #say %ansi(cyan)---------------------------------------------------------------------
    #say
    #say %ansi(grey)A total of %ansi(brown)%numkeys(@esteem)%ansi(grey) people have esteemed you.
    #say
    #show %ansi(grey)You have esteems from: %ansi(brown)%expandlist(%dbkeys(@esteem), %ansi(grey)", "%ansi(brown))}

    #alias {resetesteem} {#var esteem {}
    #say
    #show %ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)S%ansi( cyan).:*~~*:.%ansi( high, white)T%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)E%ansi( cyan).:*~~*:.%ansi( high, white)M%ansi( cyan).:*~~*:.
    #say
    #say %ansi(cyan)---------------------------------------------------------------------
    #say
    #say %ansi(grey)Esteem reset! Go out and impress the world all over again!}
  • MoireanMoirean Chairmander Portland
    edited May 2013

    Venom Milking Bot! 

    If any errors pop up, lemme know!

    XML: https://sites.google.com/site/jlhealy/code/milkbot.xml?attredirects=0&d=1

    Text: https://sites.google.com/site/jlhealy/code/milkbot.txt?attredirects=0&d=1

    PG-13-rated add-on for Kiyo: https://sites.google.com/site/jlhealy/code/kiyomilk.TXT?attredirects=0&d=1

    Syntax:

    MKL <#> - how many vials of what venom you want to milk. Eg MKL 2 ACONITE. Feel free to type in a whole long list of all the things you want to do
    MILKCLEAR - clears out your current milking list
    MILKSHOW - shows your current milking list
    MILKSTART (cask) - starts the bot. Appending cask will milk into a cask instead of vials
    MILKSTOP - aborts automated milking

    NOTE: You can hold whatever vials you want, but the bot will milk into empties. Pots and cups can sometimes mess this up, so just drop them if you get an error about having nothing to milk into.


    #CLASS {milking}
    #ALIAS milkstop {#t- milkbot;milkstatus=0}
    #ALIAS mv {#t+ milkbot;milkstatus=1;milk=%2;milkvenom=%2;milks=6;milknumber=%1;milkvial=%2;secrete %2;milk venom into empty;purge}
    #TRIGGER {The syntax to use is MILK} {purge;milkstop;#say MILKBOT ABORTED!}
    #ALIAS milkclear {#var milklist {};#var milklistnumbers {}} "moireansettings"
    #ALIAS milkshow {#say;#say *** Milking Order ***;#say ---------------------;#if @milkstatus=1 {#say @milknumber @milkvenom;#if {%numitems( @milklist)&gt;1} {#loo 2,%numitems( @milklist) {#say %item( @milklistnumbers, %i) %item( @milklist, %i)}} {}} {#loo 1,%numitems( @milklist) {#say %item( @milklistnumbers, %i) %item( @milklist, %i)}}} "moireansettings"
    #ALIAS milkstart {#t+ milkbot;milkstatus=1;milksource=%1;#var milk %item( @milklist, 1);milkvenom=%item( @milklist, 1);milks=6;milknumber=%item( @milklistnumbers, 1);milkvial=%item( @milklist, 1);secrete %item( @milklist, 1);#if @milksource=cask {milk venom into cask} {milk venom into empty};purge} "moireansettings"
    #ALIAS mkl {#var milklistnumbers %additem( %1, @milklistnumbers);#var milklist %additem( %2, @milklist);milkshow}
    #CLASS 0
    #CLASS {milking|milkbot}
    #VAR milk {}
    #TRIGGER {You have recovered balance on all limbs.} {#if (@milknumber&gt;1) {#if @milksource=cask {secrete @milk;milk venom into cask;#math milknumber @milknumber-1;purge} {secrete @milk;milk venom into empty;#math milknumber @milknumber-1;purge}} {#if (%numitems( @milklist)&gt;0) {#delnitem milklist 1;#delnitem milklistnumbers 1;mv %item( @milklistnumbers, 1) %item( @milklist, 1);milkshow;milkstart} {#t- milkbot;#say MILKING DONE!}}}
    #TRIGGER {That vial can't hold that much venom.} {purge;#math milknumber @milknumber-1;drop @milkvial;#if {@milknumber&gt;0} {milks=5;secrete @milk;milk venom into empty;milkshow} {#if (%numitems( @milklist)&gt;0) {#delnitem milklist 1;#delnitem milklistnumbers 1;mv %item( @milklistnumbers, 1) %item( @milklist, 1);milkshow} {#t- milkbot;#say MILKING DONE!}}}
    #CLASS 0


    Periluna
  • MoireanMoirean Chairmander Portland
    edited May 2013

    Some shop setting stuff!

    XML: https://sites.google.com/site/jlhealy/code/shopstuff.xml?attredirects=0&d=1

    Compare your current stock to your patterns for restocking. Lemme know if anyone has any ideas they'd like to see added with the outfits and stuff.

    STOCKHELP - quick reminder of syntax
    PSTK - captures all values of a crafted item, eg PSTK SHIRT
    CSTK - captures all current items for sale, eg CSTK SHIRT
    RSTK - compares potential stock to current stock and echoes back what you need to restock
    GOSTK - automatically creates needed items. NOTE: materials must be in hand!

    CRSTK <price> <shelf#> - Sets all unstocked designs to the crafting shelf

    ---> Tip, you can just do PSTK (item) to pull all items of that type and then run CRSTK to stock all item of your patterns for that type in a crafting shelf, even if you have physical versions available.

    STOCKSTOP - Stop the automated restocking

    Example of display :


    ---------------------------------------------------------------------

     Updating DRESS patterns you need to restock...

    ---------------------------------------------------------------------

    NEED TO MAKE anelegantazuresilk - 14866

    NEED TO MAKE asapphirevelvetdre - 15253

    NEED TO MAKE anelegantivorywedd - 15265

    ------------------


     Lazy quick item pricing.

    Syntax:

    PSET - captures all items of a specific type, eg II SHIRT

    PRI - prices all items of that type the specified price on the designated shelf, eg PRI 250 3 for pricing the shirts at 250 gold on shelf 3.

    alias {pset} {#var stocklist {};#t+ priceset;ii %1;#alarm +3 {#t- priceset}}
    #class priceset
    #trigger {~"(%w)(%d)~"} {#additem stocklist %1%2}
    #class 0
    #alias {pri} {#forall @stocklist {price %i %1 shelf %2};#var stocklist {}}

    --------------

    Syntax:

    PSET - captures all items of a specific type, eg II SHIRT
    PRI - prices all items of that type the specified price on the designated shelf, eg PRI 250 3. Sends price single item# price# shelf# for all items of that type.

    #alias {pset} {#var stocklist {};#t+ priceset;ii %1;#alarm +3 {#t- priceset}}
    #class priceset
    #trigger {~"(%w)(%d)~"} {#additem stocklist %1%2}
    #class 0
    #alias {pri} {#forall @stocklist {price single %i %1 shelf %2};#var stocklist {}}

    ----------


    Saybre
  •  Just a simple ylem gauntlet counter. Did this as a quick thing for my boo, and it's been a time-saver.

    <class name="Ylem" id="565">
      <trigger priority="5620" id="562">
        <pattern>An iron ylem-binding gauntlet is storing:</pattern>
        <value>ylemcount=0</value>
      </trigger>
      <trigger priority="5630" id="563">
        <pattern>- %1 coalescences of %2 mist.</pattern>
        <value>ylemcount=@ylemcount+%1;#if %2="white" {#show You have  @ylemcount mist in your gauntlet.}</value>
      </trigger>
    </class>


  • Moirean said:
    I made a little esteem tracker. If there is anything you'd like added, I can maaaaybe tweak things and make it niftier, so msg me if you have ideas to adjust this.

    I had no idea Esteem even existed...wonder what other tidbits I don't know about from my multi-year sleep

  • MoireanMoirean Chairmander Portland
    edited July 2013
    Made a little system to let you make and track personal notes. You can just track these as a background thing to call up when you want to view them or you can toggle echo to a window so they can always be there to look at!

    NOTEHELP has the syntax when you pop the file in. Enjoy!


    Some pics of what it looks like to use:
    image


    Minarael
  • DaskalosDaskalos Credit Whore Extraordinare Rolling amongst piles of credits.
    Stolen.

    image

    image


    Message #17059 Sent By: Oleis           Received On: 1/03/2014/17:24
    "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."

  • LinLin Blackbird The Moonglade
    edited July 2013
    That's a pretty harsh word to throw around. Can you explain yourself? I am not a clever man
    Setne
  • MoireanMoirean Chairmander Portland
    Oh, I thought he just meant that he grabbed the code to use. Like, "Haha totally stealing this!" I don't think he means that I copied someone's code? I uhh...I didn't take it from anyone else, I just made it last night...
    Lin
  • DaskalosDaskalos Credit Whore Extraordinare Rolling amongst piles of credits.
    I just meant I was stealing it to put in my system...

    image

    image


    Message #17059 Sent By: Oleis           Received On: 1/03/2014/17:24
    "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."

  • MoireanMoirean Chairmander Portland
    Vote: Lin
    PerilunaSetneEzalor
  • MoireanMoirean Chairmander Portland
    edited July 2013
    Ok, fairly simple little script to echo screams at you in bright red if you have reckless.

    image


    Basically:

        <trigger priority="61510">
          <pattern>You bleed (%d) health.</pattern>
          <trigger type="Loop Lines" param="1">
            <pattern>H:@maxhealth/@maxhealth M:@maxmana/@maxmana *</pattern>
            <value>#say  %ansi( red, high) RECKLESS YOU NEWB RECKLESS!!!!;#say  %ansi( red, high) RECKLESS YOU NEWB RECKLESS!!!!;#say  %ansi( red, high) RECKLESS YOU NEWB RECKLESS!!!!
    </value>

    NOTE: You will need to have your prompt read H: currenthealth/maxhealth M: currentmana/maxmana. If you don't use that for your prompt, you will need to adjust the triggers in the reckless folder and set a trigger to capture your maxhealth/maxmana off score.

    Edit: I am sure this can be done far easier and fancier with gmcp, but I've not gotten around to touching that yet. Sorry!
  • edited July 2013
    Because I wrote this today without looking here and seeing Moi's creation.

    Though my creation is a bit different. Dear god I have enough Windows as it is. DASK HOW DO YOU HAVE ROOM FOR MORE.

    Anyway, because I've been wanting in-game PHELP (like ghelp, but personal help) and got tired of waiting. I coded my own.

    Enjoy.

    https://docs.google.com/file/d/0B6cFzUF23FxweDVVRHJHSWVKZXc/edit?usp=sharing

    PHELP is both the base command, and the help file.

    Colorcheck is in a different part of my system...soo.. Here's that.

    (Just make an alias for it, I call mine colorcheck...I'm terribly clever.)

    [spoiler]
    #echo %cr
    #echo %ansi( 1)a 1
    #echo %ansi( 2)a 2
    #echo %ansi( 3)a 3
    #echo %ansi( 4)a 4
    #echo %ansi( 5)a 5
    #echo %ansi( 6)a 6
    #echo %ansi( 7)a 7
    #echo %ansi( 8)a 8
    #echo %ansi( 9)a 9
    #echo %ansi( 10)a 10
    #echo %ansi( 11)a 11
    #echo %ansi( 12)a 12
    #echo %ansi( 13)a 13
    #echo %ansi( 14)a 14
    #echo %ansi( 15)a 15
    #echo %ansi( 16)a 16
    #echo %ansi( 17)a 17
    #echo %ansi( 18)a 18
    #echo %ansi( 19)a 19
    #echo %ansi( 20)a 20
    #echo %ansi( 21)a 21
    #echo %ansi( 22)a 22
    #echo %ansi( 23)a 23
    #echo %ansi( 24)a 24
    #echo %ansi( 25)a 25
    #echo %ansi( 26)a 26
    #echo %ansi( 27)a 27
    #echo %ansi( 28)a 28
    #echo %ansi( 29)a 29
    #echo %ansi( 30)a 30
    #echo %ansi( 31)a 31
    #echo %ansi( 32)a 32
    #echo %ansi( 33)a 33
    #echo %ansi( 34)a 34
    #echo %ansi( 35)a 35
    #echo %ansi( 36)a 36
    #echo %ansi( 37)a 37
    #echo %ansi( 38)a 38
    #echo %ansi( 39)a 39
    #echo %ansi( 40)a 40
    [/spoiler]

    image
  • DaskalosDaskalos Credit Whore Extraordinare Rolling amongst piles of credits.
    (I tab my windows and have them set to come to the forefront with activity)

    image

    image


    Message #17059 Sent By: Oleis           Received On: 1/03/2014/17:24
    "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."

  • And a new development from Saybretech!

    PNOUNCEMENTS! (Personal announcements)

    Currently setup to change dependent on character name. Obviously you can change this variable to whatever you use, use gmcp if you so wish (I'm iffy on gmcp for name)

    Currently setup to display 3 announcements at a time, but it's easy enough to edit to add more.

    https://docs.google.com/file/d/0B6cFzUF23FxwTWprZTh4UHduUEU/edit?usp=sharing

    I recommend adding the alias 'pnounce' to the trigger 'Your last login was from:' line that you get when you get in the game, though considering how my own system goes through a -ton- of crap initially when I log in, I have a wait of 3.5 seconds before it fires.
    image
  • MoireanMoirean Chairmander Portland
    Moirean said:
    Made a little system to let you make and track personal notes. You can just track these as a background thing to call up when you want to view them or you can toggle echo to a window so they can always be there to look at!

    NOTEHELP has the syntax when you pop the file in. Enjoy!


    Some pics of what it looks like to use:
    image


    If anyone uses this can you post here? I fixed a bug with it, but am lazy and am not gonna bother upload new code if it's not used, heh. >_>
  • DaskalosDaskalos Credit Whore Extraordinare Rolling amongst piles of credits.
    I do!

    image

    image


    Message #17059 Sent By: Oleis           Received On: 1/03/2014/17:24
    "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."

Sign In or Register to comment.