-
Posts
241 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Ronald
-
-
On 11/13/2021 at 6:47 PM, Xemnas969696 said:
Hi everyone,
I am looking for an npc in which a player can keep the look of the headgear without the item being converted into a costume.
Example: I have a hat, when I speak to the npc this saves the character's sprite and I can very well remove the hat and put something else, the sprite does not change
I understand it is called Morphogenetic but I am not totally sure.
thank you all in advance for your helpAFAIK this should work well unless the one you are changing is an costume equipment.
-
On 11/19/2021 at 10:05 PM, kalabasa said:
Im using Euphy's quest shop i want to make quest that require's mutiple point ex headgear1 requires kafrapoints,activitypoints,eventpoints etc. anyone which part of the code i need to check with.
// ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points";
-
On 1/21/2022 at 5:27 AM, Enoch said:
good day i would like to request a pvp script one npc but 2 option 1 Trans pvp 3rd job cant enter, option 2 3rd job pvp trans cant enter thank you, same with woe castle if trans woe 3rd job cant enter and if 3rd job woe trans cant enter
here is my pvp script how can i add that restrictions
core,141,124,5 script PvP Warper::PvP Warper 4_M_FAIRYSOLDIER,{
mes "[ ^0065DFPVP Warper^000000 ]";
mes "Welcome To PvP Warper";
mes "I Can Help You Warp To PVP Room";
next;
mes "[ ^0065DFPvP Warper^000000 ]";
mes "You Ready?";
switch(select("^6ED1E1Trans Martial Arts^000000 - ^FF0000["+getmapusers("dbz_tour")+"]^000000 Players.:^FF33CC3rd Job Arena^000000 - ^FF0000["+getmapusers("cell_game")+"]^000000 Players.:^BAB9B9Coliseum Guild Arena^000000 - ^FF0000["+getmapusers("coliseum")+"]^000000 Players.:^FF7F00PvP Champion^000000 - ^FF0000["+getmapusers("1@ge_st")+"^000000 Players.:No")) {
case 1:
announce "[ "+ strcharinfo(0) +" ] has joined Trans Martial Arts",0,0x6ED1E1; //announce and end
switch( rand(1,6) ){
case 1: warp "dbz_tour", 85, 118; end;
case 2: warp "dbz_tour", 109, 118; end;
case 3: warp "dbz_tour", 108, 93; end;
case 4: warp "dbz_tour", 86, 92; end;
case 5: warp "dbz_tour", 96, 106; end;
case 6: warp "dbz_tour", 98, 129; end;
}
case 2:
announce "[ "+ strcharinfo(0) +" ] has joined 3rd Job Arena",0,0xFF33CC; //announce and end
warp "cell_game",0,0;
end;case 3:
announce "[ "+ strcharinfo(0) +" ] has joined Coliseum Guild Arena",0,0xBAB9B9; //announce and end
switch( rand(1,6) ){
case 1: warp "coliseum", 70, 103; end;
case 2: warp "coliseum", 86, 86; end;
case 3: warp "coliseum", 117, 96; end;
case 4: warp "coliseum", 105, 72; end;
case 5: warp "coliseum", 128, 77; end;
case 6: warp "coliseum", 69, 75; end;
}case 4:
if(Class != .class) {
mes "I'm sorry, but only "+jobname(.class)+"s are allowed to join this PvP Room.";
close;
}
mes "Do you want to go to the PvP Room?";
if(select("- Yes:- No") - 1) close;
close2;
announce "[ "+ strcharinfo(0) +" ] has entered Champion 1 On 1 Arena!!",0,0x00BFFF; //announce and end
warp "1@ge_st",0,0;
end;OnInit:
set .n$,"["+strnpcinfo(1)+"]"; // NPC Name
set .class,4016; // Allowed Class
end;
case 5:
close;
}
I've seen that you already created a thread about this one on this thread.
And then this might be an old thread but this might help you get the idea of it.
Basically the script you provided should work. You just need to add the conditional statements the way how you want it to work for class.
-
On 1/31/2022 at 8:20 PM, ItsRas said:
Hello, can anyone help me with adding a new option in Warper NPC. I would like to add input box in the Warper NPC where people can simply add the name of the map they would like to warp to. This is similar to @warp command but I love to have an option for warper too with the restrictions of warper to ofc.
I actually found a nearly the same script from @AnnieRuru but its a hassle and tiring to code all the maps manually. I will attach the code below.
prontera,155,186,5 script TestWarp 100,{ setarray .@map$, "prontera", "morocc", "alberta", "aldebaran", "izlude"; setarray .@x, 156, 156, 192, 140, 128; setarray .@y, 191, 93, 147, 143, 146; set .@arraysize, getarraysize(.@map$); mes "[Warp Agent]"; mes "Type the map name you'd like to warp to for example pay_fild02, thor_v03^0000FF"; for ( .@i = 0; .@i < .@arraysize; .@i++ ) mes ( .@i +1 )+". "+ .@map$[.@i]; next; input .@warp$; .@i = 0; while ( .@warp$ != .@map$[.@i] && .@i < .@arraysize ) .@i++; if ( .@i == .@arraysize ) { mes "[Warp Agent]"; mes "Invalid Map"; close; } mes "[Test Warper]"; mes "You are now warping to "+ .@map$[.@i] +" town"; close2; warp .@map$[.@i], .@x[.@i], .@y[.@i]; end; }
Now the attached photo below is an illustration of what I'd like to have on warper.
Hope you guys could help me. Thanks in advance.
//===== rAthena Script ======================================= //= Warper //===== Description: ========================================= //= A complete - but very condensed - warper script. //===== Additional Comments: ================================= //= 1.0 Initial script By [Euphy]. //= 1.1 Added missing duplicates and fixed coordinates. //= Some coordinates written by [Tekno-Kanix] and [ToastOfDoom]. //= 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. //= 1.5 Added Lasagna ,Para Market ,WOE TE ,Instances and settings [sader1992]. //= 1.5a Fix Bifrost Tower //============================================================ - script Warper -1,{ 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(0),"You haven't 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 (auto-numbered). // ~ Fields and Dungeons must use Disp and Pick Functions. // // * 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 { set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); end; } function Disp { if (getargcount() < 3) set @menu$, getarg(0); else { set @menu$,""; for (set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) set @menu$, @menu$+getarg(0)+" "+.@i+":"; } return; } function Pick { set .@warp_block,@warp_block; set @warp_block,0; if((@f && .OnlyFirstFld) || (@d && .OnlyFirstDun)){ set .@select,1; if(.@warp_block){ while(.@warp_block & (1<<.@select)){ .@select += 1; } } }else{ set .@select, select(@menu$); } if (getarg(0) == "") { set .@i, .@select; set .@map$, getarg(.@i); } else { set .@i, .@select-getarg(1,0); set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i; } if (.@warp_block & (1<<.@select)) { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } set .@x, @c[.@i*2]; set .@y, @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); @f = false; @d = false; Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; for (set .@i,1; .@i<getargcount(); set .@i,.@i+1) set @warp_block, @warp_block | (1<<getarg(.@i)); } else { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"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, "Kunlun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Luoyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morocc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Juno",T37; 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,(checkre(3)?146:114)); T17: Go("jawaii",251,132); T18: Restrict("RE"); Go("lasagna",193,182); T19: Go("lighthalzen",158,92); T20: Go("louyang",217,100); T21: Go("xmas",147,134); T22: Restrict("RE"); Go("malangdo",140,114); T23: Restrict("RE"); Go("malaya",231,200); T24: Go("manuk",282,138); T25: Go("mid_camp",210,288); T26: Restrict("RE"); Go("mora",55,146); T27: Go("morocc",156,93); T28: Go("moscovia",223,184); T29: Go("nameless_n",256,215); T30: Go("niflheim",202,174); T31: Go("payon",179,100); T32: Go("rachel",130,110); T33: Go("splendide",201,147); T34: Go("thor_camp",246,68); T35: Go("umbala",97,153); T36: Go("veins",216,123); T37: Go("yuno",157,51); // -------------------------------------------------- Fields: // -------------------------------------------------- @f = true; 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, "Kunlun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Luoyang Field",F15, "Lutie Field",F16, "Malaya Fields",F17, "Manuk Fields",F18, "Mjolnir Fields",F19, "Moscovia Fields",F20, "Niflheim Fields",F21, "Payon Forests",F22, "Prontera Fields",F23, "Rachel Fields",F24, "Sograt Deserts",F25, "Splendide Fields",F26, "Umbala Fields",F27, "Veins Fields",F28, "Juno Fields",F29; 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("Kunlun 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: Restrict("RE"); setarray @c[2],344,371,20,98; Disp("Lasagna Field",1,2); Pick("lasa_fild"); F14: setarray @c[2],240,179,185,235,240,226; Disp("Lighthalzen Field",1,3); Pick("lhz_fild"); F15: setarray @c[2],229,187; Disp("Luoyang Field",1,1); Pick("lou_fild"); F16: setarray @c[2],115,145; Disp("Lutie Field",1,1); Pick("xmas_fild"); F17: Restrict("RE"); setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); F18: setarray @c[2],35,236,35,262,84,365; Disp("Manuk Field",1,3); Pick("man_fild"); F19: 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_"); F20: setarray @c[2],82,104,131,147; Disp("Moscovia Field",1,2); Pick("mosk_fild"); F21: setarray @c[2],215,229,167,234; Disp("Niflheim Field",1,2); Pick("nif_fild"); F22: 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"); F23: 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); F24: 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"); F25: if(.Satan_Morocc){ 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"); }else{ setarray @c[2],219,205,177,206,194,182,146,297,204,197,275,302,224,170,139,123,101,110,341,39,198,216,156,187,185,263,223,222,170,257,206,228,208,238,209,223,85,97; Disp("Sograt Desert",1,19); Pick("moc_fild"); } F26: setarray @c[2],175,186,236,184,188,204; Disp("Splendide Field",1,3); Pick("spl_fild"); F27: setarray @c[2],217,206,223,221,237,215,202,197; Disp("Umbala Field",1,4); Pick("um_fild"); F28: 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"); F29: 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("Juno Field",1,12); Pick("yuno_fild"); // -------------------------------------------------- Dungeons: // -------------------------------------------------- @d = true; menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3, "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D42, "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, "Kunlun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Luoyang Dungeon",D24, "Magma Dungeon",D25, "Malangdo Dungeon",D26, "Moscovia Dungeon",D27, "Nidhogg's Dungeon",D28, "Odin Temple",D29, "Orc Dungeon",D30, "Payon Dungeon",D31, "Pyramids",D32, "Rachel Sanctuary",D33, "Scaraba Hole",D34, "Sphinx",D35, "Sunken Ship",D36, "Thanatos Tower",D37, "Thor Volcano",D38, "Toy Factory",D39, "Turtle Dungeon",D40, "Umbala Dungeon",D41; 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("Kunlun 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: Restrict("RE"); setarray @c[2],24,143,22,171,190,18; Disp("Lasagna Dungeon",1,3); Pick("lasa_dun"); D24: setarray @c[2],218,196,282,20,165,38; Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun"); D25: setarray @c[2],126,68,47,30; Disp("Magma Dungeon",1,2); Pick("mag_dun"); D26: Restrict("RE"); setarray @c[2],33,230; Disp("Malangdo Dungeon",1,1); Pick("mal_dun"); D27: setarray @c[2],189,48,165,30,32,135; Disp("Moscovia Dungeon",1,3); Pick("mosk_dun"); D28: setarray @c[2],61,239,60,271; Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun"); D29: setarray @c[2],298,167,224,149,266,280; Disp("Odin Temple",1,3); Pick("odin_tem"); D30: setarray @c[2],32,170,21,185; Disp("Orc Dungeon",1,2); Pick("orcsdun"); D31: setarray @c[0],21,183,19,33,19,63,155,159,201,204; Disp("Payon Dungeon",1,5); Pick("pay_dun",1); D32: 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"); D33: setarray @c[2],140,11,32,21,8,149,204,218,150,9; Disp("Rachel Sanctuary",1,5); Pick("ra_san"); D34: Restrict("RE"); setarray @c[2],364,44,101,141; Disp("Scaraba Hole",1,2); Pick("dic_dun"); D35: 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"); D36: setarray @c[2],69,24,102,27; Disp("Sunken Ship",1,2); Pick("treasure"); D37: 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"); D38: setarray @c[2],21,228,75,205,34,272; Disp("Thor Volcano",1,3); Pick("thor_v"); D39: setarray @c[2],205,15,129,133; Disp("Toy Factory",1,2); Pick("xmas_dun"); D40: 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"); D41: 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"); D42: Restrict("RE"); setarray @c[2],57,13,64,88,45,14,26,23; Disp("Bifrost Tower",1,4); Pick("ecl_tdun"); // -------------------------------------------------- Castles: // -------------------------------------------------- menu "[FE] Aldebaran Castles",C1, "[FE] Geffen Castles",C2, "[FE] Payon Castles",C3, "[FE] Prontera Castles",C4, "[SE] Arunafeltz Castles",C5, "[SE] Schwarzwald Castles",C6, "[TE] Aldebaran Castles",C7, "[TE] Prontera Castles",C8; 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"); C7: Restrict("RE"); setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Kafragarten 1:Kafragarten 2:Kafragarten 3:Kafragarten 4:Kafragarten 5"); Pick("","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld"); C8: Restrict("RE"); setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Gloria 1:Gloria 2:Gloria 3:Gloria 4:Gloria 5"); Pick("","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld"); // -------------------------------------------------- Guild_Dungeons: // -------------------------------------------------- menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4, "Arunafeltz",G5, "Schwarzwald",G6, "Kafragarten",G7, "Gloria",G8; 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); G7: Restrict("RE"); Go("teg_dun01",42,36); G8: Restrict("RE"); Go("teg_dun02",26,160); // -------------------------------------------------- Instances: // -------------------------------------------------- menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3, "Devil Tower",I4, "Eclage Interior",I5, "Endless Tower",I6, "Faceworms Nest",I7, "Geffen Magic Tournament",I8, "Ghost Palace",I9, "Hazy Forest",I10, "Horror Toy Factory",I11, "Malangdo Culvert",I12, "Nidhoggur's Nest",I13, "Octopus Cave",I14, "Old Glast Heim",I15, "Orc's Memory",I16, "Sarah and Fenrir",I17, "Sara Memory",I18, "Sealed Shrine",I19, "Wolfchev's Laboratory",I20; 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: Restrict("RE"); Go("dali02",137,115); I5: Restrict("RE"); Go("ecl_hub01",129,12); I6: Go("e_tower",72,112); I7: Restrict("RE"); Go("dali",85,64); I8: Restrict("RE"); Go("dali",94,141); I9: Restrict("RE"); Go("dali02",46,128); I10: Restrict("RE"); Go("bif_fild01",161,334); I11: Restrict("RE"); Go("xmas",234,298); I12: Restrict("RE"); Go("mal_in01",164,21); I13: Go("nyd_dun02",95,193); I14: Restrict("RE"); Go("mal_dun01",152,230); I15: Restrict("RE"); Go("glast_01",204,268); I16: Go("gef_fild10",240,198); I17: Restrict("RE"); Go("dali02",92,141); I18: Restrict("RE"); Go("dali",133,108); I19: Go("monk_test",306,143); I20: Restrict("RE"); Go("lhz_dun04",148,269); // -------------------------------------------------- Special: // -------------------------------------------------- menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Dimensional Rift",S4, "Eden Group Headquarters",S5, "Kunlun Arena",S6, "Izlude Arena",S7, "Monster Race Arena",S8, "Para Market",S9, "Turbo Track",S10; S1: Go("auction_01",22,68); S2: Go("bat_room",154,150); S3: Go("cmd_in02",179,129); S4: Restrict("RE"); Go("dali",113,82); S5: Restrict("RE"); Go("moc_para01",31,14); S6: Go("gon_test",48,10); S7: Go("arena_room",100,88); S8: Go("p_track01",62,41); S9: Restrict("RE"); Go("paramk",97,17); S10: Go("turbo_room",99,114); OnInit: .Satan_Morocc = true; // false will enable moc_fild 4,5,6,8,9,10,14,15 while disable moc_fild 20,21,22 Default is true. .OnlyFirstFld = false; // true will teleport to the first level of the Fields Default is false. .OnlyFirstDun = false; // true will teleport to the first level of the Dungeons Default is false. } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- alb2trea,57,70,6 duplicate(Warper) Warper#tre 811 alberta,28,240,4 duplicate(Warper) Warper#alb 811 aldebaran,145,118,4 duplicate(Warper) Warper#alde 811 amatsu,203,87,4 duplicate(Warper) Warper#ama 811 ayothaya,209,169,6 duplicate(Warper) Warper#ayo 811 comodo,194,158,4 duplicate(Warper) Warper#com 811 einbech,59,38,6 duplicate(Warper) Warper#einbe 811 einbroch,69,202,4 duplicate(Warper) Warper#einbr 811 gef_fild10,71,339,4 duplicate(Warper) Warper#orc 811 geffen,124,72,4 duplicate(Warper) Warper#gef 811 glast_01,372,308,4 duplicate(Warper) Warper#glh 811 gonryun,162,122,4 duplicate(Warper) Warper#gon 811 hugel,101,151,4 duplicate(Warper) Warper#hug 811 izlu2dun,110,92,4 duplicate(Warper) Warper#izd 811 izlude,134,150,4 duplicate(Warper) Warper#izl 811 //Pre-RE: (132,120) jawaii,253,138,4 duplicate(Warper) Warper#jaw 811 lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 811 louyang,208,103,6 duplicate(Warper) Warper#lou 811 manuk,274,146,6 duplicate(Warper) Warper#man 811 mid_camp,216,288,4 duplicate(Warper) Warper#mid 811 mjolnir_02,85,364,4 duplicate(Warper) Warper#mjo 811 moc_ruins,64,164,4 duplicate(Warper) Warper#moc 811 morocc,159,97,4 duplicate(Warper) Warper#mor 811 moscovia,229,191,4 duplicate(Warper) Warper#mos 811 nameless_n,259,213,4 duplicate(Warper) Warper#nam 811 niflheim,205,179,4 duplicate(Warper) Warper#nif 811 pay_arche,42,134,4 duplicate(Warper) Warper#arc 811 payon,182,108,4 duplicate(Warper) Warper#pay 811 prontera,159,192,4 duplicate(Warper) Warper#prt 811 prt_fild05,279,223,6 duplicate(Warper) Warper#cul 811 rachel,135,116,4 duplicate(Warper) Warper#rac 811 splendide,205,153,4 duplicate(Warper) Warper#spl 811 thor_camp,249,76,4 duplicate(Warper) Warper#thor 811 umbala,106,150,3 duplicate(Warper) Warper#umb 811 veins,214,123,4 duplicate(Warper) Warper#ve 811 xmas,150,136,6 duplicate(Warper) Warper#xmas 811 yuno,162,47,4 duplicate(Warper) Warper#yuno 811 // -------------------------------------------------- // Duplicates (Renewal): // -------------------------------------------------- brasilis,201,222,4 duplicate(Warper) Warper#bra 811 dewata,204,186,6 duplicate(Warper) Warper#dew 811 dicastes01,194,194,6 duplicate(Warper) Warper#dic 811 ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 811 lasagna,196,187,4 duplicate(Warper) Warper#las 811 malangdo,134,117,6 duplicate(Warper) Warper#mal 811 malaya,231,204,4 duplicate(Warper) Warper#ma 811 mora,57,152,4 duplicate(Warper) Warper#mora 811
You can try to set array instead on for the restricted maps if that's more easier. I think Annie's script is actually the one you've been looking for.
-
On 2/4/2022 at 6:30 AM, Fabre01 said:Hi forum, i need help... I change aura but i dont know it and i need job class aura 1th-2th-3th....It's 1-2th Jobs Aura name pikapika2 but not know 3-4 th Jobs Aura name
Do you mean you want to have different Auras depending on the class? Not just one for all class?
-
4 hours ago, oblinez said:
someone know why script input does not work with new player character?
please, create a new player character and try to input something... it will freeze
- script login -1,{ OnPCLoginEvent: mes "hello"; input .@val; mes .@val; close; }
That should work. AFAIK.
-
On 1/25/2022 at 2:43 PM, Xellyehria said:
I am looking at the item bonuses available but can't find anything for anti accessory strip except using the bonus bUnstripable; one. However putting that effect in a single accessory/item is pretty overpowered.. I only need an anti accessory strip.
bonus bUnstripableWeapon; Weapon cannot be taken off via Strip skills
bonus bUnstripableArmor; Armor cannot be taken off via Strip skills
bonus bUnstripableHelm; Helm cannot be taken off via Strip skills
bonus bUnstripableShield; Shield cannot be taken off via Strip skills
bonus bUnstripable; All equipment cannot be taken off via strip skills
Is there a way to script an item bonus that only reduce chance of accessories getting stripped? If not chance, maybe a full anti accessory strip? I hope someone can help.. thanks.Not that I know. This would probably require an src modification. If you're going to do it the way you wanted it to be.
-
19 hours ago, kugelfang said:
Greetings everyone
i just wanna ask if there's a way to change the statue of prontera please? i wanna replace it into my own custom 3D statue
thank u
Nothing is impossible. Check out your prontera map files. Most likely you'll use browedit.
-
Can anyone provide me an instance with stages . Can enter anytime but each account has cooldown duration. No one can enter if a party is currently finishing the instance. I tried instancing but it wasn't what I was looking for.
Big thanks! I already have my set of monster. Actually stage game is actually good but I want to summon different monsters each round and it needs to have cooldown to enter.
Thanks.
-
On 10/8/2021 at 12:50 AM, GM-Murphy said:
They can still use memo how to fix
check your mapflag.
-
On 9/14/2021 at 7:18 AM, Easycore said:
Instance Difficulty Settings
Instance Difficulty Settings is a powerful modification that allows you to set/modify an instance difficulty without touching the whole NPC Script of the instance and adding status penalties to the players.
How it works?
This Mod works in base of a Custom Database (instance_mode_db.yml).
Inside this file you can configurate a bunch of parameters related to Monster, Exp Rate and Drop Rate.########################################################################### # Instance Mode Database ########################################################################### # # Instance Mode Settings # ########################################################################### # - Mode Instance Mode ID. # Exp Rate Experience rate percentage setting for Instance. (Default: 100) # Drop Rate Drop rate percentage setting for Instance. (Default: 100) # HP Mob's Max HP percentage. (Default: 100) # Speed Mob's Movement Speed percentage. Set it lower to increase speed. (Default: 100) # STR Mob's STR percentage. (Default: 100) # AGI Mob's AGI percentage. (Default: 100) # VIT Mob's VIT percentage. (Default: 100) # INT Mob's INT percentage. (Default: 100) # DEX Mob's DEX percentage. (Default: 100) # LUK Mob's LUK percentage. (Default: 100) # ATK Mob's ATK percentage. (Default: 100) # ATK2 Mob's ATK2 percentage. (Default: 100) # MATK Mob's MATK percentage. (Default: 100) # MATK2 Mob's MATK2 percentage. (Default: 100) # DEF Mob's DEF percentage. (Default: 100) # MDEF Mob's MDEF percentage. (Default: 100) # HIT Mob's HIT percentage. (Default: 100) # FLEE Mob's FLEE percentage. (Default: 100) # FLEE2 Mob's FLEE2 percentage. (Default: 100) # CRI Mob's CRI percentage. (Default: 100) # AMOTION Mob's AMOTION percentage. Set it lower to increase speed. (Default: 100) # ADELAY Mob's ADELAY percentage. Set it lower to increase speed. (Default: 100) # DMOTION Mob's DMOTION percentage. Set it lower to increase speed. (Default: 100) ###########################################################################
Currently there are 4 premade difficulty modes
- ID_EASY: Easy mode, all monster stats are reduced by 20%. Exp & Drop rates reduced by 20%.
- ID_NORMAL: Default mode. No changes.
- ID_HARD: Hard mode, all monster stats increased by 50%, speed & ASPD +20%. Exp & Drop rates increased by 20%.
- ID_INSANE: Very hard mode, all monster stats increased by 100%, speed & ASPD +50%. Exp & Drop rates increased by 50%.
You can easily modify each value in this file and even create your custom difficulty modes.
Instance Penalty Debuffs
Instance penalty debuff is another way to make harder the experience of your players by adding permanents debuff while they are inside the instance.
Currently there are 8 debuffs.- Cast Time: Increases cast time by <value>%.
- ASPD: Decreases ASPD by <value>%.
- MaxHP: Decreases MaxHP by <value>%.
- MaxSP: Decreases MaxSP by <value>%.
- AllStats: Reduces All Stats by <value>.
- Speed: Decreases Movement Speed by <value>%.
- ATK: Decreases Base ATK by <value>%.
- MATK: Decreases MATK by <value>%.
This all is great! But how can you set instance difficulty and penalties?
Setting up Difficulty
There are 2 ways to set up this:
-
Setting this up in instance_db.yml:
There's a node called Difficulty inside this file where you can setup the difficulty. -
Setting this up through script command (Recommended):
When you create an instance with instance_create script command, you can add an extra argument <difficulty>.
Nice! But can I change the mode whenever I want?
Yes, you can. There is a script command called instance_setdifficulty that allows you to change this.
Whenever the difficulty is changed, all the monsters stats inside the instance are recalculated.So you can make a script that changes the difficulty when X players join from ID_NORMAL to ID_HARD.
Setting up Penalties
For setup a instance penalty you have the script command instance_setpenalty.
instance_setpenalty(<instance id>,<sc_type>,<value>)Example:
// This will reduce players MaxHP by 75% when they enter to the instance
instance_setpenalty(instance_id(IM_PARTY),SC_ID_MAXHP,75);Additionally this will give you a Status Icon and send you a message when you join the instance.
And again, you can make a script that increases a penalty when X players join the instance or that penalty increases by each player in!
Script Documentation
---------------------------------------
*instance_setdifficulty(<instance id>,<difficulty>);
Set the difficulty of an Instance.
Returns 1 if the difficulty is changed and returns 0 if there's no changes.
If returns 1 all the mobs stats will be reloaded.Examples:
// This will set the Instance Difficulty to Insane and will send an announce
if (instance_setdifficulty(instance_id(IM_PARTY),ID_INSANE))
mapannounce(instance_mapname("1@tower"), "Notice : Difficulty has been set to Insane.",bc_map,"0xff0000");---------------------------------------
*instance_getdifficulty(<instance id>);
Get the difficulty of an Instance.
Returns the difficulty ID.Examples:
if (instance_getdifficulty(instance_id(IM_PARTY) == ID_EASY))
dispbottom("Ha ha ha! Playing in Easy Mode?");---------------------------------------
*instance_setpenalty(<instance id>,<sc_type>,<value>);
Set a penalty debuff to an Instance.
Valid sc_type:
SC_ID_CAST: Increases cast time by <value>%.
SC_ID_ASPD: Decreases ASPD by <value>%.
SC_ID_MAXHP: Decreases MaxHP by <value>%.
SC_ID_MAXSP: Decreases MaxSP by <value>%.
SC_ID_ALLSTATS: Reduces All Stats by <value>.
SC_ID_SPEED: Decreases Movement Speed by <value>%.
SC_ID_ATK: Decreases BaseATK by <value>%.
SC_ID_MATK: Decreases MATK by <value>%.The penalty is set to the <instance id> and whenever a player enters to a map
that belongs to this instance will receive the debuff.
The debuff is automatically removed when leaving the instance.Examples:
//Reduce BaseATK by 100%
instance_setpenalty(instance_id(IM_PARTY),SC_ID_ATK,100);---------------------------------------
Looking forward into this!
-
On 10/1/2021 at 12:49 PM, Ochul Kelob said:
What do you mean functor? My server does have LGP Function and im able to edit the plugin.ini file and change the LGP colors for skills. To be clearer what i'm trying to learn is how to have actual Letters or words in the LGP Skill tile
The answer is on plugin.ini and on lgp folder. You just have to set the specific file per skill.
-
-
20 hours ago, loauiashraf said:
hello.
i want to know how to close my server for other players
make them unable to connect while i can
and if i can let specific people able to login with meconf/char_athena.conf
char_maintenance: 0
to
char_maintenance: 1
gm_allow_group: 99
to
gm_allow_group: (your choice)
-
On 8/26/2021 at 10:03 PM, lowkey said:
Can i request a base script that will unlock certain features.? For example. When i click the npc, you will have choices like Prontera, Izlude, Geffen etc. And written Prontera(locked). To unlock them you need a town ticket. When you have a town ticket and choose prontera(locked) it will ask if you want to unlock prontera. And it will turn Prontera (unlocked) When you unlock it and use the ticket, you can warp there for always. Its ok if for just prontera, i will do the rest for other towns. Thank you
You might want consider checking this out. But I'll try to make one once I am free.
https://github.com/rathena/rathena/blob/master/npc/quests/quests_veins.txt
-
On 2/27/2021 at 4:00 AM, saneriaElise said:
hello mga boss patulong po sana ako pre-re settings ng server gusto ko sana ung effect ng thana card is gawing renewal effect. TIA
Nothing has to change just use pre-re src and then disable some npcs. Then change the item script of Thanatos Card on your item database.
-
On 8/9/2021 at 9:39 PM, Origami said:
Hi ! I modified a script that I got from rathena called Monster of the day (credits to the author) and added a donation system that will allow players to donate certain amount of zeny to trigger the Repick mode .. My problem is .. How will I make one player to vote once every day only to avoid abuse ?? and I need to add a timer cooldown so players who didnt donate will not be able to cast donation once the repick has done on the same day ..
//********************************************************************************** // ____ _ _ _ ____ //| _ \ ___ ___ ____ | | ___ ____ ___ ___ __ ___ _ _ | |_| |/ __ | //| |__// _ \ / _ \ | _ \| | / _ \ | _ \ / _ \ / _| / _)/ _ \ | \| ||___ |\__ | //| | | __/ ||_|| | |__/| || __/ | |__/| __/ | | _\ \ ||_|| | \\ | | | | | //|_|___\___|_\___/_| |___|_|_\___|_| |____\___|_|_|_(___/ \___/_|_|\_|____|_|___|_| //------------------|_|-------------|_|--------------------------------------------- //********************************************************************************** //===== rAthena Script ============================================================= //= Monster Of The Day //===== By: ======================================================================== //= Peopleperson49 (Eddie) - [email protected] //===== Start Date: ================================================================ //= 20NOV2011 //===== Current Version: =========================================================== //= 1.4 //===== Compatible With: =========================================================== //= rAthena SVN //===== Description: =============================================================== //= Another Monster Of The Day script. I made this one from scratch to be very //= simple and work automatically. Uses almost the full list of monsters from //= the mob_branch. I included the dispbottom here when players login, but I //= actually perfer to use a login script with this in it. //===== Version Control: =========================================================== //= 1.0 First Version. //= 1.1 Broke .MobTypeArray[0] into ten seperate arrays to allow full list of mobs //= to be used without overflowing the array. Before I had to limit the number //= of mobs in an array to around 100 or I would randomly get an error from it. //= 1.2 Modified script to not change mobs if scripts are reloaded. Will set mob if //= not already set on OnInit. //= 1.3 Changed getexp to BaseExp. //= 1.4 Added bindatcmd to allow GM to repick the MOTD. //===== Additional Comments:======================================================== //= //================================================================================== //- script MOTD#RoUG -1,{ //prontera,158,190,4 script Monster Of The Day 844,{ prontera,158,190,4 script Monster Spirit 802 ,{ mes "[Monster Of The Day]"; mes "You will earn twice the EXP from killing "+getmonsterinfo($MobType,0)+"s [^0000ff"+$MobType+"^000000] today!"; next; mes "[Monster Of The Day]"; mes "You can donate on our Monster Control Department if you wish to ramdomly change the MOTD."; switch(select("Donate ["+callfunc("F_InsertComma",$motd_zeny) + "/"+callfunc("F_InsertComma",.motd_td)+"].","Nevermind.")) { case 1: Change_Amount: mes "[Monster Of The Day]"; mes "Please input desired amount."; next; input .@motd_zeny; if (.@motd_zeny < 1) { mes "[Monster Of The Day]"; mes "Input number greater than 0."; end; } mes "[Monster Of The Day]"; mes "Please confirm Zeny transfer."; next; switch(select("Change Amount:Confirm")) { case 1: .@motd_zeny = 0; next; goto Change_Amount; end; case 2: if (Zeny < .@motd_zeny) { mes "[Monster Of The Day]"; mes "Sorry, but you don't have enough"; mes "zeny to donate."; end; } if (.@motd_zeny > $motd_diff) { mes "[Monster Of The Day]"; mes "The amount you entered will exceed on remaining balance."; mes "Remaining Balance: "+callfunc("F_InsertComma",$motd_diff)+" Zeny"; mes "^ff0000*Please input exact amount next time*."; end; } if (.@motd_zeny == $motd_diff) { goto Initiate_MOTD; end; } Initiate_MOTD: mes "[Monster Of The Day]"; mes "Zeny has succesfully transfered."; Zeny -= .@motd_zeny; $motd_zeny += .@motd_zeny; $motd_diff -= .@motd_zeny; if ($motd_zeny >= .motd_td) { $motd_zeny = 0; announce ""+.npc$+": We reached the target donation to repick the monster of the day!",bc_all,0xFF6060; // Up to you whether you want to add an extra hour or not, as otherwise the event will be below 48 hours. goto OnAtcommand; } } case 2: end; } end; OnInit: .motd_td = 50000; $motd_diff = .motd_td - $motd_zeny; //Difference between target funds and balance bindatcmd "motd",strnpcinfo(0)+"::OnCheck"; //setnpcdisplay "Monster Of The Day",$MonsterName$,$MobType; bindatcmd "repickmotd",strnpcinfo(3)+"::OnAtcommand",20,99; if($MobType!=0) { end; } OnClock0000: set .RandomArray,rand(0,9); if(.RandomArray==0) { setarray .MobTypeArray[0],1001,1002,1004,1005,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1018,1019,1020,1023,1024,1025,1026,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1040,1041,1042,1044,1045,1047,1048; } if(.RandomArray==1) { setarray .MobTypeArray[0],1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1076,1077,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1099; } if(.RandomArray==2) { setarray .MobTypeArray[0],1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1113,1114,1116,1117,1118,1119,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1138,1139,1140,1141,1143; } if(.RandomArray==3) { setarray .MobTypeArray[0],1144,1145,1146,1148,1149,1151,1152,1153,1154,1155,1156,1158,1160,1161,1163,1164,1165,1166,1167,1169,1170,1174,1175,1176,1177,1178,1179,1180,1182,1185,1186,1188,1189,1191,1192,1193,1194,1195; } if(.RandomArray==4) { setarray .MobTypeArray[0],1196,1197,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1211,1212,1213,1214,1215,1216,1219,1242,1243,1245,1246,1248,1249,1250,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263; } if(.RandomArray==5) { setarray .MobTypeArray[0],1264,1265,1266,1267,1268,1269,1270,1271,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307; } if(.RandomArray==6) { setarray .MobTypeArray[0],1308,1309,1310,1311,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1365,1366,1367,1368,1369,1370,1371,1372,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1390; } if(.RandomArray==7) { setarray .MobTypeArray[0],1391,1392,1400,1401,1402,1403,1404,1405,1406,1408,1409,1410,1412,1413,1415,1416,1417,1493,1494,1495,1497,1498,1499,1500,1503,1504,1505,1506,1507,1508,1509,1510,1512,1513,1514,1515,1516,1517; } if(.RandomArray==8) { setarray .MobTypeArray[0],1519,1520,1582,1584,1586,1587,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1627,1628,1629,1631,1632,1633,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1675,1676,1677,1678,1679,1680; } if(.RandomArray==9) { setarray .MobTypeArray[0],1681,1682,1686,1687,1692,1693,1694,1695,1696,1699,1703,1713,1714,1715,1717,1718,1736,1737,1738,1752,1753,1754,1755,1769,1770,1772,1773,1774,1775,1776,1777,1778,1780,1781,1782,1783,1784,1789; } set $MobType,.MobTypeArray[rand(0,37)]; announce "[Monster Of The Day]: You will earn twice the EXP from hunting "+getmonsterinfo($MobType,0)+"s ["+$MobType+"] today!",0; //set $MonsterName$,getmonsterinfo($MobType,0); //setnpcdisplay "Monster Of The Day",$MonsterName$,$MobType; end; OnCheck: dispbottom "[Monster Of The Day]: You will earn twice the EXP from hunting "+getmonsterinfo($MobType,0)+"s [^0000ff"+$MobType+"^000000] today!",0xFFFF00; end; OnNPCKillEvent: if(killedrid!=$MobType) { end; } dispbottom "MOTD Experience Gained Base:"+strmobinfo(6,killedrid)+" Job:"+strmobinfo(7,killedrid)+""; set BaseExp,(BaseExp+strmobinfo(6,killedrid)); set JobExp,(JobExp+strmobinfo(7,killedrid)); end; OnAtcommand: if(getgmlevel()<99) { dispbottom "You do not have permission to use this command."; end; } set .RandomArray,rand(0,9); if(.RandomArray==0) { setarray .MobTypeArray[0],1001,1002,1004,1005,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1018,1019,1020,1023,1024,1025,1026,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1040,1041,1042,1044,1045,1047,1048; } if(.RandomArray==1) { setarray .MobTypeArray[0],1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1076,1077,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1099; } if(.RandomArray==2) { setarray .MobTypeArray[0],1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1113,1114,1116,1117,1118,1119,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1138,1139,1140,1141,1143; } if(.RandomArray==3) { setarray .MobTypeArray[0],1144,1145,1146,1148,1149,1151,1152,1153,1154,1155,1156,1158,1160,1161,1163,1164,1165,1166,1167,1169,1170,1174,1175,1176,1177,1178,1179,1180,1182,1185,1186,1188,1189,1191,1192,1193,1194,1195; } if(.RandomArray==4) { setarray .MobTypeArray[0],1196,1197,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1211,1212,1213,1214,1215,1216,1219,1242,1243,1245,1246,1248,1249,1250,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263; } if(.RandomArray==5) { setarray .MobTypeArray[0],1264,1265,1266,1267,1268,1269,1270,1271,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307; } if(.RandomArray==6) { setarray .MobTypeArray[0],1308,1309,1310,1311,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1365,1366,1367,1368,1369,1370,1371,1372,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1390; } if(.RandomArray==7) { setarray .MobTypeArray[0],1391,1392,1400,1401,1402,1403,1404,1405,1406,1408,1409,1410,1412,1413,1415,1416,1417,1493,1494,1495,1497,1498,1499,1500,1503,1504,1505,1506,1507,1508,1509,1510,1512,1513,1514,1515,1516,1517; } if(.RandomArray==8) { setarray .MobTypeArray[0],1519,1520,1582,1584,1586,1587,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1627,1628,1629,1631,1632,1633,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1675,1676,1677,1678,1679,1680; } if(.RandomArray==9) { setarray .MobTypeArray[0],1681,1682,1686,1687,1692,1693,1694,1695,1696,1699,1703,1713,1714,1715,1717,1718,1736,1737,1738,1752,1753,1754,1755,1769,1770,1772,1773,1774,1775,1776,1777,1778,1780,1781,1782,1783,1784,1789; } set $MobType,.MobTypeArray[rand(0,37)]; announce "[Monster Of The Day]: You will earn twice the EXP from hunting "+getmonsterinfo($MobType,0)+"s ["+$MobType+"] today!",0; //set $MonsterName$,getmonsterinfo($MobType,0); //setnpcdisplay "Monster Of The Day",$MonsterName$,$MobType; end; OnPCLoginEvent: if (#pcloginflag&128) end; dispbottom "[Monster Of The Day]: You will earn twice the EXP from hunting "+getmonsterinfo($MobType,0)+"s [^0000ff"+$MobType+"^000000] today!",0xFFFF00; end; }
Hi Mate,
You can check this out.
-
On 7/29/2021 at 10:12 AM, Uriaz_Heteo said:
Hello, thanks for being here, i have this question about the aspd penalty for using a sword on the right hand. Where do i see this aspd formula?
You can checkout status.cpp.
-
On 8/7/2021 at 12:57 AM, polong said:
I use this Lotti Girl script
but this script don't have announcement when get item with low chance (such as < 5%)
and i want to have the announcement so other player can read it
anyone can help me?thank you in advance
You can just put announce after or before the getitem part.
-
On 8/7/2021 at 12:10 PM, Catalyst said:
Hello,
I need help to add "Once player enters the fishing map, they will be kicked out every three hours".
map,xxx,xxx,0 script Fishing Hole 844,{ //Fishing rod set .@Rod,xxxx; //Fishing Lure set .@Lure,xxxx; //Auto-Fish set .@Auto,1; //Auto-Fish on Fail set .@AutoFail,1; Fish: .@weight = 100 * Weight / MaxWeight; if (90 <= .@weight) { mes "^FA2103You are currently at " + .@weight + " percent of your maximum weight.^000000"; end; } if (isequipped(.@Rod)) && (isequipped(.@Lure)){ specialeffect EF_BUBBLE,"Fishing Hole"; //soundeffect "fishingrod.wav",0; dispbottom "[Fishing] Casting..."; set .@fcast,15; if (isequipped(2550)) { //Fisher's Muffler set .@fcast,.@fcast - 1; } if (isequipped(2443)) { //Fisher's Boots set .@fcast,.@fcast - 1; } if (isequipped(2764)) { //Fishing Pole set .@fcast,.@fcast - 3; } if (isequipped(2775)) { //Fishing Lure set .@fcast,.@fcast - 2; } if (isequipped(5317)) { //head set .@fcast,.@fcast - 2; } if (isequipped(5403)) { //mouth set .@fcast,.@fcast - 2; } progressbar "ffffff",.@fcast; if (rand(1,100) == 3){ // 3% getitem 7227,5; // TCG 3% chance specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got x5 TCG",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12210,1; // BBG specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Bubble Gum",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12203,1; // specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Steamed Scorpion",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12202,1; // specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Steamed Tongue",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12204,1; // specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Dragon Breath Cocktail",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12205,1; // specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Hwergelmir's Tonic",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12206,1; // specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Cooked Nine Tail's Tails",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } else if (rand(1,100) == 3){ // 3% getitem 12207,1; // specialeffect2 EF_TEMP_OK; //soundeffectall "success.wav",0,strcharinfo(3); mapannounce strcharinfo(3),strcharinfo(0)+" Got 1x Stew Of Immortality",bc_map,"0xff77ff"; if(.@Auto==1){ goto Fish;}else{ end;} } if (rand(1,6) == 1) ||(rand(1,6) == 3) || (rand(1,6) == 6){ setarray .@Catch[0],1010,1011,984,985;// List of Junk/Other set .@CatchRand,.@Catch[rand(getarraysize(.@Catch))]; getitem .@CatchRand,1; } else { dispbottom "[Fishing] Nothing was caught..."; if(.@AutoFail == 1){ goto Fish;} else{ end;} } if (rand(1,100) == 1){ // 1% setarray .@Rare[0],7179; set .@RareCatch, .@Rare[rand(getarraysize(.@Rare))]; getitem .@RareCatch,1; //Reward set #FISHINGPOINTS,#FISHINGPOINTS+1; announce "[Fishing System]: "+strcharinfo(0)+" Got 1 "+getitemname(.@RareCatch)+".",0,0x33CC00; } if(.@Auto == 1){ goto Fish;} else{ end;} } else { dispbottom "[Fishing] You need a Rod and Lure."; end; } } map,xxx,xxx,0 duplicate(Fishing Hole) Fishing Hole#fish2-1 844 //map,xxx,xxx,0 duplicate(Fishing Hole) Fishing Hole#fish2-2 844 //map,xxx,xxx,0 duplicate(Fishing Hole) Fishing Hole#fish2-3 844 // Dealer map,xxx,xxx,6 shop Fish Dealer 958,xxx:xxxx,2775:xxxx,2443:xxxx,2550:xxxx
Many thanks.
This might help you.
-
On 8/5/2021 at 5:46 PM, Origami said:
Hi ! What do you mean by pointshop sir ? like #CASHPOINT ?? Do I need to convert the .@credit to #CASHPOINT
https://rathena.org/board/topic/90173-item-and-point-shop/
How about using a pointshop instead of this one? It will be just of same outcome but easier way. Just use single NPC with call function for the pointshop.
-
On 8/3/2021 at 2:58 PM, Subzero said:
dont have error issue but when i spawn
coin not gone mvp not spawned
Please reproduce. I've already provided you all the details to need to work it the way you wanted. I just gave you an idea on what you have to do. Basically you'll just need to do the dataflow. I can't test it on my emulator at the moment since I am a little bit busy but with all the details I've provided you should have fixed it.
-
13 hours ago, Subzero said:
for spawn sir not renting room
Ohh, sorry. Though the logic is just the same.
case 2: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another MVP when there are monsters around."; close; } else if ( .mvpcost ) { mes "[MVP Summoner]"; mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvpcost ) +" Mithril Coin."; next; set .@menu, select(.mvpid_menu$) -1; mes "[MVP Summoner]"; if (countitem(675) < .mvpcost ) { mes "You don't have enough Mithrils to summon an MVP."; close; } } else { set .@menu, select(.mvpid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if (countitem(675) > .mvpcost ) end; delitem 675,1*.mvpcost; monster "this", 0, 0, "--ja--", .mvpid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 3: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another mini-boss when there are monsters around."; close; } else if ( .bosscost ) { mes "[MVP Summoner]"; mes "The cost to summon a mini-boss is "+ callfunc( "F_InsertComma", .bosscost ) +" Mithril Coins."; next; set .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; if (countitem(675) < .bosscost ) { mes "You doesn't have enough Mithrils to summon a mini-boss."; close; } } else { set .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if (countitem(675) > .bosscost ) end; delitem 675,1*.bosscost; monster "this", 0, 0, "--ja--", .bossid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; _____ set .mvpcost, 10; // Zeny cost to summon an MVP (0 = free) set .bosscost, 10; // Zeny cost to summon a boss monster (0 = free)
Haven't tried it though. Optimized it if there are any errors since I haven't tested it yet. But it will definitely give you a huge idea on how it should work.
-
On 7/28/2021 at 4:22 PM, Subzero said:
hello rA guys
its posibble to make this private mvp room spawn using coin?
i like to change spawn using zeny to 10 mitril coin
Yes, it's possible. Just change its condition.
For example:
if (countitem(674) > 10){ { if ( .inuseid[.@room] == getcharid( .type[.@room] ) ) { warp "06guild_0"+ .@room, 0,0; delitem 674,10; close; } else if (countitem(674) < 10) { mes "You don't have enough zeny to rent a room."; }
Haven't tried it yet though. I may have deleted some of the parameters but its for you to check out what shouldn't be deleted. I just gave you a brief and example. You just have to change condition of zeny to an item using item count.
Good luck!
Convert prize giving mail to getitem
in Scripting Support
Posted
It would be better if you can provide us the scenario of the whole script.