// Evol scripts. // Authors: // 4144 // Description: // test npc1 test,10,10,0 script npc1#door NPC_HIDDEN,0,1,{ OnTouch: warp "test", 20, 20; close; OnUnTouch: doevent "npc1::OnUnTouch"; } test,10,10,0 script npc1 NPC_TEST1,3,3,{ function areatest { mesn; mes "getareausers(\"test\", 7, 7, 13, 13): " + getareausers("test", 7, 7, 13, 13); mes "getareausers(7, 7, 13, 13): " + getareausers(7, 7, 13, 13); mes "getareausers(\"test\"): " + getareausers("test"); mes "getareausers(): " + getareausers(); mes "getareausers(\"test\", 1): " + getareausers("test", 1); mes "getareausers(1): " + getareausers(1); next; return; } L_Start: switch (select("show area:map:pc:change npc direction:quest test:cart:items:chat:wall")) { case 1: areatest; break; case 2: while(1) { .@mask = getmapmask("test"); mes "current mask: " + str(.@mask); switch (select("show sand:show grass:show fog:hide fog:back")) { case 1: addremovemapmask "test", 4, 8; break; case 2: addremovemapmask "test", 8, 4; break; case 3: addmapmask "test", 2; break; case 4: removemapmask "test", 2; break; case 5: goto L_Start; break; } } break; case 3: while(1) { switch (select("change sex:setmount 0:setmount 1:setmount 2:test command:back")) { case 1: changecharsex; break; case 2: setmount 0; break; case 3: setmount 1; break; case 4: setmount 2; break; case 5: clientcommand "emote 1"; break; case 6: goto L_Start; break; } } break; case 4: for (.@f = 0; .@f < 9; .@f ++) { mes "" + .@f; .dir = .@f; next; } break; case 5: mes "current"; .@val0 = getq(ShipQuests_Gugli); mes "val=" + .@val0; setq ShipQuests_Gugli, 10; next; mes "test 10"; next; .@val = getq(ShipQuests_Gugli); mes "val=" + .@val; setq ShipQuests_Gugli, .@val0; next; break; case 6: while(1) { switch (select("add cart:remove cart:back")) { case 1: setcart 1; break; case 2: setcart 0; break; case 3: goto L_Start; break; } } break; case 7: while(1) { switch (select("refine:rent:bound:named:back")) { case 1: .@item = -1; while(1) { switch (select("set item:refine +1:refine -1:refine fail:back")) { case 1: requestitemindex .@item; mes "Item index selected: " + str(.@item); break; case 2: successrefindex .@item, 1; break; case 3: downrefindex .@item, 1; break; case 4: failedrefindex .@item; break; case 5: goto L_Start; break; } } break; case 2: while(1) { switch (select("rent vneck for 10 seconds", "rent vneck for 30 seconds", "rent vneck for 1 minute", "rent vneck for 5 minutes", "back")) { case 1: rentitem 1301, 10; break; case 2: rentitem 1301, 30; break; case 3: rentitem 1301, 60; break; case 4: rentitem 1301, 300; break; case 5: goto L_Start; break; } } break; case 3: while(1) { switch (select("get bound vneck", "back")) { case 1: getitembound2 1301, 1, 1, 0, 0, 0, 0, 0, 0, 1; break; case 2: goto L_Start; break; } } break; case 4: while(1) { switch (select("get named vneck", "back")) { case 1: getnameditem 1301, "4144"; break; case 2: goto L_Start; break; } } break; case 5: goto L_Start; break; } } break; case 8: chatjoin .chat; close; case 9: while(1) { switch (select("set wall 1:set wall 2:set wall 3:delete wall 1:delete wall 2:delete wall 3:back")) { case 1: setcells "test", 14, 11, 17, 11, 3, "wall1"; break; case 2: setcells "test", 14, 7, 21, 8, 1, "wall2"; break; case 3: setcells "test", 13, 15, 13, 21, 3, "wall3"; break; case 4: delcells "wall1"; break; case 5: delcells "wall2"; break; case 6: delcells "wall3"; break; case 7: goto L_Start; break; } } break; } close; OnTouch: doorTouch; OnUnTouch: doorUnTouch; OnTimer340: doorTimer; OnInit: .sex = G_MALE; .distance = 5; waitingroom "test room", 2, "npc1::OnReadyCheck", 1; end; OnWhisperGlobal: mes "cmd: " + @whispervar0$; close; OnSkillInvoke: skillInvoke[@skillId] = skillInvoke[@skillId] + 1; end; OnReadyCheck: debugmes "OnReadyCheck"; $@bgid1 = waitingroom2bg("testbg", 10, 10, "bgnpc1::OnLogout","bgnpc1:OnDie"); debugmes "bgid=" + str($@bgid1); setbgteam $@bgid1, 1; bg_warp $@bgid1, "testbg", 10, 10; }