summaryrefslogblamecommitdiff
path: root/npc/003-10/arnea.txt
blob: a55db1fd079d4f44b0abcbb7fd9c9a4e357df6d9 (plain) (tree)
1
2
3
4
5
6
7
8




               
                                            

                                           



                                        



                                       

                                                       
























                                                                               
                                                          
                                                                                                         


                                                       





                                                                        
             


                                        
     










































                                                                                   

          








                                                                                                      
       
                                  









                                               
                
                       

                                                                  

                    
                       












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

}