summaryrefslogtreecommitdiff
path: root/npc/commands/music.txt
blob: 5c62f0085ddf7ba04e3a04cd38957d6687c6dc71 (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
-	script	@music	NPC32767,{
    callfunc "argv_splitter";
    if (GM < CMD_MUSIC && GM < G_SYSOP) goto L_GM;
    if (@argv$[0] == "") goto L_Failed;

    gmlog "@music " + @args$;
    .@find = array_search(@argv$[0], .find$);
    if (.@find >= 0)
        @argv$[0] = .replace$[max(.@find, 0)];
    .file$ = @argv$[0];
    areatimer 0, getmapname(), (POS_X - .range), (POS_Y - .range), (POS_X + .range), (POS_Y + .range), 0, strnpcinfo(0)+"::OnPC";
    message strcharinfo(0), "music : The music has ben temporarily changed.";
    end;

OnPC:
    music .file$ + ".ogg";
    end;

L_Failed:
    message strcharinfo(0), "music : You must specify a music file.";
    end;

L_GM:
    message strcharinfo(0), "music : GM command is level "+ CMD_MUSIC +", but you are level " + GM;
    end;

OnInit:
    setarray .find$, "this", "cave", "chilling", "clouds", "dimond", "explorers", "gy", "reid", "magick", "mystique", "night", "ride", "sail", "snow", "forest", "xmas";
    setarray .replace$, "this", "cavesong", "chilling-environment", "clouds-calling", "dimonds-cove", "explorers-melody", "graveyard", "inquisitive-inn", "magick-real", "mystique-forest", "night-is-calling", "ride-of-the-valkyries", "sail-away", "snow-village", "the-forest", "white-christmas";
    set .range, 14; // FIXME: make this a const
    registercmd chr(ATCMD_SYMBOL) + "music", strnpcinfo(0);
    end;
}