Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » Finished MUD Scripts
Leitia
Adept


Joined: 04 May 2007
Posts: 292
Location: Boston

PostPosted: Wed Feb 25, 2009 10:23 pm   

MUME Bow Alias (revised with combat mode)
 
[use this old post if all you need is a bow script, the system is my last post]

I wrote this from the spell model post, as bows have, in my experience, certain operations that make the spell model useless, while calling or assigning targets and switches from within each alias seems fastest. Shoot differs slightly from the spell model in that I wanted to intentionally replace 'SHOOT target' with the single word 'SHOOT'

I am using TT for shoot because I have a great big T-Key on my keyboard.


TTHelp outlines the changes from the spell model, You can still TT 3 and it will shoot 3.orc where you had been shooting 1.orc or TT w 2 to make a switch of a target ghost (to 2.ghost). I cut the 3rd parameter option on switches

This is the output of TTHelp:

Code:
  TT [w]   [Mob]
                   assign switch and hold
  TT [w]
                   switch and shoot
  TT [d]
                   run wield alias and hold
  TT [d]   [Mob]
                   run wield alias and shoot
  TT [tt]  [Mob]
                   assign target and hold
  TT [Mob]
                   assign target and shoot
  TT
                   shoot current target by name

                   Most functions input next operation, TT alone is needed to re-aquire



The d switch calls an alias named 'ranged', I can't write that offline. I also circumvented the spell model (last post) gauge for non casters. you may want to replace that code with a status line for switches, I can't keep track of those.



Code:
#class shared
#if (%2) {
  #if (%lower( %1) == "w") {
    #if (%isnumber( %2)) {
      #if (%pos( ".", @target)) {
        #var w_target %subregex( @target, "\d+", "%2")
        #sh ready SWITCH to @w_target
        #hi
        #input "TT W" 1
        } {
        #var w_target %concat( %2, ".", @target)
        #sh ready SWITCH to @w_target
        #hi
        #input "TT W" 1
        }
      } {
      #var w_target %proper( %2)
      #sh ready SWITCH to @w_target
      #hi
      #input "TT W" 1
      }
    } {
    #if (%isnumber( %left( %2, 1))) {#var target %2} {#var target %proper( %2)}
    #if (%upper( %1) == "TT") {
      #sh New Target @target
      #hi
      } {
      #if (%lower( %1) == "d") {
        #exec Ranged
        #input "SHOOT" 1
        #exec SHOOT @target
        }
      }
    #if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}
    }
  } {
  #if (%1) {
    #if (%lower( %1) == "d") {#exec Ranged} {
      #if (%isnumber( %1)) {
        #if (%pos( ".", @target)) {#var target %subregex( @target, "\d+", "%1")} {#var target %concat( %1, ".", @target)}
        #if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}
        #if (@AllPref.sh_target == 1) {
          #sh New Target @target
          #hi
          }
        #input "SHOOT" 1
        #exec SHOOT @target
        } {
        #if (%lower( %1) == "w") {
          #var s_target @target
          #var target @w_target
          #var w_target @s_target
          #unvar s_target
          #if (%isnumber( %left( @target, 1))) {#sh SWITCH @target} {#sh SWITCH %proper( @target)}
          #hi
          } {#if (%isnumber( %left( %1, 1))) {#var target %1} {#var target %proper( %1)}}
        #input "SHOOT" 1
        #exec SHOOT @target
        #if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}
        }
      }
    } {
    #input "SHOOT" 1
    SHOOT @target
    }
  }
#class 0


disclaimer: provided to test by a bored woman

