Argle links Logs MUME Players Profiles
ElvenRunes Logo
Sharing new Mudlet scripts for MUME catchup  discussions

<<   <   01  02  

2016/08/10 08:52, Vidgri: 
grouptell:

^members (.*) (.*) (.*) (.*) (.*) (.*) (.*) (.*)$
-- using 'a' to fill list till 8th member:
-- members Pabraw Vidgri a a a a a a
-- if you can make it better than fixed length array, share it
member={}
for memberindex=1,8 do
member[memberindex]=matches[memberindex+1]
end

^ggtt (.*)$
memberindex=1
repeat
send('tell '..member[memberindex]..' '..matches[2]..' |GT|')
memberindex=memberindex+1
until member[memberindex]=='a'

^myspamlist$
for i=1,8 do
echo('One of members is '..member[i]..' /n')
end

2016/08/23 14:40, Vidgri:edited 8x   
ER cannot correctly show this post where
'' should be in the place of ' and
backslash n instead of /n(<==wrong!)
in the echo(...) to go to the new line

Anyway , new alias for a group tell list, separated with space,
which changes the pattern into: ^members (.*)$
(input line: members bilbo frodo rogon)
[submitted link]
Group tell alias looks: ^gt (.*)$ (input line: gt welcome to my spam list) [submitted link]
List is (^WhateverAlias$) [submitted link]

2016/08/25 16:32, Ruen: 
Im also having some problems with the clock script. Vidgri, what do you mean when you say change clock. to clock_ has solved the problem.
Change it where? How many times? Do you have to do anything in game to set it going? I also see a time script. Is it different than clock?

2016/08/28 17:38, Vidgri:edited 3x   
my actions:
install 'Clock' and 'Time' via Package Manager button (brown cube)
disable 'Packages' folder and subfolders (in Clock and Time too) in all trigger, script, timer.
exit mudlet, save profile, edit that .xml file (all is written there) by replacing all 'clock.' with 'clock_' (there are many functions called clock.<function>) and save
now it works

in game examine clock to set up

2016/08/30 03:01, Imago:edited 2x   
Vidgri, you should be able to use a table to make the array dynamic in size.

I haven't messed with an implementation, but you could index it on players name and use a foreach style loop over the table to send tells to the group.

group = {}

function group:add_member(name)
  local member = group[name]
  if member then
    echo(name .. ' is already in the group.')
    return
  end
  group[name] = true  -- Not needed, just to balance table.
end

function group:remove_member(name)
  group[name] = nil
  echo(name .. 'removed from group')
end

function group:show_group()
  echo('Group members:')
  for name, unused in pairs(group) do
    echo(name)
  end
end


Disclaimer: I haven't tested the above. Also, ER seems to eat the formatting. This is a hack, and there's probably a much better way to do it (I just don't have the time to look it up currently).

2016/08/30 12:42, Vidgri: 
I see next step to autopop spamlist from screen capture triggered by 'group' command (removing mounts and charmies by testing for first char 'a': string.trim, string.byte). I am lazy :-D.
Changing spamlist with 'members' alias by typing 'm' and up-arrow is of minor inconvenience.

2016/08/30 12:46, Vidgri: 
I see next step to autopop spamlist from screen capture triggered by 'group' command (removing mounts and charmies by testing for first char 'a': string.trim, string.byte and I don't care for Harle the Hobbit). I am lazy :-D.
Changing spamlist with 'members' alias by typing 'm' and up-arrow is of minor inconvenience.

2016/10/11 23:38, Imago: 
I do something similar, use a trigger filter that does an exact match on the group header (Your group consists of:), then fire length 10 (can adjust as needed) with a child trigger using this regex:
[submitted link]


That will match only group member names, sans the whitespace. It'll also skip mounts.

Using trigger filters and exact match/beginning of line substring to turn on more expensive matches like regex is one of the things that makes mudlet so powerful. :)

Group member names will be in matches[2], so a function like Group:add_member(matches[2]) and you're all set.

2016/10/22 11:43, Arcane:  edited 1x   
This is how I handle groups:

Trigger exact match -filter with fire length of 15:
Your group consists of:

Subtrigger to that filter perl regex:
^s+(w+)s(Head of group)$

with code:
group_leader = matches[2]
setFgColor(255,255,0)
echo(' ['..group_leader..']')
resetFormat()
add_to_group(matches[2])

Subtrigger to that filter perl regex:
^sssss(w+)$

with code:
group_member = matches[2]
setFgColor(255,255,0)
echo(' ['..group_member..']')
resetFormat()
add_to_group(matches[2])

And in scripts I added a script folder called Handle Group Functions with the following code:
group_members = {}
member_index = 1

function add_to_group(match)
group_members[member_index] = match
member_index = member_index + 1
if member_index >= 10 then
member_index = 1
end
end

2016/10/22 11:45, Arcane:   
ER formatting lost the backslash on those regex pieces but you get the idea.

2016/10/25 20:03, Imago: 
Use &lt;pre&gt; and &lt;/pre&gt; tags.

2016/12/11 19:14, Vidgri:edited 3x   
I think we should start spamming ER/scripts with scripts
&quot doesn't produce '' anyway

2018/11/06 03:23, Dagoth:   
Sorry for the zombie thread bump but I'm having trouble with Mudlet and this guy's chat panel script. I use the directions one and the stat tracker and have no problems.

Anything you guys can think of?

<<   <   01  02  

bookmark this discussion.
ignore this discussion.
top
 


 Commenting Rules:
  • we do not tolerate fake or anonymous character names!
  • use a valid MUME character name
  • offensive (sexual, racist, personal, ...) remarks will be punished
  • do not post information, which you got from MUME immortal-boards
  • comment in English only!


  • Character-Name:   anonymous-flag (don't link profile)  


    Advice:  Let the above textbox do the line-wrapping and do only use Return/Newline to end or start a new paragraph. That way your comments will look nice! If you use long text-strings without spaces ( >50 characters), they will be cut to a decent size and info will get lost.
    back