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
Melinko
Newbie


Joined: 07 Nov 2000
Posts: 6
Location: USA

PostPosted: Tue Jan 15, 2002 6:48 pm   

Stop the mean people!
 
OKay, I am usually pretty good with triggers but I'm not sure how to do this, I play Realms of Despair and when you get disarmed it displays:

Someone DISARMS you!

Thats nothing, I just made an alias named "weap" and the command #VAR weapon %1

and then made an alias "gw" command: get @weapon

And then made a trigger like this:
Pattern-^(%w) DISARMS you!
Command-gw

This works fine and dandy and all that junk, BUT people are allowed to put Someone DISARMS you! in their descriptions and bios when you look at them, also you can emote and it would look just like when someone disarms you except that its a different color, how would I go about stopping people from setting off my trigger in zmud 4.62?
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Wed Jan 16, 2002 5:55 am   
 
You won't like my answer.
quote:
how would I go about stopping people from setting off my trigger in zmud 4.62?

You turn off that trigger.

That's the best answer I can give. I never used zMUD 4.62 and don't know its capabilities. Why don't you upgrade?

LightBulb
All scripts untested unless otherwise noted
Reply with quote
PrestoPimp
Apprentice


Joined: 18 Sep 2001
Posts: 175
Location: USA

PostPosted: Wed Jan 16, 2002 6:54 am   
 
Because some people dont like the new format of Zmud. Like the different command changes and stuff. That shouldn't make a difference in how to make it to where the trigger doesnt go off. Melinko, I, as well as many others, have tried to deal with this problem.. You are a pkill character so to mess wif u someone during a pkill could just flood your Zmud with disarm triggers and you'd kinda be screwed. Otherwise I would say to like find the mob's/person's name you are fighting and put that in a variable and if (*) DISARMS you! If %1 would equal the variable.. then you do the disarm.. but like I said, the person you are fighting could be an ass and turn off a disarm trigger that he has and emote it in a bunch of times. So I don't think there is a real solution to this.. unless you are only talking about fighting mobs.. then you obtain like the second word I think it usually is and do What I mentioned. Let me know if this helps u in any way.

For tomarrow is another day, and other days come but 6 times a week.
Reply with quote
Melinko
Newbie


Joined: 07 Nov 2000
Posts: 6
Location: USA

PostPosted: Wed Jan 16, 2002 7:53 pm   
 
OKay, I use zMUD 4.62, and no I will not switch to 6.16 it is too slow and tends to crash on me much more often and since I am a pkiller, this is not a good thing. Note: 4.62 doesn't have a color line or ansii checkbox under trigger options! Anyways, this is what it looked like when I opened a logfile of me getting disarmed by a monster with the log ansii checkbox in general settings checked:

A saurian warrior DISARMS you!

And then I changed that back and then I unchecked the "Emulate control codes" box in the general settings and went and got disarmed by a monster, this is what it looked like:

<27>[0;1;32mA saurian warrior DISARMS you!

And now for what an emote looks like:

Melinko DISARMS you!

Anyone have an idea on how to only trigger off of the real disarms and not a emote using zMUD 4.62? (NO, I refuse to upgrade until a new version is as fast and stable as 4.62)

Thanks,
Melinko
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Jan 16, 2002 11:46 pm   
 
what's the emote look like? Is it noticeably different from an actual command execution? If the above is true and 4.62 employs the anchoring characters (such as ^ and $), you can simply anchor the front or back of the line, and you'll stop at least %95 of emotes.

If the emote = the real deal or 4.62 doesn't employ a (functioning) anchor character, then it's considerably harder to do. Impossible to do, really, if there's absolutely no differences you can determine.

li'l shmoe of Dragon's Gate MUD
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Wed Jan 16, 2002 11:48 pm   
 
You may be willing to upgrade soon. Zugg has maade the latest beta much faster then all previous versions and all of the beta testers are going crazy making sure we find every last bug. We all want a fast stable client.

In the mean time I believe 4.62 was capable of expanding variables in a trigger so you will have to test a few things and see which, if any, work.

#TR {^%e~[37m(%w) DISARMS you!} {#SHOW emoted}
#TR (^%char(27)~[37m(%w) DISARMS you!} {#SHOW emoted2}
#VAR escape %char(27)
#TR {^@escape~[37m(%w) DISARMS you!} {#SHOW emoted3}

I doubt any of them work because I believe all ansi controls are stipped before trigger checks are fired in that version. However if one works copy it and change the ansi codes to make a valid version or use GAG on the bad emotes and move it up.
Reply with quote
PrestoPimp
Apprentice


Joined: 18 Sep 2001
Posts: 175
Location: USA

PostPosted: Thu Jan 17, 2002 12:23 am   
 
Yes You would have to make it to where it fires off the bright green text (or whatever you have it on) because on my ZMUD, White=emote DISARM/Trips are bright green and descriptions are Purple.. yet wholist is still green.. so thats the only problem.. but those people are asses anyways and it wont affect you as long as you dont go who 1-ing people during your pkill battles. :-) The speed in 6.24 is substantially faster. You'll want that when it becomes public. :)