Code:
#ALIAS Ranged {#sh make triggers, you dont have a sheath, there is something in your sheath, you dont have a x prompt} "Bow"
#ALIAS TT {#class shared;#if (%2) {#if (%lower( %1) == "w") {#if (%isnumber( %2)) {#if (%pos( ".", @target)) {#var w_target %subregex( @target, "\d+", "%2");#sh ready SWITCH to @w_target;#hi;#input "TT W" 1} {#var w_target %concat( %2, ".", @target);#sh ready SWITCH to @w_target;#hi;#input "TT W" 1}} {#var w_target %proper( %2);#sh ready SWITCH to @w_target;#hi;#input "TT W" 1}} {#if (%isnumber( %left( %2, 1))) {#var target %2} {#var target %proper( %2)};#if (%upper( %1) == "TT") {#sh New Target @target;#hi} {#if (%lower( %1) == "d") {#exec Ranged;#input "SHOOT" 1;#exec SHOOT @target}};#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}}} {#if (%1) {#if (%lower( %1) == "d") {#exec Ranged} {#if (%isnumber( %1)) {#if (%pos( ".", @target)) {#var target %subregex( @target, "\d+", "%1")} {#var target %concat( %1, ".", @target)};#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black};#if (@AllPref.sh_target == 1) {#sh New Target @target;#hi};#input "SHOOT" 1;#exec SHOOT @target} {#if (%lower( %1) == "w") {#var s_target @target;#var target @w_target;#var w_target @s_target;#unvar s_target;#if (%isnumber( %left( @target, 1))) {#sh SWITCH @target} {#sh SWITCH %proper( @target)};#hi} {#if (%isnumber( %left( %1, 1))) {#var target %1} {#var target %proper( %1)}};#input "SHOOT" 1;#exec SHOOT @target;#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}}}} {#input "SHOOT" 1;SHOOT @target}};#class 0} "Bow"
#ALIAS TTHELP {#sh %format( " &3s &-4s &6s", "TT", "~[w~]", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "assign switch and hold");#co lightseagreen;#sh %format( " &3s &-4s", "TT", "~[w~]");#co lightseagreen;#sh %format( "                   &3s", "switch and shoot");#co lightseagreen;#sh %format( " &3s &-4s", "TT", "~[d~]");#co lightseagreen;#sh %format( "                   &3s", "run wield alias and hold");#co lightseagreen;#sh %format( " &3s &-4s &6s", "TT", "~[d~]", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "run wield alias and shoot");#co lightseagreen;#sh %format( " &3s &-4s &6s", "TT", "~[tt~]", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "assign target and hold");#co lightseagreen;#sh %format( " &3s &-4s", "TT", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "assign target and shoot");#co lightseagreen;#sh %format( " &3s", "TT");#co lightseagreen;#sh %format( "                   &3s", "shoot current target by name");#co lightseagreen;#sh " ";#sh %format( "                   &3s", "Most functions input next operation, TT alone is needed to re-aquire");#co lightseagreen} "Bow"



EDIT: the Mume Spell Model post may have more directions, though I thought to mention that the class enabled by this script will create @target (also @w_target) in a folder named 'Shared'. This is a potential disaster IF YOU USE #VAR target anywhere else, change the class name, delete it, or rewrite your old alias to the 'Shared' folder.


Last edited by Leitia on Wed Mar 04, 2009 11:08 pm; edited 4 times in total
Reply with quote
Leitia
Adept


Joined: 04 May 2007
Posts: 292
Location: Boston

PostPosted: Fri Feb 27, 2009 2:36 am   
 
Please read my edit above
Reply with quote
Leitia
Adept


Joined: 04 May 2007
Posts: 292
Location: Boston

PostPosted: Mon Mar 02, 2009 9:26 pm   Using POP Alias NUM and TT as a combat system (previous postings)
 
This is relevant to some key concepts like how a bash looks and how to use POPed alias for group members. PWN was my first choice on how to work in NUM but is defunct.

TT is a cleaner script to use for bash then 'Spell Model'. Why I wrote it was I found bashing 5 of anything common enough to want macro keys to enumerate the target. My typing is not very good, and lots of macro keys are messy, IMHO.

The 'TT W' is not an actual switch but a change of engagement, for real switches you would use the above code replacing 'shoot' with 'switch' for a SWITCH alias

The above code #INPUTS are always highlighted, so if they appear errant you have an effortless overwrite, though TT W <target> really should have the #INPUT in every case I can think of, as pressing two enters is quick if you want to fire at the 'switched' target right now.

The limitations of the script is you can only retain two types of target.

