MikZ

Members
  • Content count

    258
  • Joined

  • Last visited

1 Follower

About MikZ

  • Rank
    Advanced Member

Recent Profile Visitors

1449 profile views
  1. Thanks!
  2. Hi! Good day! Updated my Git file and i notice changes in plugin makefile. MYPLUGINS := $(MYPLUGINS) Am i doing this correctly? MYPLUGINS := $(plugin1 plugin2 plugin3) or MYPLUGINS := $(plugin1) $(plugin2) $(plugin3) ?? after compiling my plugin disappears. /sob Please help me. thanks!
  3. Hi Good day! May I request a multi currency Shop like @Emistry but with different function like. select(" Poring Coin", TCG","Hourly"); Case 1: Poring Coin All items are for rent for 7 days Case 2: TCG All items are normal (tradeable) Case 3: Hourly All items are account bind. Wanted to have 1 NPC for all than having separate one per Currency. Is this possible? thanks!
  4. anyone please?
  5. Good day! Wanted to ask how to make this script to give MVP reward to party within the screen area. - script MVPBadge FAKE_NPC,{ OnNPCKillEvent: if ( getmonsterinfo( killedrid, MOB_MVPEXP ) && rand(100) < 70 ) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) { if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) { // what happens if someone in the party member is offline =/ [email protected][[email protected]] = [email protected][[email protected]]; [email protected]++; } } getitem 30212, 1, [email protected][ rand( [email protected] ) ]; //announce "Party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), 0; } else { getitem 30212, 1; //announce "Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), 0; } } end; } Im trying to improvise using the script from mission hunting yet i don't know how. T_T OnNPCKillEvent: if (!getcharid(CHAR_ID_PARTY) || !.Party) { if (!#Mission_Count || !Mission0) end; for (set [email protected], 0; [email protected]<.Quests; set [email protected],[email protected]+1) { if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"[email protected]))) { if (getd("Mission"[email protected]+"_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"[email protected]+"_"),getd("Mission"[email protected]+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+"."; end; } } } } else if (.Party) { set [email protected], killedrid; getmapxy([email protected]$, [email protected], [email protected], UNITTYPE_PC); getpartymember getcharid(CHAR_ID_PARTY),1; getpartymember getcharid(CHAR_ID_PARTY),2; for(set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+1) { if (isloggedin([email protected][[email protected]], [email protected]d[[email protected]])) { attachrid [email protected][[email protected]]; if (#Mission_Count && Mission0 && Hp > 0) { getmapxy([email protected]$, [email protected], [email protected], UNITTYPE_PC); if (([email protected]$ == [email protected]$ || .Party == 1) && (distance([email protected],[email protected],[email protected],[email protected]) <= 30 || .Party < 3)) { for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) { if (strmobinfo(1,[email protected]) == strmobinfo(1,getd("Mission"[email protected]))) { if (getd("Mission"[email protected]+"_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"[email protected]+"_"),getd("Mission"[email protected]+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,[email protected])+"."; break; } } } } } } } } OnInit: set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen are only)
  6. Thank you!
  7. Good day! May i know where to edit duration effect of poem of bragi skill it only last 10secs. thanks!
  8. thanks, how about the shop?
  9. Good day Hercules master Scripters! May i request your support please. I am trying to make some twist the hunting mission script. I wanted to have getitem poring coin directly to players inventory instead of mission points, as well as change mission points to poring coin in the shop. please help me what to do. this is to allow player to simply trade coins. //===== Hercules Script ====================================== //= Hunting Missions //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4b //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Small improvements and fixes. //= 1.2 Added party support and replaced blacklists with an //= SQL query, both thanks to AnnieRuru. //= 1.3 Re-added a blacklist adapted for the SQL query. //= 1.3a Added mission reset options. //= 1.4 Fix ranking table using new SQL database [ossi0110] //= 1.4a Fix a bug when a character has deleted, that account //= can't do mission. [AnnieRuru] //= 1.4b Update to follow author's method on fixing //= character deletion bug [AnnieRuru] //============================================================ prontera,164,165,4 script Hunting Missions::Onatcmd 4_F_EDEN_MASTER,{ function Chk; function Cm; OnHunting: mes "[Hunting Missions]"; mes "Hello, "+strcharinfo(PC_NAME)+"!"; if (!#Mission_Delay) { next; mes "[Hunting Missions]"; mes "I can't find any records..."; mes "You must be new here!"; emotion e_omg; next; callsub Mission_Info; emotion e_go; set #Mission_Delay,1; close; } mes rand(2)?"Working hard, as always...":"Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes "You can call me anywhere via ^[email protected]^000000 command"; mes " "; mes "^777777~ You've completed ^0055FF"+Mission_Total+"^777777 mission"+((Mission_Total == 1)?"":"s")+". ~^000000"; next; switch(select(((!Mission0)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) { case 1: mes "[Hunting Missions]"; if ( #Mission_Count ) { mes "You've started a mission"; mes "on another character."; if ( [email protected]_char_del_check ) { if ( !query_sql( "SELECT 1 FROM `char_reg_num_db` WHERE `key` = 'Mission0' AND `char_id` IN ( SELECT `char_id` FROM `char` WHERE `account_id` = "+ getcharid(CHAR_ID_ACCOUNT) +" )", [email protected] ) ) { next; mes "[Hunting Missions]"; mes "I can't seem to find any records"; mes "for that character, though..."; mes "One moment, please."; emotion e_hmm; set #Mission_Count, 0; } set @hm_char_del_check, 1; } close; } if (#Mission_Delay > gettimetick(2) && .delay) { set [email protected], #Mission_Delay-gettimetick(2); if ([email protected] > 3600) set [email protected]$, ([email protected]/3600)+" hour"+((([email protected]/3600) == 1)?"":"s"); else if ([email protected] > 60) set [email protected]$, ([email protected]/60)+" minute"+((([email protected]/60) == 1)?"":"s"); else set [email protected]$, ([email protected])+" second"+(([email protected] == 1)?"":"s"); mes "I'm afraid you'll have to wait "[email protected]$+" before taking another mission."; close; } mes "You must hunt:"; query_sql("SELECT ID FROM `mob_db` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT "+.Quests, [email protected]); for (set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) { setd "Mission"[email protected], [email protected][[email protected]]; setd "Mission"[email protected] +"_",0; } set #Mission_Count, rand(.Count[0],.Count[1]); callsub Mission_Status; next; mes "[Hunting Missions]"; mes "Report back when"; mes "you've finished."; mes "Good luck!"; close; case 2: mes "[Hunting Missions]"; mes "Mission status:"; callsub Mission_Status; close; case 3: mes "[Hunting Missions]"; mes "Do you really want to"; mes "abandon your mission?"; if (.Reset < 0 && .delay) mes "Your delay time will not be reset."; else if (.Reset > 0) mes "It will cost "+Cm(.Reset)+" Zeny."; next; switch(select(" ~ Abandon...", " ~ ^777777Cancel^000000")) { case 1: if (.Reset > 0) { if (Zeny < .Reset) { mes "[Hunting Missions]"; mes "You don't have enough"; mes "Zeny to drop this mission."; emotion e_sry; close; } Zeny -= .Reset; emotion e_cash; } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect(EF_STORMKICK4, AREA, playerattached()); for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) { setd "Mission"[email protected],0; setd "Mission"[email protected]+"_",0; } set #Mission_Count,0; if (.Reset < 0 && .delay) set #Mission_Delay, gettimetick(2)+(.delay*3600); close; case 2: mes "[Hunting Missions]"; mes "I knew you were kidding!"; mes "Keep up the good work."; emotion e_heh; close; } case 4: callsub Mission_Info; close; case 5: mes "[Hunting Missions]"; mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points."; mes "Use them well!"; callshop "mission_shop",1; npcshopattach "mission_shop"; end; case 6: mes "[Hunting Missions]"; mes "The top hunters are:"; query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num_db` WHERE `key` = 'Mission_Total' ORDER BY `value` DESC LIMIT 5",[email protected],[email protected]$,[email protected]); for(set [email protected],0; [email protected]<5; set [email protected],[email protected]+1) mes " [Rank "+([email protected]+1)+"] "+(([email protected]$[[email protected]] == "")?"^777777none":"^0055FF"[email protected]$[[email protected]]+"^000000 : ^FF0000"[email protected][[email protected]]+" pt.")+"^000000"; close; case 7: mes "[Hunting Missions]"; mes "Nothing? Okay..."; emotion e_hmm; close; } Mission_Status: set @f,0; deletearray [email protected][0], getarraysize([email protected]); for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) { set [email protected][[email protected]], getd("Mission"[email protected]); set [email protected][.Quests], [email protected][.Quests]+strmobinfo(3,[email protected][[email protected]]); set [email protected][.Quests+1], [email protected][.Quests+1]+(strmobinfo(6,[email protected][[email protected]])/(getbattleflag("base_exp_rate")/100)*.Modifier[0]); set [email protected][.Quests+2], [email protected][.Quests+2]+(strmobinfo(7,[email protected][[email protected]])/(getbattleflag("job_exp_rate")/100)*.Modifier[1]); mes " > "+Chk(getd("Mission"[email protected]+"_"),#Mission_Count)+strmobinfo(1,[email protected][[email protected]])+" ("+getd("Mission"[email protected]+"_")+"/"+#Mission_Count+")^000000"; } // Reward formulas: set [email protected]_Points, 3+([email protected][.Quests]/.Quests/10); set [email protected]_Exp, #Mission_Count*[email protected][.Quests+1]/15; set [email protected]_Exp, #Mission_Count*[email protected][.Quests+2]/15; set [email protected], #Mission_Count*.Quests*[email protected][[email protected]]*.Modifier[2]; next; mes "[Hunting Missions]"; mes "Mission rewards:"; mes " > Mission Points: ^0055FF"[email protected]_Points+"^000000"; mes " > Base Experience: ^0055FF"+Cm([email protected]_Exp)+"^000000"; mes " > Job Experience: ^0055FF"+Cm([email protected]_Exp)+"^000000"; mes " > Zeny: ^0055FF"+Cm([email protected])+"^000000"; if (@f) { set @f,0; return; } next; mes "[Hunting Missions]"; mes "Oh, you're done!"; mes "Good work."; mes "Here's your reward."; emotion e_no1; specialeffect(EF_ANGEL, AREA, playerattached()); specialeffect(EF_TRUESIGHT, AREA, playerattached()); set #Mission_Points, #[email protected]_Points; set BaseExp, [email protected]_Exp; set JobExp, [email protected]_Exp; Zeny += [email protected]; for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) { setd "Mission"[email protected],0; setd "Mission"[email protected]+"_",0; } set #Mission_Count,0; if (.delay) set #Mission_Delay, gettimetick(2)+(.delay*3600); set Mission_Total, Mission_Total+1; if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num_db` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(CHAR_ID_CHAR)+",'Mission_Total','0',1)"); else query_sql("UPDATE `char_reg_num_db` SET `value` = "+Mission_Total+" WHERE `char_id` = "+getcharid(CHAR_ID_CHAR)+" AND `key` = 'Mission_Total'"); close; Mission_Info: mes "[Hunting Missions]"; mes "If you so choose, I can assign"; mes "you a random hunting quest."; mes "Some are easier than others, but"; mes "the rewards increase with difficulty."; next; mes "[Hunting Missions]"; mes "Missions points are shared"; mes "amongst all your characters."; if (.delay) mes "Delay time is, too."; mes "You can't take missions on"; mes "multiple characters at once."; next; mes "[Hunting Missions]"; mes "You can start a quest"; if (.delay) mes "every "+((.delay == 1)?"hour.":.delay+" hours."); else mes "whenever you want."; mes "That's everything~"; return; function Chk { if (getarg(0) < getarg(1)) { set @f,1; return "^FF0000"; } else return "^00FF00"; } function Cm { set [email protected]$, getarg(0); for(set [email protected],getstrlen([email protected]$)-3; [email protected]>0; set [email protected],[email protected]) set [email protected]$, insertchar([email protected]$,",",[email protected]); return [email protected]$; } OnBuyItem: set @cost,0; for(set [email protected],0; [email protected]<getarraysize(@bought_nameid); set [email protected],[email protected]+1) for(set [email protected],0; [email protected]<getarraysize(.Shop); set [email protected],[email protected]+2) if (@bought_nameid[[email protected]] == .Shop[[email protected]]) { set @cost, @cost+(.Shop[[email protected]+1]*@bought_quantity[[email protected]]); break; } mes "[Hunting Missions]"; if (@cost > #Mission_Points) mes "You don't have enough Mission Points."; else { for(set [email protected],0; [email protected]<getarraysize(@bought_nameid); set [email protected],[email protected]+1) { getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]]; dispbottom "Purchased "[email protected]_quantity[[email protected]]+"x "+getitemname(@bought_nameid[[email protected]])+"."; } set #Mission_Points, #[email protected]; mes "Deal completed."; emotion e_cash; } set @cost,0; deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnNPCKillEvent: if (!getcharid(CHAR_ID_PARTY) || !.Party) { if (!#Mission_Count || !Mission0) end; for (set [email protected], 0; [email protected]<.Quests; set [email protected],[email protected]+1) { if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"[email protected]))) { if (getd("Mission"[email protected]+"_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"[email protected]+"_"),getd("Mission"[email protected]+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+"."; end; } } } } else if (.Party) { set [email protected], killedrid; getmapxy([email protected]$, [email protected], [email protected], UNITTYPE_PC); getpartymember getcharid(CHAR_ID_PARTY),1; getpartymember getcharid(CHAR_ID_PARTY),2; for(set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+1) { if (isloggedin([email protected][[email protected]], [email protected][[email protected]])) { attachrid [email protected][[email protected]]; if (#Mission_Count && Mission0 && Hp > 0) { getmapxy([email protected]$, [email protected], [email protected], UNITTYPE_PC); if (([email protected]$ == [email protected]$ || .Party == 1) && (distance([email protected],[email protected],[email protected],[email protected]) <= 30 || .Party < 3)) { for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) { if (strmobinfo(1,[email protected]) == strmobinfo(1,getd("Mission"[email protected]))) { if (getd("Mission"[email protected]+"_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"[email protected]+"_"),getd("Mission"[email protected]+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,[email protected])+"."; break; } } } } } } } } end; OnInit: bindatcmd "hunting",strnpcinfo(3)+"::OnHunting"; set .delay,0; // Quest delay, in hours (0 to disable). set .Quests,5; // Number of subquests per mission (increases rewards). set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) set .Reset,100000; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 30,50; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). //0,0; 5335,50,5322,120,5367,250,5467,750,5383,750,2399,500,2553,500; set .Blacklist$, // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ "1975,1976,1977,1978,1979"; npcshopdelitem "mission_shop",512; for(set [email protected],0; [email protected]<getarraysize(.Shop); set [email protected],[email protected]+2) npcshopadditem "mission_shop", .Shop[[email protected]], .Shop[[email protected]+1]; end; } - shop mission_shop FAKE_NPC,512:-1
  10. Yes been thinking of that, but i don't know which map. 06guild_01 ~ 08 already in my files. I believe it is related with instancing the map.
  11. Good day! I am using @AnnieRuru private DB from rathena. However I am getting mapindex_name2id: Map " " not found. (attached image) Please help me how to fixed this. Here's the script: //===== rAthena Script ======================================= //= Private MVP & Branch Room //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Allows players to rent an MVP room for personal use, //= or for a party or guild. //===== Additional Comments: ================================= //= 1.0 First version, edited. [Euphy] //============================================================ prontera,148,174,5 script Private MVP Room 100,{ mes "[Private MVP Room]"; mes "Please select a private MVP room."; if ( getvariableofnpc( .rentcost, "MVP Summoner" ) ) mes "The cost to rent a room for "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes is "+ callfunc("F_InsertComma", getvariableofnpc( .rentcost, "MVP Summoner" ) ) +" zeny."; else mes "You can only use the room for only "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes."; mes " "; for ( [email protected] = 1; [email protected] <= 8; [email protected]++ ) if ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) mes "Room #"+ [email protected] +" = "+ .color$[ .type[[email protected]] ] + .whoinuse$[[email protected]] +"^000000"; next; [email protected] = select( "MVP Room 1 ["+ getmapusers("06guild_01") +"]", "MVP Room 2 ["+ getmapusers("06guild_02") +"]", "MVP Room 3 ["+ getmapusers("06guild_03") +"]", "MVP Room 4 ["+ getmapusers("06guild_04") +"]", "MVP Room 5 ["+ getmapusers("06guild_05") +"]", "MVP Room 6 ["+ getmapusers("06guild_06") +"]", "MVP Room 7 ["+ getmapusers("06guild_07") +"]", "MVP Room 8 ["+ getmapusers("06guild_08") +"]"); if ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) { if ( .inuseid[[email protected]] == getcharid( .type[[email protected]] ) ) { warp "06guild_0"+ [email protected], 0,0; close; } else { mes "[Private MVP Room]"; mes "This room is reserved for "; mes .color$[ .type[[email protected]] ] + .whoinuse$[[email protected]] +"^000000."; mes "Please select another."; close; } } mes "[Private MVP Room]"; mes "Reserve this room for..."; next; set [email protected], select( "For my party members", "For my guild members", "For personal account use" ); if ( !getcharid([email protected]) ) { mes "[Private MVP Room]"; mes "You do not own a "+( ( [email protected] == 1 )? "Party" : "Guild" )+"."; close; } else if ( Zeny < getvariableofnpc( .rentcost, "MVP Summoner" ) ) { mes "You don't have enough zeny to rent a room."; close; } else if ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) { mes "[Private MVP Room]"; mes "I'm sorry, somebody else has already registered this room faster than you."; close; } for ( [email protected] = 1; [email protected] <= 8; [email protected]++ ) { if ( ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) && [email protected] == .type[[email protected]] && getcharid([email protected]) == .inuseid[[email protected]] ) { mes "[Private MVP Room]"; mes "You already rented Room#"+ [email protected] +". Use that room instead."; close; } } set .type[[email protected]], [email protected]; set .inuseid[[email protected]], getcharid([email protected]); set .whoinuse$[[email protected]], strcharinfo( ( [email protected] == 3 )? 0 : [email protected] ); Zeny -= getvariableofnpc( .rentcost, "MVP Summoner" ); warp "06guild_0"+ [email protected], 0,0; killmonsterall "06guild_0"+ [email protected]; donpcevent "MVP Summoner#"+ [email protected] +"::OnEnterMap"; close; OnInit: .color$[1] = "^EE8800"; // party color .color$[2] = "^70CC11"; // guild color .color$[3] = "^0000FF"; // account color end; } - script MVP Summoner -1,{ mes "[MVP Summoner]"; mes "Time left: " + callfunc( "Time2Str", .renttime[ atoi( strnpcinfo(2) ) ] + .timeout * 60 ); mes "Hi, what can I do for you?"; next; switch ( select(.menu$) ) { case 1: mes "[MVP Summoner]"; if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "I cannot offer heal service when there are monsters around."; close; } sc_end SC_STONE; sc_end SC_SLOWDOWN; sc_end SC_FREEZE; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_CONFUSION; sc_end SC_BLIND; sc_end SC_BLEEDING; sc_end SC_DECREASEAGI; sc_end SC_POISON; sc_end SC_HALLUCINATION; sc_end SC_STRIPWEAPON; sc_end SC_STRIPARMOR; sc_end SC_STRIPHELM; sc_end SC_STRIPSHIELD; sc_end SC_CHANGEUNDEAD; sc_end SC_ORCISH; sc_end SC_BERSERK; sc_end SC_SKE; sc_end SC_SWOO; sc_end SC_SKA; percentheal 100,100; specialeffect2 EF_HEAL; mes "You are completely healed."; close; 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 ) +" zeny."; next; set [email protected], select(.mvpid_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvpcost ) { mes "You don't have enough zeny to summon an MVP."; close; } } else { set [email protected], select(.mvpid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvpcost ) end; Zeny -= .mvpcost; monster "this", 0, 0, "--ja--", .mvpid[[email protected]], 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 ) +" zeny."; next; set [email protected], select(.bossid_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .bosscost ) { mes "You doesn't have enough zeny to summon a mini-boss."; close; } } else { set [email protected], select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .bosscost ) end; Zeny -= .bosscost; monster "this", 0, 0, "--ja--", .bossid[[email protected]], 1, strnpcinfo(3)+"::OnMobDead"; end; case 4: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) > 0 ) { mes "[MVP Summoner]"; mes "I cannot offer this service when there are monsters around."; close; } close2; callshop "MVP room#branch", 1; end; case 5: mes "[MVP Summoner]"; mes "Are you sure you want to leave this room?"; next; if ( select( "Yes:No") == 1 ) warp .respawnmap$, .respawnx, .respawny; close; case 6: mes "[MVP Summoner]"; if ( getmapusers( strcharinfo(3) ) > 1 ) { mes "There are still some players in this room. Make sure you are the last member in this room to use this option."; close; } mes "Are you sure you want to give up this room?"; if ( .rentcost ) mes "You will need to pay again to enter this room."; next; if ( select( "Yes", "No" ) == 2 ) close; awake strnpcinfo(0); end; } close; OnMobDead: end; OnEnterMap: [email protected] = atoi( strnpcinfo(2) ); .renttime[[email protected]] = gettimetick(2); sleep .timeout * 60000; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; .renttime[[email protected]] = 0; killmonsterall strnpcinfo(4); end; OnInit: if ( !getstrlen( strnpcinfo(2) ) ) { // Config --------------------------------------------------------------------------------------- // Room rental time, in minutes. // When time runs out, all players inside the room will be kicked out. // Do NOT set this to zero! set .timeout, 60; set .rentcost, 100000; // Zeny cost for renting a room (0 = free) set .mvpcost, 100000; // Zeny cost to summon an MVP (0 = free) set .bosscost, 50000; // Zeny cost to summon a boss monster (0 = free) // Options setting inside MVP room set [email protected][1], 1; // Turn Heal option On/Off set [email protected][2], 1; // Turn MVP Summoning On/Off set [email protected][3], 1; // Turn Mini boss Summoning On/Off set [email protected][4], 0; // Sell items (branches) On/Off (see shop below, before the mapflags) // Respawn point when players leave the room set .respawnmap$, "prontera"; set .respawnx, 150; set .respawny, 174; setarray .mvpid[0], 1511,// Amon Ra 1647,// Assassin Cross Eremes 1785,// Atroce 1630,// Bacsojin 1039,// Baphomet 1874,// Beelzebub 1272,// Dark Lord 1719,// Datale 1046,// Doppelgangger 1389,// Dracula 1112,// Drake 1115,// Eddga 1418,// Evil Snake Lord 1871,// Fallen Bishop 1252,// Garm 1768,// Gloom Under Night 1086,// Golden Thief Bug 1885,// Gopinich 1649,// High Priest Magaleta 1651,// High Wizard Katrinn 1832,// Ifrit 1492,// Incantation Samurai 1734,// Kiel D-01 1251,// Knight of Windstorm 1779,// Ktullanux 1688,// Lady Tanee 1646,// Lord Knight Seyren 1373,// Lord of Death 1147,// Maya 1059,// Mistress 1150,// Moonlight Flower 1087,// Orc Hero 1190,// Orc Lord 1038,// Osiris 1157,// Pharaoh 1159,// Phreeoni 1623,// RSX 0806 1650,// Sniper Shecil 1583,// Tao Gunka 1708,// Thanatos 1312,// Turtle General 1751,// Valkyrie Randgris 1685,// Vesper 1648,// Whitesmith Harword 1917,// Wounded Morroc 1658;// Ygnizem setarray .bossid[0], 1096,// Angeling 1388,// Archangeling 1795,// Bloody Knight 1830,// Bow Guardian 1839,// Byorgue 1309,// Cat O' Nine Tail 1283,// Chimera 1302,// Dark Illusion 1198,// Dark Priest 1582,// Deviling 1091,// Dragon Fly 1093,// Eclipse 1205,// Executioner 1783,// Galion 1592,// Gangster 1120,// Ghostring 1259,// Gryphon 1720,// Hydro 1090,// Mastering 1289,// Maya Purple 1262,// Mutant Dragon 1203,// Mysteltainn 1870,// Necromancer 1295,// Owl Baron 1829,// Sword Guardian 1204,// Tirfing 1089,// Toad 1092,// Vagabond Wolf 1765;// Valkyrie // Config Ends ------------------------------------------------------------------------ if ( !.timeout ) set .timeout, 60; .menu$ = ( [email protected][1] ? "Heal" : "" ) +":" ; .menu$ = .menu$ + ( [email protected][2] ? "Summon MVP" : "" ) +":"; .menu$ = .menu$ + ( [email protected][3] ? "Summon Mini-boss" : "" ) +":"; .menu$ = .menu$ + ( [email protected][4] ? "Buy branches" : "" ) +":"; .menu$ = .menu$ + "Leave this room:Give up this room"; if ( [email protected][2] ) { [email protected] = getarraysize( .mvpid ); for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) .mvpid_menu$ = .mvpid_menu$ + getmonsterinfo( .mvpid[[email protected]], MOB_NAME ) +":"; } if ( [email protected][3] ) { [email protected] = getarraysize( .bossid ); for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[[email protected]], MOB_NAME ) +":"; } } else { mapannounce strnpcinfo(4), "An administrator has refreshed the server. Please re-register this room.", bc_map; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; } end; } - shop MVP room#branch -1,604:100000,12103:1000000 06guild_01,49,49,4 duplicate(MVP Summoner) MVP Summoner#1 116 06guild_02,49,49,4 duplicate(MVP Summoner) MVP Summoner#2 116 06guild_03,49,49,4 duplicate(MVP Summoner) MVP Summoner#3 116 06guild_04,49,49,4 duplicate(MVP Summoner) MVP Summoner#4 116 06guild_05,49,49,4 duplicate(MVP Summoner) MVP Summoner#5 116 06guild_06,49,49,4 duplicate(MVP Summoner) MVP Summoner#6 116 06guild_07,49,49,4 duplicate(MVP Summoner) MVP Summoner#7 116 06guild_08,49,49,4 duplicate(MVP Summoner) MVP Summoner#8 116 06guild_01 mapflag nowarpto 06guild_02 mapflag nowarpto 06guild_03 mapflag nowarpto 06guild_04 mapflag nowarpto 06guild_05 mapflag nowarpto 06guild_06 mapflag nowarpto 06guild_07 mapflag nowarpto 06guild_08 mapflag nowarpto 06guild_01 mapflag nomemo 06guild_02 mapflag nomemo 06guild_03 mapflag nomemo 06guild_04 mapflag nomemo 06guild_05 mapflag nomemo 06guild_06 mapflag nomemo 06guild_07 mapflag nomemo 06guild_08 mapflag nomemo 06guild_01 mapflag noteleport 06guild_02 mapflag noteleport 06guild_03 mapflag noteleport 06guild_04 mapflag noteleport 06guild_05 mapflag noteleport 06guild_06 mapflag noteleport 06guild_07 mapflag noteleport 06guild_08 mapflag noteleport 06guild_01 mapflag nosave SavePoint 06guild_02 mapflag nosave SavePoint 06guild_03 mapflag nosave SavePoint 06guild_04 mapflag nosave SavePoint 06guild_05 mapflag nosave SavePoint 06guild_06 mapflag nosave SavePoint 06guild_07 mapflag nosave SavePoint 06guild_08 mapflag nosave SavePoint 06guild_01 mapflag nopenalty 06guild_02 mapflag nopenalty 06guild_03 mapflag nopenalty 06guild_04 mapflag nopenalty 06guild_05 mapflag nopenalty 06guild_06 mapflag nopenalty 06guild_07 mapflag nopenalty 06guild_08 mapflag nopenalty
  12. thanks!
  13. Good day! Wanted to know where to edit command list if you type @commands? wanted to edit commands with definition on it. Thank in advance!
  14. Good day! Master Developers, May I request a plugin in for @autoattack with set MAP ZONE. not allowed in PVP and GVG. I requested before to allow @autoattack in specific map was answered/coded by dastgir and this time is the other way around. (Previous Request) Specification: @autoattack will be disabled upon: death @go in town, Specific Maps Like: in PVP room in GVG room WOE Maps With Skill (if possible skills in F11 and F12) Was taken from here by goddamiet Thanks!