For tomarrow is another day, and other days come but 6 times a week.
Reply with quote
einar
Wanderer


Joined: 06 Nov 2000
Posts: 80
Location: USA

PostPosted: Thu Jan 17, 2002 4:48 am   
 
How bout put the re-arm trig in a class, and turn the class on when you start combat, and have it turn off at the end of combat?

Reply with quote
PrestoPimp
Apprentice


Joined: 18 Sep 2001
Posts: 175
Location: USA

PostPosted: Thu Jan 17, 2002 5:06 am   
 
Because then He could still have someone from a clan sit there and spam in emote DISARMS you! a bunch while he is pkilling therefore killing him and people loot his valuables. :)

For tomarrow is another day, and other days come but 6 times a week.
Reply with quote
Denarius
Newbie


Joined: 06 Jun 2001
Posts: 7

PostPosted: Fri Jan 18, 2002 2:08 am   
 
I use zmud 4.62 and the trigger I've always
used for the mud I play on is #trigger {^(*) disarms you and sends your weapon flying} {get <weapon>;wield <weapon>}

I don't know if a trigger like that will work for you but if it does the only thing that needs to be changed is using a varible that let's you change the name of the weapon you're using in the trigger
Reply with quote
PrestoPimp
Apprentice


Joined: 18 Sep 2001
Posts: 175
Location: USA

PostPosted: Fri Jan 18, 2002 4:50 am   
 
that above.. yeah.. that wont work @ all for this instance.. he said he see's "Someone DISARMS you!" not "Someone DISARMS you and sends your weapon forking into some wall" I would either suggest firing off colors in a newer version of zmud OR making to where it does and alias and checks if you have a weapon dual wielded or wielded in the first place.. of course this will cause some spam.. or if you have a weapon that gives u HP, make it fire for an alias where it would check your prompt for your old hpmax and check it with yer currenthpmax and if the new one is less, then get @weapon and wield it.. this is the only non-upgrade thing I can think of. Lemme go check out zmud real quick and install it and stuff and I will post another reply to u

For tomarrow is another day, and other days come but 6 times a week.
Reply with quote
Denarius
Newbie


Joined: 06 Jun 2001
Posts: 7

PostPosted: Fri Jan 18, 2002 4:57 am   
 
I know, I should've clarified it more but he could use the text his mud sends in place of the text I used because it was only an example..
Reply with quote
PrestoPimp
Apprentice


Joined: 18 Sep 2001
Posts: 175
Location: USA

PostPosted: Fri Jan 18, 2002 5:02 am   
 
He already has the basic Trigger down.. He needs something to where it checks to see if he actually did get disarmed.. otherwise people can come up and type: emote DISARMS you! which would in turn send "*character* DISARMS you! and that would trigger the trigger and he dont want that.. he only wants it when he is disarmed.. like I said Melinko, I will try this checking the hp thing out and see if it works well.

For tomarrow is another day, and other days come but 6 times a week.
Reply with quote
Arcane_of_Discworld
Wanderer


Joined: 29 Jan 2002
Posts: 99
Location: UK

PostPosted: Tue Jan 29, 2002 8:36 pm   
 
Whilst stipulating only one problem (the prevention of triggers being set off maliciously) I believe the original reason for the trigger is as important and both should be able to coexist .. ie no malicious triggering and the original purpose for the trigger .I have devised a system for preventing the false setting off of most of my triggers using a 3 step checking process.

Firstly I store who I am in combat with in a variable which I check against the original disarm text .. if I am not in combat with the pleb emoting then the trigger doesn't go off.

On Discworld upon initiating combat this text is seen (for example)

You prepare to attack four Djelian Soldiers, two Wandering Warriors and an Architect.