POP and NUM (previous posts)

For warriors:

Make an AA alias to #addkey akapref action assist
Make an RR alias to #addkey akapref action rescue

after AA is run

Using POP GANDALF makes GA assist Gandalf

so rescue would be RR <enter> GA <enter>

I'm just musing on a snowy afternoon. My Axemistress is retired.

In my previous aliases (posts) I wrote POP and NUM for healing group members and assists. Adapting them to multiple targeting instead is easy too

[edit] these were instructions from before I added a combat mode and only apply to making a PWN script
Change the name POP to PWN and make a different akapref.action key for those in that PWN script. Set the new key with an attack value in akapref <your newkey> HIT
Change the F-Key macros from the NUM post; ffocus to target [updated by later post]
Change the NUM calls in POP to #NOOP to enumerate targets from PWN [updated by later post]

PWN Troll will make a new alias TR execute attacks on trolls and enumerates a display of targets if akapref.lock=0 & akapref.display= 1 ,2 or 3. Both POP and PWN will warn of conflicts though default citing the value of the alias's function to akapref.action (assist?)

PWN Orc will make 'OR' HIT Orc and F2 target=Orc (following PWN TROLL)

Not real useful if you have a BN, and 3 trolls arrive from the west and Worg from the east a bit later.

TT, the above script, was changed to BB with SHOOT changed to BASH

so: PWN Man (you had TR and OR already) to send those to F-Keys and being the hard core MUMER chase fleeing targets later.

example 1:

F4 (displays focus troll, or something)
BB 3 <enter> returns BASH 3.troll
BB Orc <enter> = BASH Orc
F3 (displays focus=man)
BB = BASH Man
BB w Worg inputs BB W (you press <enter>) and BASH Worg (arrived late and its a thing you can do)
BB w - goes back = BASH Man
F4 (work on some trolls)
BB = BASH Troll
BB 2 = BASH 2.Troll (switch here is likely silly unusable in this ruckus but would be Worg)
BB 3 = BASH 3.Troll

and

RR <enter> = sets rescue
GA <enter> = rescue Gandalf

AA will be needed soon as all your assist aliases will attempt rescues now

I don't know if this is a good system, I never wrote it for this, but having had a legend dwarf I am tempted to see.


Last edited by Leitia on Wed Mar 04, 2009 10:50 pm; edited 4 times in total
Reply with quote
Leitia
Adept


Joined: 04 May 2007
Posts: 292
Location: Boston

PostPosted: Wed Mar 04, 2009 6:38 am   
 
[I discussed the PWN idea leading to the HH combat system, most relevant was the enumeration priorities exist for both combat and assist key writing]


Last edited by Leitia on Wed Mar 04, 2009 10:35 pm; edited 2 times in total
Reply with quote
Leitia
Adept


Joined: 04 May 2007
Posts: 292
Location: Boston

PostPosted: Wed Mar 04, 2009 5:07 pm   Combat Theory Revised
 
While having PWN [previous discarded post] as an alias would enumerate, it seems too klunky. So I created a combat mode instead. If you like the idea of truncating attack alias with PWN, message me and I can write that like POP but to display with attack targets.

Below are posted revisions of NUM, numform_pr, SETS, and TT. In addition I created the HH alias discussed to another wield (unwield) called H2H. Only HH will automate F-Keys. That is a block at at the bottom of HH if you wish to automate from all attack alias.

The new combat mode is enabled with SETS. (There is a little code block there to protect allies.):

Code:
SETS combat 1


As TT is modded here any attack alias using this system must modified at the beginning after #class:

Code:
#if (@akapref.combat == 1 AND !%null( @ffocus)) {
  #var target @ffocus
  #var ffocus ""
  }



This is the new Weapon class. TT was assigned to a BOW folder. That folder should be deleted if this code is used.

