summaryrefslogtreecommitdiff
path: root/world/map/npc/functions/gm_island.txt
blob: 97fd8230b59d3aea19ef2f5770ccba9e62db1a55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// 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;
}
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;
    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;

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;
}