Now the problems presented by that text may not be evident .. they were:

1. Use of adjectives before the NPC's identifiable name (you cannot target a 'Djelian' for example)
2. The use of text numbers (zMUD doesn't 'convert' them to numerals.
3. The use of pluralised NPC names (I use this for other things mainly and am not about to give all my secrets away)

My solutions might seem a little more complicated than they need to be however they work and are fast (unlike the counterpart commands on 6.16).

Firstly you need a Variable called 'Numbers' for the conversion of text to numerals:

#VARIABLE Numbers {one|two|three|four|... |twentyone|twentytwo ...}

Then I use the following trigger which I could explain all the components of but as I can't be bothered I'll just give it to you =)

#trigger {^You prepare to attack %1.$} {#VARIABLE Killlist {};#VARIABLE Templist {%1};#VARIABLE Templist %additem(Control,/TempList);#VARIABLE Templist10 {%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(@templist,", ","|")," and ","|"),"dwarves|","dwarf|"),"men|","man|"),"ies|","y|"),"men|","man|"),"s|","|"),"se|","s|"),"es|","ess|")," (hiding)","")};#VARIABLE Templist10 %delitem(Control,/Templist10);#FORALL {@Templist10} {#VARIABLE Range 1;#VARIABLE NumberWord %replace(%word(%lower(%i),1," "),"-","");#IF %ismember(@NumberWord,@Numbers) {#UNTIL (@NumberWord=%word(@Numbers,@Range,"|")) {#ADD Range (1)}};#WHILE (@Range!=0) {#VARIABLE Killlist {%additem(%word(%lower(%i),%numwords(%i," ")," "),@Killlist)};#ADD Range (-1)}}}}

Oh sod it .. I'll try to explain =)

Right .. the first group of #VARIABLE commands are my rather crude method for unpluralising the original text (messy but it works) and seperate each type into its own position of a list together with the number and adjectives.

Secondly is my routine to extract the numerals from the original text for each listed item and then add them to another variable so that they are listed individually (of some note is the routine to convert the text numbers to numerals and then as 4.62 doesn't give the item number when using %ismember() it was necessary to code my own method for doing so)

Alright .. we now have a list of NPCs we are in combat with converting

You prepare to attack four Djelian Soldiers, two Wandering Warriors and an Architect.

to

soldier|soldier|soldier|soldier|warrior|warrior|architect

Now .. finally onto the actual disarm problem =)

Continued next post as there must be a word limit!!!
Reply with quote
Arcane_of_Discworld
Wanderer


Joined: 29 Jan 2002
Posts: 99
Location: UK

PostPosted: Tue Jan 29, 2002 8:38 pm   
 
On discword you can recieve a variety of disarming messages such as ..

One of the Djelian Soldiers disarms you!
The Djelain Soldier disarms you!

I use seperate triggers for each instance (much simpler when not having to deal with pluralised names) .. For the singular here is the Trigger.

#trigger {^The %1 disarms you!} {#IF (%ismember(%word( %1,%numwords(%1," ")," "),@Killlist)!=0) {#T+ Disarm}}

For the plural ...

#TRIGGER {^One of the %1 disarms you!} {#VARIABLE TemplistDisarm {%1};#VARIABLE TemplistDisarm %additem(Control,/TemplistDisarm);#VARIABLE TemplistDisarm9 {%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(%replace(@templistdisarm,", ","|")," and ","|"),"dwarves|","dwarf|"),"men|","man|"),"ies|","y|"),"men|","man|"),"s|","|"),"se|","s|"),"es|","ess|")," (hiding)","")};#VARIABLE TemplistDisarm9 %delitem("Control",@TemplistDisarm9);#IF (%ismember(%word(%lower(@TemplistDisarm9),%numwords(@TemplistDisarm9," ")," "),@Killlist)!=0) {#T+ Disarm} {}}

The perceptive of you would have noticed that both of the disar,ing triggers simply activated a 'class' once the conditions were met .. this is because the Mud where I play then has three different possible outcomes from being disarmed ... the thre triggers I have in that class simply act on whatever has occured as a result of being disarmed and then also turn the class off .. I'll let you figure the details out for yourself as I have copy 'n paste RSI now =)

Hope it helps!

P.S. As the type of triggers that I have detailed above are highly illegal on Discworld, I would just like it known that I would never use such evil devices and that I really play from a simple telnet window!
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