Code:
#ALIAS H2H {#NOOP} "Weapon"
#ALIAS HH {#class shared;#if (@akapref.combat == 1 AND !%null( @ffocus)) {#var target @ffocus;#var ffocus ""};#if (%2) {#if (%lower( %1) == "w") {#if (%isnumber( %2)) {#if (%pos( ".", @target)) {#var w_target %subregex( @target, "\d+", "%2");#sh ready SWITCH to @w_target;#hi;#input "TT W" 1} {#var w_target %concat( %2, ".", @target);#sh ready SWITCH to @w_target;#hi;#input "TT W" 1}} {#var w_target %proper( %2);#sh ready SWITCH to @w_target;#hi;#input "TT W" 1}} {#if (%isnumber( %left( %2, 1))) {#var target %2} {#var target %proper( %2)};#if (%upper( %1) == "TT") {#sh New Target @target;#hi} {#if (%lower( %1) == "d") {#exec H2H;#input {HIT @target} 1;#exec HIT @target}};#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}}} {#if (%1) {#if (%lower( %1) == "d") {#exec H2H} {#if (%isnumber( %1)) {#if (%pos( ".", @target)) {#var target %subregex( @target, "\d+", "%1")} {#var target %concat( %1, ".", @target)};#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black};#if (@AllPref.sh_target == 1) {#sh New Target @target;#hi};#input {HIT @target} 1;#exec HIT @target} {#if (%lower( %1) == "w") {#var s_target @target;#var target @w_target;#var w_target @s_target;#unvar s_target;#if (%isnumber( %left( @target, 1))) {#sh SWITCH @target} {#sh SWITCH %proper( @target)};#hi} {#if (%isnumber( %left( %1, 1))) {#var target %1} {#var target %proper( %1)}};#input {HIT @target} 1;#exec HIT @target;#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}}}} {#input {HIT @target} 1;HIT @target}};#if (%db( @akapref, combat) == 1) {#if (%db( @akapref, lock) == 1) {#exec NUM %eval( %numitems( @tm_final) + 1) @target}};#if (%db( @akapref, combat) == 1) {#if (%db( @akapref, lock) == 0) {#if (0 == %ismember( @target, @tm_final) XOR %ismember( @target, @tm_final) > %db( @akapref, fkeymax)) {#if (%numkeys( @tardb) = 0) {#var tardb "" {_nodef} {Assists|GroupAlias}};#addkey tardb %concat( "x", %eval( %numkeys( @tardb) + 1)) @target;#exec NUM}}};#class 0} "Weapon"
#ALIAS Ranged {#NOOP} "Weapon"
#ALIAS TT {#class shared;#if (@akapref.combat == 1 AND !%null( @ffocus)) {#var target @ffocus;#var ffocus ""};#if (%2) {#if (%lower( %1) == "w") {#if (%isnumber( %2)) {#if (%pos( ".", @target)) {#var w_target %subregex( @target, "\d+", "%2");#sh ready SWITCH to @w_target;#hi;#input "TT W" 1} {#var w_target %concat( %2, ".", @target);#sh ready SWITCH to @w_target;#hi;#input "TT W" 1}} {#var w_target %proper( %2);#sh ready SWITCH to @w_target;#hi;#input "TT W" 1}} {#if (%isnumber( %left( %2, 1))) {#var target %2} {#var target %proper( %2)};#if (%upper( %1) == "TT") {#sh New Target @target;#hi} {#if (%lower( %1) == "d") {#exec Ranged;#input "SHOOT" 1;#exec SHOOT @target}};#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}}} {#if (%1) {#if (%lower( %1) == "d") {#exec Ranged} {#if (%isnumber( %1)) {#if (%pos( ".", @target)) {#var target %subregex( @target, "\d+", "%1")} {#var target %concat( %1, ".", @target)};#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black};#if (@AllPref.sh_target == 1) {#sh New Target @target;#hi};#input "SHOOT" 1;#exec SHOOT @target} {#if (%lower( %1) == "w") {#var s_target @target;#var target @w_target;#var w_target @s_target;#unvar s_target;#if (%isnumber( %left( @target, 1))) {#sh SWITCH @target} {#sh SWITCH %proper( @target)};#hi} {#if (%isnumber( %left( %1, 1))) {#var target %1} {#var target %proper( %1)}};#input "SHOOT" 1;#exec SHOOT @target;#if (@AllPref.gauge == 1) {#gauge c_gauge @aknysp" at "%upper( @target)" - wwww - "%upper( @w_target) %eval( (%ismember( %left( @aknysp, 1), "q|f|n|c|t") * 100) - 100) 400 10 "" green red black}}}} {#input "SHOOT" 1;SHOOT @target}};#class 0} "Weapon"
#ALIAS TTHELP {#sh %format( " &3s &-4s &6s", "TT", "~[w~]", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "assign switch and hold");#co lightseagreen;#sh %format( " &3s &-4s", "TT", "~[w~]");#co lightseagreen;#sh %format( "                   &3s", "switch and shoot");#co lightseagreen;#sh %format( " &3s &-4s", "TT", "~[d~]");#co lightseagreen;#sh %format( "                   &3s", "run wield alias and hold");#co lightseagreen;#sh %format( " &3s &-4s &6s", "TT", "~[d~]", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "run wield alias and shoot");#co lightseagreen;#sh %format( " &3s &-4s &6s", "TT", "~[tt~]", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "assign target and hold");#co lightseagreen;#sh %format( " &3s &-4s", "TT", "~[Mob~]");#co lightseagreen;#sh %format( "                   &3s", "assign target and shoot");#co lightseagreen;#sh %format( " &3s", "TT");#co lightseagreen;#sh %format( "                   &3s", "shoot current target by name");#co lightseagreen;#sh " ";#sh %format( "                   &3s", "Most functions input next operation, TT alone is needed to re-aquire");#co lightseagreen} "Weapon"



