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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
TiJay
Beginner


Joined: 15 Aug 2004
Posts: 13

PostPosted: Wed Mar 18, 2009 9:10 pm   

Trying to get this damage counter to work...any help would be great
 
Ok, this script is for the zmud client...i use Cmud now...and it don't work!
Code:

#CLASS {dcounter}

#ALIAS dcadd {#additem DCtrack %1;#additem DCnames %1;#echo %1 added to the damage counting list.}

#ALIAS dcrep {#YESNO "What report would you like to show?" {Short report (total damage done and taken) :dcrep1} {Breakdown of damage verbs:dcrep2}}

#ALIAS dcclear {#FO @DCtrack {#UNVAR %i};#VAR DCtrack "you";#VAR DCnames "";dcadd your;#ECHO Damagecounter reset. Please re-add groupies.}

#ALIAS dcrep2 {#if (!@DC.repto) {dcrepto};#YESNO "Who would you like to report for?" {Yourself:#VAR DC.reportfor "your"} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you "";#FO @DC.reportfor {#var %i.out "";#FO @dverbshort {#if (%db( @{%i}, %I)) {#var %i.out %concat( %db( @{%i}, out), " ", %I, ~(, ~|c~|, %db( @{%i}, %I), ~|n~|, ~))}};@DC.repto Breakdown for %if( %i="your", Myself, %upper( %left( %i, 1))%right( %i, 1)):%db( @{%i}, out)}}

#ALIAS dcrep1 {#if (!@DC.repto) {dcrepto};#YESNO "Who would you like to report for?" {Yourself:#VAR DC.reportfor "your"} {Everyone:#VAR DC.reportfor @DCnames} {Partial:#VAR DC.reportfor %pick( p:Who would you like to display reports for?:, @DCnames)};#LOOPDB @you {#var your.%key %eval( %db( @your, %key) + %val)};#var you "";#var DC.total 0;#var DC.taken 0;#var DC.totalcount 0;#var DC.takencount 0;#FO @DCnames {#if ( %db( @{%i}, terminal)) {#var %i.total %eval( %db( @{%i}, dealt) + %db( @{%i}, dealt)/(%db( @{%i}, attacks) - %db( @{%i}, terminal))* %db( @{%i}, terminal))} {#var %i.total %db( @{%i}, dealt)};#if (@DC.total < %db( @{%i}, total)) {#var DC.total %db( @{%i}, total)};#if (@DC.taken < %db( @{%i}, taken)) {#var DC.taken %db( @{%i}, taken)};#var DC.totalcount %eval( @DC.totalcount + %db( @{%i}, total));#var DC.takencount %eval( @DC.takencount + %db( @{%i}, taken))};#FO @DC.reportfor {#if ( %db( @{%i}, terminal)) {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/(%db(@{%i},att acks)- %db( @{%i}, terminal)))) -1))} {#var %i.verb %item( @dverbs, %eval( @verbBinary(1,139,%eval(%db(@{%i},dealt)/%db(@{%i},attacks))) -1))};@DC.repto %if( %i="your", I, %upper( %left( %i, 1))%right( %i, 1)): Dealt->%if( %db( @{%i}, total) = @DC.total, ~|bc~|, ~|c~|)%db( @{%i}, total)|n|~(%eval( %db( @{%i}, total)*100/@DC.totalcount)%~) Averaged~[|bk|%replace( %db( @{%i}, verb), "=", "-")|n|~] Took->%if( %db( @{%i}, taken) = @DC.taken, ~|br~|, ~|r~|)%db( @{%i}, taken)|n|~(%eval( %db( @{%i}, taken)*100/@DC.takencount)%~)}}

#ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ "%w is leading (%d) player[ s]with";groupstat}

#ALIAS dcrepto {#prompt DC.repto "Enter the channel to output to, eg gt, say ect."}

#VAR dverbshort {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|decimating|devastating|pulverizing|maiming|eviscerating|mutilating|disemboweling|dismembering|massacring|mangling|demolishing|obliterating|annihilating|eradicating|vaporizing|destructive|extreme|porcine|divine|daunting|terminal}

