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
Sutex-Kindred
Apprentice


Joined: 26 Aug 2009
Posts: 141

PostPosted: Wed Sep 30, 2009 6:32 am   

NEED Help weeks old ... Coding Group status prompt and report Eternal Darkness
 
This output form Eternal Darkness when typing "group" gives you the best read out:

I would like help in getting the group code/syntax of group in a trigger so I can used it in prompts or anywhere else that this information given in group can be used. Like in battle for healing. and help in stopping trigger spamming it would be most helpful.

Edited I would like the GROUP which is below coded please:


Typing Group gives this below:

Hit Points Mana Movement Align Exp needed Level
[ 3126/4593 ][ 1307/1894 ][ 1073/1073 ] [ -929] [ 5802731] [163 Th] Name 1
[ 3395/4812 ][ 2043/2715 ][ 735/735 ] [ -989] [ 4979517] [159 Wa] Name 2
[ 1689/3028 ][ 3138/3803 ][ 785/880 ] [ -998] [ 10070298] [158 Mu] Name 3

The above can be any amount of people , but 10 in a group is the average.

The report below could also be used to get the required information about HP and Mana to the Healer so trigger only fire on IF statements. ( if hp < 1500) cast heal . As with all of my Questions The syntax of how to write this out , eludes me.

Coding for REPORT too Please

Zarlix reports: 1644/3048H, 3503/3838M, 900/900V
Halix reports: 3635/4729H, 2367/2709M, 755/755V
Sutex reports: 3350/4593H, 1792/1894M, 1058/1058V


4729hp 2709m 740mv> the normal prompt at ED

When the @tank or @groupmem is been hit Healer could asked @tank or a @groupmem to sent report to the screen of the healer,only one line is then sent to the screen of the healer. Where group is always muilt line, this could be used at the beginning ( before battle) to set Max values and of all @groupmem names.

Any suggestion would be great, but the above is an idea only. and you may have a better way, of using Group and Report.

Example of Triggers, I have tried different versions.
Var i use are:
@groupmem
@Self = You|Your
@tank

(*) OBLITERATES (%w)
#IF (%ismember( %2,@groupmem|@tank)) {#if %2!=You {"attack spell here";"attack spell here";group heal};#if %2=You {heal;"attack spell here"%1;"attack spell here" %1}}

(*) ANNIHILATES (%w)
#IF (%ismember(%2,@groupmem) OR %match(%2, @tank)) {"attack spell here" %2} {"attack spell here" @target} {#IF (%ismember(%1,@groupmem) OR %match(%1, @tank)) {heal %1} {}}

(*) DECIMATES (%w)
#IF (%ismember( %1 ,@tank)) {heal %1;rescue %1};#send gt RESCUING @Tank;#if {%1=You|Your} {heal;"attack spell here";"attack spell here"} {ar}
{}

(%w) has some big nasty wounds and scratches.
#IF (%ismember( %1 ,@groupmem)) {heal%1;heal %1} {#if %1!=@tank {"attack spell here" %1;"attack spell here"%1} {#if %1=@tank;heal @tank {gt ~&GNOT LOOKING GOOD ~&W@Tank}}}

@self has been removed from the above triggers as i could not get it working. see post
http://forums.zuggsoft.com/forums/viewtopic.php?t=34028






Well that is it any finished working code will be posted in Finished scripts.


Last edited by Sutex-Kindred on Mon Nov 23, 2009 10:06 pm; edited 10 times in total
Reply with quote
Tech
GURU


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

PostPosted: Fri Oct 16, 2009 1:43 pm   
 
First thing is I'd say post the code advance prompt you got from Nexela. It looks like you're missing some variables which is why some of them are showing as 0. Typically it's set up to HP/Max HP .... Mv/MaxMv.

Also you haven't really said exactly what information you want captured and how you want to use it. I'm going to assume you want to capture everything and try to come up with something that loads this all into variables.
_________________
Asati di tempari!
Reply with quote
Sutex-Kindred
Apprentice


Joined: 26 Aug 2009
Posts: 141

PostPosted: Fri Oct 16, 2009 2:14 pm   
 
PLEAS READ THE POST AGAIN FROM THE TOP. NOIDEA WHY THIS POST IS NOT UNDERSTOOD. READ POST FROM THE BEGINNING.TOP