This is the newest enumerator NUM and it's printout:


Code:
#ALIAS NUM {#class Assists|GroupAlias;#var tm_skittles "";#var tm_loop "";#var tm_solati "";#var tm_switch1 "";#var tm_switch2 "";#var tm_form1fr "";#var tm_spacer "";#var tm_akatemp "";#var tm_allyup "";#var tm_dexit "";#if (%match( %1, %w)) {#if (0 == %match( %2, %d)) {#var tm_final ""} {#sh bad input;#co coral}};#if (%isnumber( %1) == 0 and %db( @akapref, lock) == 0) {#var tm_final ""};#if (%db( @akapref, combat) != 1) {#loopdb @akadb {#if (%isnumber( %1) == 0) {#var tm_loop %additem( %val, @tm_loop)};#addkey tm_akatemp %val %key}} {#loopdb @tardb {#if (%isnumber( %1) == 0) {#var tm_loop %additem( %val, @tm_loop)};#addkey tm_akatemp %val %key}};#if (%isnumber( %1)) {#if (%1 > 0 and %eval( (%numitems( @tm_final) + 1) >= %1)) {#if (%match( "%2", %w)) {#if (%ismember( %proper( %2), @tm_final)) {#var tm_final %delitem( %proper( %2), @tm_final)};#loop %eval( %numitems( @tm_final) + 1) {#if (%1 == %i) {#var tm_skittles %additem( %proper( %2), @tm_skittles)};#var tm_skittles %additem( %item( @tm_final, %i), @tm_skittles)}} {#if (%isnumber( %2)) {#if (%2 > 0 and %eval( %numitems( @tm_final) >= %2)) {#var tm_switch1 %item( @tm_final, %1);#var tm_switch2 %item( @tm_final, %2);#loop %numitems( @tm_final) {#if (%1 == %i) {#var tm_skittles %additem( @tm_switch2, @tm_skittles)} {#if (%2 == %i) {#var tm_skittles %additem( @tm_switch1, @tm_skittles)} {#var tm_skittles %additem( %item( @tm_final, %i), @tm_skittles)}}}} {#sh {insuffient data};#co coral}}}} {#sh {insuffient data};#co coral}} {#if (%db( @akapref, lock) == 0) {#loop %numitems( @tm_loop),1 {#var tm_skittles %additem( %item( @tm_loop, %i), @tm_skittles)};#if (%numitems( @mygroup) > 0) {#loop %numitems( @my_group) {#var tm_skittles %delitem( %item( @my_group, %i), @tm_skittles)};#loop %numitems( @my_group),1 {#var tm_skittles %push( %item( @my_group, %i), @tm_skittles)}};#if (!%null( @leader)) {#if (%ismember( @leader, @tm_skittles)) {#var tm_skittles %delitem( @leader, @tm_skittles)};#var tm_skittles %push( @leader, @tm_skittles)};#if (!%null( @tank)) {#if (%ismember( @tank, @tm_skittles)) {#var tm_skittles %delitem( @tank, @tm_skittles)};#var tm_solati %pop( tm_skittles);#var tm_skittles %push( @tank, @tm_skittles);#if (!%null( @tm_solati)) {#var tm_skittles %push( @tm_solati, @tm_skittles)}}}};#if (%null( %item( @tm_skittles, %numitems( @tm_skittles)))) {#delnitem tm_skittles %numitems( @tm_skittles)};#if (%numitems( @tm_skittles) > 0) {#var tm_final "";#var tm_final @tm_skittles};#exec numform_pr;#unvar tm_dexit;#unvar tm_akatemp;#unvar tm_allyup;#unvar tm_switch1;#unvar tm_switch2;#unvar tm_solati;#unvar tm_loop;#unvar tm_skittles;#unvar tm_form1fr;#unvar tm_spacer;#class 0} "Assists|Friends"
#ALIAS numform_pr {#if (%numitems( @tm_final) > 0) {#case @akapref.display {#sh " "} {#stw {""} {Shared} {TMSTWin};#stw {%cr} {Shared} {TMSTWin}} {#sh " ";#stw {""} {Shared} {TMSTWin};#stw {%cr} {Shared} {TMSTWin}} {#noop};#loop @akapref.length {#if (%db( @akapref, lock) == 1 OR %db( @akapref, combat) == 1) {#var tm_spacer %concat( "-", @tm_spacer)} {#var tm_spacer %concat( "?", @tm_spacer)}};#forall @tm_final {#if (%iskey( @tm_akatemp, %i) AND %db( @akapref, combat) != 1) {#if (%ismember( %db( @tm_akatemp, %i), @tm_allyup)) {#var tm_dexit 0;#loopdb @akadb {#if (%val == %i) {#if (%ismember( %key, @tm_allyup) = 0) {#add tm_dexit 1;#if (@tm_dexit == 1) {#var tm_allyup %additem( %key, @tm_allyup)}}}}} {#var tm_allyup %additem( %db( @tm_akatemp, %i), @tm_allyup)}} {#var tm_allyup %additem( @tm_spacer, @tm_allyup)}};#loop %numitems( @tm_final) {#if (%i > @akapref.fkeymax) {#if (@akapref.display == 1 or @akapref.display == 3) {#if (%len( %item( @tm_final, %i)) > 12) {#var tm_form1fr %concat( %left( %item( @tm_final, %i) %i, 9), "...")} {#var tm_form1fr %item( @tm_final, %i)};#sh %format( "   &3s &-12s &-3s &-6s", "F--", @tm_form1fr, " - ", %item( @tm_allyup, %i));#co darkslategray}} {#var %concat( "friend", %i) %item( @tm_final, %i);#if (@akapref.display > 0) {#if (%len( %item( @tm_final, %i)) > 12) {#var tm_form1fr %concat( %left( %item( @tm_final, %i) %i, 9), "...")} {#var tm_form1fr %item( @tm_final, %i)};#case @akapref.display {#if (%item( @tm_final, %i) == @leader) {#sh %format( "   &3s &-12s &-6s &-6s", %concat( "F", %i), @tm_form1fr, %item( @tm_allyup, %i), ~[Leader~]);#co lightseagreen} {#if (%item( @tm_final, %i) == @tank) {#sh %format( "   &3s &-12s &-6s &-6s", %concat( "F", %i), @tm_form1fr, %item( @tm_allyup, %i), ~[Tank~]);#co lightseagreen} {#sh %format( "   &3s &-12s &-6s", %concat( "F", %i), @tm_form1fr, %item( @tm_allyup, %i));#co lightseagreen}}} {#if (%item( @tm_final, %i) == @leader) {#STW + {%format( " &-12s &-3s &-3s &3s ", @tm_form1fr, %item( @tm_allyup, %i), %concat( "F", %i), ~[L~])}} {#if (%item( @tm_final, %i) == @tank) {#STW + {%format( " &-12s &-3s &-3s &3s ", @tm_form1fr, %item( @tm_allyup, %i), %concat( "F", %i), ~[T~])}} {#STW + {%format( " &-12s &-3s &-3s", @tm_form1fr, %item( @tm_allyup, %i), %concat( "F", %i))}}}} {#if (%item( @tm_final, %i) == @leader) {#if (!%null( @leader)) {#STW + {%format( " &-12s &-3s &-3s &3s ", @tm_form1fr, %item( @tm_allyup, %i), %concat( "F", %i), ~[L~])};#sh %format( "   &3s &-12s &-6s &-6s", %concat( "F", %i), @tm_form1fr, %item( @tm_allyup, %i), ~[Leader~]);#co lightseagreen}} {#if (%item( @tm_final, %i) == @tank) {#if (!%null( @tank)) {#STW + {%format( " &-12s &-3s &-3s &3s ", @tm_form1fr, %item( @tm_allyup, %i), %concat( "F", %i), ~[T~])};#sh %format( "   &3s &-12s &-6s &-6s", %concat( "F", %i), @tm_form1fr, %item( @tm_allyup, %i), ~[Tank~]);#co lightseagreen}} {#STW + {%format( " &-12s &-3s &-3s", @tm_form1fr, %item( @tm_allyup, %i), %concat( "F", %i))};#sh %format( "   &3s &-12s &-6s", %concat( "F", %i), @tm_form1fr, %item( @tm_allyup, %i));#co lightseagreen}}}}}};#if (@akapref.display == 1 or @akapref.display == 3) {#sh " "}} {#if (@akapref.lock == 1) {#sh " ";#if (@akapref.display == 2 or @akapref.display == 3) {#sh " ...";#co coral;#stw {""} {Shared} {TMSTWin};#stw {%cr} {Shared} {TMSTWin}}}}} "Assists|Friends"



