[Home] [Downloads] [Search] [Help/forum]


Register forum user name Search FAQ

Gammon Forum

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  General
. . -> [Subject]  basic help please

basic help please

It is now over 60 days since the last post. This thread is closed.     [Refresh] 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?
[Go to top] 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 :)
[Go to top] top

Posted by Magnum   Canada  (580 posts)  [Biography] 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.
[Go to top] 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 :)
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] 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
[Go to top] 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.
[Go to top] 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*
[Go to top] 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 :)
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] 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
[Go to top] top

Posted by Magnum   Canada  (580 posts)  [Biography] 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.
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] 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
[Go to top] top

Posted by Magnum   Canada  (580 posts)  [Biography] 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.
[Go to top] top

Posted by Shadowfyr   USA  (1,786 posts)  [Biography] 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...
[Go to top] top

Posted by Magnum   Canada  (580 posts)  [Biography] 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.
[Go to top] 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.


49,585 views.

This is page 2, subject is 2 pages long:  [Previous page]  1  2 

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.

[Home]


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at HostDash]