|
Joined: Sep 2008
Posts: 37
Ameglian cow
|
OP
Ameglian cow
Joined: Sep 2008
Posts: 37 |
Hi, I have this script which was kindly made for me for a game I play so when i'm ingame I can type in the admin chat and it would get echo'd by the server bots and say the message ingame. However it appears anyone can use it apart from me, so I was wondering if theres a way so only a certain ingame nick can use it? The original code is here: on *:text:*:#CHANNELNAME: {
if ($nick ishop $chan) && ($regex($nick,/^N[aeiou]w[aeiou]n[aeiou]$/i)) {
if ($regex($1-,/^\*{3} Admin \S+ \(ID:\d+\): \^(.+)/S)) { msg $chan $regml(1) }
}
} and the original topic can be found hereIf anyone can help me, i'd be really greatful Kind regards
|
|
|
|
Joined: Jul 2007
Posts: 1,129
Hoopy frood
|
Hoopy frood
Joined: Jul 2007
Posts: 1,129 |
Your script currently will allow all the hops to use it. You can have a stricter control over whom you want this script to be triggered by using mirc's user list feature. Make a simple menu like this: menu nicklist {
Add a user:auser -a grant $address($1,2)
Remove a user:ruser grant $address($1,2)
} Then change on *:text:*:#CHANNELNAME: { to: on grant:text:*:#CHANNELNAME: { Your whole code will end up looking like this:
menu nicklist {
.Add $1:auser -a grant $address($1,2)
.Remove $1:ruser grant $address($1,2)
}
on grant:text:*:#CHANNELNAME: {
if ($regex($nick,/^N[aeiou]w[aeiou]n[aeiou]$/i)) {
if ($regex($1-,/^\*{3} Admin \S+ \(ID:\d+\): \^(.+)/S)) { msg $chan $regml(1) }
}
} You are to use the menu via the popups nicklist.
|
|
|
|
Joined: Sep 2008
Posts: 37
Ameglian cow
|
OP
Ameglian cow
Joined: Sep 2008
Posts: 37 |
Hi,
That's not what I meant, What I meant was if theres anyway so that only a certain user in-game (not mirc) can use the @^msg command?
|
|
|
|
Joined: Oct 2004
Posts: 8,330
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,330 |
It can be done, but you have to tell us how you are determining if the mIRC user is in the game or not. Is it stored somewhere?
Invision Support #Invision on irc.irchighway.net
|
|
|
|
Joined: Sep 2008
Posts: 37
Ameglian cow
|
OP
Ameglian cow
Joined: Sep 2008
Posts: 37 |
It can be done, but you have to tell us how you are determining if the mIRC user is in the game or not. Is it stored somewhere? If i understand correctly, the message will be sent by the people who has the script in remote. The user ingame who can use it is done by !setuser <nick> or something? So if I did !setuser FriLLeT and then go ingame with the name 'FriLLeT' i would be able to use it and send this @ being the ingame admin chat command. You can see in the screenshots in the original topic how the server messages are sent. PS: late reply, internet troubles
Last edited by razor32; 08/05/10 02:37 AM.
|
|
|
|
Joined: Jul 2007
Posts: 1,129
Hoopy frood
|
Hoopy frood
Joined: Jul 2007
Posts: 1,129 |
If i understand correctly, the message will be sent by the people who has the script in remote. The user ingame who can use it is done by !setuser <nick> or something? So if I did !setuser FriLLeT and then go ingame with the name 'FriLLeT' i would be able to use it and send this @ being the ingame admin chat command.
on $*:text:/^!(set|del)user/iS:#: {
if (!%x) { inc -u10 %x | var %s = $regml(1)
goto %s | :set | if ($istok(%nick,$2,32)) {
notice $nick $2 already exists! | halt
}
else {
set %nick $addtok(%nick,$$2,32)
notice $nick $2 has been added! | halt
}
:del | if ($istok(%nick,$2,32)) {
set %nick $remtok(%nick,$$2,1,32)
notice $nick $2 has been deleted! | halt
}
else { notice $nick $2 doesn't exist! | halt }
}
}
on *:text:*:#CHANNELNAME: {
if (($istok(%nick,$nick,32)) && ($regex($nick,/^N[aeiou]w[aeiou]n[aeiou]$/i))) {
if ($regex($1-,/^\*{3} Admin \S+ \(ID:\d+\): \^(.+)/S)) { msg $chan $regml(1) }
}
} !setuser NICKHERE to set a nick !deluser NICKHERE to remove a nick. This script will now recognize nick that's been added to %nick variable. There is a downside of using $nick. The reason being people can clone a nick to gain access to the script. Please also note that currently this script will allow every one to add and delete user, since you didn't mention you want to be the main person to do the adding or deleting.
|
|
|
|
Joined: Feb 2009
Posts: 133
Vogon poet
|
Vogon poet
Joined: Feb 2009
Posts: 133 |
i think no need to use goto command on $*:text:/^!(set|del)user/iS:#: {
if !%x {
inc -u10 %x
var %s $replace($regml(1),set,1,del,0)
if %s && $istok(%nick,$2,32) || !%s && !$istok(%nick,$2,32) {
notice $nick $2 $iif(%s,already,doesn't) exists!
halt
}
set %nick $iif(%s,$addtok(%nick,$$2,32),$remtok(%nick,$$2,1,32))
notice $nick $2 has been $iif(%s,added,deleted) $+ !
}
} P.S: not tested
WorldDMT
|
|
|
|
Joined: Sep 2008
Posts: 37
Ameglian cow
|
OP
Ameglian cow
Joined: Sep 2008
Posts: 37 |
If i understand correctly, the message will be sent by the people who has the script in remote. The user ingame who can use it is done by !setuser <nick> or something? So if I did !setuser FriLLeT and then go ingame with the name 'FriLLeT' i would be able to use it and send this @ being the ingame admin chat command.
on $*:text:/^!(set|del)user/iS:#: {
if (!%x) { inc -u10 %x | var %s = $regml(1)
goto %s | :set | if ($istok(%nick,$2,32)) {
notice $nick $2 already exists! | halt
}
else {
set %nick $addtok(%nick,$$2,32)
notice $nick $2 has been added! | halt
}
:del | if ($istok(%nick,$2,32)) {
set %nick $remtok(%nick,$$2,1,32)
notice $nick $2 has been deleted! | halt
}
else { notice $nick $2 doesn't exist! | halt }
}
}
on *:text:*:#CHANNELNAME: {
if (($istok(%nick,$nick,32)) && ($regex($nick,/^N[aeiou]w[aeiou]n[aeiou]$/i))) {
if ($regex($1-,/^\*{3} Admin \S+ \(ID:\d+\): \^(.+)/S)) { msg $chan $regml(1) }
}
} !setuser NICKHERE to set a nick !deluser NICKHERE to remove a nick. This script will now recognize nick that's been added to %nick variable. There is a downside of using $nick. The reason being people can clone a nick to gain access to the script. Please also note that currently this script will allow every one to add and delete user, since you didn't mention you want to be the main person to do the adding or deleting. Thanks but I just tested ingame and it doesn't seem to work, I added the user ok but when I go ingame and do @^!msg test it doesn't send the message : /
Last edited by razor32; 13/05/10 02:29 AM.
|
|
|
|
|