You don't really send variables between NPCs, but you can use signals. You can signal a specific number and it can be like sending a variable...
NPC1 - Bob (10001)
Code:
sub EVENT_SAY {
if ($text=~/go/i) {
quest::say("Sending signal to Nancy.");
quest::signalwith(10002,1,0);
}
}
sub EVENT_SIGNAL {
if ($signal == 99) {
quest::say("Nancy replied back with 99.");
}
}
NPC2 - Nancy (10002)
Code:
sub EVENT_SIGNAL {
if ($signal == 1) {
quest::shout("Yes, Bob!");
quest::signalwith(10001,99,0);
}
}
As for qglobals, just as long as you understand the implementation, there shouldn't be anything wrong with using those. However, that would be more for something that you would need to store for a longer period of time rather than immediately.