Jump to content

KoolKat29

Members
  • Posts

    90
  • Joined

  • Last visited

Everything posted by KoolKat29

  1. edit: deleted. I think there is other way. global_reg_value? http://rathena.org/board/topic/75274-getting-the-char-name-of-a-specified-char-id/
  2. if( battle_config.vs_traps_bctall && map_flag_vs(src->m) && (src->type&battle_config.vs_traps_bctall) ) target = (BCT_NOGUILD & BCT_ENEMY & BCT_NOPARTY); gvg_traps_target_all: 1 then recompile
  3. Ok. I like the idea. Maybe I'll try to use this on my server too. And replace the warps to the outside of dungeon's 1st floors. And share it here.
  4. //===== eAthena Script ======================================= //= Euphy's Warper //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.2 //===== Description: ========================================= //= A complete - but very condensed - warper script. //= Coordinates written largely by Tekno-Kanix and ToastOfDoom. //============================================================ - script Warper -1,{ function Go; function Disp; function Pick; // -------------------------------------------------- // Main Menu: // -------------------------------------------------- menu "Last Warp ^777777["+lastwarp$+"]^000000",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, " ~ Guild Castles",Castles, " ~ Special Areas",Special; if (lastwarp$ == "") dispbottom "You have not warped anywhere yet."; else warp lastwarp$,lastwarpx,lastwarpy; end; // ------------------- 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. // * Disp("","<Option 1>:<Option 2>:<etc.>"); // * Pick("","<map1>","<map2>","<etc.>"); // ~ Manual menu and map selection. // // 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 { warp getarg(0),getarg(1,0),getarg(2,0); getmapxy(lastwarp$,lastwarpx,lastwarpy,0); end; } function Disp { set @menu$,""; if(getarg(0)=="") { set @menu$,getarg(1); return; } for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) set @menu$, @menu$+getarg(0)+" "+.@i+":"; return; } function Pick { if(getarg(0)=="") { set .@i, select(@menu$); warp getarg(.@i),@c[.@i*2],@c[.@i*2+1]; } else { set .@i, select(@menu$)-getarg(1,0); warp getarg(0)+((.@i<10)?"0":"")+.@i,@c[.@i*2],@c[.@i*2+1]; } getmapxy(lastwarp$,lastwarpx,lastwarpy,0); end; } // -------------------------------------------------- Towns: // -------------------------------------------------- menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5, "Brasilis",T6, "Comodo",T7, "Dewata",T33, "Eclage",T34, "Einbech",T8, "Einbroch",T9, "El Dicastes",T10, "Geffen",T11, "Gonryun",T12, "Hugel",T13, "Izlude",T14, "Jawaii",T15, "Lighthalzen",T16, "Louyang",T17, "Lutie",T18, "Malangdo",T35, "Malaya",T36, "Manuk",T19, "Midgarts Expedition Camp",T20, "Mora",T21, "Morroc",T22, "Moscovia",T23, "Nameless Island",T24, "Niflheim",T25, "Payon",T26, "Rachel",T27, "Splendide",T28, "Thor Camp",T29, "Umbala",T30, "Veins",T31, "Yuno",T32; 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: Go("brasilis",195,220); T7: Go("comodo",209,143); T8: Go("einbech",138,243); T9: Go("einbroch",64,200); T10: Go("dicastes01",197,187); T11: Go("geffen",120,68); T12: Go("gonryun",160,121); T13: Go("hugel",96,145); T14: Go("izlude",128,114); T15: Go("jawaii",213,230); T16: Go("lighthalzen",158,92); T17: Go("louyang",217,100); T18: Go("xmas",147,134); T19: Go("manuk",260,175); T20: Go("mid_camp",210,288); T21: Go("mora",111,97); T22: Go("morocc",156,93); T23: Go("moscovia",219,193); T24: Go("nameless_n",256,215); T25: Go("niflheim",202,174); T26: Go("payon",179,100); T27: Go("rachel",130,111); T28: Go("splendide",200,153); T29: Go("thor_camp",246,68); T30: Go("umbala",127,128); T31: Go("veins",216,123); T32: Go("yuno",157,51); T33: Go("dewata",199,179); T34: Go("eclage",111,39); T35: Go("malangdo",224,184); T36: Go("malaya",212,206); // -------------------------------------------------- Fields: // -------------------------------------------------- menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3, "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F26, "Eclage Fields",F27, "Einbroch Fields",F6, "El Dicastes Fields",F7, "Geffen Fields",F8, "Gonryun Fields",F9, "Hugel Fields",F10, "Lighthalzen Fields",F11, "Louyang Field",F12, "Lutie Field",F13, "Malaya Fields",F28, "Manuk Fields",F14, "Mjolnir Fields",F15, "Moscovia Fields",F16, "Niflheim Fields",F17, "Payon Forests",F18, "Prontera Fields",F19, "Rachel Fields",F20, "Sograt Deserts",F21, "Splendide Fields",F22, "Umbala Fields",F23, "Veins Fields",F24, "Yuno Fields",F25; 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: setarray @c[2],193,220,220,187; Disp("Bifrost Field",1,2); Pick("bif_fild"); F4: setarray @c[2],74,32; Disp("Brasilis Field",1,1); Pick("bra_fild"); F5: 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: 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"); F7: setarray @c[2],143,132,143,217; Disp("El Dicastes Field",1,2); Pick("dic_fild"); F8: 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); F9: setarray @c[2],220,227; Disp("Gonryun Field",1,1); Pick("gon_fild"); F10: 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"); F11: setarray @c[2],240,179,185,235,240,226; Disp("Lighthalzen Field",1,3); Pick("lhz_fild"); F12: setarray @c[2],229,187; Disp("Louyang Field",1,1); Pick("lou_fild"); F13: setarray @c[2],115,145; Disp("Lutie Field",1,1); Pick("xmas_fild"); F14: setarray @c[2],35,236,35,262,84,365; Disp("Manuk Field",1,3); Pick("man_fild"); F15: 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_"); F16: setarray @c[2],82,104,131,147; Disp("Moscovia Field",1,2); Pick("mosk_fild"); F17: setarray @c[2],215,229,167,234; Disp("Niflheim Field",1,2); Pick("nif_fild"); F18: 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"); F19: 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); F20: 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"); F21: setarray @c[2],219,205,177,206,194,182,184,217,203,213,213,208,224,170,229,177,195,198,209,168,198,216,156,187,185,263,209,219,223,188,206,228,208,238,209,223,85,97,207,202,31,195,38,195; Disp("Sograt Desert",1,22); Pick("moc_fild"); F22: setarray @c[2],175,186,236,184,188,204; Disp("Splendide Field",1,3); Pick("spl_fild"); F23: setarray @c[2],217,206,223,221,237,215,202,197; Disp("Umbala Field",1,4); Pick("um_fild"); F24: 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"); F25: 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"); F26: setarray @c[2],371,212; Disp("Dewata Field",1,1); Pick("dew_fild"); F27: setarray @c[2],97,314; Disp("Eclage Field",1,1); Pick("ecl_fild"); F28: setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); // -------------------------------------------------- Dungeons: // -------------------------------------------------- menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3, "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9, "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D41, "Einbroch Dungeon",D13, "Endless Tower",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",D42, "Moscovia Dungeon",D25, "Nidhogg's Dungeon",D26, "Odin Temple",D27, "Orc Dungeon",D28, "Payon Dungeon",D29, "Pyramids",D30, "Rachel Sanctuary",D31, "Scaraba Hole",D32, "Sealed Shrine",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; Disp("Abyss Lakes",1,1); Pick("abyss_"); D2: setarray @c[2],228,11; Disp("Amatsu Dungeon",1,1); Pick("ama_dun"); D3: setarray @c[2],35,262; Disp("Anthell",1,1); Pick("anthell"); D4: setarray @c[2],275,19; Disp("","Ancient Shrine Maze"); Pick("ayo_dun"); D5: setarray @c[2],266,67; Disp("Beach Dungeon",1,1); Pick("beach_dun"); D6: setarray @c[2],150,288; Disp("Bio Lab",1,1); Pick("lhz_dun"); D7: setarray @c[2],87,47; Disp("Brasilis Dungeon",1,1); Pick("bra_dun"); D8: setarray @c[0],168,168; Disp("Byalan Dungeon",1,1); Pick("iz_dun",1); D9: setarray @c[2],199,159,297,25; Disp("","Clock Tower 1:Basement 1"); Pick("","c_tower1","alde_dun01"); D10: setarray @c[2],52,17; Disp("Coal Mines",1,1); Pick("mjo_dun"); D11: setarray @c[2],131,247; Disp("Culvert",1,1); Pick("prt_sewb1"); D12: setarray @c[2],51,14; Disp("Cursed Abbey",1,1); Pick("abbey"); D13: setarray @c[2],22,14; Disp("Einbroch Dungeon",1,1); Pick("ein_dun"); D14: setarray @c[2],72,112; Disp("","Misty Island"); Pick("","e_tower"); D15: setarray @c[2],40,103; Disp("Gefenia",1,1); Pick("gefenia"); D16: setarray @c[0],104,99; Disp("Geffen Dungeon",1,1); Pick("gef_dun",1); D17: setarray @c[2],375,304,199,29,150,15,147,15,258,255,156,7,12,7,133,271,14,70; Disp("","Entrance:Castle 1:Chivalry 1:Churchyard:Culvert 1:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Prison 1"); Pick("","glast_01","gl_cas01","gl_knt01","gl_chyard","gl_sew01","gl_church","gl_step","gl_dun01","gl_prison"); D18: setarray @c[2],153,53; Disp("Gonryun Dungeon",1,1); Pick("gon_dun"); D19: setarray @c[2],176,7; Disp("Hidden Dungeon",1,1); Pick("prt_maze"); D20: setarray @c[2],157,14; Disp("Ice Dungeon",1,1); Pick("ice_dun"); D21: setarray @c[2],140,51; Disp("","Entrance"); Pick("","jupe_cave"); D22: setarray @c[2],28,226; Disp("Kiel Dungeon",1,1); Pick("kh_dun"); D23: setarray @c[2],218,196; Disp("","The Royal Tomb"); Pick("lou_dun"); D24: setarray @c[2],126,68; Disp("Magma Dungeon",1,1); Pick("mag_dun"); D25: setarray @c[2],189,48; Disp("Moscovia Dungeon",1,1); Pick("mosk_dun"); D26: setarray @c[2],61,239; Disp("Nidhogg's Dungeon",1,1); Pick("nyd_dun"); D27: setarray @c[2],298,167; Disp("Odin Temple",1,1); Pick("odin_tem"); D28: setarray @c[2],32,170; Disp("Orc Dungeon",1,1); Pick("orcsdun"); D29: setarray @c[0],21,183; Disp("Payon Dungeon",1,1); Pick("pay_dun",1); D30: setarray @c[2],192,9,94,96; Disp("","Pyramids 1:Basement 1"); Pick("moc_pryd"); D31: setarray @c[2],140,11; Disp("Rachel Sanctuary",1,1); Pick("ra_san"); D32: setarray @c[2],364,44; Disp("Scaraba Hole",1,1); Pick("dic_dun"); D33: setarray @c[2],306,143; Disp("","Friar Patrick"); Pick("","monk_test"); D34: setarray @c[2],288,9; Disp("Sphinx",1,1); Pick("","in_sphinx1"); D35: setarray @c[2],69,24; Disp("Sunken Ship",1,1); Pick("treasure"); D36: setarray @c[2],150,39; Disp("Thanatos Tower",1,1); Pick("tha_t"); D37: setarray @c[2],21,228,75; Disp("Thor Volcano",1,1); Pick("thor_v"); D38: setarray @c[2],205,15; Disp("Toy Factory",1,1); Pick("xmas_dun"); D39: setarray @c[2],154,49; Disp("","Entrance"); Pick("tur_dun"); D40: setarray @c[2],42,31; Disp("","Carpenter's Shop in the Tree"); Pick("","um_dun01"); D41: setarray @c[2],285,160; Disp("Dewata Dungeon",1,1); Pick("dew_dun"); D42: setarray @c[2],33,230; Disp("Malangdo Dungeon",1,1); Pick("mal_dun"); //GD: setarray @c[2],119,93,39,161,50,44,116,45,199,195,200,124; // Disp("","Baldur:Luina:Valkyrie:Britoniah:Arunafeltz:Schwaltzvalt"); // Pick("","gld_dun01","gld_dun02","gld_dun03","gld_dun04","arug_dun01","schg_dun01"); // -------------------------------------------------- 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"); // -------------------------------------------------- Special: // -------------------------------------------------- menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Gonryun Arena",S4, "Izlude Arena",S5, "Monster Race Arena",S6, "Turbo Track",S7; S1: Go("auction_01",22,68); S2: Go("bat_room",154,150); S3: Go("cmd_in02",179,129); S4: Go("gon_test",48,10); S5: Go("arena_room",100,88); S6: Go("p_track01",62,41); S7: Go("turbo_room",99,114); } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- prontera,159,192,4 duplicate(Warper) Warper#1 811 rachel,135,116,4 duplicate(Warper) Warper#2 811 alberta,28,240,4 duplicate(Warper) Warper#3 811 aldebaran,145,118,4 duplicate(Warper) Warper#4 811 amatsu,203,87,4 duplicate(Warper) Warper#5 811 ayothaya,209,169,6 duplicate(Warper) Warper#6 811 comodo,194,158,4 duplicate(Warper) Warper#7 811 einbech,142,246,4 duplicate(Warper) Warper#8 811 einbroch,69,202,4 duplicate(Warper) Warper#9 811 hugel,101,151,4 duplicate(Warper) Warper#10 811 lighthalzen,151,101,6 duplicate(Warper) Warper#11 811 geffen,124,72,4 duplicate(Warper) Warper#12 811 izlude,132,120,4 duplicate(Warper) Warper#13 811 xmas,150,136,4 duplicate(Warper) Warper#14 811 morocc,159,97,4 duplicate(Warper) Warper#15 811 payon,182,108,4 duplicate(Warper) Warper#16 811 yuno,162,47,4 duplicate(Warper) Warper#17 811 moc_fild04,207,331,4 duplicate(Warper) Warper#18 811 izlu2dun,104,82,4 duplicate(Warper) Warper#19 811 mjolnir_02,85,363,4 duplicate(Warper) Warper#20 811 prt_fild05,273,215,4 duplicate(Warper) Warper#21 811 glast_01,370,308,4 duplicate(Warper) Warper#22 811 yuno_fild03,37,135,4 duplicate(Warper) Warper#23 811 gef_fild10,71,339,4 duplicate(Warper) Warper#24 811 pay_arche,39,135,4 duplicate(Warper) Warper#25 811 moc_ruins,64,166,4 duplicate(Warper) Warper#26 811 moc_fild19,106,97,4 duplicate(Warper) Warper#27 811 alb2trea,73,101,4 duplicate(Warper) Warper#28 811 tur_dun01,148,239,4 duplicate(Warper) Warper#29 811 gonryun,162,122,4 duplicate(Warper) Warper#30 811 louyang,208,103,6 duplicate(Warper) Warper#31 811 umbala,132,130,4 duplicate(Warper) Warper#32 811 brasilis,201,222,4 duplicate(Warper) Warper#33 811 manuk,262,177,4 duplicate(Warper) Warper#34 811 splendide,205,153,4 duplicate(Warper) Warper#35 811 mid_camp,216,288,4 duplicate(Warper) Warper#36 811 dicastes01,194,194,6 duplicate(Warper) Warper#37 811 mora,110,100,4 duplicate(Warper) Warper#38 811 moscovia,216,196,6 duplicate(Warper) Warper#39 811 nameless_n,259,213,4 duplicate(Warper) Warper#40 811 niflheim,205,179,4 duplicate(Warper) Warper#41 811 thor_camp,249,76,4 duplicate(Warper) Warper#42 811 veins,214,123,4 duplicate(Warper) Warper#43 811 dewata,194,178,6 duplicate(Warper) Warper#44 811 eclage,107,37,4 duplicate(Warper) Warper#45 811 malaya,210,205,4 duplicate(Warper) Warper#46 811 malangdo,220,188,6 duplicate(Warper) Warper#47 811 Try This.. modified the dungeon maps only and removed by (//) the Guild dungeon warps However, I didnt change the warps from first level to the outside (or entrance) of the Dungeon's first level
  5. I'll try to modify this now. Since Im free today
  6. you mean map levels of every field and dungeons? from town to be warped at the entrance of every 1st level of the map only? From this: D1: setarray @c[2],261,272,275,270,116,27; Disp("Abyss Lakes",1,3); Pick("abyss_"); To this: D1: setarray @c[2],261,272; Disp("Abyss Lakes",1,1); Pick("abyss_"); From this: F21: setarray @c[2],219,205,177,206,194,182,184,217,203,213,213,208,224,170,229,177,195,198,209,168,198,216,156,187,185,263,209,219,223,188,206,228,208,238,209,223,85,97,207,202,31,195,38,195; Disp("Sograt Desert",1,22); Pick("moc_fild"); To this: F21: setarray @c[2],219,205; Disp("Sograt Desert",1,1); Pick("moc_fild"); And for other with something: Like this: 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"); To this: D9: setarray @c[2],199,159,297,25,127,169,277,178,268,74; Disp("","Clock Tower 1:Basement 1"); Pick("","c_tower1","alde_dun01");
  7. Always check for bug report http://rathena.org/board/tracker/issue-7734-character-selection-bug/
  8. You may use Judas clients here: http://rathena.org/board/topic/70962-recommended-client-setup/
  9. Here: http://rathena.org/board/tracker/issue-7734-character-selection-bug/
  10. You mean to say, only GM are allowed to view who own the specified item (Only if available or someone owned it) either by Character name or Account name?
  11. - script ItemRank -1,{ OnInit: set .req_gmlvl, 99; bindatcmd("itemrank",strnpcinfo(3)+"::OnItemrank",99,99); end; OnItemrank: mes "[Item Check Menu]"; mes "----------------------------------"; mes ""; mes "For GM Staffs Only."; mes "----------------------------------"; next; if(getgmlevel() >= .req_gmlvl) { switch( select( "Manual Check:Ranking")) { case 1: mes "Input Item Number"; next; input .@input_id; //sql //inventory query_sql ("SELECT SUM(`amount`) FROM `inventory` WHERE `nameid` = '"+.@input_id+"'", .@inv_amount); //storage query_sql ("SELECT SUM(`amount`) FROM `storage` WHERE `nameid` = '"+.@input_id+"'", .@store_amount); //guild storage query_sql ("SELECT SUM(`amount`) FROM `guild_storage` WHERE `nameid` = '"+.@input_id+"'", .@guild_amount); //carts query_sql ("SELECT SUM(`amount`) FROM `cart_inventory` WHERE `nameid` = '"+.@input_id+"'", .@cart_amount); //mail query_sql ("SELECT SUM(`amount`) FROM `mail` WHERE `nameid` = '"+.@input_id+"'", .@mail_amount); set .@total,.@inv_amount + .@store_amount + .@guild_amount + .@cart_amount + .@mail_amount; mes "There are: " + .@total + " available in game."; next; switch( select( "TOP Player Inventory:TOP Account Storage:TOP Guild Storage:TOP Player Cart:TOP Player Mail")) { case 1: query_sql ("SELECT amount , char_id FROM inventory WHERE nameid = "+.@input_id+" ORDER BY amount DESC LIMIT 5", .@top_amount, .@top_char); mes "1. "+.@top_char[0]+" "+.@top_amount[0]+" "+getitemname(.@input_id)+" "; mes "2. "+.@top_char[1]+" "+.@top_amount[1]+" "+getitemname(.@input_id)+" "; mes "3. "+.@top_char[2]+" "+.@top_amount[2]+" "+getitemname(.@input_id)+" "; mes "4. "+.@top_char[3]+" "+.@top_amount[3]+" "+getitemname(.@input_id)+" "; mes "5. "+.@top_char[4]+" "+.@top_amount[4]+" "+getitemname(.@input_id)+" "; close; case 2: query_sql ("SELECT amount , account_id FROM storage WHERE nameid = "+.@input_id+" ORDER BY amount DESC LIMIT 5", .@top_amount, .@top_acc); mes "1. "+.@top_acc[0]+" "+.@top_amount[0]+" "+getitemname(.@input_id)+" "; mes "2. "+.@top_acc[1]+" "+.@top_amount[1]+" "+getitemname(.@input_id)+" "; mes "3. "+.@top_acc[2]+" "+.@top_amount[2]+" "+getitemname(.@input_id)+" "; mes "4. "+.@top_acc[3]+" "+.@top_amount[3]+" "+getitemname(.@input_id)+" "; mes "5. "+.@top_acc[4]+" "+.@top_amount[4]+" "+getitemname(.@input_id)+" "; close; case 3: query_sql ("SELECT amount , guild_id FROM guild_storage WHERE nameid = "+.@input_id+" ORDER BY amount DESC LIMIT 5", .@top_amount, .@top_guild); mes "1. "+.@top_guild[0]+" "+.@top_amount[0]+" "+getitemname(.@input_id)+" "; mes "2. "+.@top_guild[1]+" "+.@top_amount[1]+" "+getitemname(.@input_id)+" "; mes "3. "+.@top_guild[2]+" "+.@top_amount[2]+" "+getitemname(.@input_id)+" "; mes "4. "+.@top_guild[3]+" "+.@top_amount[3]+" "+getitemname(.@input_id)+" "; mes "5. "+.@top_guild[4]+" "+.@top_amount[4]+" "+getitemname(.@input_id)+" "; close; case 4: query_sql ("SELECT amount , char_id FROM cart_inventory WHERE nameid = "+.@input_id+" ORDER BY amount DESC LIMIT 5", .@top_amount, .@top_char); mes "1. "+.@top_char[0]+" "+.@top_amount[0]+" "+getitemname(.@input_id)+" "; mes "2. "+.@top_char[1]+" "+.@top_amount[1]+" "+getitemname(.@input_id)+" "; mes "3. "+.@top_char[2]+" "+.@top_amount[2]+" "+getitemname(.@input_id)+" "; mes "4. "+.@top_char[3]+" "+.@top_amount[3]+" "+getitemname(.@input_id)+" "; mes "5. "+.@top_char[4]+" "+.@top_amount[4]+" "+getitemname(.@input_id)+" "; close; case 5: query_sql ("SELECT amount , send_name FROM mail WHERE nameid = "+.@input_id+" ORDER BY amount DESC LIMIT 5", .@top_amount, .@top_char$); mes "1. Sender "+.@top_char$[0]+" "+.@top_amount[0]+" "+getitemname(.@input_id)+" "; mes "2. Sender "+.@top_char$[1]+" "+.@top_amount[1]+" "+getitemname(.@input_id)+" "; mes "3. Sender "+.@top_char$[2]+" "+.@top_amount[2]+" "+getitemname(.@input_id)+" "; mes "4. Sender "+.@top_char$[3]+" "+.@top_amount[3]+" "+getitemname(.@input_id)+" "; mes "5. Sender "+.@top_char$[4]+" "+.@top_amount[4]+" "+getitemname(.@input_id)+" "; close; } close; case 2: mes "Please choose a Table: "; switch( select( "Inventory:Storage:Guild Storage:Cart:Mail")) { case 1: mes "ITEM INVENTORY RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM inventory GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 2: mes "ITEM STORAGE RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM storage GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 3: mes "ITEM GUILD STORAGE RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM guild_storage GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 4: mes "ITEM CART RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM cart_inventory GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 5: mes "ITEM MAIL RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM mail GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; } } } close; } Final Try. Hope someone can help me on how to get the SUM of the highest and lowest item from inventory,storage, guild storage,cart inventory and mail. With the account id/account name.
  12. Hello fellow rAthena. Is there any available npc or script for GMs that will allow and show the rankings of items aquired by players cart/storage/mail/inventory excluding the gm's accounts? Ex. It will show the 10 most aquired and 10 least aquired items by players. If possible, gm can input the item ID of the item to check the total items aquired of every players in game. Reason. For servers with lots of daily events with special prizes like tcg and poring coins. We can easily monitor and compare the differences or impact of prizes/items as the number of player grows. With that, we can adjust (add/delete/modify) our scripts/npcs and maintain the balance of our special items/rewards in game. It will run an sql query I guess. Thanks.. Firs try: trinity_in,128,155,5 script item check 807,{ set .req_gmlvl, 99; mes "[Item Check Menu]"; mes "----------------------------------"; mes ""; mes "For GM Staffs Only."; mes "----------------------------------"; next; if(getgmlevel() >= .req_gmlvl) { switch( select( "Manual Check:Ranking")) { case 1: mes "Input Item Number"; next; input .@input_id; //sql //inventory query_sql ("SELECT SUM(`amount`) FROM `inventory` WHERE `nameid` = '"+.@input_id+"'", .@inv_amount); //storage query_sql ("SELECT SUM(`amount`) FROM `storage` WHERE `nameid` = '"+.@input_id+"'", .@store_amount); //guild storage query_sql ("SELECT SUM(`amount`) FROM `guild_storage` WHERE `nameid` = '"+.@input_id+"'", .@guild_amount); //carts query_sql ("SELECT SUM(`amount`) FROM `cart_inventory` WHERE `nameid` = '"+.@input_id+"'", .@cart_amount); //mail query_sql ("SELECT SUM(`amount`) FROM `cart_inventory` WHERE `nameid` = '"+.@input_id+"'", .@mail_amount); set .@total,.@inv_amount + .@store_amount + .@guild_amount + .@cart_amount + .@mail_amount; mes "There are: " + .@total + " available in game."; close; case 2: mes "Ranking"; next; mes "soon"; close; } } close; } Second Try: (The least I can do ) trinity_in,128,155,5 script item check 807,{ set .req_gmlvl, 99; mes "[Item Check Menu]"; mes "----------------------------------"; mes ""; mes "For GM Staffs Only."; mes "----------------------------------"; next; if(getgmlevel() >= .req_gmlvl) { switch( select( "Manual Check:Ranking")) { case 1: mes "Input Item Number"; next; input .@input_id; //sql //inventory query_sql ("SELECT SUM(`amount`) FROM `inventory` WHERE `nameid` = '"+.@input_id+"'", .@inv_amount); //storage query_sql ("SELECT SUM(`amount`) FROM `storage` WHERE `nameid` = '"+.@input_id+"'", .@store_amount); //guild storage query_sql ("SELECT SUM(`amount`) FROM `guild_storage` WHERE `nameid` = '"+.@input_id+"'", .@guild_amount); //carts query_sql ("SELECT SUM(`amount`) FROM `cart_inventory` WHERE `nameid` = '"+.@input_id+"'", .@cart_amount); //mail query_sql ("SELECT SUM(`amount`) FROM `mail` WHERE `nameid` = '"+.@input_id+"'", .@mail_amount); set .@total,.@inv_amount + .@store_amount + .@guild_amount + .@cart_amount + .@mail_amount; mes "There are: " + .@total + " available in game."; close; case 2: mes "Please choose a Table: "; switch( select( "Inventory:Storage:Guild Storage:Cart:Mail")) { case 1: mes "ITEM INVENTORY RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM inventory GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 2: mes "ITEM STORAGE RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM storage GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 3: mes "ITEM GUILD STORAGE RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM guild_storage GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 4: mes "ITEM CART RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM cart_inventory GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; case 5: mes "ITEM MAIL RANKING"; mes "-----------------------"; query_sql ("SELECT SUM(amount) , nameid FROM mail GROUP BY nameid ORDER BY SUM(amount) DESC LIMIT 10", .@rank_amount, .@rank_id); mes "1. "+getitemname(.@rank_id[0])+"^0055FF ("+.@rank_amount[0]+")^000000"; mes "2. "+getitemname(.@rank_id[1])+"^0055FF ("+.@rank_amount[1]+")^000000"; mes "3. "+getitemname(.@rank_id[2])+"^0055FF ("+.@rank_amount[2]+")^000000"; mes "4. "+getitemname(.@rank_id[3])+"^0055FF ("+.@rank_amount[3]+")^000000"; mes "5. "+getitemname(.@rank_id[4])+"^0055FF ("+.@rank_amount[4]+")^000000"; mes "6. "+getitemname(.@rank_id[5])+"^0055FF ("+.@rank_amount[5]+")^000000"; mes "7. "+getitemname(.@rank_id[6])+"^0055FF ("+.@rank_amount[6]+")^000000"; mes "8. "+getitemname(.@rank_id[7])+"^0055FF ("+.@rank_amount[7]+")^000000"; mes "9. "+getitemname(.@rank_id[8])+"^0055FF ("+.@rank_amount[8]+")^000000"; mes "10. "+getitemname(.@rank_id[9])+"^0055FF ("+.@rank_amount[9]+")^000000"; close; } } } close; } Bind @command Change: trinity_in,128,155,5 script item check 807,{ set .req_gmlvl, 99; To: - script ItemRank -1,{ OnInit: set .req_gmlvl, 99; bindatcmd("itemrank",strnpcinfo(3)+"::OnItemrank",99,99); end; OnItemrank:
  13. have you changed the lua/lub into smaller .bmp as well? and the .txt inside your data folder/grf file? Because those were my problems before. SO no harm to double check. and hoipe it'll get resolved.
  14. @shakto would it be fine to use the 2012-04-10 LUB/LUA files or you recommend the one attached in your 1st post?
  15. try to change the capital .BMP file type into a lower caps like .bmp
  16. bumping this topic, rathena updated the client.conf? the default_ver_flag now is 0xFFFFFFF and not 0xFFFFFF ?? That 7 "F" crash my server . but Since after reverting back to 6 "F" again, no more crash signals. weird... 2012-04-10 ragexere client.
  17. Hi, I already applied the map and the script. But the Marathon won't start, I already recall 10 players. Kindly explain how to run the event? Thanks. Sorry I am a newbie. Change: waitingroom "Marathon - WaitingRoom",1,"EP7_mara::OnBGJoin",1; To this: waitingroom "Marathon - WaitingRoom",2,"EP7_mara::OnBGJoin",1; So if someone entered the waiting room, the registration will start and so the game will be followed. Question: [Warning]: Unexpected type for argument 1. Expected number. [Debug]: Data: string value="1317" [Debug]: Function: disguise it's about the seal, although the player became/disguised as a seal. Is there a way to avoid the warning? Thanks Edit: Nevermind, I just copied the format from the peco disguise and removed the "".
  18. research it by yourself. or you can delete this script. That's not so friendly. But i wont delete the script and thanks for this great script anyways. Im still your fan! I removed the OnPCLogoutevent: callsub OnEndd; end; And now it's working great! Even without that, logging off or whn the character dies, the npc will be reset and warp back to its position
  19. So maybe there's something wrong here master goddameit. I added the map array. //Author Goddameit //Version 2012/11/23 //Web http://bit.ly/MDuQ9F - script DedicatedNPCMain -1,{ set .@type,atoi(strnpcinfo(2)); if( getd(".n_"+.@type+"_status") == 0 ) { for(set .@i,1;.@i<=.amount;set .@i,.@i+1) if( getd(".n_"+.@i+"_master") == getcharid(3) ) { end; } mes "Hi, will you hire me?"; next; mes "If you die or log off, you'll have to hire me again."; select("Yes"); set .@type,atoi(strnpcinfo(2)); setd ".n_"+.@type+"_status",1; setd ".n_"+.@type+"_master",getcharid(3); setd ".n_"+.@type+"_time",3599; setd ".n_"+.@type+"_name$",strcharinfo(0); getmapxy(getd(".n_"+.@type+"_origin_map$"),getd(".n_"+.@type+"_origin_x"),getd(".n_"+.@type+"_origin_y"),1,strnpcinfo(0)); initnpctimer; close; }else { set .@type,atoi(strnpcinfo(2)); if( getd(".n_"+.@type+"_master") == getcharid(3) ) { mes "Hi, any problem?"; switch(select("Storage","Repair all","Dismissal")) { case 1: openstorage; close; case 2: repairall; close; case 3: callsub OnEndd; close; } }else { end; } } end; OnPCLogoutevent: callsub OnEndd; end; OnEndd: set .@type,atoi(strnpcinfo(2)); if(getd(".n_"+.@type+"_origin_map$")!="") unitwarp getd(".n_"+.@type+"_unit_id"),getd(".n_"+.@type+"_origin_map$"),getd(".n_"+.@type+"_origin_x"),getd(".n_"+.@type+"_origin_y"); if(isloggedin(getd(".n_"+.@type+"_master"))) message getd(".n_"+.@type+"_name$"),strnpcinfo(1)+" : See you!"; stopnpctimer; setd ".n_"+.@type+"_status",0; setd ".n_"+.@type+"_tmp_time",0; setd ".n_"+.@type+"_master",0; setd ".n_"+.@type+"_time",0; setd ".n_"+.@type+"_name$",""; setd ".n_"+.@type+"_master_map$",""; setd ".n_"+.@type+"_master_x",0; setd ".n_"+.@type+"_master_y",0; setd ".n_"+.@type+"_npc_map$",""; setd ".n_"+.@type+"_npc_x",0; setd ".n_"+.@type+"_npc_y",0; return; OnTimer1000: { set .@type,atoi(strnpcinfo(2)); for(;isloggedin(getd(".n_"+.@type+"_master")) { set .@type,atoi(strnpcinfo(2)); set .@aid,getd(".n_"+.@type+"_master"); if(attachrid(.@aid)) { getmapxy(getd(".n_"+.@type+"_master_map$"),getd(".n_"+.@type+"_master_x"),getd(".n_"+.@type+"_master_y"),0); getmapxy(getd(".n_"+.@type+"_npc_map$"),getd(".n_"+.@type+"_npc_x"),getd(".n_"+.@type+"_npc_y"),1,strnpcinfo(0)); for( .@i = 0; .@i < getarraysize( .maps$ ); .@i++ ) if( getd(".n_"+.@type+"_master_map$") == .maps$[.@i] ){ callsub onendd; break; } if(maxhp/hp>=4) { percentheal 80,80; specialeffect2 312; } if(getd(".n_"+.@type+"_tmp_time") == 0) { sc_start SC_BLESSING,60000,10; specialeffect2 42; sc_start SC_INCREASEAGI,60000,10; specialeffect2 37; sc_start SC_IMPOSITIO,60000,10; specialeffect2 84; sc_start SC_MAGNIFICAT,60000,10; specialeffect2 76; sc_start SC_GLORIA,60000,10; specialeffect2 75; sc_start SC_SUFFRAGIUM,60000,10; specialeffect2 88; sc_start SC_ASSUMPTIO,60000,10; specialeffect2 375; } set .@tmp_time,getd(".n_"+.@type+"_tmp_time"); setd ".n_"+.@type+"_tmp_time",.@tmp_time+1; if( .@tmp_time >= 59 ) setd ".n_"+.@type+"_tmp_time",0; } detachrid; if(!isloggedin(.@aid)) { callsub OnEndd; break; } if( getd(".n_"+.@type+"_master_map$") == ".@maps" ) { callsub OnEndd; break; } set .@map$,getd(".n_"+.@type+"_master_map$"); set .@x,getd(".n_"+.@type+"_master_x"); set .@y,getd(".n_"+.@type+"_master_y"); set .@uid,getd(".n_"+.@type+"_unit_id"); if(distance(getd(".n_"+.@type+"_npc_x"),getd(".n_"+.@type+"_npc_y"),.@x,.@y)>=8||.@map$!=getd(".n_"+.@type+"_npc_map$")) unitwarp .@uid,.@map$,.@x,.@y; else unitwalk .@uid,.@x+rand(-3,3),.@y+rand(-3,3); setd ".n_"+.@type+"_time",getd(".n_"+.@type+"_time")-1; if( getd(".n_"+.@type+"_time") <= 0 ) { callsub OnEndd; break; } sleep2 1000; } } callsub OnEndd; end; OnInit: setd ".n_"+atoi(strnpcinfo(2))+"_unit_id",getnpcid(0); set .amount,.amount+1; setarray .maps$, "pvp_y_8-2", "pvp_y_8-1"; end; } prontera,147,173,4 duplicate(DedicatedNPCMain) Slave#1 1611 prontera,147,171,4 duplicate(DedicatedNPCMain) Slave#2 1611 prontera,147,169,4 duplicate(DedicatedNPCMain) Slave#3 1611 Thank you.
  20. Great Job master GOD! I want to use this on my server. question, is there a way to change the npc so it will not be followed by homunculus? XD Thanks and hope that this script wil get even better Is there a way to duplicate them without affecting the other when a player logged off?? Because For example, I have 3 duplicates of the dedi npc, the other player logout, the two other duplicates will also reset to its position without masters. Thanks
  21. Base level is important so, it is sure that there are accompanying factors/changes needed to consider master Euphy.
  22. try this http://rathena.org/b...rly-tcg-reward/ Modify it to your liking and make it 15 mins or this one: http://pastebin.com/raw.php?i=Dt2sW00K From sir Emistry
  23. You have two servers, is that correct? one is your official and the other one is a temporary server to be used for RWC? Suggestion: Just create a new map (Or any available RWC maps) within your main server, not an alt server. Put Item Restriction inside the map. (or other restriction like they cant warp back from that map to get items outside, not unless they have been warped by GMs) Or only novice can enter and modify their skills and stats inside the map.
  24. Yes, Asura is correct. linux SVN/Files should be compiled within linux. If your Trunk files is for Windows' (.exe) visual studio, then I suggest you to download or svn checkout the athena files in your linux server. http://rathena.org/w...llation_(CentOS) In that case, you may want to use tortoise SVN and upgrade/convert your svn, so that you'll be able to build your files within visual studio. Since building your server in visual studio will generate .exe for your servers. You can't just rename it and transfer or use it in your linux server.
  25. same here, it just happened and got report from my players today XD
×
×
  • Create New...