-
Content Count
23 -
Joined
-
Last visited
-
Days Won
2
Posts posted by Kuroe
-
-
//===== Hercules Script ====================================== //= Warper //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4b //===== Description: ========================================= //= A complete - but very condensed - warper script. //= Some coordinates written by Tekno-Kanix and ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Added missing duplicates and fixed coordinates. //= 1.2 Added new episodes and simplified functions. //= 1.3 Added Renewal checks and Instances menu. //= Aligned coordinates with @go. //= 1.4 Added new Guild Dungeons. //= 1.4a Slight edits. //= 1.4b Added Wolfchev's Laboratory warp. //============================================================ - script Warper FAKE_NPC,{ function Go; function Disp; function Pick; function Restrict; // -------------------------------------------------- // Main Menu: // -------------------------------------------------- menu "Last Warp ^777777["+lastwarp$+"]^000000",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, " ~ Instances",Instances, " ~ Special Areas",Special; if (lastwarp$ == "") message strcharinfo(PC_NAME),"You haven't warped anywhere yet."; else mes ("Select payment method"); next; switch(select("Zeny","Ticket","Cancel")) { case 1: if (Zeny < 3000) { mes ("Sorry you don't have enough Zeny"); close; } warp lastwarp$,lastwarpx,lastwarpy; end; case 2: if (countitem(7227) < 1) { mes ("Sorry you don't have enough TCG Card(s)"); close; } delitem 7227,1; warp lastwarp$,lastwarpx,lastwarpy; end; case 3: close; } // ------------------- Functions ------------------- // * Go("<map>",<x>,<y>); // ~ Warps directly to a map. // // * Disp("<Menu Option>",<first option>,<last option>); // * Pick("<map_prefix>"{,<index offset>}); // ~ Dynamic menu and map selection (auto-numbered). // // * Disp("<Option 1>:<Option 2>:<etc.>"); // * Pick("","<map1>","<map2>","<etc.>"); // ~ Manual menu and map selection (listed). // // * Restrict("<RE | Pre-RE>"{,<menu option numbers>}); // ~ Only allows map for Renewal or Pre-Renewal modes. // If menu option numbers are given, only those maps // will be restricted (i.e. not for "Go"). // // Other notes: // ~ Array @c[] holds all (x,y) coordinates. // ~ Use @c[2] EXCEPT when maps begin dynamically // at 0: use @c[0] and Pick() offset 1. // -------------------------------------------------- function Go { mes ("Select payment method"); next; switch(select("Zeny","Ticket","Cancel")) { case 1: if (Zeny < 3000) { mes ("Sorry you don't have enough Zeny"); close; } Zeny -= 3000; lastwarp$ = getarg(0); lastwarpx = getarg(1,0); lastwarpy = getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); end; case 2: if (countitem(7227) < 1) { mes ("Sorry you don't have enough TCG Card(s)"); close; } delitem 7227,1; lastwarp$ = getarg(0); lastwarpx = getarg(1,0); lastwarpy = getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); end; case 3: close; } } function Disp { if (getargcount() < 3) @menu$ = getarg(0); else { @menu$ = ""; for (.@i = getarg(1); .@i <= getarg(2); .@i++) @menu$ = @menu$+getarg(0)+" "+.@i+":"; } return; } function Pick { .@warp_block = @warp_block; @warp_block = 0; .@select = select(@menu$); if (getarg(0) == "") { .@i = .@select; .@map$ = getarg(.@i); } else { .@i = .@select-getarg(1,0); .@map$ = getarg(0)+((.@i<10)?"0":"")+.@i; } if (.@warp_block & (1<<.@select)) { message strcharinfo(PC_NAME),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal."; end; } .@x = @c[.@i*2]; .@y = @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !RENEWAL) || (getarg(0) == "Pre-RE" && RENEWAL)) { if (getarg(1,0)) { @warp_block = 0; for (.@i = 1; .@i < getargcount(); .@i++) @warp_block = @warp_block | (1<<getarg(.@i)); } else { message strcharinfo(PC_NAME),"This map is not enabled in "+(RENEWAL?"":"Pre-")+"Renewal."; end; } } return; } // -------------------------------------------------- Towns: // -------------------------------------------------- menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5, "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10, "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lighthalzen",T18, "Louyang",T19, "Lutie",T20, "Malangdo",T21, "Malaya",T22, "Manuk",T23, "Midgarts Expedition Camp",T24, "Mora",T25, "Morroc",T26, "Moscovia",T27, "Nameless Island",T28, "Niflheim",T29, "Payon",T30, "Rachel",T31, "Splendide",T32, "Thor Camp",T33, "Umbala",T34, "Veins",T35, "Yuno",T36; T1: Go("prontera",155,183); T2: Go("alberta",28,234); T3: Go("aldebaran",140,131); T4: Go("amatsu",198,84); T5: Go("ayothaya",208,166); T6: Restrict("RE"); Go("brasilis",196,217); T7: Go("comodo",209,143); T8: Restrict("RE"); Go("dewata",200,180); T9: Restrict("RE"); Go("ecl_in01",48,53); T10: Go("einbech",63,35); T11: Go("einbroch",64,200); T12: Restrict("RE"); Go("dicastes01",198,187); T13: Go("geffen",119,59); T14: Go("gonryun",160,120); T15: Go("hugel",96,145); T16: Go("izlude",128,(RENEWAL?146:114)); T17: Go("jawaii",251,132); T18: Go("lighthalzen",158,92); T19: Go("louyang",217,100); T20: Go("xmas",147,134); T21: Restrict("RE"); Go("malangdo",140,114); T22: Restrict("RE"); Go("malaya",231,200); T23: Go("manuk",282,138); T24: Go("mid_camp",210,288); T25: Restrict("RE"); Go("mora",55,146); T26: Go("morocc",156,93); T27: Go("moscovia",223,184); T28: Go("nameless_n",256,215); T29: Go("niflheim",202,174); T30: Go("payon",179,100); T31: Go("rachel",130,110); T32: Go("splendide",201,147); T33: Go("thor_camp",246,68); T34: Go("umbala",97,153); T35: Go("veins",216,123); T36: Go("yuno",157,51); // -------------------------------------------------- Fields: // -------------------------------------------------- menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3, "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6, "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9, "Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12, "Lighthalzen Fields",F13, "Louyang Field",F14, "Lutie Field",F15, "Malaya Fields",F16, "Manuk Fields",F17, "Mjolnir Fields",F18, "Moscovia Fields",F19, "Niflheim Fields",F20, "Payon Forests",F21, "Prontera Fields",F22, "Rachel Fields",F23, "Sograt Deserts",F24, "Splendide Fields",F25, "Umbala Fields",F26, "Veins Fields",F27, "Yuno Fields",F28; F1: setarray @c[2],190,197; Disp("Amatsu Field",1,1); Pick("ama_fild"); F2: setarray @c[2],173,134,212,150; Disp("Ayothaya Field",1,2); Pick("ayo_fild"); F3: Restrict("RE"); setarray @c[2],193,220,220,187; Disp("Bifrost Field",1,2); Pick("bif_fild"); F4: Restrict("RE"); setarray @c[2],74,32; Disp("Brasilis Field",1,1); Pick("bra_fild"); F5: Restrict("Pre-RE",5); setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172; Disp("Comodo Field",1,9); Pick("cmd_fild"); F6: Restrict("RE"); setarray @c[2],371,212; Disp("Dewata Field",1,1); Pick("dew_fild"); F7: Restrict("RE"); setarray @c[2],97,314; Disp("Eclage Field",1,1); Pick("ecl_fild"); F8: Restrict("Pre-RE",2,10); setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200; Disp("Einbroch Field",1,10); Pick("ein_fild"); F9: Restrict("RE"); setarray @c[2],143,132,143,217; Disp("El Dicastes Field",1,2); Pick("dic_fild"); F10: Restrict("Pre-RE",13,15); setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185; Disp("Geffen Field",0,14); Pick("gef_fild",1); F11: setarray @c[2],220,227; Disp("Gonryun Field",1,1); Pick("gon_fild"); F12: Restrict("Pre-RE",3,7); setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197; Disp("Hugel Field",1,7); Pick("hu_fild"); F13: setarray @c[2],240,179,185,235,240,226; Disp("Lighthalzen Field",1,3); Pick("lhz_fild"); F14: setarray @c[2],229,187; Disp("Louyang Field",1,1); Pick("lou_fild"); F15: setarray @c[2],115,145; Disp("Lutie Field",1,1); Pick("xmas_fild"); F16: Restrict("RE"); setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); F17: setarray @c[2],35,236,35,262,84,365; Disp("Manuk Field",1,3); Pick("man_fild"); F18: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208; Disp("Mjolnir Field",1,12); Pick("mjolnir_"); F19: setarray @c[2],82,104,131,147; Disp("Moscovia Field",1,2); Pick("mosk_fild"); F20: setarray @c[2],215,229,167,234; Disp("Niflheim Field",1,2); Pick("nif_fild"); F21: Restrict("Pre-RE",5,11); setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150; Disp("Payon Forest",1,11); Pick("pay_fild"); F22: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164; Disp("Prontera Field",0,11); Pick("prt_fild",1); F23: Restrict("Pre-RE",2,7,9,10,11,13); setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197; Disp("Rachel Field",1,13); Pick("ra_fild"); F24: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195; Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22"); Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22"); F25: setarray @c[2],175,186,236,184,188,204; Disp("Splendide Field",1,3); Pick("spl_fild"); F26: setarray @c[2],217,206,223,221,237,215,202,197; Disp("Umbala Field",1,4); Pick("um_fild"); F27: Restrict("Pre-RE",5); setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307; Disp("Veins Field",1,7); Pick("ve_fild"); F28: Restrict("Pre-RE",5,10); setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304; Disp("Yuno Field",1,12); Pick("yuno_fild"); // -------------------------------------------------- Dungeons: // -------------------------------------------------- menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3, "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D41, "Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9, "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13, "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16, "Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23, "Magma Dungeon",D24, "Malangdo Dungeon",D25, "Moscovia Dungeon",D26, "Nidhogg's Dungeon",D27, "Odin Temple",D28, "Orc Dungeon",D29, "Payon Dungeon",D30, "Pyramids",D31, "Rachel Sanctuary",D32, "Scaraba Hole",D33, "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36, "Thor Volcano",D37, "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40; D1: setarray @c[2],261,272,275,270,116,27; Disp("Abyss Lakes",1,3); Pick("abyss_"); D2: setarray @c[2],228,11,34,41,119,14; Disp("Amatsu Dungeon",1,3); Pick("ama_dun"); D3: setarray @c[2],35,262,168,170; Disp("Anthell",1,2); Pick("anthell"); D4: setarray @c[2],275,19,24,26; Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun"); D5: setarray @c[2],266,67,255,244,23,260; Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3"); D6: Restrict("RE",4); setarray @c[2],150,288,150,18,140,134,244,52; Disp("Bio Lab",1,4); Pick("lhz_dun"); D7: Restrict("RE"); setarray @c[2],87,47,262,262; Disp("Brasilis Dungeon",1,2); Pick("bra_dun"); D8: Restrict("RE",6); setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187; Disp("Byalan Dungeon",1,6); Pick("iz_dun",1); D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74; Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4"); Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04"); D10: setarray @c[2],52,17,381,343,302,262; Disp("Coal Mines",1,3); Pick("mjo_dun"); D11: setarray @c[2],131,247,19,19,180,169,100,92; Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4"); D12: setarray @c[2],51,14,150,11,120,10; Disp("Cursed Abbey",1,3); Pick("abbey"); D13: Restrict("RE"); setarray @c[2],285,160,299,29; Disp("Dewata Dungeon",1,2); Pick("dew_dun"); D14: setarray @c[2],22,14,292,290; Disp("Einbroch Dungeon",1,2); Pick("ein_dun"); D15: setarray @c[2],40,103,203,34,266,168,130,272; Disp("Gefenia",1,4); Pick("gefenia",0); D16: setarray @c[0],104,99,115,236,106,132,203,200; Disp("Geffen Dungeon",1,4); Pick("gef_dun",1); D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14; Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2"); Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1"); D18: setarray @c[2],153,53,28,113,68,16; Disp("Gonryun Dungeon",1,3); Pick("gon_dun"); D19: setarray @c[2],176,7,93,20,23,8; Disp("Hidden Dungeon",1,3); Pick("prt_maze"); D20: setarray @c[2],157,14,151,155,149,22,33,158; Disp("Ice Dungeon",1,4); Pick("ice_dun"); D21: setarray @c[2],140,51,53,247,37,63,150,285; Disp("Entrance:Juperos 1:Juperos 2:Core"); Pick("","jupe_cave","juperos_01","juperos_02","jupe_core"); D22: setarray @c[2],28,226,41,198; Disp("Kiel Dungeon",1,2); Pick("kh_dun"); D23: setarray @c[2],218,196,282,20,165,38; Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun"); D24: setarray @c[2],126,68,47,30; Disp("Magma Dungeon",1,2); Pick("mag_dun"); D25: Restrict("RE"); setarray @c[2],33,230; Disp("Malangdo Dungeon",1,1); Pick("mal_dun"); D26: setarray @c[2],189,48,165,30,32,135; Disp("Moscovia Dungeon",1,3); Pick("mosk_dun"); D27: setarray @c[2],61,239,60,271; Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun"); D28: setarray @c[2],298,167,224,149,266,280; Disp("Odin Temple",1,3); Pick("odin_tem"); D29: setarray @c[2],32,170,21,185; Disp("Orc Dungeon",1,2); Pick("orcsdun"); D30: setarray @c[0],21,183,19,33,19,63,155,159,201,204; Disp("Payon Dungeon",1,5); Pick("pay_dun",1); D31: Restrict("RE",7,8); setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8,94,96,192,8; Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2:Basement 1 - Nightmare Mode:Basement 2 - Nightmare Mode"); Pick("","moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06","moc_prydn1","moc_prydn2"); D32: setarray @c[2],140,11,32,21,8,149,204,218,150,9; Disp("Rachel Sanctuary",1,5); Pick("ra_san"); D33: Restrict("RE"); setarray @c[2],364,44,101,141; Disp("Scaraba Hole",1,2); Pick("dic_dun"); D34: setarray @c[2],288,9,149,81,210,54,10,222,100,99; Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5"); D35: setarray @c[2],69,24,102,27; Disp("Sunken Ship",1,2); Pick("treasure"); D36: setarray @c[2],150,39,150,136,220,158,59,143,62,11,89,221,35,166,93,148,29,107,159,138,19,20,130,52; Disp("Thanatos Tower",1,12); Pick("tha_t"); D37: setarray @c[2],21,228,75,205,34,272; Disp("Thor Volcano",1,3); Pick("thor_v"); D38: setarray @c[2],205,15,129,133; Disp("Toy Factory",1,2); Pick("xmas_dun"); D39: setarray @c[2],154,49,148,261,132,189,100,192; Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun"); D40: Restrict("Pre-RE",1,2); setarray @c[2],42,31,48,30,204,78; Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain"); Pick("","um_dun01","um_dun02","yggdrasil01"); D41: Restrict("RE"); setarray @c[2],57,13,64,88,45,14,26,23; Disp("Bifrost Tower",1,4); Pick("ecl_tdun"); // -------------------------------------------------- Castles: // -------------------------------------------------- menu "Aldebaran Castles",C1, "Geffen Castles",C2, "Payon Castles",C3, "Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6; C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg"); Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld"); C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87; Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz"); Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13"); C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266; Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill"); Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld"); C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul"); Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld"); C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107; Disp("Mardol:Cyr:Horn:Gefn:Banadis"); Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld"); C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315; Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir"); Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld"); // -------------------------------------------------- Guild_Dungeons: // -------------------------------------------------- menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4, "Arunafeltz",G5, "Schwaltzvalt",G6; G1: Restrict("RE",2,3); setarray @c[2],119,93,119,93,120,130; Disp("Baldur F1:Baldur F2:Hall of Abyss"); Pick("","gld_dun01","gld_dun01_2","gld2_pay"); G2: Restrict("RE",2,3); setarray @c[2],39,161,39,161,147,155; Disp("Luina F1:Luina F2:Hall of Abyss"); Pick("","gld_dun02","gld_dun02_2","gld2_ald"); G3: Restrict("RE",2,3); setarray @c[2],50,44,50,44,140,132; Disp("Valkyrie F1:Valkyrie F2:Hall of Abyss"); Pick("","gld_dun03","gld_dun03_2","gld2_prt"); G4: Restrict("RE",2,3); setarray @c[2],116,45,116,45,152,118; Disp("Britoniah F1:Britoniah F2:Hall of Abyss"); Pick("","gld_dun04","gld_dun04_2","gld2_gef"); G5: Go("arug_dun01",199,195); G6: Go("schg_dun01",200,124); // -------------------------------------------------- Instances: // -------------------------------------------------- menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3, "Endless Tower",I4, "Hazy Forest",I5, "Malangdo Culvert",I6, "Nidhoggur's Nest",I7, "Octopus Cave",I8, "Old Glast Heim",I9, "Orc's Memory",I10, "Sealed Shrine",I11, "Wolfchev's Laboratory",I12; I1: Restrict("RE"); Go("ma_scene01",172,175); I2: Restrict("RE"); Go("ma_dun01",151,8); I3: Restrict("RE"); Go("ma_fild02",316,317); I4: Go("e_tower",72,112); I5: Restrict("RE"); Go("bif_fild01",161,334); I6: Restrict("RE"); Go("mal_in01",164,21); I7: Go("nyd_dun02",95,193); I8: Restrict("RE"); Go("mal_dun01",152,230); I9: Restrict("RE"); Go("glast_01",204,268); I10: Go("gef_fild10",240,198); I11: Go("monk_test",306,143); I12: Restrict("RE"); Go("lhz_dun04",148,269); // -------------------------------------------------- Special: // -------------------------------------------------- menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Eden Group Headquarters",S4, "Gonryun Arena",S5, "Izlude Arena",S6, "Monster Race Arena",S7, "Turbo Track",S8; S1: Go("auction_01",22,68); S2: Go("bat_room",154,150); S3: Go("cmd_in02",179,129); S4: Restrict("RE"); Go("moc_para01",31,14); S5: Go("gon_test",48,10); S6: Go("arena_room",100,88); S7: Go("p_track01",62,41); S8: Go("turbo_room",99,114); } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- alb2trea,57,70,6 duplicate(Warper) Warper#tre 4_F_VALKYRIE alberta,28,240,4 duplicate(Warper) Warper#alb 4_F_VALKYRIE aldebaran,145,118,4 duplicate(Warper) Warper#alde 4_F_VALKYRIE amatsu,203,87,4 duplicate(Warper) Warper#ama 4_F_VALKYRIE ayothaya,209,169,6 duplicate(Warper) Warper#ayo 4_F_VALKYRIE comodo,194,158,4 duplicate(Warper) Warper#com 4_F_VALKYRIE einbech,59,38,6 duplicate(Warper) Warper#einbe 4_F_VALKYRIE einbroch,69,202,4 duplicate(Warper) Warper#einbr 4_F_VALKYRIE gef_fild10,71,339,4 duplicate(Warper) Warper#orc 4_F_VALKYRIE geffen,124,72,4 duplicate(Warper) Warper#gef 4_F_VALKYRIE glast_01,372,308,4 duplicate(Warper) Warper#glh 4_F_VALKYRIE gonryun,162,122,4 duplicate(Warper) Warper#gon 4_F_VALKYRIE hugel,101,151,4 duplicate(Warper) Warper#hug 4_F_VALKYRIE izlu2dun,110,92,4 duplicate(Warper) Warper#izd 4_F_VALKYRIE izlude,134,150,4 duplicate(Warper) Warper#izl 4_F_VALKYRIE //Pre-RE: (132,120) jawaii,253,138,4 duplicate(Warper) Warper#jaw 4_F_VALKYRIE lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 4_F_VALKYRIE louyang,208,103,6 duplicate(Warper) Warper#lou 4_F_VALKYRIE manuk,274,146,6 duplicate(Warper) Warper#man 4_F_VALKYRIE mid_camp,216,288,4 duplicate(Warper) Warper#mid 4_F_VALKYRIE mjolnir_02,85,364,4 duplicate(Warper) Warper#mjo 4_F_VALKYRIE moc_ruins,64,164,4 duplicate(Warper) Warper#moc 4_F_VALKYRIE morocc,159,97,4 duplicate(Warper) Warper#mor 4_F_VALKYRIE moscovia,229,191,4 duplicate(Warper) Warper#mos 4_F_VALKYRIE nameless_n,259,213,4 duplicate(Warper) Warper#nam 4_F_VALKYRIE niflheim,205,179,4 duplicate(Warper) Warper#nif 4_F_VALKYRIE pay_arche,42,134,4 duplicate(Warper) Warper#arc 4_F_VALKYRIE payon,182,108,4 duplicate(Warper) Warper#pay 4_F_VALKYRIE prontera,159,192,4 duplicate(Warper) Warper#prt 4_F_VALKYRIE prt_fild05,279,223,6 duplicate(Warper) Warper#cul 4_F_VALKYRIE rachel,135,116,4 duplicate(Warper) Warper#rac 4_F_VALKYRIE splendide,205,153,4 duplicate(Warper) Warper#spl 4_F_VALKYRIE thor_camp,249,76,4 duplicate(Warper) Warper#thor 4_F_VALKYRIE umbala,106,150,3 duplicate(Warper) Warper#umb 4_F_VALKYRIE veins,214,123,4 duplicate(Warper) Warper#ve 4_F_VALKYRIE xmas,150,136,6 duplicate(Warper) Warper#xmas 4_F_VALKYRIE yuno,162,47,4 duplicate(Warper) Warper#yuno 4_F_VALKYRIE // -------------------------------------------------- // Duplicates (Renewal): // -------------------------------------------------- brasilis,201,222,4 duplicate(Warper) Warper#bra 4_F_VALKYRIE dewata,204,186,6 duplicate(Warper) Warper#dew 4_F_VALKYRIE dicastes01,194,194,6 duplicate(Warper) Warper#dic 4_F_VALKYRIE ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 4_F_VALKYRIE malangdo,134,117,6 duplicate(Warper) Warper#mal 4_F_VALKYRIE malaya,231,204,4 duplicate(Warper) Warper#ma 4_F_VALKYRIE mora,57,152,4 duplicate(Warper) Warper#mora 4_F_VALKYRIE
Not sure if this is what you wanted.
-
- script Sample FAKE_NPC,{ OnInit: detachrid(); .cdtime = 24*60*60; for (set .accid, 2000009; .accid<=2000030 ; .accid++) end; OnPCLoginEvent: attachrid(.accid); if (#gotone + .cdtime> gettimetick(2)) { dispbottom "Daily reward have been distributed"; end; } else { dispbottom "An apple a day takes the doctor away."; getitem Apple,20; #gotone = gettimetick(2); end; } }
-
1 hour ago, AnnieRuru said:not working
I equip a 'Secular_Mission' ItemID 2127, and expecting it to list all as 25,
prontera,155,185,5 script kjhdsfks 1_F_MARIA,{ for ( .@i = RC_Formless; .@i <= RC_Player; ++.@i ) dispbottom race_resist(.@i) +""; end; }
but it display all in 0 instead
a few places are wrong in your plugin, but are actually correct in wolfie's version
1. the constant case-sensitivity
wolfie's constants are correct, but yours are wrong
should follow the constants.md file, not the source file
https://github.com/HerculesWS/Hercules/blob/stable/doc/constants.md#elements### Elements - `Ele_Neutral`: 0 - `Ele_Water`: 1 - `Ele_Earth`: 2 - `Ele_Fire`: 3 - `Ele_Wind`: 4 - `Ele_Poison`: 5 - `Ele_Holy`: 6 - `Ele_Dark`: 7 - `Ele_Ghost`: 8 - `Ele_Undead`: 9 - `Ele_All`: 255 ### Races - `RC_Formless`: 0 - `RC_Undead`: 1 - `RC_Brute`: 2 - `RC_Plant`: 3 - `RC_Insect`: 4 - `RC_Fish`: 5 - `RC_Demon`: 6 - `RC_DemiHuman`: 7 - `RC_Angel`: 8 - `RC_Dragon`: 9 - `RC_Player`: 10 - `RC_Boss`: 11 - `RC_NonBoss`: 12 - `RC_NonDemiHuman`: 14 - `RC_NonPlayer`: 15 - `RC_DemiPlayer`: 16 - `RC_NonDemiPlayer`: 17 - `RC_All`: 255
2. your plugin stop at RC_Player, which is 10, but I tested with 'Secular_Mission' which has
Script: <" bonus2 bSubRace, RC_All, 25; ">
RC_ALL is 255 ... lolThank you for pointing it out. updated to ver 1.1
-
race_resist
A simple plugin that adds race_resist() into your emulator (Checks race resist of a player).
//===== Description ========================================== //= Checks how much resistance a character has to a particular // race. // //= race_resist(<type>{, <account id>}); //= E.g. race_resist(RC_Player); //= E.g. race_resist(RC_Player, getcharid(CHAR_ID_ACCOUNT));
Its just actually a rip off plugin from @bWolfie's check_resist() plugin full credits goes to him.
-
Submitter
-
Submitted04/11/19
-
Category
banhelba2019 reacted to this -
-
Just now, Dastgir said:Any Logs showing line number of leaks?
Spoiler0001 : map.c line 6036 size 392 address 0x0x56448847a61c
0002 : map.c line 6036 size 392 address 0x0x56448847a7cc
0003 : map.c line 6036 size 392 address 0x0x56448847a97c
0004 : map.c line 6036 size 392 address 0x0x56448847ab2c
0005 : map.c line 6036 size 392 address 0x0x56448847acdc
0006 : map.c line 6036 size 392 address 0x0x56448847ae8c
0007 : map.c line 6036 size 392 address 0x0x56448847b03c
0008 : map.c line 6036 size 392 address 0x0x56448847b1ec
0009 : map.c line 6036 size 392 address 0x0x56448847b39c
0010 : map.c line 6036 size 392 address 0x0x56448847b54c
0011 : map.c line 6036 size 392 address 0x0x56448847b6fc
0012 : map.c line 6036 size 392 address 0x0x56448847b8ac
0013 : map.c line 6036 size 392 address 0x0x56448847ba5c
0014 : map.c line 6036 size 392 address 0x0x56448847bc0c
0015 : map.c line 6036 size 392 address 0x0x56448847bdbc
0016 : script.c line 21291 size 8 address 0x0x56448a69c05c
0017 : script.c line 21291 size 8 address 0x0x56448a69c0bc
0018 : script.c line 21291 size 8 address 0x0x56448a69c11c
0019 : script.c line 21291 size 8 address 0x0x56448a69c14c
0020 : script.c line 21291 size 8 address 0x0x56448a69c1dc
0021 : script.c line 21291 size 8 address 0x0x56448a9308dc
0022 : script.c line 21291 size 8 address 0x0x56448a93093c
0023 : script.c line 21291 size 8 address 0x0x56448a93099c
0024 : script.c line 21291 size 8 address 0x0x56448a9309cc
0025 : script.c line 21291 size 8 address 0x0x56448a930a5c
0026 : script.c line 21291 size 8 address 0x0x56448ad2dbac
0027 : script.c line 21291 size 8 address 0x0x56448ad2dc0c
0028 : script.c line 21291 size 8 address 0x0x56448ad2dc6c
0029 : script.c line 21291 size 8 address 0x0x56448ad2dc9c
0030 : script.c line 21291 size 8 address 0x0x56448ad2dd2c -
In file included from marketclone.c:55:0: marketclone.c: In function ‘plugin_init’: ../plugins/HPMHooking.h:49:11: error: ‘HPMHOOK_pre_clif_charnameack’ undeclared (first use in this function); did you mean ‘HPMHOOK_pre_clif_charnameupdate’? (void)((HPMHOOK_pre_ ## ifname ## _ ## funcname)0 == (hook)), \ ^ marketclone.c:493:2: note: in expansion of macro ‘addHookPre’ addHookPre(clif, charnameack, clif_charnameack_pre); ^~~~~~~~~~ ../plugins/HPMHooking.h:49:11: note: each undeclared identifier is reported only once for each function it appears in (void)((HPMHOOK_pre_ ## ifname ## _ ## funcname)0 == (hook)), \ ^ marketclone.c:493:2: note: in expansion of macro ‘addHookPre’ addHookPre(clif, charnameack, clif_charnameack_pre); ^~~~~~~~~~ ../plugins/HPMHooking.h:49:51: error: expected ‘)’ before numeric constant (void)((HPMHOOK_pre_ ## ifname ## _ ## funcname)0 == (hook)), \ ^ marketclone.c:493:2: note: in expansion of macro ‘addHookPre’ addHookPre(clif, charnameack, clif_charnameack_pre); ^~~~~~~~~~ ../plugins/HPMHooking.h:49:63: warning: left-hand operand of comma expression ha s no effect [-Wunused-value] (void)((HPMHOOK_pre_ ## ifname ## _ ## funcname)0 == (hook)), \ ^ marketclone.c:493:2: note: in expansion of macro ‘addHookPre’ addHookPre(clif, charnameack, clif_charnameack_pre); ^~~~~~~~~~
I think the plugin isn't compatible with the latest herc?
-
I don't know if its just me or others get it too but the showscript command gives memory leaks
-
-
3 hours ago, monchee said:I'm pretty sure it's similar, just wondering if there is any change up to 2019. The wiki page was last edited 2015
if its just the installation then there's no changes i think been using the same method for the past few years
-
-
Hello. I found this src edit on rathena by anacondaqq
Quote// Blocks all guild skills which have a common delay time. int guild_block_skill_end(int tid, unsigned int tick, int id, intptr_t data) { struct guild *g; char output[128]; int idx = battle_config.guild_skills_separed_delay ? (int)data - GD_SKILLBASE : 0; if( (g = guild_search(id)) == NULL ) return 1; if( idx < 0 || idx >= MAX_GUILDSKILL ) { ShowError("guild_block_skill_end invalid skill_id %d.\n", (int)data); return 0; } if( tid != g->skill_block_timer[idx] ) { ShowError("guild_block_skill_end %d != %d.\n", g->skill_block_timer[idx], tid); return 0; } HERE ---------->>>>> sprintf(output, "%s : Guild Skill %s Ready!!", g->name, skill_get_desc((int)data)); g->skill_block_timer[idx] = INVALID_TIMER; clif_guild_message(g, 0, output, strlen(output)); return 1; }
It notifies the guild master and members if the guild skill is ready to use and if not it'll display the time in minutes:seconds before it is available again.
May i request a plugin form of this thats working on the latest version of herc?
Thank you in advance
-
3 hours ago, thanna said:same problem that I got mate. Can somebody help us please.
Thanks in advance.mind telling your client's date?
-
40 minutes ago, AnnieRuru said:almost similar to this
#include "common/hercules.h" #include "map/pc.h" #include "map/atcommand.h" #include "common/timer.h" #include "common/memmgr.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "die_delay", SERVER_TYPE_MAP, "x_O", HPM_VERSION, }; ACMD(kill) { if ( DIFF_TICK( timer->gettick(), sd->canlog_tick ) < battle->bc->prevent_logout ) { char msg[CHAT_SIZE_MAX]; safesnprintf( msg, CHAT_SIZE_MAX, "There is a %d seconds delay of using this command to kill the character again", battle->bc->prevent_logout /1000 ); clif->message( fd, msg ); return false; } status_kill( &sd->bl ); clif->message( sd->fd, msg_fd( fd, 13 )); // A pity! You've died. if ( fd != sd->fd ) clif->message( fd, msg_fd( fd, 14 )); // Character killed. return true; } HPExport void plugin_init (void) { addAtcommand( "kill", kill ); }
this assume your prevent_logout in your battle_config has default setting
// Prevent logout of players after being hit for how long (in ms, 0 disables)? prevent_logout: 10000 // When should the server prevent a player from logging out? Have no effect if prevent_logout is disabled. (Note 3) // Official servers prevent players from logging out after attacking, casting skills, and taking damage. // 0 = Players can always logout // 1 = Prevent logout on login // 2 = Prevent logout after attacking // 4 = Prevent logout after casting skill // 8 = Prevent logout after being hit prevent_logout_trigger: 14
prevent_logout_trigger have to at least has 2+8
Thank you
-
On 3/16/2019 at 5:46 PM, MikZ said:Hi!
May I request a sample random prize giver.
What I'm looking for is.This npc will give all 3 set 1 type of item from set A,B to C randomly, with random number of pieces too.
Set A: random (1x,10x) pcs
random :656 , 657 , 505 , 645 , 506 , 14510
Set B: random (5x,15x) pcs
random :656 , 657 , 505 , 645 , 506 , 14510
Set C: random (10x,20x) pcs
random :656 , 657 , 505 , 645 , 506 , 14510
please help me.
thanks!
Like this?
prontera,158,167,3 script Sample 4_M_SIT_NOVICE,{ if (#gotreward + .next_take> gettimetick(2)) { mes "[Random Item Giver]"; mes "Please talk to me after 24 hours."; close; } else { set .random1,rand(getarraysize (.count1)); set .random2,rand(getarraysize (.count2)); set .random3,rand(getarraysize (.count3)); mes "[Random Item Giver]"; mes "Have some of these!"; getitem .item[rand(getarraysize (.item))],.count1[.random1]; getitem .item[rand(getarraysize (.item))],.count2[.random2]; getitem .item[rand(getarraysize (.item))],.count3[.random3]; #gotreward = gettimetick(2); next; close; } OnInit: .next_take = 24*60*60; setarray .item[0],656,657,505,645,506,14510; setarray .count1[0],1,10; setarray .count2[0],5,15; setarray .count3[0],10,20; end; }
Edit:
Thought it was 1-10 , 5-15 , and 10-20 instead of 1,10 5,15 and 10,20 -
https://github.com/HerculesWS/Hercules/blob/stable/npc/custom/quests/quest_shop.txt try using this one?
setarray .Shops$[1],"Headgears","Weapons","Other"; Where Shop #1 is Headgears, #2 Weapons, #3 Other Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...});
Sample:
Add(1,909,1,0,0,7179,1); Reward to be given: Jellopy Amount: 1 Zeny needed: 0 Cashpoints needed: 0 required item(s):Proof of donation Amount : 1
-
Hello, I would like to request a plugin that delays the use of @die when being attacked / attacking.
thank you in advance -
2 hours ago, Virtue said:hitdelay.c:105:94: error: unknown type name 'clr_type' hitdelay.c: In function 'plugin_init': hitdelay.c:208:2: error: 'pc_setpos_delay' undeclared (first use in this function) hitdelay.c:208:2: note: each undeclared identifier is reported only once for each function it appears in hitdelay.c:208:2: warning: left-hand operand of comma expression has no effect [-Wunused-value]
Hit delay error.
Find
int pc_setpos_delay(struct map_session_data **sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype)
and change it to
int pc_setpos_delay(struct map_session_data **sd, unsigned short *map_index, int *x, int *y, enum clr_type *clrtype)
-
6 hours ago, thanna said:did someone solve this problem with 2015 client?
Try adding the sprite in jobidentity.lub too
-
26 minutes ago, 4144 said:in plugin need replace c
clr_type
to
enum clr_type
Oh thanks
-
19 minutes ago, Myriad said:Make sure you get auraset file from here: https://github.com/dastgirp/HPM-Plugins
Is your Hercules updated? Since that error only should happen if this code missing from your clif.h
enum clr_type { CLR_OUTSIGHT = 0, CLR_DEAD, CLR_RESPAWN, CLR_TELEPORT, CLR_TRICKDEAD, };
Yep i just got it yesterday both the plugin and emulator from git
yep there's a list of clr_type in my clif.h -
Can someone help me with this?
Parox Design/Coding Services - Flux CP Design & Integration | Patcher Design | Loading Screens | User Interface
in Paid Services
Posted
He is very helpful and easy work with. He knows what he's doing and can make a client very happy with the outcome of the project. ++ he is online 24/7