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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
EZE
Beginner


Joined: 04 Sep 2002
Posts: 21
Location: USA

PostPosted: Tue Jul 29, 2003 9:26 pm   

Skill spam gagging
 
I play Shattered Kingdoms. when I type skills I get something that looks like this:
Innate - boulder (perfect) bash (perfect)
berserk (perfect) enhanced damage (perfect)
Amateur - spear (perfect) axe (perfect)
dagger (good) flail (very good)
mace (good) polearm (perfect)
staff (good) sword (perfect)
whip (good) parry (superb)
swim (very good) uxmaln tongue (perfect)
uxmaln writing (perfect)
Novice - dirt kicking (perfect) self defense (very good)
second attack (perfect) fast healing (superb)
Initiate - brawling (superb) shield block (superb)
alertness (very good)
Apprentice- rescue (good) third attack (perfect)
blind fighting (superb) butcher (perfect)
Journeyman- disarm (superb) dodge (perfect)
endurance (superb)
Veteran - fourth attack (superb) climb (very good)
tracking (very good) wild fighting (very good)
Expert - counterstrike (good)
Mentor - head butt (very good)

I was hoping to have some sort of alias, that entered the command, and the second word be either the level (ie veteran) and display all veteran skills *OR* the skill itself (ie tracking) and show that line, or simply that skills proficiency, with the skill.

The colors of the skill level is white, while the skills are in dark blue, and the skill levels in bright green. I have tried a few experiments, thinking it a simple task, and got major spam problems, and capturing everything. I use an alias: gagthis to send this kind of spam to another window, but I wouldnt care if it were fully gagged and used the #gag command. I seem to be doing something wrong.

I also saw the skill levels were capitalized, but it is beyond me on how to arrange the code. This the basic look of the skills for each character, though some have different level skills, like master or champion, that my character doesnt get due to his class.

Many SKs players will thank you, as I will share the results with all of them on the website forum @ www.shatteredkingdoms.org

E
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Tue Jul 29, 2003 11:45 pm   
 
Got to go so no secondary info:

#CLASS {ShatteredSkillCapture} {enable|setdef}
#ONINPUT "CapSkills" {^sk(*)$} {#IF ("%1"="") {#SUB skill;skill} {#GAG;#STATE CapSkills 2;ParseSkill=%trim("%1");#IF (%ismember(%lower(@ParseSkill),%lower(@SkillLevels))) {#ECHO Skill Level @ParseSkill;#ECHO %expanddb(@{@ParseSkill},",","-")} { #IF (%iskey(@Skills,@ParseSkill)) { #ECHO Skill @ParseSkill-%db(@Skills,@ParseSkill)} { #ECHO Unknown skill or skill level}}}}
#COND {} {#IF (%line="") {#STATE CapSkills 0} {#IF (%pos("-",%line)) {SkillLevel=%word(%line,1);#IF (%ends(@SkillLevel,"-")) {ParseSkill=%trim(%remove(@SkillLevel,%line));SkillLevel=%leftback(@SkillLevel,1);#ADDITEM SkillLevels @SkillLevel} {ParseSkill=%trim(%remove(%concat(@SkillLevel," -"),%line));#ADDITEM SkillLevels @SkillLevel}} { ParseSkill=%trim(%line)};ParseSkill=%replace(@ParseSkill," (","=");ParseSkill=%replace(@ParseSkill,") ","|");ParseSkill=%replace(@ParseSkill,")","|");#DELITEM ParseSkill {};#ADDKEY Skills @ParseSkill;#ADDKEY @SkillLevel @ParseSkill}} {looplines|param=99}
#COND {*} {#NOOP This is just here to eat a line and keep state 1 from firing}
#CLASS 0
Reply with quote
EZE
Beginner


Joined: 04 Sep 2002
Posts: 21
Location: USA

PostPosted: Wed Jul 30, 2003 8:42 am   
 
I got this to work...I did have to tweak a few of the settings...I was hoping to get the entries to appear smoother.

The version I used (almost identical)

