diff options
Diffstat (limited to 'npc/003-10/arnea.txt')
-rw-r--r-- | npc/003-10/arnea.txt | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/npc/003-10/arnea.txt b/npc/003-10/arnea.txt new file mode 100644 index 000000000..a55db1fd0 --- /dev/null +++ b/npc/003-10/arnea.txt @@ -0,0 +1,145 @@ +// TMW2 Scripts +// Author: +// 4144 +// Jesusalva +// Description: +// Arena for Duels and PVP (003-13,31,31) + +003-5,33,37,0 script Arnea NPC_ELF_F,{ + if (DESTROY_ME) { + DESTROY_ME=0; + instance_destroy(DESTROY_MY_ID); + } + + // FIXIT code + if (!is_staff()) goto L_Incomplete; + + mesn; + mesq l("Welcome to the Arena. Select your action"); + menu + l("Create new arena"), L_NewArena, + l("Join existing arena"), L_JoinArena, + l("Information"), L_Info, + l("Leave"), L_Quit; + +L_NewArena: + mes ""; + mesn; + if (Zeny < .price) { + mesq l("You need @@ GP to use this arena.", .price); + } else { + mesq l("Okay, which arena will you rent? Cost is @@ GP.", .price); + menu + rif($@ARENA_INSTANCES[0] < 0, l("Arena 1")), -, + rif($@ARENA_INSTANCES[1] < 0, l("Arena 2")), -, + rif($@ARENA_INSTANCES[2] < 0, l("Arena 3")), -, + rif($@ARENA_INSTANCES[3] < 0, l("Arena 4")), -, + rif($@ARENA_INSTANCES[4] < 0, l("Arena 5")), -, + l("Give Up"), L_Quit; + + mes (@menu-1); + .@ARENA_INSTID = instance_create("003-13@arenax"+(@menu), 0, IOT_NONE); + if (.@ARENA_INSTID >= 0) + { + mes "new instance id: " + str(.@ARENA_INSTID); + .@instanceMapName$ = instance_attachmap("003-13", .@ARENA_INSTID, 0, "003-13@a" + (@menu-1)); + if (.@instanceMapName$ == "") + { + mes "Error: instance attach map error"; + } else { + mes "Attached instance map name: " + .@instanceMapName$; + instance_set_timeout(1000000, 1000000, .@ARENA_INSTID); + instance_init(.@ARENA_INSTID); + set Zeny, Zeny-1000; + $@ARENA_INSTANCES[@menu-1]=getcharid(3); + } + } else { + mes l("An error happened."); + } + } + goto L_Quit; + + +L_Info: + mes "npc name: " + .name$; + mes "npc ext name: " + .extname$; + mes "npc id: " + .id; + mes "npc parent id: " + .parent; + mes "npc src id: " + .srcId; + mes "char id 3: " + getcharid(3); + if (instance_id() >= 0) + mes "instance id: " + instance_id(); + close; + +L_JoinArena: + mes ""; + mesn; + if (Zeny < .price) { + mesq l("You need @@ GP to use this arena.", .price); + } else { + mesq l("Okay, which arena will you join? Cost is @@ GP.", .price); + //menu + // rif(has_instance2("003-5@0") >= 0, l("Arena 1")), -, + // rif(has_instance2("003-5@1") >= 0, l("Arena 2")), -, + // rif(has_instance2("003-5@2") >= 0, l("Arena 3")), -, + // rif(has_instance2("003-5@3") >= 0, l("Arena 4")), -, + // rif(has_instance2("003-5@4") >= 0, l("Arena 5")), -, + // l("Give Up"), L_Quit; + menu + rif($@ARENA_INSTANCES[0] > 0, l("Arena 1")), -, + rif($@ARENA_INSTANCES[1] > 0, l("Arena 2")), -, + rif($@ARENA_INSTANCES[2] > 0, l("Arena 3")), -, + rif($@ARENA_INSTANCES[3] > 0, l("Arena 4")), -, + rif($@ARENA_INSTANCES[4] > 0, l("Arena 5")), -, + l("Give Up"), L_Quit; + warp "003-13@a"+(@menu-1), 31,31; + set Zeny, Zeny-.price; + //instance_warpall("003-13@a"+@menu, 30, 31); // Only use while in instance + } + close; + + +L_Quit: + close; + +L_Incomplete: + mesn; + mesq lg("Hello darling."); + next; + mesq l("I am @@, and I take care of the Arena.", .name$); + next; + mesq l("At the moment, we must wait authorization from Tulimshar's government to re-open doors."); + close; + +OnInit: + .@npcId = getnpcid(0, .name$); + setunitdata(.@npcId, UDT_HEADTOP, 2907); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1305); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2204); + setunitdata(.@npcId, UDT_WEAPON, 3509); + setunitdata(.@npcId, UDT_HAIRSTYLE, 14); + setunitdata(.@npcId, UDT_HAIRCOLOR, 18); + + .sex = G_FEMALE; + .distance = 5; + .alwaysVisible = true; + .price=1000; + // test instance id + setarray $@ARENA_INSTANCES, -1,-1,-1,-1,-1; // Controls Owners + setarray $@ARENA_INFOS$, "","","","",""; // Controls Owners + + // Temporary fix + disablenpc "Arnea"; + end; + +OnInstanceInit: + .@npcId = getnpcid(0, instance_npcname(.name$)); + setunitdata(.@npcId, UDT_HEADTOP, 2907); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1305); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2204); + setunitdata(.@npcId, UDT_WEAPON, 3509); + setunitdata(.@npcId, UDT_HAIRSTYLE, 14); + setunitdata(.@npcId, UDT_HAIRCOLOR, 18); + end; + +} |