Sky Raker Posted September 6, 2018 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 9 Reputation: 1 Joined: 08/21/18 Last Seen: February 29, 2024 Share Posted September 6, 2018 (edited) Can anyone help me to make this mvp room every mvp can only spawn 2 and mini boss 5. Thanks. //===== 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,164,165,3 script Private MVP Room 100,{ mes "[Private MVP Room]"; mes "Please select a private MVP room."; if ( getvariableofnpc(.rentitemid, "MVP Summoner") && getvariableofnpc(.rentitemamount, "MVP Summoner") ) mes "The cost to rent a room for "+ getvariableofnpc(.timeout, "MVP Summoner") +" minutes is "+ getvariableofnpc(.rentitemamount, "MVP Summoner") +" "+ getitemname( getvariableofnpc(.rentitemid, "MVP Summoner") ) +"."; else if ( getvariableofnpc(.rentcost, "MVP Summoner") ) mes "The cost to rent a room for "+ getvariableofnpc(.timeout, "MVP Summoner") +" minutes is "+ callfunc(getvariableofnpc(.rentcost, "MVP Summoner") ) +" zeny."; else mes "You can only use the room for only "+ getvariableofnpc(.timeout, "MVP Summoner") +" minutes."; mes " "; for ( set .@i, 1; .@i <= 8; set .@i, .@i +1 ) { if ( getvariableofnpc(.remaintime[.@i],"MVP Summoner") ) { switch ( .type[.@i] ) { case 1: set .@color$, "^EE8800"; break; case 2: set .@color$, "^70CC11"; break; case 3: set .@color$, "^0000FF"; break; default: set .@color$, "^000000"; } mes "Room #"+ .@i +" = "+ .@color$ + .whoinuse$[.@i] +"^000000"; } } next; .@room = 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[.@room], "MVP Summoner" ) ) { if ( .inuseid[.@room] == getcharid( .type[.@room] ) ) { warp "06guild_0"+ .@room, 0,0; close; } else { mes "[Private MVP Room]"; mes "This room is reserved for "; mes .color$[ .type[.@room] ] + .whoinuse$[.@room] +"^000000."; mes "Please select another."; close; } } mes "[Private MVP Room]"; mes "Reserve this room for..."; next; set .@type, select( "For my party members", "For my guild members", "For personal account use" ); if ( !getcharid(.@type) ) { mes "[Private MVP Room]"; mes "You do not own a "+( ( .@type == 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[.@room], "MVP Summoner" ) ) { mes "[Private MVP Room]"; mes "I'm sorry, somebody else has already registered this room faster than you."; close; } for ( .@i = 1; .@i <= 8; .@i++ ) { if ( ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) && .@type == .type[.@i] && getcharid(.@type) == .inuseid[.@i] ) { mes "[Private MVP Room]"; mes "You already rented Room#"+ .@i +". Use that room instead."; close; } } set .type[.@room], .@type; set .inuseid[.@room], getcharid(.@type); set .whoinuse$[.@room], strcharinfo( ( .@type == 3 )? 0 : .@type ); if ( getvariableofnpc(.rentitemid, "MVP Summoner") && getvariableofnpc(.rentitemamount, "MVP Summoner") ) { if ( countitem(getvariableofnpc(.rentitemid, "MVP Summoner")) < getvariableofnpc(.rentitemamount, "MVP Summoner") ) end; delitem getvariableofnpc(.rentitemid, "MVP Summoner"), getvariableofnpc(.rentitemamount, "MVP Summoner"); } else if ( getvariableofnpc(.rentcost, "MVP Summoner") ) { if ( zeny < getvariableofnpc(.rentcost, "MVP Summoner") ) end; set zeny, zeny - getvariableofnpc(.rentcost, "MVP Summoner"); } warp "06guild_0"+ .@room, 0,0; killmonsterall "06guild_0"+ .@room; donpcevent "MVP Summoner#"+ .@room +"::OnEnterMap"; close; OnInit: .color$[1] = "^EE8800"; // party color .color$[2] = "^70CC11"; // guild color .color$[3] = "^0000FF"; // account color waitingRoom "Private MVP Room",0; 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]"; 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 ( .mvp1cost ) { mes "[MVP Summoner]"; mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvp1cost ) +" zeny."; next; set .@menu, select(.mvp1id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp1cost ) { mes "You don't have enough zeny to summon an MVP."; close; } } else { set .@menu, select(.mvp1id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp1cost ) end; Zeny -= .mvp1cost; monster "this", 0, 0, "--ja--", .mvp1id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 3: if ( .mvp2cost ) { mes "[MVP Summoner]"; mes "The cost to summon an Special MVP is "+ callfunc( "F_InsertComma", .mvp2cost ) +" zeny."; next; set .@menu, select(.mvp2id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp2cost ) { mes "You don't have enough zeny to summon an Special MVP."; close; } } else { set .@menu, select(.mvp2id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp2cost ) end; Zeny -= .mvp2cost; monster "this", 0, 0, "--ja--", .mvp2id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 4: if ( .mvp3cost ) { mes "[MVP Summoner]"; mes "The cost to summon an Hardcore MVP is "+ callfunc( "F_InsertComma", .mvp3cost ) +" zeny."; next; set .@menu, select(.mvp3id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp3cost ) { mes "You don't have enough zeny to summon an Hardcore MVP."; close; } } else { set .@menu, select(.mvp3id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp3cost ) end; Zeny -= .mvp3cost; monster "this", 0, 0, "--ja--", .mvp3id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 5: if ( .bosscost ) { mes "[MVP Summoner]"; mes "The cost to summon a mini-boss is "+ callfunc( "F_InsertComma", .bosscost ) +" zeny."; next; set .@menu, 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 .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .bosscost ) end; Zeny -= .bosscost; monster "this", 0, 0, "--ja--", .bossid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 6: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) > 100 ) { mes "[MVP Summoner]"; mes "I cannot offer this service when there are monsters around."; close; } close2; callshop "MVP room#branch", 1; end; case 7: 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 8: 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: .@id = atoi( strnpcinfo(2) ); .renttime[.@id] = gettimetick(2); sleep .timeout * 60000; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; .renttime[.@id] = 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, 10; set .rentcost, 1; // Zeny cost for renting a room (0 = free) set .rentitemid, 7615; set .rentitemamount, 1; set .mvp1cost, 1000000; // Zeny cost to summon an MVP (0 = free) set .mvp2cost, 150000; // Zeny cost to summon an Specail MVP (0 = free) set .mvp3cost, 500000; // Zeny cost to summon an Hardcore MVP (0 = free) set .bosscost, 100000; // Zeny cost to summon a boss monster (0 = free) // Options setting inside MVP room set .@menu[1], 1; // Turn Heal option On/Off set .@menu[2], 1; // Turn MVP Summoning On/Off set .@menu[3], 0; // Turn Special MVP Summoning On/Off set .@menu[4], 0; // Turn Hardcore MVP Summoning On/Off set .@menu[5], 1; // Turn Mini boss Summoning On/Off set .@menu[6], 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 .mvp1id[0], 1511,// Amon Ra 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 1252,// Garm 1086,// Golden Thief Bug 1885,// Gopinich 1492,// Incantation Samurai 1734,// Kiel D-01 1251,// Knight of Windstorm 1779,// Ktullanux 1688,// Lady Tanee 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 1583,// Tao Gunka 1312,// Turtle General 1685,// Vesper 1658;// Ygnizem setarray .mvp2id[0], 1646,// Lord Knight Seyren 1647,// Assassin Cross Eremes 1648,// Whitesmith Harword 1649,// High Priest Magaleta 1650,// Sniper Shecil 1651;// High Wizard Katrinn setarray .mvp3id[0], 1917,// Wounded Morroc 1956,// Naght Sieger 1957,// Entweihen Crothen 2022;// Nidhoggr's Shadow setarray .bossid[0], 1096,// Angeling 1388,// Archangeling 1268,// Bloody Knight 1830,// Bow Guardian 1839,// Byorgue 1307,// 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 1313,// Mobster 1262,// Mutant Dragon 1203,// Mysteltainn 1870,// Necromancer 1295,// Owl Baron 1829,// Sword Guardian 1991,// Tendrillion 1204,// Tirfing 1089,// Toad 1092,// Vagabond Wolf 1765,// Valkyrie 1200;// Zherlthsh // Config Ends ------------------------------------------------------------------------ if ( !.timeout ) set .timeout, 60; if ( .inputlimit < 1 ) set .inputlimit, 1; .menu$ = ( .@menu[1] ? "Heal" : "" ) +":" ; .menu$ = .menu$ + ( .@menu[2] ? "Summon MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[3] ? "Summon Special MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[4] ? "Summon Hardcore MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[5] ? "Summon Mini-boss" : "" ) +":"; .menu$ = .menu$ + ( .@menu[6] ? "Buy branches" : "" ) +":"; .menu$ = .menu$ + "Leave this room:Give up this room"; if ( .@menu[2] ) { .@size = getarraysize( .mvp1id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp1id_menu$ = .mvp1id_menu$ + getmonsterinfo( .mvp1id[.@i], MOB_NAME ) +":"; } if ( .@menu[3] ) { .@size = getarraysize( .mvp2id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp2id_menu$ = .mvp2id_menu$ + getmonsterinfo( .mvp2id[.@i], MOB_NAME ) +":"; } if ( .@menu[4] ) { .@size = getarraysize( .mvp3id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp3id_menu$ = .mvp3id_menu$ + getmonsterinfo( .mvp3id[.@i], MOB_NAME ) +":"; } if ( .@menu[5] ) { .@size = getarraysize( .bossid ); for ( .@i = 0; .@i < .@size; .@i++ ) .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[.@i], 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 Edited September 6, 2018 by Sky Raker Quote Link to comment Share on other sites More sharing options...
Question
Sky Raker
Can anyone help me to make this mvp room every mvp can only spawn 2 and mini boss 5. Thanks.
//===== 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,164,165,3 script Private MVP Room 100,{ mes "[Private MVP Room]"; mes "Please select a private MVP room."; if ( getvariableofnpc(.rentitemid, "MVP Summoner") && getvariableofnpc(.rentitemamount, "MVP Summoner") ) mes "The cost to rent a room for "+ getvariableofnpc(.timeout, "MVP Summoner") +" minutes is "+ getvariableofnpc(.rentitemamount, "MVP Summoner") +" "+ getitemname( getvariableofnpc(.rentitemid, "MVP Summoner") ) +"."; else if ( getvariableofnpc(.rentcost, "MVP Summoner") ) mes "The cost to rent a room for "+ getvariableofnpc(.timeout, "MVP Summoner") +" minutes is "+ callfunc(getvariableofnpc(.rentcost, "MVP Summoner") ) +" zeny."; else mes "You can only use the room for only "+ getvariableofnpc(.timeout, "MVP Summoner") +" minutes."; mes " "; for ( set .@i, 1; .@i <= 8; set .@i, .@i +1 ) { if ( getvariableofnpc(.remaintime[.@i],"MVP Summoner") ) { switch ( .type[.@i] ) { case 1: set .@color$, "^EE8800"; break; case 2: set .@color$, "^70CC11"; break; case 3: set .@color$, "^0000FF"; break; default: set .@color$, "^000000"; } mes "Room #"+ .@i +" = "+ .@color$ + .whoinuse$[.@i] +"^000000"; } } next; .@room = 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[.@room], "MVP Summoner" ) ) { if ( .inuseid[.@room] == getcharid( .type[.@room] ) ) { warp "06guild_0"+ .@room, 0,0; close; } else { mes "[Private MVP Room]"; mes "This room is reserved for "; mes .color$[ .type[.@room] ] + .whoinuse$[.@room] +"^000000."; mes "Please select another."; close; } } mes "[Private MVP Room]"; mes "Reserve this room for..."; next; set .@type, select( "For my party members", "For my guild members", "For personal account use" ); if ( !getcharid(.@type) ) { mes "[Private MVP Room]"; mes "You do not own a "+( ( .@type == 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[.@room], "MVP Summoner" ) ) { mes "[Private MVP Room]"; mes "I'm sorry, somebody else has already registered this room faster than you."; close; } for ( .@i = 1; .@i <= 8; .@i++ ) { if ( ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) && .@type == .type[.@i] && getcharid(.@type) == .inuseid[.@i] ) { mes "[Private MVP Room]"; mes "You already rented Room#"+ .@i +". Use that room instead."; close; } } set .type[.@room], .@type; set .inuseid[.@room], getcharid(.@type); set .whoinuse$[.@room], strcharinfo( ( .@type == 3 )? 0 : .@type ); if ( getvariableofnpc(.rentitemid, "MVP Summoner") && getvariableofnpc(.rentitemamount, "MVP Summoner") ) { if ( countitem(getvariableofnpc(.rentitemid, "MVP Summoner")) < getvariableofnpc(.rentitemamount, "MVP Summoner") ) end; delitem getvariableofnpc(.rentitemid, "MVP Summoner"), getvariableofnpc(.rentitemamount, "MVP Summoner"); } else if ( getvariableofnpc(.rentcost, "MVP Summoner") ) { if ( zeny < getvariableofnpc(.rentcost, "MVP Summoner") ) end; set zeny, zeny - getvariableofnpc(.rentcost, "MVP Summoner"); } warp "06guild_0"+ .@room, 0,0; killmonsterall "06guild_0"+ .@room; donpcevent "MVP Summoner#"+ .@room +"::OnEnterMap"; close; OnInit: .color$[1] = "^EE8800"; // party color .color$[2] = "^70CC11"; // guild color .color$[3] = "^0000FF"; // account color waitingRoom "Private MVP Room",0; 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]"; 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 ( .mvp1cost ) { mes "[MVP Summoner]"; mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvp1cost ) +" zeny."; next; set .@menu, select(.mvp1id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp1cost ) { mes "You don't have enough zeny to summon an MVP."; close; } } else { set .@menu, select(.mvp1id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp1cost ) end; Zeny -= .mvp1cost; monster "this", 0, 0, "--ja--", .mvp1id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 3: if ( .mvp2cost ) { mes "[MVP Summoner]"; mes "The cost to summon an Special MVP is "+ callfunc( "F_InsertComma", .mvp2cost ) +" zeny."; next; set .@menu, select(.mvp2id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp2cost ) { mes "You don't have enough zeny to summon an Special MVP."; close; } } else { set .@menu, select(.mvp2id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp2cost ) end; Zeny -= .mvp2cost; monster "this", 0, 0, "--ja--", .mvp2id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 4: if ( .mvp3cost ) { mes "[MVP Summoner]"; mes "The cost to summon an Hardcore MVP is "+ callfunc( "F_InsertComma", .mvp3cost ) +" zeny."; next; set .@menu, select(.mvp3id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp3cost ) { mes "You don't have enough zeny to summon an Hardcore MVP."; close; } } else { set .@menu, select(.mvp3id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp3cost ) end; Zeny -= .mvp3cost; monster "this", 0, 0, "--ja--", .mvp3id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 5: if ( .bosscost ) { mes "[MVP Summoner]"; mes "The cost to summon a mini-boss is "+ callfunc( "F_InsertComma", .bosscost ) +" zeny."; next; set .@menu, 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 .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .bosscost ) end; Zeny -= .bosscost; monster "this", 0, 0, "--ja--", .bossid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 6: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) > 100 ) { mes "[MVP Summoner]"; mes "I cannot offer this service when there are monsters around."; close; } close2; callshop "MVP room#branch", 1; end; case 7: 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 8: 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: .@id = atoi( strnpcinfo(2) ); .renttime[.@id] = gettimetick(2); sleep .timeout * 60000; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; .renttime[.@id] = 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, 10; set .rentcost, 1; // Zeny cost for renting a room (0 = free) set .rentitemid, 7615; set .rentitemamount, 1; set .mvp1cost, 1000000; // Zeny cost to summon an MVP (0 = free) set .mvp2cost, 150000; // Zeny cost to summon an Specail MVP (0 = free) set .mvp3cost, 500000; // Zeny cost to summon an Hardcore MVP (0 = free) set .bosscost, 100000; // Zeny cost to summon a boss monster (0 = free) // Options setting inside MVP room set .@menu[1], 1; // Turn Heal option On/Off set .@menu[2], 1; // Turn MVP Summoning On/Off set .@menu[3], 0; // Turn Special MVP Summoning On/Off set .@menu[4], 0; // Turn Hardcore MVP Summoning On/Off set .@menu[5], 1; // Turn Mini boss Summoning On/Off set .@menu[6], 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 .mvp1id[0], 1511,// Amon Ra 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 1252,// Garm 1086,// Golden Thief Bug 1885,// Gopinich 1492,// Incantation Samurai 1734,// Kiel D-01 1251,// Knight of Windstorm 1779,// Ktullanux 1688,// Lady Tanee 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 1583,// Tao Gunka 1312,// Turtle General 1685,// Vesper 1658;// Ygnizem setarray .mvp2id[0], 1646,// Lord Knight Seyren 1647,// Assassin Cross Eremes 1648,// Whitesmith Harword 1649,// High Priest Magaleta 1650,// Sniper Shecil 1651;// High Wizard Katrinn setarray .mvp3id[0], 1917,// Wounded Morroc 1956,// Naght Sieger 1957,// Entweihen Crothen 2022;// Nidhoggr's Shadow setarray .bossid[0], 1096,// Angeling 1388,// Archangeling 1268,// Bloody Knight 1830,// Bow Guardian 1839,// Byorgue 1307,// 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 1313,// Mobster 1262,// Mutant Dragon 1203,// Mysteltainn 1870,// Necromancer 1295,// Owl Baron 1829,// Sword Guardian 1991,// Tendrillion 1204,// Tirfing 1089,// Toad 1092,// Vagabond Wolf 1765,// Valkyrie 1200;// Zherlthsh // Config Ends ------------------------------------------------------------------------ if ( !.timeout ) set .timeout, 60; if ( .inputlimit < 1 ) set .inputlimit, 1; .menu$ = ( .@menu[1] ? "Heal" : "" ) +":" ; .menu$ = .menu$ + ( .@menu[2] ? "Summon MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[3] ? "Summon Special MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[4] ? "Summon Hardcore MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[5] ? "Summon Mini-boss" : "" ) +":"; .menu$ = .menu$ + ( .@menu[6] ? "Buy branches" : "" ) +":"; .menu$ = .menu$ + "Leave this room:Give up this room"; if ( .@menu[2] ) { .@size = getarraysize( .mvp1id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp1id_menu$ = .mvp1id_menu$ + getmonsterinfo( .mvp1id[.@i], MOB_NAME ) +":"; } if ( .@menu[3] ) { .@size = getarraysize( .mvp2id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp2id_menu$ = .mvp2id_menu$ + getmonsterinfo( .mvp2id[.@i], MOB_NAME ) +":"; } if ( .@menu[4] ) { .@size = getarraysize( .mvp3id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp3id_menu$ = .mvp3id_menu$ + getmonsterinfo( .mvp3id[.@i], MOB_NAME ) +":"; } if ( .@menu[5] ) { .@size = getarraysize( .bossid ); for ( .@i = 0; .@i < .@size; .@i++ ) .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[.@i], 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
Edited by Sky RakerLink to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.