mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Greetings,

I'm trying to transfer a variable (%announce) from one instance of mIRC running in a different directory on the same computer system and chatroom, to another instance of mIRC running in another directory and another chatroom.

The purpose of this variable transfer is to alert one of our hosting staff of visitor arrivals in that other chatroom. We have two alias's now that work fine for locating the hosts in that chatroom and selectively whispering them the information we place into %announce1, %announce2 and %announce3.

We need help in our trying to transfer %announce from the other mIRC instance chatroom to %announce in the other mIRC instance which is in another directory but on the same computer system.

Example:
A visitor enters chatroomA %announce1,%announce2,%announce3 is set.

Need Help here---> Transfer those variables to c:\chatroomB

Our alias's in place in chatroomB read that information and selectively whisper that to our active hosts in chatroomB.

Thanks for your time and consideration,
MDA

Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
Why doesnt the first Mirc just MSG the second mirc the data?

catch the message using ON TEXT

or /ctcp i guess but thats really the same thing.

Joined: Dec 2002
Posts: 1,922
O
Hoopy frood
Offline
Hoopy frood
O
Joined: Dec 2002
Posts: 1,922
If they are running on the same system, he can exchange data using DDE.

For example, if one instance is named "mIRC1" (/ddeserver on mIRC1) and the other instance is named "mIRC2" (/ddeserver on mIRC2) the script on "mIRC1" can send the following request to "mIRC2":
  • //echo -a $dde(mIRC2,evaluate,% $+ announce)
and "%announce" will then be evaluated on "mIRC2" and the value will be returned to "mIRC1".

For more info: /help DDE

Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Greetings and Thank you for your suggestions,

Currently we are trying out this code addition to ChatroomA

if ($nick !isop #) {
set %announce1 $nick
set %announce2 ChatroomA
set %announce3 %activehosts
echo 4 %announce1 %announce2 %announce3 $time
writeini C:\ChatroomB/remote.ini %announce1
writeini C:\ChatroomB/remote.ini %announce2
writeini C:\ChatroomB/remote.ini %announce3
}

Its too early to tell if this is going to work for us.

Regards,
MDA

Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
Again using DDE, this time the sender is the mIRC in the channel you want to monitor.
As in Onlines example, using dde names "mIRC1" (receiving) and "mIRC2" (sending)
Code:
on *:join:#channel:{
  dde mIRC1 command "" /announcejoin %announce1 %announc2 %announc3 
}


In the receiving client
Code:
alias announcejoin {
 
  echo -a * mIRC2 sent: $1-
 
}


Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Greetings,

mIRC version 6.03 gives me the option to easily change the DDE server name, in my version 6.12 I can't find that option. Any ideas on where that is hidden away at?

Regards,
MDA

Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
Options >> Other >> DDE

Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Thanks for your time and consideration,

The sending DDE server is named PLTC, the recieving DDE server is named PLG.

From your previous examples, is this code initiated on the mIRC instance whose dde servername is PGTC in the following mIRC command

dde PLG command "" %announce1 %announce2 %announce3

going to update the variables

%announce1
%announce2
%announce3

Stored on the remote.ini variable files on the DDE server named PLG?

Thanks,
MDA

Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
No. You must use the correct syntax for the /dde command.
  • dde PLG command "" /aliasname %announce1 %announce2 %announce3
Edit: The /slash is also needed in this case.


And in the mIRC with "PLG" as ddename, an alias to set those vars
alias aliasname {
set %announce1 $1
set %announce2 $2
set %announce3 $3
}

Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Greetings Iori,

Although we have updated our coding on both instances of mIRC, the recieving instance doesn't appear to be executing the alias and updating those variables as intended.

on the dde mIRC first instance, server named PLTC

we have

echo 4 $ddename
if ($nick !isop #) {
set %announce1 $nick
set %announce2 ChatroomA
set %announce3 %activehosts
echo 4 %announce1 %announce2 %announce3 $time
dde PLG command "" /doorbell %announce1 %announce2 %announce3
}

On our second separate mIRC instance in another directory but on the same computer and in a different chatroom whose dde server name is PLG we have this in our aliases section

doorbell {
set %announce1 $1
set %announce2 $2
set %announce3 $3
set %tannounce1 $1
set %tannounce2 $2
set %tannounce3 $3
echo 4 Doorbell is ringing....
}