And this is the modified (and just fixed) version of SETS:


Code:
#ALIAS SETS {#sh " ";#if (%1) {#if (!%null( %1)) {#if (%iskey( @akapref, %1)) {#addkey akapref %1 "%-2";#sh Key %1 set to %db( @akapref, %1);#co seagreen} {#sh Key not found.;#co firebrick}} {#sh " "Values of akapref quoted here for convenience.;#co coral;#sh "-------------------------------------------------";#co coral;#loopdb @akapref {#sh %format( "   &-12s &-6s", %key, %string( %val));#co coral}}} {#sh " "Values of akapref quoted here for convenience.;#co coral;#sh "-------------------------------------------------";#co coral;#loopdb @akapref {#sh %format( "   &-12s &-6s", %key, %string( %val));#co coral}};#if (%lower( %1) == "combat") {#if (@akapref.combat == 1) {#var ffocus "" {_nodef} {Shared};NUM;#sh Focus Status: Combat - focus target.;#co Firebrick} {#var ffocus "" {_nodef} {Shared};NUM;#sh Focus Status: Allies - focus ally.;#co Firebrick}};#sh " "} "Assists"




I barely tested this, only making sure it worked well. Noticed I was overwriting switches and fixed that. I will correct or update as needed, though a little ginger is advised. I did have a few problems I can't get to repeat all relating to this new schism of databases. NIXDIR will restore the combat system if the tardb gets wonky, as this is still new it may not have any serious problems as the base logic was well tested. I don't advise NIXDIR as it deletes all your assist aliases too, instead alias:

Code:
#var tardb "" {_nodef} {Assist|GroupAlias}


That could be NIXTAR but I am afraid I have already made this effort unreachable.

I'd be happy to help anyone set this up.


REFER: POP alias and F-Key post, hoping to comprise a less wordy more usable presentation of this soon.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » Finished MUD Scripts All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net