Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Due to spam on this forum, all posts now need moderator approval.
Entire forum
➜ MUSHclient
➜ General
➜ basic help please
It is now over 60 days since the last post. This thread is closed.
Refresh page
Pages: 1
2
Posted by
| Guest1
USA (256 posts) |
Date
| Reply #15 on Thu 23 May 2002 02:17 AM (UTC) |
Message
| Yeah I thought of something like that, but unfortunately it wont always be the same person, as I have yet another trigger that if someone -else- in the group needs help while we are fighting the same mob, they then 'sing', and I automatically rescue them, so basically the "You failed the rescue!' trigger will need re-rescue the person i last rescued in order to work effectively...
Can it be done? | Top |
|
Posted by
| Guest1
USA (256 posts) |
Date
| Reply #16 on Thu 23 May 2002 02:47 AM (UTC) |
Message
| ahh i'm kind of understanding it a bit more now..the other option is to create another routine that updates another variable every time i rescue someone, and then the 'You failed th..' trigger then will set off another *snicker* subroutine to rescue the last person rescued.. yeah. *head spins a little* ok.. i'll try that then :) | Top |
|
Posted by
| Magnum
Canada (580 posts) Bio
|
Date
| Reply #17 on Thu 23 May 2002 04:21 AM (UTC) |
Message
|
Quote:
Hi Nick, Hi Magnum.. the one I tried was exactly as I posted, but with 'world.EchoInput = vbTrue' just before the 'World.Send' lines, and then 'world.EchoInput = vbFalse' just at the end of each 'World.Send' line.
That's backwards. You want False first (to turn it off), send your line, then True (to turn it back on).
I actually made the same mistake and had to edit my post to correct that, but I noticed right away.
You ended up using the literal values instead. :) |
Get my plugins here: http://www.magnumsworld.com/muds/
Constantly proving I don't know what I am doing...
Magnum. | Top |
|
Posted by
| Guest1
USA (256 posts) |
Date
| Reply #18 on Thu 23 May 2002 06:57 AM (UTC) |
Message
| doh. ok i'm now using the vbs
world.EchoInput = 0
world.send "grouptell message"
world.EchoInput = -1
one, which works most times.. but occasionally the echo stays switched off.. kind of strange.. if i try rewriting it as
world.EchoInput = 0
world.send "grouptell message"
world.EchoInput = -1
world.EchoInput = -1
I guess it wont hurt.. to be sure, to be sure. heh.
With the other rescue on fail one, I am suggesting to the mud scripters to amend it to 'You fail the rescue on playername' ..but I won't hold my breath. With the new variable being created every time I rescue as well as a separate variable for the stabber and more subroutines to then rescue again etc etc it's starting to create a smallish lag. If you could tell me the syntax for a trigger to repeat last command I could try it out anyway.
Thanks.. learning things is always good :) | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #19 on Thu 23 May 2002 08:32 AM (UTC) |
Message
|
Quote:
world.EchoInput = 0
world.send "grouptell message"
world.EchoInput = -1
No, no. As I said earlier up, you need to use 1, not -1.
Do this instead...
world.EchoInput = 0
world.send "grouptell message"
world.EchoInput = 1
What version of MUSHclient are you using? This should work too:
world.send world.getcommandlist (1) (0)
That will send the last command. If you are using an early version then getcommandlist isn't implemented, and the bug with EchoInput is still there. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Guest1
USA (256 posts) |
Date
| Reply #20 on Thu 23 May 2002 03:13 PM (UTC) |
Message
| Hiya. Using ver 3.17 client (o/s is windows 2000 pro)
I tried "world.send world.getcommandlist (1) (0)" but it didn't recognize it. I should update.
"No, no. As I said earlier up, you need to use 1, not -1."
I'm using vbs so thought it was meant to be -1 or 0.. I will change it over :)
Talked to a few ppl on mud who said one of two things in regard to failed rescues. One is to spam the original rescue, so that when the trigger to rescue someone is fired, it sends "rescue playername" 3 or 4 times.. the other option more commonly used is to repeat the last command. | Top |
|
Posted by
| Guest1
USA (256 posts) |
Date
| Reply #21 on Thu 23 May 2002 04:04 PM (UTC) |
Message
| hmm.. just installed ver3.20. If I have a trigger set like so:
trigger : * tells you *
send : tell %1 <auto response> I am currently AFK
In ver 3.17, without omit from output selected, I'd see them tell me something, and I would see
Airhead tells you 'ping'
tell Airhead <auto reply> I am currently afk.
You tell Airhead '<auto reply> I am currently afk.'
in the output window. With omit output selected, I'd see
Airhead tells you 'ping'
You tell Airhead '<auto reply> I am currently afk.'
which is what I wanted. On ver3.2, without selecting omit from output I get the same result as ver3.17 above.. however when I select omit from output, I do not see what Airhead tells me.. all I get is
You tell Airhead '<auto reply> I am currently afk.'
is this what should happen? does omit from output now omit whatever fired the trigeer as well?
It's really just an aesthetic thing for me.. *shrug* | Top |
|
Posted by
| Guest1
USA (256 posts) |
Date
| Reply #22 on Thu 23 May 2002 05:17 PM (UTC) |
Message
| Great :) been testing newer vers with the
world.send world.getcommandlist (1) (0)
on fail rescue and it works great, as does the stabber rescue.
awesome. thanks :) | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #23 on Thu 23 May 2002 10:04 PM (UTC) |
Message
| The idea of "omit from output" is to omit the triggered line.
More recently, I added the extra feature that anything you send is also omitted. This is for situations like this:
Say, Magnum is annoying you with lots of tells. You set up a trigger:
Match: Magnum tells you, *
Send: tell Magnum I am ignoring you, don't bother
Omit from output: checked
The idea here is that you silently ignore the tells, and don't see the response. Otherwise you would still see your response, which would probably be just as annoying.
If you want to work around that, call a script and do the send in there. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Magnum
Canada (580 posts) Bio
|
Date
| Reply #24 on Fri 24 May 2002 06:17 AM (UTC) |
Message
| Magnum smirks amusingly.
Here's some code from my own script file:
Const vbsTrue = 1
Const vbsFalse = 0
' ------------------------------------------------------------
Sub Join_Party (thename, theoutput, arrWildcards)
World.SetVariable "InParty", True
World.SetVariable "InPartyStatus", "InParty: Yes"
World.Note World.GetVariable("InPartyStatus")
World.SpeedWalkDelay = 250
Display_StatusLine()
World.EchoInput = vbsTrue
End Sub
Sub Quit_Party (thename, theoutput, arrWildcards)
World.SetVariable "InParty", False
World.SetVariable "InPartyStatus", "InParty: No"
World.Note World.GetVariable("InPartyStatus")
World.SpeedWalkDelay = 0
Display_StatusLine()
World.EchoInput = vbsTrue
End Sub
Sub Toggle_InParty (thename, theoutput, arrWildcards)
If World.GetVariable("InParty") Then
Quit_Party "Toggle_InParty", "-", "-"
Else
Join_Party "Toggle_InParty", "-", "-"
End If
End Sub
' ------------------------------------------------------------
I keep track of weather I am in a party or not using triggers, so that I don't send party tells when I am not actually in a party...
<triggers>
<trigger
enabled="y"
match="dissolved the party."
name="Party_Dissolved"
regexp="y"
script="Quit_Party"
sequence="100"
>
</trigger>
</triggers>
<triggers>
<trigger
enabled="y"
match="You create a party."
name="Party_Create"
script="Join_Party"
sequence="100"
>
</trigger>
</triggers>
<triggers>
<trigger
enabled="y"
match="You join * party."
name="Party_Join"
script="Join_Party"
sequence="100"
>
</trigger>
</triggers>
<triggers>
<trigger
enabled="y"
match="You left the party."
name="Party_Leave"
script="Quit_Party"
sequence="100"
>
</trigger>
</triggers>
<triggers>
<trigger
enabled="y"
match="You were kicked out of the party."
name="Party_Kicked"
script="Quit_Party"
sequence="100"
>
</trigger>
</triggers>
In case one of the triggers fails to fire for some reason, or due to whatever error, I can toggle the status with an alias:
<aliases>
<alias
name="Set_Toggle_InParty"
script="Toggle_InParty"
match="inparty"
enabled="y"
ignore_case="y"
>
</alias>
</aliases>
Back to my script, I can now present messages according to my party status. Here's one example:
Sub Display_End_Inspiration (thename, theoutput, arrWildcards)
If World.GetVariable("InParty") Then
World.EchoInput = vbsFalse
LogSend "party emote no longer feels inspired."
End If
World.EchoInput = vbsTrue
End Sub
(There are calls made from some of the above routines to other routines I have not quoted)
If EchoInput ever fails for some reason (and it did a ton in that older version that was bugged), I can turn it back on quickly with an alias:
<aliases>
<alias
name="Set_Echo_On"
script="Echo_On"
match="eon"
enabled="y"
>
</alias>
</aliases>
...which calls this small subroutine:
Sub Echo_On (thename, theoutput, arrWildcards)
World.EchoInput = vbsTrue
End Sub
As you can see in my "Inparty" code, I sometimes put a "World.EchoInput" in a subroutine even though I never turned it off... that was mostly a holdever from the bugged version, and I had almost every routine turn it back on just before the 'End Sub'.
Well, how's this for spam?
Magnum grins demonically. |
Get my plugins here: http://www.magnumsworld.com/muds/
Constantly proving I don't know what I am doing...
Magnum. | Top |
|
Posted by
| Nick Gammon
Australia (23,133 posts) Bio
Forum Administrator |
Date
| Reply #25 on Fri 24 May 2002 07:04 AM (UTC) |
Message
|
Quote:
Sub Echo_On (thename, theoutput, arrWildcards)
World.EchoInput = vbsTrue
End Sub
Of course, this did the very thing that caused the bug. :)
You wanted:
Sub Echo_On (thename, theoutput, arrWildcards)
World.EchoInput = 1
End Sub
*grins evilly* |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Magnum
Canada (580 posts) Bio
|
Date
| Reply #26 on Fri 24 May 2002 10:04 AM (UTC) |
Message
| Note the constants I declare (at the top of my previous post).
Note: vbsTrue not vbTrue.
When you documented the bug, I created the two constants, then search/replace'd vbTrue with vbsTrue [and False].
Magnum flexes his muscles. |
Get my plugins here: http://www.magnumsworld.com/muds/
Constantly proving I don't know what I am doing...
Magnum. | Top |
|
Posted by
| Shadowfyr
USA (1,790 posts) Bio
|
Date
| Reply #27 on Fri 24 May 2002 06:52 PM (UTC) Amended on Fri 24 May 2002 06:55 PM (UTC) by Shadowfyr
|
Message
| Just a thought magnum:
Sub Display_Ends (thename, theoutput, arrWildcards)
If World.GetVariable("InParty") Then
World.EchoInput = vbsFalse
select case thename
case "inspiretrig" (or whatever you called it)
LogSend "party emote no longer feels inspired."
case ... (the rest of the labels, one after another)
end select
End If
World.EchoInput = vbsTrue
End Sub
I find it is often a lot easier to fix related stuff when you put it in one place. ;) Your tag line should be:
'Magnum - Always doing things the hard way.' lol
Been to lazy to do this myself, but now... | Top |
|
Posted by
| Magnum
Canada (580 posts) Bio
|
Date
| Reply #28 on Fri 24 May 2002 09:45 PM (UTC) |
Message
| Something to consider. It will be much more complex though, as I have started to implement timestamps for most spells:
Sub Grab_GodShield (thename, theoutput, arrWildcards)
SS_GS = Now()
SC_GS = arrWildcards(2)
End Sub
Sub Display_End_Godshield (thename, theoutput, arrWildcards)
Dim TimeStamp
If SS_GS <> Empty Then
SD_GS = TimeDiff(SS_GS, Now())
TimeStamp = " (" & SD_GS & " - " & SC_GS & ")."
End If
If World.GetVariable("InParty") Then
World.EchoInput = vbsFalse
LogSend "party emote no longer has a Godshield." & TimeStamp
Else
World.Note "END: GodShield" & TimeStamp
End If
SS_GS = Empty
World.EchoInput = vbsTrue
End Sub
Even more complex, is the dropping of Health Blessing or Aura of Resistance, where I auto flee if it dropped while in Combat:
Sub Grab_HealthBlessing (thename, theoutput, arrWildcards)
Dim Minutes
SS_HB = Now()
SC_HB = arrWildcards(2)
If SD_HB <> Empty Then
Minutes = Mid(SD_HB, 4, 2)
Minutes = CInt(Minutes) - 3
World.AddTimer "Warning_HB_Timer", 0, Minutes, 0, "", 5, "Display_HealthBlessing_Warning"
End If
End Sub
Sub Display_End_HealthBlessing (thename, theoutput, arrWildcards)
Dim TimeStamp
FleeNow "Display_End_HealthBlessing", theoutput, arrWildcards
If SS_HB <> Empty Then
SD_HB = TimeDiff(SS_HB, Now())
TimeStamp = " (" & SD_HB & " - " & SC_HB & ")."
End If
If World.GetVariable("InParty") Then
World.EchoInput = vbsFalse
LogSend "party emote no longer has blessed health." & TimeStamp
Else
World.Note "END: Health Blessing" & TimeStamp
End If
SS_HB = Empty
World.EchoInput = vbsTrue
End Sub
Sub Display_HealthBlessing_Warning (TimerName)
If World.GetVariable("InParty") Then
World.EchoInput = vbsFalse
LogSend "party emote expects Health Blessing will drop within 3 minutes."
Else
World.Note "WARNING: Health Blessing will drop within 3 minutes."
End If
End Sub
Still, it might be worthwile to write just a few subroutines to handle all spells dropping. This too, is part of something I was thinking I could clean up and offer as a "Plugin". |
Get my plugins here: http://www.magnumsworld.com/muds/
Constantly proving I don't know what I am doing...
Magnum. | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
57,865 views.
This is page 2, subject is 2 pages long:
1
2
It is now over 60 days since the last post. This thread is closed.
Refresh page
top