#VAR dvalues {0|2|4|8|10|14|18|22|26|30|34|38|42|46|49|55|60|65|70|75|80|85|90|95|100|110|120|130|140|150|160|170|180|190|200|225|250|275|300|325|350|375|400|425|450|475|500|540|574|606|675|730|769|810|884|915|1000|1100|1200|1300|1400|1500|1600|1700|1800|1900|2000|2200|2400|2600|2800|3000|3200|3400|3600|3800|4100|4500|5007|5901|5902|6200|6500|7000|7500|7800|8200|8500|9000|9500|10000|11000|12000|13000|14000|15000|16500|18000|19000|20000|21000|22000|23000|24000|25000|26000|27000|28000|29000|30000|31000|32000|33000|34000|35000|36000|37000|38000|39000|40000|41000|42000|43000|44500|47000|48000|50000|51000|53000|55000|57000|59000|61000|65000|70000|75000|80000|100000|0}

#VAR dverbs {nil|pathetic|weak|punishing|surprising|amazing|astonishing|mauling|MAULING|MAULING*|MAULING**|MAULING***|decimating|DECIMATING|DECIMATING*|DECIMATING**|DECIMATING***|devastating|DEVASTATING|DEVASTATING*|DEVASTATING**|DEVASTATING***|pulverizing|PULVERIZING|PULVERIZING*|PULVERIZING**|PULVERIZING***|maiming|MAIMING|MAIMING*|MAIMING**|MAIMING***|eviscerating|EVISCERATING|EVISCERATING*|EVISCERATING**|EVISCERATING***|mutilating|MUTILATING|MUTILATING*|MUTILATING**|MUTILATING***|disemboweling|DISEMBOWELING|DISEMBOWELING*|DISEMBOWELING**|DISEMBOWELING***|dismembering|DISMEMBERING|DISMEMBERING*|DISMEMBERING**|DISMEMBERING***|massacring|MASSACRING|MASSACRING*|MASSACRING**|MASSACRING***|mangling|MANGLING|MANGLING*|MANGLING**|MANGLING***|demolishing|DEMOLISHING|DEMOLISHING*|DEMOLISHING**|DEMOLISHING***|obliterating|OBLITERATING|OBLITERATING*|OBLITERATING**|OBLITERATING***|annihilating|ANNIHILATING|ANNIHILATING*|ANNIHILATING**|ANNIHILATING***|ANNIHILATING***<|ANNIHILATING***<<|ANNIHILATING***<<<|ANNIHILATING***<<<<|eradicating|ERADICATING|ERADICATING*|ERADICATING**|ERADICATING***|ERADICATING***<|ERADICATING***<<|ERADICATING***<<<|ERADICATING***<<<<|vaporizing|VAPORIZING|VAPORIZING*|VAPORIZING**|VAPORIZING***|VAPORIZING***<|VAPORIZING***<<|VAPORIZING***<<<|VAPORIZING***<<<<|destructive|DESTRUCTIVE|DESTRUCTIVE*|DESTRUCTIVE**|DESTRUCTIVE***|DESTRUCTIVE****|DESTRUCTIVE****<|DESTRUCTIVE****<<|DESTRUCTIVE****<<<|DESTRUCTIVE****<<<<|DESTRUCTIVE***<<<<=|DESTRUCTIVE**<<<<==|DESTRUCTIVE*<<<<===|DESTRUCTIVE<<<<====|extreme|EXTREME|EXTREME*|EXTREME**|EXTREME***|EXTREME****|EXTREME****<|EXTREME****<<|EXTREME****<<<|EXTREME****<<<<|EXTREME***<<<<=|EXTREME**<<<<==|EXTREME*<<<<===|EXTREME<<<<====|porcine|PORCINE|PORCINE*|PORCINE**|PORCINE***|PORCINE***<|PORCINE***<<|PORCINE***<<<|PORCINE***<<<<|divine|daunting|terminal}

#VAR verbBinary {%if( %1 = %2, %1, %if( %eval( %item( @dvalues, %eval( (%1+%2)/2.0)) > %3), @verbBinary(%1, %eval( (%1+%2)/2.0),%3), @verbBinary( %eval( (%1+%2)/2.0),%2,%3)))}

