From f7735589f498c5119dd8430cc002d5626c1170b4 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 15 Mar 2019 10:12:18 -0300 Subject: Allow access to Guild Hall, finishing the Guild System prototype (GvG/recipes not included) --- npc/017-1/_import.txt | 1 + npc/017-1/_warps.txt | 2 +- npc/017-1/guild.txt | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 npc/017-1/guild.txt (limited to 'npc/017-1') diff --git a/npc/017-1/_import.txt b/npc/017-1/_import.txt index dfcf5c4e9..151fd3391 100644 --- a/npc/017-1/_import.txt +++ b/npc/017-1/_import.txt @@ -6,6 +6,7 @@ "npc/017-1/estate.txt", "npc/017-1/fairy_collector.txt", "npc/017-1/guards.txt", +"npc/017-1/guild.txt", "npc/017-1/mapflags.txt", "npc/017-1/misc.txt", "npc/017-1/nowhere_man.txt", diff --git a/npc/017-1/_warps.txt b/npc/017-1/_warps.txt index fd5afaa64..909b819d0 100644 --- a/npc/017-1/_warps.txt +++ b/npc/017-1/_warps.txt @@ -3,7 +3,7 @@ 017-1,180,193,0 warp #017-1_180_193 0,0,018-2,63,105 017-1,152,224,0 warp #017-1_152_224 0,0,018-1,32,68 017-1,119,60,0 warp #017-1_119_60 0,0,017-2,41,30 -017-1,219,91,0 warp #017-1_219_91 0,0,014-4,95,33 +017-1,202,80,0 warp #017-1_202_80 0,0,014-4,95,33 017-1,55,143,0 warp #017-1_55_143 2,0,017-3,32,44 017-1,150,87,0 warp #017-1_150_87 0,0,017-4,27,41 017-1,155,87,0 warp #017-1_155_87 0,0,017-4,35,41 diff --git a/npc/017-1/guild.txt b/npc/017-1/guild.txt new file mode 100644 index 000000000..6992cb354 --- /dev/null +++ b/npc/017-1/guild.txt @@ -0,0 +1,47 @@ +// Moubootaur Legends Script +// Author: +// Jesusalva +// Description: +// Guild House + +017-1,57,33,0 script #GDoor NPC_NO_SPRITE,0,0,{ + end; +OnTouch: + if (getcharid(2) < 1) { + dispbottom l("The door is locked."); + end; + } + // Warp you to your guild house if exist. + // Build the instance otherwise. + + // Well, "checking if instance exist by mapname" is an illusion. + // So we try to build and if we fail, we warp the player to the instance. + .@ID=getcharid(2); + @MAP_NAME$="guild@"+str(.@ID); // Max 4 chars for map name + + .@INSTID = instance_create("guilds@a"+(.@ID), getcharid(3), IOT_GUILD); + .@instanceMapName$ = instance_attachmap("guilds", .@INSTID, 0, @MAP_NAME$); + + // Instance already exists, or something went wrong + // Let's assume it exists + if (.@instanceMapName$ == "") { + warp @MAP_NAME$, any(34,35), 48; + end; + } + + // It'll be self-destroyed eventually... + instance_set_timeout(1000000, 1000000, .@INSTID); + instance_init(.@INSTID); + warp @MAP_NAME$, any(34,35), 48; + end; + +} + +017-1,58,32,0 script #GSign NPC_NO_SPRITE,{ + mesc l("Guild Hall"); + close; + +OnInit: + .distance=3; + end; +} -- cgit v1.2.3-60-g2f50