#CLASS {ShatteredSkillCapture} {enable}
#ONINPUT "CapSkills" {^skill(*)$} {#IF ("%1"="") {#SUB skill;skill} {#GAG;skill;#STATE CapSkills 2;ParseSkill=%trim( "%1");#IF (%ismember( %lower( @ParseSkill), %lower( @SkillLevels))) {#ECHO Skills @ParseSkill;#ECHO %expanddb( @{@ParseSkill}, %crlf, "-")} { #IF (%iskey( @Skills, @ParseSkill)) {%db( @Skills, @ParseSkill)} { #ECHO Unknown skill or skill level}}}}
#COND {} {#IF (%line="") {#STATE CapSkills 0} {#IF (%pos( "-", %line)) {SkillLevel=%word( %line, 1);#IF (%ends( @SkillLevel, "-")) {ParseSkill=%trim( %remove( @SkillLevel, %line));SkillLevel=%leftback( @SkillLevel, 1);#ADDITEM SkillLevels @SkillLevel} {ParseSkill=%trim( %remove( %concat( @SkillLevel, " -"), %line));#ADDITEM SkillLevels @SkillLevel}} { ParseSkill=%trim( %line)};ParseSkill=%replace( @ParseSkill, " (", "=");ParseSkill=%replace( @ParseSkill, ") ", "|");ParseSkill=%replace( @ParseSkill, ")", "|");#DELITEM ParseSkill {};#ADDKEY Skills @ParseSkill;#ADDKEY @SkillLevel @ParseSkill}} {looplines|param=99}
#COND {*} {#NOOP This is just here to eat a line and keep state 1 from firing}
#CLASS 0

Code:

The skill list again, in code format

Innate    - boulder            (perfect)     bash               (perfect)     
            berserk            (perfect)     enhanced damage    (perfect)     
Amateur   - spear              (perfect)     axe                (perfect)     
            dagger             (good)        flail              (very good)   
            mace               (good)        polearm            (perfect)     
            staff              (good)        sword              (perfect)     
            whip               (good)        parry              (superb)     
            swim               (very good)   uxmaln tongue      (perfect)     
            uxmaln writing     (perfect)     
Novice    - dirt kicking       (perfect)     self defense       (very good)   
            second attack      (perfect)     fast healing       (perfect)     
Initiate  - brawling           (superb)      shield block       (superb)     
            alertness          (very good)   
Apprentice- rescue             (good)        third attack       (perfect)     
            blind fighting     (superb)      butcher            (perfect)     
Journeyman- disarm             (superb)      dodge              (perfect)     
            endurance          (superb)     
Veteran   - fourth attack      (superb)      climb              (very good)   
            tracking           (superb)      wild fighting      (very good)   
Expert    - counterstrike      (good)       
Mentor    - head butt          (very good)

> Skills innate
Innate    - boulder           -perfect
    bash              -perfect
berserk           -perfect
    enhanced damage   -perfect   



That last part is the output. The only problem is they are all staggered, not aligned on the left side. Any way to add that? I tried changing a few of the %trim functions, to no avail. This is much further along than any idea I had.

That is an awesome script!! I will use it, and share it, and tell people where I got it.(Maybe I can figure a way to duplicate it for the spells)

E
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Thu Jul 31, 2003 1:07 am   
 
My apologies, I never noticed in your original post that the was special formatting. The script was designed to use %expanddb for greater speed. In order to produce the formatting you would have to use %format within #LOOPDB.
Reply with quote
EZE
Beginner


Joined: 04 Sep 2002
Posts: 21
Location: USA

PostPosted: Fri Aug 01, 2003 9:22 am   
 
That fixed it. Got the format down. You rock Vijilante.


#CLASS {ShatteredSkillCapture} {enable}
#ONINPUT "CapSkills" {^skill(*)$} {#IF ("%1"="") {#SUB skill;skill} {#GAG;skill;#STATE CapSkills 2;ParseSkill=%trim( "%1");#IF (%ismember( %lower( @ParseSkill), %lower( @SkillLevels)));#loopdb @{@ParseSkill} {#SHOW %trim( %key) "=" %val}} { #ECHO Unknown status}}
#COND {} {#IF (%line="") {#STATE CapSkills 0} {#IF (%pos( "-", %line)) {SkillLevel=%word( %line, 1);#IF (%ends( @SkillLevel, "-")) {ParseSkill=%trim( %remove( @SkillLevel, %line));SkillLevel=%leftback( @SkillLevel, 1);#ADDITEM SkillLevels @SkillLevel} {ParseSkill=%trim( %remove( %concat( (%trim@SkillLevel), " -"), %line));#ADDITEM SkillLevels @SkillLevel}} { ParseSkill=%trim( %line)};ParseSkill=%replace( @ParseSkill, " (", "=");ParseSkill=%replace( @ParseSkill, ") ", "|");ParseSkill=%replace( @ParseSkill, ")", "|");#DELITEM ParseSkill {};#ADDKEY Skills @ParseSkill;#ADDKEY @SkillLevel @ParseSkill}} {looplines|param=99}
#COND {*} {#NOOP This is just here to eat a line and keep state 1 from firing}
#CLASS 0


http://www.shatteredkingdoms.org/forums/viewtopic.php?p=68280#68280

Here's the finished appearance:
Code:

Amateur   - spear = perfect
axe = perfect
dagger = good
flail = very good
mace = good
polearm = perfect
staff = very good
sword = perfect
whip = good
parry = superb
swim = very good
uxmaln tongue = perfect
uxmaln writing = perfect

I hope everyone will like it there as much as me!

E
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion 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