Menu

Donpcevent

Brynner

Syntax

Description

This command invokes the event label code within an another [NPC] or NPCs.
If event label has the form "NpcName::OnLabel", then only given NPC's event
label will be invoked (much like [Goto] into another NPC). If the form is
"::OnLabel" ( NpcName ommited), the event code of all NPCs with given label
will be invoked, one after another. In both cases the invoked script will run
without an attached [RID], whether or not the invoking script was attached
to a player. The event label name is required to start with On.

This command can be used to make other NPCs act, as if they were responding to
the invoking NPC's actions, such as using an [Emotion] or
npctalk.

Examples

prontera,150,150,3  script  NPC 53,{
    [Mes] "Hey NPC2 copies what I do.";
    [Close2];
    [Set] .@emote, [Rand](1,30);
    donpcevent "NPC2::OnEmote";
OnEmote:
    [Emotion] .@emote;
    [End];
}

prontera,152,150,5  script  NPC2    53,{
    mes "Hey NPC copies what I do.";
    close2;
    set .@emote, rand(1,30);
    donpcevent "NPC::OnEmote";
OnEmote:
    emotion .@emote;
    end;
}

Whichever of the both NPCs is talked to, both will show a random emotion at
the same time.

Command returns 1 or 0 on success and failure. A debug message also shows on
the console when no events are triggered.

See Also

[Category:Script Command]


Related

Wiki: Doevent
Wiki: Donpcevent
Wiki: Emotion
Wiki: Goto
Wiki: NPC
Wiki: RID

MongoDB Logo MongoDB