The idea is that group prompt has all the value of hp/maxhp and so forth.So having a means to capture that data Hit Points Mana Movement Align Exp needed Level and the name, I could then make gauges for my group. would like to have Status bar representing all group members heath/mana/spells. Group prompt starts the process by giving the high values, and the normal/Advance ? prompt give the current HP/mana /Mv(movement); Anyway I hope that give you a better idea. of what I was going to use this for.
Having the correct Group capture code i could then use it with the below Link
http://forums.zuggsoft.com/forums/viewtopic.php?t=27954&start=0&postdays=0&postorder=asc&highlight=
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Tue Nov 24, 2009 1:24 am   
 
#trigger {^~[%s(%d)/(%d)%s~]~[%s(%d)/(%d)%s~]~[%s(%d)/(%d)%s~]%s~[%s(%n)~]%s~[%s(%d)~] ~[(%d) (%w)~]%s(*)} {
%11.curhp = %1
%11.maxhp = %2
repeat for everything else in the pattern
UpdateHealingStatus %11 %eval(%float(%1)/%2 * 100) %eval(%float(%3)/%4 * 100) %eval(%float(%5)/%6 * 100)
}

#trigger {^({@groupmem}) reports: (%d)/(%d)H, (%d)/(%d)M, (%d)/(%d)V} {similar to group trigger}

#alias UpdateHealingStatus {
#if ((%2 > 0) and (%2 <= 25)) {#noop this person is almost dead, put him in the high priority queue;#delitem Priority.low %concat(build heal command here);#delitem Priority.medium %concat(build heal command here);#additem Priority.high %concat(build your healing command here)} {#if ((%2 > 25) and (%2 <= 75)) {#noop this person is taking damage but still doing ok, put him in medium priority queue;#delitem Priority.low %concat(build heal command here);#delitem Priority.high %concat(build heal command here);#additem Priority.medium %concat(build your healing command here)} {#if ((%2 > 75) and (%2 != 100)) {#noop this person is barely hurt, put him in the low priority queue;#delitem Priority.high %concat(build heal command here);#delitem Priority.medium %concat(build heal command here);#additem Priority.low %concat(build your healing command here)}}}
repeat that mess of nested #ifs for mana and move
}

In the prompt trigger, you would then check the priority queues.

#if (@priority.high) {%pop(Priority.high)} {#if (@priority.medium) {%pop(Priority.medium)} {#if (@priority.low) {%pop(Priority.low)} {#say nothing left to do}}}

This is all very quick and dirty and not tested at all, so be careful. Also, it probably won't pause so if you need to handle RT it's going to fail pretty spectacularly. I also didn't do any mage self-testing to make sure there was enough mana and stuff, so your healer's not going to do himself. And, finally, nothing was included for getting the updates, so you should probably make triggers on the healing messages that do a group or a report.
_________________
EDIT: I didn't like my old signature
Reply with quote
Sutex-Kindred
Apprentice


Joined: 26 Aug 2009
Posts: 141

PostPosted: Tue Nov 24, 2009 6:07 am   Double dutch.but I like it thank you
 
First thank you for the effort very nice, now what does it all mean Shocked Confusion is a state of mind brought on by overwhelming possibility or stupidity. I know I am confuse so does that make me stupid.. no answered requested :).
Or is it the just the overwhelming possibility..Like (build your healing command here) I have tried, but can't get it working, there also seems to be an error in the syntax of the triggers.
This one the %s in the first bit {^~[%s(%d)/(%d)%s~]~[%s(%d)/(%d)%s~]~[%s(%d)/(%d)%s~]%s~[%s(%n)~]%s~[%s(%d)~] ~[(%d) (%w)~]%s(*)}
My healing commands are "if" statements, but I don't think this is what you meant. when (build your healing command here) or is It ?
Where do I enter this code, which seems to be really cool way of doing this. I like the way you think.
The Alias bit and the following patten was easy to copy and paste. But the rest not sure what trigger belongs with what pattern.

This is how my healer works now, which even with the line count spams long after battle and the mage cast heal on my group even if they don't need it. Hence the request for a better way of doing it.
If you could structure you code so i could copy and paste it that would make it less likely that i'll stuff it up.
Maybe this will help http://forums.zuggsoft.com/forums/viewtopic.php?t=34028 has all the details you would need. I love detail.

zph= powerheal
zre =restoration
zccw =cure critical wounds
zgh =groupheal
@zelf =Zarlix You Your

Which Trigger Pattern is the Best way. and do I use them in the (build your healing command here)
Trigger (*) ANNIHILATES (%w)
#IF (%2=@zself) {say Help RESUCE ME;zph};#IF (@Alinecount=8) {#IF (%ismember(%2, @groupmem) OR %2=@tank) {zph %2} {zgh} {#IF (%ismember(%1, @groupmem) OR %1=@tank) {zccw %1}};Alinecount=0} {#ADD Alinecount 1}

