// Add Localized Warp in town centers and Message to GM Island
-|script|#GmConfig|32767
{
end;
OnInit:
disablenpc "Gm Event#1";
disablenpc "Gm Event#2";
disablenpc "Gm Event#3";
end;
}
-|script|#Puppet|32767
{
mes "You found me! Now please send my coordinates to staff.";
close;
OnSpawn:
if (GM < G_SYSOP) goto L_GM;
callfunc "argv_splitter";
if (@argv$[4] == "") goto L_Failed;
set $@PMAP$, @argv$[0];
set $@PX, @argv$[1];
set $@PY, @argv$[2];
set $@PNAME$, @argv$[3];
set $@PNPC, @argv$[4];
if (puppet($@PMAP$, $@PX, $@PY, $@PNAME$, $@PNPC) > 0)
gmlog "@puppeter " + @args$;
set $@PMAP$, "";
set $@PX, 0;
set $@PY, 0;
set $@PNAME$, "";
set $@PNPC, 0;
end;
L_Failed:
message strcharinfo(0), "Syntax: @puppeter MAP X Y NAME NPCID";
end;
L_GM:
message strcharinfo(0), "puppeter : GM command is level "+ G_SYSOP +", but you are level " + GM;
end;
OnInit:
registercmd chr(ATCMD_SYMBOL) + "puppeter", strnpcinfo(0)+"::OnSpawn";
end;
}
function|script|GmWarp
{
if ($@GM_EVENT_WARP == 1) warp "028-1", 110, 30;
if ($@GM_EVENT_WARP == 2) warp "028-1", 119, 74;
if ($@GM_EVENT_WARP == 3) warp "028-3", 68, 36;
if ($@GM_EVENT_WARP == 4) warp "001-3", 0, 0;
if ($@GM_EVENT_WARP == 5) warp "070-1", 30, 92;
if ($@GM_EVENT_WARP == 6) warp "070-3", 60, 63;
if ($@GM_EVENT_WARP == 7) warp "003-1", 44, 94;
return;
}
function|script|GmDebug
{
mes "[GM Debug]";
mes "What do you want to do?";
menu
"Open Event Portals.", L_GmChoose,
"Close Event Portals.", L_GmStop,
"Disguise.", L_Disguise;
L_GmChoose:
mes "Choose a destination:";
menu
"GM Island (entrance)", L_GmStart,
"GM Island (auditorium)", L_GmStart,
"GM Island (cave)", L_GmStart,
"Tulimshar Arena", L_GmStart,
"Underworld", L_GmStart,
"The Abyss", L_GmStart,
"2006 Tulimshar", L_GmStart;
L_GmStart:
set $@GM_EVENT_WARP, @menu;
enablenpc "Gm Event#1";
enablenpc "Gm Event#2";
enablenpc "Gm Event#3";
return;
L_GmStop:
disablenpc "Gm Event#1";
disablenpc "Gm Event#2";
disablenpc "Gm Event#3";
return;
L_Disguise:
npcaction 9;
mes "[GM Debug - Disguise]";
mes "The Disguise function allows GMs to disguise themselves as mobs or npcs.";
mes "---";
mes "Mob IDs: [@@https://www.themanaworld.org/index.php/Monster_Reference|Monster Reference@@]";
mes "You can either logout or use id ##B0##b to reset.";
mes "---";
mes "Please input the mob ID:";
input @disguise_id;
if (@disguise_id < 1000 || @disguise_id > 32767)
goto L_ResetClass;
mes "Your disguise has been changed.";
if (Class <= 5)
set @old_class, Class;
set Class, @disguise_id;
mes "";
mes "For technical reasons, you are not able to see your own disguise, but other players will see it.";
return;
L_ResetClass:
mes "Your appearance has been reset.";
set Class, if_then_else(@old_class, @old_class, 1);
callfunc "fixHeadStyles";
return;
}
001-1,49,68,0|script|Gm Event#1|368,0,0
{
callfunc "GmWarp";
end;
}
009-1,46,30,0|script|Gm Event#2|368,0,0
{
callfunc "GmWarp";
end;
}
020-1,67,89,0|script|Gm Event#3|368,0,0
{
callfunc "GmWarp";
end;
}