Hi, can someone help me edit this script into an mvp summoner that lets you input the amount of mvp you want instead of a single spawn mvp?
//===== 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]//============================================================
trinity,60,127,3 script Private MVP Room100,{
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(.@i=1;.@i<=8;.@i++)if( getvariableofnpc(.renttime[.@i],"MVP Summoner"))
mes "Room #"+.@i+" = "+.color$[.type[.@i]]+.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;}elseif(Zeny< getvariableofnpc(.rentcost,"MVP Summoner")){
mes "You don't have enough zeny to rent a room.";
close;}elseif( 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);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
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$)){case1:
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;case2:if( mobcount("this", strnpcinfo(3)+"::OnMobDead")){
mes "[MVP Summoner]";
mes "I cannot summon another MVP when there are monsters around.";
close;}elseif(.mvpcost ){
mes "[MVP Summoner]";
mes "The cost to summon an MVP is "+ callfunc("F_InsertComma",.mvpcost )+" zeny.";
next;set.@menu, select(.mvpid_menu$)-1;
mes "[MVP Summoner]";if(Zeny<.mvpcost ){
mes "You don't have enough zeny to summon an MVP.";
close;}}else{set.@menu, select(.mvpid_menu$)-1;
mes "[MVP Summoner]";}
mes "Please get ready.";
close2;if(Zeny<.mvpcost ) end;Zeny-=.mvpcost;
monster "this",0,0,"--ja--",.mvpid[.@menu],1, strnpcinfo(3)+"::OnMobDead";
end;case3:if( mobcount("this", strnpcinfo(3)+"::OnMobDead")){
mes "[MVP Summoner]";
mes "I cannot summon another mini-boss when there are monsters around.";
close;}elseif(.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;case4: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;case5:
mes "[MVP Summoner]";
mes "Are you sure you want to leave this room?";
next;if( select("Yes:No")==1)
warp .respawnmap$,.respawnx,.respawny;
close;case6:
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,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 roomset.@menu[1],1;// Turn Heal option On/Offset.@menu[2],1;// Turn MVP Summoning On/Offset.@menu[3],1;// Turn Mini boss Summoning On/Offset.@menu[4],0;// Sell items (branches) On/Off (see shop below, before the mapflags)// Respawn point when players leave the roomset.respawnmap$,"trinity";set.respawnx,50;set.respawny,117;
setarray .mvpid[0],1511,// Amon Ra1647,// Assassin Cross Eremes1785,// Atroce1630,// Bacsojin1039,// Baphomet1874,// Beelzebub1272,// Dark Lord1719,// Datale1046,// Doppelgangger1389,// Dracula1112,// Drake1115,// Eddga1418,// Evil Snake Lord1871,// Fallen Bishop1252,// Garm1768,// Gloom Under Night1086,// Golden Thief Bug1885,// Gopinich1649,// High Priest Magaleta1651,// High Wizard Katrinn1832,// Ifrit1492,// Incantation Samurai1734,// Kiel D-011251,// Knight of Windstorm1779,// Ktullanux1688,// Lady Tanee1646,// Lord Knight Seyren1373,// Lord of Death1147,// Maya1059,// Mistress1150,// Moonlight Flower1087,// Orc Hero1190,// Orc Lord1038,// Osiris1157,// Pharaoh1159,// Phreeoni1623,// RSX 08061650,// Sniper Shecil1583,// Tao Gunka1708,// Thanatos1312,// Turtle General1751,// Valkyrie Randgris1685,// Vesper1648,// Whitesmith Harword1917,// Wounded Morroc1658;// Ygnizem
setarray .bossid[0],1096,// Angeling1388,// Archangeling1795,// Bloody Knight1830,// Bow Guardian1839,// Byorgue1309,// Cat O' Nine Tail1283,// Chimera1302,// Dark Illusion1198,// Dark Priest1582,// Deviling1091,// Dragon Fly1093,// Eclipse1205,// Executioner1783,// Galion1592,// Gangster1120,// Ghostring1259,// Gryphon1720,// Hydro1090,// Mastering1289,// Maya Purple1262,// Mutant Dragon1203,// Mysteltainn1870,// Necromancer1295,// Owl Baron1829,// Sword Guardian1204,// Tirfing1089,// Toad1092,// Vagabond Wolf1765;// Valkyrie// Config Ends ------------------------------------------------------------------------if(!.timeout )set.timeout,60;.menu$ =(.@menu[1]?"Heal":"")+":";.menu$ =.menu$ +(.@menu[2]?"Summon MVP":"")+":";.menu$ =.menu$ +(.@menu[3]?"Summon Mini-boss":"")+":";.menu$ =.menu$ +(.@menu[4]?"Buy branches":"")+":";.menu$ =.menu$ +"Leave this room:Give up this room";if(.@menu[2]){.@size= getarraysize(.mvpid );for(.@i=0;.@i<.@size;.@i++).mvpid_menu$ =.mvpid_menu$ + getmonsterinfo(.mvpid[.@i], MOB_NAME )+":";}if(.@menu[3]){.@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:100000006guild_01,49,49,4 duplicate(MVP Summoner) MVP Summoner#1 11606guild_02,49,49,4 duplicate(MVP Summoner) MVP Summoner#2 11606guild_03,49,49,4 duplicate(MVP Summoner) MVP Summoner#3 11606guild_04,49,49,4 duplicate(MVP Summoner) MVP Summoner#4 11606guild_05,49,49,4 duplicate(MVP Summoner) MVP Summoner#5 11606guild_06,49,49,4 duplicate(MVP Summoner) MVP Summoner#6 11606guild_07,49,49,4 duplicate(MVP Summoner) MVP Summoner#7 11606guild_08,49,49,4 duplicate(MVP Summoner) MVP Summoner#8 11606guild_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 SavePoint06guild_02 mapflag nosave SavePoint06guild_03 mapflag nosave SavePoint06guild_04 mapflag nosave SavePoint06guild_05 mapflag nosave SavePoint06guild_06 mapflag nosave SavePoint06guild_07 mapflag nosave SavePoint06guild_08 mapflag nosave SavePoint06guild_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
Sorry for my bad english and Thank you in advance for helping me.
Question
Kuroe
Hi, can someone help me edit this script into an mvp summoner that lets you input the amount of mvp you want instead of a single spawn mvp?
Sorry for my bad english and Thank you in advance for helping me.
Link to comment
Share on other sites
6 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.