Jump to content

Ronald

Members
  • Posts

    241
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Ronald

  1. On 9/8/2022 at 4:37 AM, jmsngls said:

    Hello, can someone help me convert this script prize giving from mail to just getitem.

    for(.@i=0;.@i<getarraysize(.players);.@i++){
    		mapannounce .map$,convertpcinfo(.players[.@i],CPC_NAME) + " Won!",bc_all;
    		for(.@n=0;.@n<getarraysize(.item_win);.@n+=2){
    			.@cid = convertpcinfo(.players[.@i],CPC_CHAR);
    			mail(.@cid, .sender$, .title$, .body$, .@zeny, .item_win, .count_win);
    		}
    	}

    I tried this method but its not working

        getitem .Prize,.PrizeAmt;
    
    OnInit:
        set .Prize,7227;
        set .PrizeAmt,10;

     

    It would be better if you can provide us the scenario of the whole script.

  2. 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 help

    AFAIK this should work well unless the one you are changing is an costume equipment.  

  3. 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";

     

     

  4. 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.

  5. 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.

    image.png.14050643f52e9e144c63e8b1731d4f13.png

    //===== 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.

  6. 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?

  7. 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.

  8. 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.

  9. 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.

     

  10. On 9/14/2021 at 7:18 AM, Easycore said:

    Instance Difficulty Settings

    RUipOGP.png

    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:

    1. Setting this up in instance_db.yml:
      There's a node called Difficulty inside this file where you can setup the difficulty.
    2. 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.

    AI4Ul6i.png

    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?

      Hide contents

    ---------------------------------------

    *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!

  11. 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.

  12. 9 hours ago, Ochul Kelob said:

    Hi I want to learn how to do the lgp skill tile edit?, I only know how to change the colors but i dont know how to edit it where it says the actual skill.

     

    image.png.521273f7232e3289531f69c447e97882.png

     

     

    If your server has LGP function from Functor then you can check out the plugin.ini.

  13. 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 me

    conf/char_athena.conf

     

    char_maintenance: 0

    to

    char_maintenance: 1

     

    gm_allow_group: 99

    to

    gm_allow_group: (your choice)

  14. 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

  15. 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.

  16. 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.  

     

  17. 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.

     

     

  18. 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. ?

  19. 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.

  20. On 7/28/2021 at 4:22 PM, Subzero said:

    hello rA guys

    its posibble to make this private mvp room spawn using coin?

    https://pastebin.com/SzANV0K4

    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!

×
×
  • Create New...