Trigger (*) DOES AN INCREDIBLE AMOUNT OF DAMAGE TO (%w)
#IF (%2="You") {say Help RESUCE ME;zph};#IF (%ismember(%2, @groupmem) OR %2=@tank) {zre %2} {} {#IF (%ismember(%1, @groupmem) OR %1=@tank) {zgh}}

Trigger (%w) in awful condition.
#IF (%begins(%1,"You")) {zre} {#IF (@COlinecount=2) {#IF (%ismember(%1, @groupmem) OR %1=@tank) {zph%1}};COlinecount=0} {#ADD COlinecount 1}

And then there is this attempt.. Trigger {{@groupmem|@tank|@zself}} some wounds and bruises.} {pattern Blah blah}
As you can see Iam all over the place with bits of code. and Posts.
In short all my post are interrelated and are on the same topic/theme, if only to get this finished once and for all could you read them.
Well thanks again. I do appreciated answered post :)
Reply with quote
Sutex-Kindred
Apprentice


Joined: 26 Aug 2009
Posts: 141

PostPosted: Tue Dec 15, 2009 9:55 pm   
 
Can anyone else finished the work that MattLofton started
_________________
Entropy rules
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Dec 16, 2009 8:15 pm   
 
1)Where to I enter this code?

The command line (small or simple scripts) or the zmud text editor (large, bulky, or very complex scripts)

2)What pattern goes with what trigger?

I don't understand the question, but here goes.

This is the format I used (although it's not in proper copy-paste format, so there will be errors)
#trigger {pattern} {code} <--for the complete syntax, see the #TRIGGER helpfiles

This is the format you used (typically used with the Settings Editor window)
pattern
code

To further highlight which is which, I separated each trigger/alias with a blank line. ZMud doesn't give you this nicety, which you can see for yourself by looking at the text file generated when you export your settings to text.

3)My healing commands are "if" statements, but I don't think this is what you meant. when (build your healing command here) or is It ?

No, that's not what I meant. I meant game commands. The stuff you'd send to the game if the anti-botting trolls came bursting into your house and deleted all your triggers and stuff and made you play by hand. It will obviously need a target, which is where the variables come into play. The statement is to be replaced with something like "cast 'cure serious' ",%11 where the stuff between "" is the game command text and %10 is the variable holding the name of your target. I used %concat() to provide you a reference point in case what you did inside the parentheses didn't work.

For future reference, if you don't understand what a command does or are unsure of the arguments are (it happens, you can't always remember everything even when you're a Guru), place the cursor anywhere in the command/function name and press F1 to bring up the helpfile for it.

4)If you could structure you code so i could copy and paste it that would make it less likely that i'll stuff it up.

Sorry, I don't do that. It makes it harder to read, and if you assume it works you're less likely to look at it and therefore understand what it's doing.
_________________
EDIT: I didn't like my old signature
Reply with quote
Sutex-Kindred
Apprentice


Joined: 26 Aug 2009
Posts: 141

PostPosted: Thu Dec 17, 2009 2:21 am   On more time. Please read all of the post from the top.
 
Your post had not answered the question of the trigger not working. maybe you should set it out so you can see what it is you are doing.
This trigger does not work
This %s in the first bit comes up as an error
{^~[%s(%d)/(%d)%s~]~[%s(%d)/(%d)%s~]~[%s(%d)/(%d)%s~]%s~[%s(%n)~]%s~[%s(%d)~] ~[(%d) (%w)~]%s(*)}

And i need the code set out so I can understand it , in the current format I have noidea what string/pattern/code goes with what.
Also they are not bots all my char are controlled by me. The triggers are there to assist, if when i can finally get this finished, i will only have triggers that assist. at the moment I have a mess of a Zmud setup. Read this post http://forums.zuggsoft.com/forums/viewtopic.php?t=34028
The report code and the group code I asked for, are there so alias can be made that allow me to heal my char and other groupmem.
Without these Report/group code i can't make the triggers that will inform me when a char of mine or a groupmem is low on health.
Eternal Darkness does not support bots and I don't like the inference. Given i have endeavored to get information on this forum of the best possible way to set up my Zmud, which has been a trial. Iam annoyed that we have to have this conversation.
If you MattLofton are unwilling to set out what you wrote so i can use it. Then can some else reading this please set it out, in a format that can be copy and pasted. Once it is Zmud I can see what it does and change what needs to be changed.
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