We've added In our second instance the debugging variable, %tannounceX to see if the dde updates were properly sent and recieved and stored. Once %announceX variables are not $null other aliases locate our active hosts and selectively whisper that information to them and within 10 seconds they become $null once again, so we added the %tannounceX variables to see if those variables were being sent, along with that debug echo on the dde server name, and the post, The doorbell is ringing.

Thus far however, we have no %tannounceX variables in the remote.ini of the dde server named PLG. And no echo the doorbell is ringing, indicating that aliais isn't being activated.

Ideas on why that information isn't being recieved and the alias Doorbell is not being activated?

Thanks,
MDA

Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
All I can think that might be wrong is the ddeserver "PLG" is not active.
In that copy of mIRC try typing /ddeserver which will give you the status (and name if it is on) of the ddeserver.
Of course, you could also just type /ddeserver on PLG to turn it on and name it PLG anyway :[/b])

Joined: Sep 2003
Posts: 4,230
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Sep 2003
Posts: 4,230
sorry i misinterpreted what he ment by the same computer system, i thought he ment on the same irc server, and there trying to get there bot operations each on seperate connections to work in unison with each other etc etc.

Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Greetings IORI,

I'm sorry but I don't have a clue why that isn't working. The code you suggested is elegant, minimal and efficent, exactly what I had hoped to put in place.

Trouble shooting the mIRC dde servers, I have the following output from the /ddeserver entry in each of our mIRC sessions.

* DDE Server is on (PLTC)
* DDE Server is on (PLG)

Nothing however indicates the alias Doorbell is being activated however thru the dde server command from another dde server directed to dde server PLG which contains the Doorbell alias. I've even moved the Doorbell alias out of the alias folder and directly named it in a remote to force the issue alias doorbell {
but its just not working. No errors are being posted on the sending nor recieving dde servers, and nothing to indicate the alias Doorbell is being remotely activated by the other dde server.

Thank you for your time and consideration IORI,
MDA

Joined: Dec 2002
Posts: 99
M
MDA Offline OP
Babel fish
OP Offline
Babel fish
M
Joined: Dec 2002
Posts: 99
Our thanks and appreciation to DaveC,Online and Iori,

We slightly tweaked the variable names, moved the doorbell alias to a remote folder and the dde senders and dde reciever appear to be functioning 100%.

Four of our chatrooms are now relaying variable data via the dde server application in mIRC to one chatroom where we can pool our chatroom hosts if needed. After the Doorbell alias is activated, we activate a mass host whisper of the visitors into the other chatrooms along with the host count in that specific chatroom in case additional hosts would be needed to assist our guests.

In our satillite chatrooms, we are using this framework. This example is for dde server PLTC.

if ($nick !isop #) {
set %Gannounce1 $nick
set %Gannounce2 $chan
set %Gannounce3 %activehosts <---current host count
dde PLG command "" /doorbell %Gannounce1 % Gannounce2 %Gannounce3
}

In remote folders on the dde PLG mIRC server we have the following.

alias doorbell {
set %announce1 $1
set %announce2 $2
set %announce3 $3
echo 4 Doorbell is ringing....
}

We have a timer loop to run the mass whisper of the doorbell results in one of our remotes containing the dde PLG server which is activated when that server joins a channel.

.timer.announce 0 10 /mass.announce

Which runs thru a looping 10 second check on if any visitors have been detected thru the %announce1 variable by the alias mass.announce in any of our other chatrooms.

mass.announce { if (%announce1 == $null) halt | /mass.opwhisper3 %announce1 has just entered %announce2 there are %announce3 hosts there now $time }

Which activates the alias mass.opwhisper3
note that %Room3 variable is set for the specific chatroom in question beforehand.

mass.opwhisper3 {
set %whi3 1
:next3
set %nick3 $nick(%Room3,%whi3)
if %nick3 == $null goto done3
if %nick3 == $me goto skip3
if %nick3 isop %Room3 msg $nick(%Room3,%whi3) $1-
:skip3
inc %whi3
goto next3
:done3
set %announce1 $null
set %announce2 $null
set %announce3 $null
}


Thanks to each and two thumbs up to Iori for your insight, patience and consideration.

MDA

Joined: Aug 2003
Posts: 1,831
I
Hoopy frood
Offline
Hoopy frood
I
Joined: Aug 2003
Posts: 1,831
No probs, glad to help. :[/b])


Link Copied to Clipboard