#TRIGGER {^Welcome back to the AVATAR System, {lord|lady|hero} (%w).} {#var dcCurChar %lower( %1)}

#TRIGGER {^Welcome back to the AVATAR System (%w),} {#var dcCurChar %lower( %1)}

#TRIGGER {^({@DCtrack})[^>;] %w[^>;]with[*>= ]({@dverbshort})([*<= ])%w[!.]} {#var %1.%2 %eval( @%1.%2 + 1);#var %1.dealt %eval( @%1.dealt + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)));#var %1.attacks %eval( @%1.attacks + 1)} "" {notrig}

#TRIGGER {^%w[^>;] ({@DCtrack})[^>;]with[*>= ]({@dverbshort})([*<= ])%w[!.]} {#var %1.taken %eval( @%1.taken + %item( @dvalues, %ismember( %concat( %2, %3), @dverbs)))}

#TRIGGER {%w is leading (%d) player[ s]with} {#if (%1 < 10) {#loop %1 {#temp {^ %i|??? ???? (&%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}} {#loop 1,9 {#temp {^ %i|??? ???? (&%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}};#loop 10,%1 {#temp {^%i|??? ???? (&%wDCtemp1)} {#if (%lower( @DCtemp1) != @dcCurChar) {dcadd %lower( @DCtemp1)}}}};#t- "%w is leading (%d) player[ s]with";group} "" {disable}

#MENU {DC Add} {dcadd %lower( %selword)} ""

#MENU {DC Clear} {dcclear} ""

#MENU {DC List} {#ec -;#ec --- CHARACTERS ON THE DC LIST ---;#fo @DCnames {#ec %i}} ""

#CLASS 0



If you have any questions about what is supposed to do what, let me know...Thanks again!


Last edited by TiJay on Wed Mar 18, 2009 10:52 pm; edited 2 times in total
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Wed Mar 18, 2009 10:30 pm   
 
The problem is with your 'dcs' alias. You have
Code:
#ALIAS dcs {dcclear;#if (!@DCreport) {@DCreport = gt} {};#t+ "%w is leading (%d) player[ s]with";groupstat}


The problem portion is @DCreport = gt. You're trying to set a variable reference and not the variable itself (I'm assuming you're not trying to do indirection). Try this instead.

Code:
#ALIAS dcs {dcclear;#if (!@DCreport) {DCreport = gt} {};#t+ "%w is leading (%d) player[ s]with";groupstat}


A few tips. When posting to the forums it helps to use the the [ code ] tags so the script is easier to read.
Also when you have a code block like that that's giving you an issue, copy it to an alias or the the Editor (Window -> Editor) to debug/edit it there. The first step would be to do Ctrl-K (short cut key for syntax check). I prefer putting it to an alias because you can see syntax highlighting and variable/alias references when they exist.
_________________
Asati di tempari!
Reply with quote
TiJay
Beginner


Joined: 15 Aug 2004
Posts: 13

PostPosted: Wed Mar 18, 2009 10:52 pm   
 
Actually, i am trying to set @DCreport variable to gt (grouptell)
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: Wed Mar 18, 2009 11:18 pm   
 
Yes, TiJay. Tech was explaining that you were using the wrong syntax to do that. Under zmud, you could do:
Code:
@DCreport = gt

It was the wrong way to do it, but it worked. Under both zmud and cmud, the correct way to do this is:
Code:
DCreport = gt

Zmud allowed people to get sloppy and not use the correct syntax. Cmud fixed most of those problems, so you have to use the correct syntax. One reason cmud is stricter is because it also has a lot of added capabilities, and allowing the old zmud sloppiness would have interfered with some of the new features.

As a tip, by the way, you can click on Settings to open the Package Editor. In the Package Editor, find and select the trigger or code that you want to fix. Click on Editor|Check Syntax. That should tell you approximately where in the script there is a problem (though if the problem is with brackets or spacing, it might not point to the right spot).
Reply with quote
TiJay
Beginner


Joined: 15 Aug 2004
Posts: 13

PostPosted: Fri Mar 20, 2009 7:59 pm   
 
ok, now the alias works, but the counter isn't giving me any numbers o.0
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD 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