|
hamibugan Newbie
Joined: 27 Jun 2016 Posts: 3
|
Posted: Mon Jun 27, 2016 11:04 pm
Rescue trigger help |
Hello,
Hoping someone might be able to point me generally in the right direction here.
I'm running a rescue script in CMUD 3.34. Currently, its set to fire on any number of inputs: slashes, attacks, switches, etc. The problem is it will fire on every such input every round until I've successfully rescued, giving me multiple inputs per person being attacked.
Is there a way to either A) have it ignore the next X number of inputs, giving me a chance to rescue. B) have it ignore further inputs until some other criteria has been met. C) Fire only once per variable (player) per time window. The big trick here, I think, will be that whatever the fix it has to still be able to fire for another player while being "silenced" for the one already inputted.
Thanks! |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4689 Location: Pensacola, FL, USA
|
Posted: Tue Jun 28, 2016 12:12 am |
There are a number of ways you could go about this.
When you Identify a target, add their name to a list, which you check against before deciding to rescue in the first place.
$name=%1
#IF (%ismember($name, @rescuing)) {} {
rescue $name
#ADDITEM rescuing $name
}
One you have rescued them, #DELITEM them. |
|
_________________ Discord: Shalimarwildcat |
|
|
|
hamibugan Newbie
Joined: 27 Jun 2016 Posts: 3
|
Posted: Tue Jun 28, 2016 12:40 am |
Thanks Shalimar, for the response. I'm pretty inept at this stuff so forgive me if I'm about to display some ignorance.
I'm not sure this would work as I would still get multiple inputs for the same person before the rescue occurred. Upon looking further, also, I get no name specific message for a successful rescue; just, Banzai, to the rescue!
Currently how the script goes is:
* {@hitt} (%w)
#if (%ismember( %lower( %1), @RescueList)) {resc %1 all;#var FailedRescue %1 {} AutoResc}
Where @hitt is a long list. This can produce multiple trigger requests in even a single round of combat, more over multiple rounds and even more if I fail and go into lag from the skill or am in lag from having just rescued or waiting for multiple responses back from the mud: "But noone is fighting them?" I'm not sure what the %lower(%1) is, lower casing the targets name and assigning it as target? |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4689 Location: Pensacola, FL, USA
|
Posted: Tue Jun 28, 2016 1:40 pm |
The trigger might fire several times, but it should only issue commands once per individual with what i provided, as it performs additional error checking.
Currently you seem to only be checking if the individual is a friend before rescuing them, not weather or not you are currently rescuing them.
%lower just forces that string in to full lowercase.
Are you frequently in the process of rescuing several people?
If not, have the success message just clear the @rescuing variable entirely.
Sure, you will occasionally get some multi fires when there are 2+ people needing rescuing at once, but it would be less than you currently see.
Why do you have a fail variable? |
|
_________________ Discord: Shalimarwildcat |
|
|
|
hamibugan Newbie
Joined: 27 Jun 2016 Posts: 3
|
Posted: Tue Jun 28, 2016 3:04 pm |
Ok, I see what you mean now. Once the name is on the list it can't be added again until it's cleared. Clearing would have to be manual though? I don't think I can use my success message to know which name to clear.
I can often have multiple rescue requests firing, yes. If it fires for more than one person that's great.
I have a chance to fail so if I get the fail message it triggers another rescue, which is part of the problem. I'm stacking up multiple triggers to rescue and if I fail I get a lag from the skill, it's just backing things up terrible!
I'll give a go at playing with what you've given. Thanks again for the responses. |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4689 Location: Pensacola, FL, USA
|
Posted: Tue Jun 28, 2016 4:55 pm |
You could use %pop(rescuing) to remove the first item in the list, but that's a pretty big assumption.... which is why i suggest resetting it to a null value.
Or you could try contacting staff and getting the messaging changed to reflect which rescue attempt was pass/failed.
If the passfail message happens on the exact next line we could figure it out intuitively. |
|
_________________ Discord: Shalimarwildcat |
|
|
|
|
|