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

Gammon Forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  VBscript
. . -> [Subject]  Im a dumby ;(
Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?

Im a dumby ;(

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


Posted by BruteofDarklord   (3 posts)  [Biography] bio
Date Mon 15 Sep 2003 01:45 AM (UTC)
Message
I need something to count how many times I receive these messages:

You slash
and
Your slash missed by a league.

What can I do to keep track of how many times these appear?
[Go to top] top

Posted by Norbert   USA  (61 posts)  [Biography] bio
Date Reply #1 on Mon 15 Sep 2003 02:19 AM (UTC)
Message
The easiest way I know of is to make a trigger, then in the trigger window you can see how many times it matches to the right of the variable box. This would only keep track for the one session, anything else you would need to do a little scripting I think.

Norbert

-Do you know what it's like to fall in the mud and get kicked... in the head... with an iron boot?
Of course you don't, no one does. It never happens
It's a dumb question... skip it.
[Go to top] top

Posted by BruteofDarklord   (3 posts)  [Biography] bio
Date Reply #2 on Mon 15 Sep 2003 02:36 AM (UTC)
Message
Thanks, that helps, but can anyone make a script?
[Go to top] top

Posted by Ked   Russia  (524 posts)  [Biography] bio
Date Reply #3 on Mon 15 Sep 2003 03:31 AM (UTC)
Message
This should work:


<trigger
 name="slash_hit_1"
 enabled="y"
 match="You slash."
 script="CountHits"
 sequence="100"
></trigger>
<trigger
 name="slash_miss_1"
 enabled="y"
 match="Your slash missed by a league."
 script="CountHits"
 sequence="100"
></trigger>


The script:


'
'These hold the number of landed and missed hits respectively
dim hitsLanded, hitsMissed
hitsLanded = 0
hitsMissed = 0
'
'This is the sub that's called by the triggers above
'
sub CountHits(name, output, wildcs)
 dim tempArray
'
'Here you split the trigger's name, using "_" as a delimiter
'The result in our case is an array of "slash", "hit/miss", "1"
'
 tempArray = split(name, "_")
'
'Select the contents of the tempArray array at position 1 (starting position of any array is 0)
'
 select case tempArray(1)
  case "hit"
    hitsLanded = hitsLanded + 1
  case "miss"
    hitsMissed = hitsMissed + 1
 end select
end sub


What the trigger actually matches on is unimportant here, the script decides which variable to increment by split'ing the trigger's name into three parts, of which the second should always be either 'hit' or 'miss', and looking at that second part. Therefore, as you add triggers name them according to the template: "slash_hit/miss_#", where # just serves the purpose of keeping the names different and can be anything you want really, and "hit/miss" should be either "hit" or "miss" depending on the trigger's actual meaning.

How you display the results of your processing is up to you, but using the InfoBar would seem to be the most convenient way. You can do that as follows:

Modify the CountHits sub:


sub CountHits(name, output, wildcs)
 dim tempArray
 tempArray = split(name, "_")
 select case tempArray(1)
  case "hit"
    hitsLanded = hitsLanded + 1
  case "miss"
    hitsMissed = hitsMissed + 1
 end select
'
'Added this line to call another sub which updates the InfoBar
'
 UpdateBar
end sub


Add the UpdateBar sub:


sub UpdateBar
 dim strn
 world.InfoClear
 strn = "Hits: " & cstr(hitsLanded) & space(5) & "Misses: " & cstr(hitsMissed)
 world.Info strn
end sub
[Go to top] top

Posted by BruteofDarklord   (3 posts)  [Biography] bio
Date Reply #4 on Mon 15 Sep 2003 08:17 PM (UTC)
Message
Thanks a ton! But where do I paste all that, word for word?
[Go to top] top

Posted by Ked   Russia  (524 posts)  [Biography] bio
Date Reply #5 on Tue 16 Sep 2003 01:54 PM (UTC)
Message
Erm, copy the triggers first and go to Mushclient's File->Import... Uncheck all options except for 'Triggers', click on Clipboard. That will add the triggers to your world file.

Next you'll need to install the script. If you don't have a script file associated with your world already then open a plain text editor and paste the following into it:


option explicit

sub CountHits(name, output, wildcs)
 dim tempArray
 tempArray = split(name, "_")
 select case tempArray(1)
  case "hit"
    hitsLanded = hitsLanded + 1
  case "miss"
    hitsMissed = hitsMissed + 1
 end select
 UpdateBar
end sub


sub UpdateBar
 dim strn
 world.InfoClear
 strn = "Hits: " & cstr(hitsLanded) & space(5) & "Misses: " & cstr(hitsMissed)
 world.Info strn
end sub


Save the file as AchaeaScript.vbs (or any other name with .vbs extension) somewhere in your Mushclient directory. Now go open Mushclient again and go to Game->Configure->Scripting (Shift+Ctrl+6). In the new window choose Vbscript as your scripting language, check 'Enable script' and click on the Browse button right below that option. Find your saved script file and open it. Click Ok in the Scripting window. Your script will be compiled and become available.

If you have a script file already then just paste the above script (except for 'option explicit' if you already have it also) into that file and save it.



[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.


4,904 views.

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 FutureQuest]