Jump to content
  • 0
Sign in to follow this  
mrlongshen

MVP Room Problem

Question

The script are working fine, but the script are not display the .rentcost

What is the problem ? Can someone guide me ?

//	....... if your server has { Overwriting user function [int__] } don't blame me ..........function	script	int__	{	set .@num, atoi("""+getarg(0)+""");	if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0);	set .@l, getstrlen(.@num);	for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) {		set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$;		if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$;	}	return .@num$;}//===== eAthena Script ======================================//= Private MVP/Branch Room//===== By: ===============================================//= by ~AnnieRuru~//===== Current Version: ======================================//= 1.3//===== Compatible With: ===================================== //= eAthena 11650 Trunk above or 11863 Stable above//===== Description: ========================================= //= Player can rent MVP room for the player him/herself, for party or for guilds//===== Topic =================================================//= http://www.eathena.ws/board/index.php?showtopic=187654//===== Additional Comments: ================================== //= 1.0 //= ---- break the tradition which a script only for a player, or only for a party.//=      now 1 room can be use for party and another room can use for guilds.//= ---- timeout feature to prevent player owns the room indefinitely,//=      by create a new account and sit/@at'ing inside overnight.//= ---- can disable mvp/boss summon via configuration and becomes a branch room script.//= ---- a double check to prevent players rent all the rooms for himself.//= 1.0a//= ---- fix a critial bug that the time count too fast -_-"//= 1.1//= ---- added item cost to rent or to summon//= ---- added a config to limit summoning per session//= ---- added flood control option//= 1.2//= ---- rewrite the waitingroom counter//= ---- optimize the script in a way can add custom summon group//= ---- add config to kill the monsters if the room just being left empty//= ---- add GM can kick room in use//= ---- add able to spawn in numbers//= ---- add limitspawn can configure to negative to limit spawn in that group instead of individual one//= 1.3//= ---- fix chatroom countdown issue due to rev13269//= ---- fix a bug if 2 people rent a room at same time, the later 1 will get the room//= ---- add a feature so the GM can know how long the room has rented or abandoned//= 1.4//= ---- update with new mvp and mini bosses//= ---- fix an exploit if server allow to use @mail, player can send item/zeny away to prevent item/zeny deletion when registering the room//= ---- players die inside mvp room shouldn't lose exp//========================================================//	This is the shop for this Branch room IF you already enable it. Can sell whatever things you want.-	shop	MVP room#branch	-1,604:100000,12103:1000000-	script	MVP Summoner	-1,{	goto L_Start;OnInit:	getmapxy .@map$, .@x, .@y, 1;	if ( .@map$ == "" ) {//	Config ---------------------------------------------------------------------------------------	// Time for rent a room IN MINUTES. When time out, players inside the room will kick out. Do Not set this as 0	set .timeout, 60;	// if the room left empty for # minutes, will be treated as give up the room. Do Not set this as 0	set .nobodygiveup, 2;	// NOTE : The script only search item OR zeny. if you specify item amount, then it will ask for the item. If item amount is 0, then it will ask for zeny.	// the cost to rent a room	set .rentitemid, 0; // item id use for rent a room - 674 - mithil coin	set .rentitemamount, 0; // amount of items to rent a room	set .rentcost, 1000000; // otherwise, zeny cost to rent a room	// limit each room can only summon 1 monster at a time. (only the Summoning option)	// Turn it off (0) means the player can summon a lot of monsters as long as the player has enough zeny/item. High rate server players love the room with a lot MVPs	// Turn it on (1) means the player have to kill existing monster before can summon a new one. Low rate server player prefer to take out MVP 1 by 1	set .floodcontrol, 0;	// if .floodcontrol is turn off, your players might experience lag if they summoned too many MVPs	// so what is the maximum input to limit your players summon too many ?	set .inputlimit, 10;	// If the room has left over monsters while nobody in the room and the room not give up yet, shall we kill monsters in empty room ?	set .killmonster, 0; // Default is yes	//	Options menu setting for MVP Summoner NPC.	set .@menu[0], 1; // Turn Heal option On/Off	set .@menu[1], 1; // Turn Group 1 summons On/Off -> MVP	set .@menu[2], 1; // Turn Group 2 summons On/Off -> mini boss	set .@menu[3], 1; // Turn Group 3 summons On/Off	set .@menu[4], 0; // Turn Group 4 summons On/Off	set .@menu[5], 0; // Turn Group 5 summons On/Off	set .@menu[6], 0; // Turn Group 6 summons On/Off	set .@menu[7], 0; // Turn Group 7 summons On/Off	set .@menu[8], 0; // Turn Group 8 summons On/Off	set .@menu[9], 0; // Turn Group 9 summons On/Off	set .@menu[10], 0; // Sell shop items options On/Off ( shop npc above )	//	set respawn point when they leave the room. Obviously warp to the Private MVP Room Warper npc	set .respawnmap$, "prontera"; // Note : "SavePoint" does NOT work	set .respawnx, 156;	set .respawny, 178;	// The minimum GM level can kick a room in use	set .gmlvlkick, 90;	// .limitspawn in previous revision changed to .grouplimit .	// it is for limit each monster spawn per session, prevent them only killing same monster again and again	// Now you can configure one group has limited summon, and another group has unlimited summon	// Tips: if you server has an insane custom MVP, you can put your custom mob to Group 3~9 with insane item cost, and limit only 1 summon per session	// .grouplimit use amount, means if group1limit set to 10, then each session can only summon up to 10 amount of that kind of monster. 0 is unlimited	// ---------	// Group 1  	// ---------	set .group1name$, "Top Tier"; // Group 1 name	set .group1itemid, 0; // item id use for summon any Group 1 monster - 674 - mithil coin	set .group1itemamount, 0; // amount of items to summon a Group 1 monster	set .group1cost, 5000000; // if no item is specify, zeny cost to summon a Group 1 monster	set .group1limit, 10; // limit of summon of Group 1 monster per session, prevent them only killing same monster again and again	setarray .group1id,				1647,// Assassin Cross Eremes		1917;//Wounded Morroc			// ---------	// Group 2 -> mini boss	// ---------	set .group2name$, "Mid Tier"; // Group 2 name	set .group2itemid, 0; // item id use for summon any Group 2 monster - 674 - mithil coin	set .group2itemamount, 0; // amount of items to summon a Group 2 monster	set .group2cost, 1000000; // if no item is specify, zeny cost to summon a Group 2 monster	set .group2limit, 20; // limit of summon of Group 2 monster per session, prevent them only killing same monster again and again	setarray .group2id,			1159,//	Phreeoni		1658;//	Ygnizem	// ---------	// Group 3	// ---------	set .group3name$, "Low Tier"; // Group 3 name	set .group3itemid, 0; // item id use for summon any Group 3 monster - 12109 - Poring box	set .group3itemamount, 0; // amount of items to summon a Group 3 monster	set .group3cost, 500000; // if no item is specify, zeny cost to summon a Group 3 monster	set .group3limit, 30; // limit of summon of Group 3 monster per session, prevent them only killing same monster again and again	setarray .group3id,				1582,//	Deviling		1623;//	RSX 0806	// ---------	// Group 4	// ---------	set .group4name$, ""; // Group 4 name	set .group4itemid, 0; // item id use for summon any Group 4 monster	set .group4itemamount, 0; // amount of items to summon a Group 4 monster	set .group4cost, 0; // if no item is specify, zeny cost to summon a Group 4 monster	set .group4limit, 0; // limit of summon of Group 4 monster per session, prevent them only killing same monster again and again	setarray .group4id,		1001,		1002;	// ---------	// Group 5	// ---------	set .group5name$, ""; // Group 5 name	set .group5itemid, 0; // item id use for summon any Group 5 monster	set .group5itemamount, 0; // amount of items to summon a Group 5 monster	set .group5cost, 0; // if no item is specify, zeny cost to summon a Group 5 monster	set .group5limit, 0; // limit of summon of Group 5 monster per session, prevent them only killing same monster again and again	setarray .group5id,		1001,		1002;	// ---------	// Group 6	// ---------	set .group6name$, ""; // Group 6 name	set .group6itemid, 0; // item id use for summon any Group 6 monster	set .group6itemamount, 0; // amount of items to summon a Group 6 monster	set .group6cost, 0; // if no item is specify, zeny cost to summon a Group 6 monster	set .group6limit, 0; // limit of summon of Group 6 monster per session, prevent them only killing same monster again and again	setarray .group6id,		1001,		1002;	// ---------	// Group 7	// ---------	set .group7name$, ""; // Group 7 name	set .group7itemid, 0; // item id use for summon any Group 7 monster	set .group7itemamount, 0; // amount of items to summon a Group 7 monster	set .group7cost, 0; // if no item is specify, zeny cost to summon a Group 7 monster	set .group7limit, 0; // limit of summon of Group 7 monster per session, prevent them only killing same monster again and again	setarray .group7id,		1001,		1002;	// ---------	// Group 8	// ---------	set .group8name$, ""; // Group 8 name	set .group8itemid, 0; // item id use for summon any Group 8 monster	set .group8itemamount, 0; // amount of items to summon a Group 8 monster	set .group8cost, 0; // if no item is specify, zeny cost to summon a Group 8 monster	set .group8limit, 0; // limit of summon of Group 8 monster per session, prevent them only killing same monster again and again	setarray .group8id,		1001,		1002;	// ---------	// Group 9	// ---------	set .group9name$, ""; // Group 9 name	set .group9itemid, 0; // item id use for summon any Group 9 monster	set .group9itemamount, 0; // amount of items to summon a Group 9 monster	set .group9cost, 0; // if no item is specify, zeny cost to summon a Group 9 monster	set .group9limit, 0; // limit of summon of Group 9 monster per session, prevent them only killing same monster again and again	setarray .group9id,		1001,		1002;//	Config Ends ------------------------------------------------------------------------		if ( .timeout == 0 ) set .timeout, 60;		if ( .nobodygiveup == 0 ) set .nobodygiveup, 5;		if ( .inputlimit < 1 ) set .inputlimit, 1;		if ( .rentitemid && .rentitemamount ) {			if ( getitemname(.rentitemid) == "null" ) {				debugmes "Private MVP Room: Rent a room is using invalid item id.";			}		}		set .@i, 1;		while ( .@i <= 9 ) {			if ( .@menu[.@i] && getd(".group"+ .@i +"itemid") && getd(".group"+ .@i +"itemamount") ) {				if ( getitemname( getd(".group"+ .@i +"itemid") ) == "null" ) {					debugmes "Private MVP Room: Group no. "+ .@i +" is using invalid item id.";				}			}			set .@i, .@i +1 ;		}		set .menu$, ( (.@menu[0])?"Heal":"" )+":"+( (.@menu[1])?"Summon "+ .group1name$:"" )+":"+( (.@menu[2])?"Summon "+ .group2name$:"" )+":"+( (.@menu[3])?"Summon "+ .group3name$:"" )+":"+( (.@menu[4])?"Summon "+ .group4name$:"" )+":"+( (.@menu[5])?"Summon "+ .group5name$:"" )+":"+( (.@menu[6])?"Summon "+ .group6name$:"" )+":"+( (.@menu[7])?"Summon "+ .group7name$:"" )+":"+( (.@menu[8])?"Summon "+ .group8name$:"" )+":"+( (.@menu[9])?"Summon "+ .group9name$:"" )+":"+( (.@menu[10])?"Buy branches":"" )+":Leave this room:Give up this room";		set .@i, 1;		while ( .@i <= 9 ) {			setd ".group"+ .@i +"idsize", getarraysize( getd(".group"+ .@i +"id") );			if ( .@menu[.@i] && getd(".group"+ .@i +"limit") <= 0 ) {				set .@j, 0;				while ( .@j < getd(".group"+ .@i +"idsize") ) {					setd ".group"+ .@i +"menu$", getd(".group"+ .@i +"menu$") + getmonsterinfo( getd(".group"+ .@i +"id["+ .@j +"]"), 0) +":";					set .@j, .@j +1 ;				}			}			set .@i, .@i +1 ;		}	}	else {		sleep 1;		mapannounce .@map$, "Admin has refresh the server, please register the room again.", 1;		mapwarp .@map$, .respawnmap$, .respawnx, .respawny;	}	end;L_Start: // I hate gotos ... but ...	set .@dif, strnpcinfo(2);	if ( .remind[.@dif] == 0 ) {		set .remind[.@dif], 1;		initnpctimer;	}	mes "[MVP Summoner]";	mes "Hi, what can I do for you ?";	next;	switch ( select(.menu$) ) {		case 1:			mes "[MVP Summoner]";			if ( mobcount("this","all") > 0 ) {				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 7;			mes "You have completely healed.";			close;		default:			set .@group, @menu -1;			if ( .floodcontrol && mobcount("this","all") > 0 ) {				mes "[MVP Summoner]";				mes "I cannot summon another monster when there are monsters around.";				close;			}			else if ( getd(".group"+ .@group +"itemid") && getd(".group"+ .@group +"itemamount") ) {				mes "[MVP Summoner]";				mes "The cost to summon a "+ getd(".group"+ .@group +"name$") +" is "+ getd(".group"+ .@group +"itemamount") +" "+ getitemname( getd(".group"+ .@group +"itemid") ) +".";				if ( getd(".group"+ .@group +"limit") < 0 )					mes "("+( ( ~getd(".group"+ .@group +"limit")+1 - getd(".group"+ .@group +"limit"+ .@dif) <= 0 )?0:( ~getd(".group"+ .@group +"limit")+1 - getd(".group"+ .@group +"limit"+ .@dif) ) )+") more summons for this group.";				next;			}			else if ( getd(".group"+ .@group +"cost") ) {				mes "[MVP Summoner]";				mes "The cost to summon a "+ getd(".group"+ .@group +"name$") +" is "+ callfunc("int__", getd(".group"+ .@group +"cost") ) +" Zeny.";				if ( getd(".group"+ .@group +"limit") < 0 )					mes "("+( ( ~getd(".group"+ .@group +"limit")+1 - getd(".group"+ .@group +"limit"+ .@dif) <= 0 )?0:( ~getd(".group"+ .@group +"limit")+1 - getd(".group"+ .@group +"limit"+ .@dif) ) )+") more summons for this group.";				next;			}			else if ( getd(".group"+ .@group +"limit") < 0 ) {				mes "[MVP Summoner]";				mes "("+( ( ~getd(".group"+ .@group +"limit")+1 - getd(".group"+ .@group +"limit"+ .@dif) <= 0 )?0:( ~getd(".group"+ .@group +"limit")+1 - getd(".group"+ .@group +"limit"+ .@dif) ) )+") more summons for this group.";				next;			}			if ( getd(".group"+ .@group +"limit") < 0 && getd(".group"+ .@group +"limit"+ .@dif) >= ~getd(".group"+ .@group +"limit")+1 ) {				mes "[MVP Summoner]";				mes "I'm sorry, but you can't summon any more monster for this group.";				close;			}			else if ( getd(".group"+ .@group +"limit") > 0 ) {				for ( set .@i, 0; .@i < getd(".group"+ .@group +"idsize"); set .@i, .@i +1 )					set .@menu$, .@menu$ +( ( getd(".group"+ .@group +"limit"+ .@dif +"["+ .@i +"]") >= getd(".group"+ .@group +"limit") )?"^999999":"^000000" )+ getmonsterinfo( getd(".group"+ .@group +"id["+ .@i +"]"), 0) +" ("+ ( ( getd(".group"+ .@group +"limit") - getd(".group"+ .@group +"limit"+ .@dif +"["+ .@i +"]") <= 0 )?0:( getd(".group"+ .@group +"limit") - getd(".group"+ .@group +"limit"+ .@dif +"["+ .@i +"]") ) ) +")"+":";				set .@menu, select(.@menu$) -1;			}			else				set .@menu, select( getd(".group"+ .@group +"menu$") ) -1;			mes "[MVP Summoner]";			if ( .floodcontrol == 0 && .inputlimit > 1 ) {				mes "Input an amount of monsters to summon.";				next;				input .@amount;				if ( .@amount == 0 ) close;				else if ( .@amount > .inputlimit )					set .@amount, .inputlimit;				mes "[MVP Summoner]";			}			else				set .@amount, 1;			if ( getd(".group"+ .@group +"itemid") && getd(".group"+ .@group +"itemamount") ) {				if ( countitem( getd(".group"+ .@group +"itemid") ) < getd(".group"+ .@group +"itemamount") * .@amount ) {					mes "You don't have enough "+ getitemname( getd(".group"+ .@group +"itemid") ) +" to summon a "+ getd(".group"+ .@group +"name$") +".";					close;				}			}			else if ( getd(".group"+ .@group +"cost") ) {				if ( Zeny < getd(".group"+ .@group +"cost") * .@amount ) {					mes "You don't have enough Zeny to summon a "+ getd(".group"+ .@group +"name$") +".";					close;				}			}			if ( .floodcontrol && mobcount("this","all") > 0 ) {				mes "I cannot summon another monster when there are monsters around.";				close;			}			else if ( getd(".group"+ .@group +"limit") > 0 ) {				if ( getd(".group"+ .@group +"limit"+ .@dif +"["+ .@menu +"]") >= getd(".group"+ .@group +"limit") ) {					mes "I'm sorry, but you already summoned that monster too much. Try summon another.";					close;				}				else if ( getd(".group"+ .@group +"limit"+ .@dif +"["+ .@menu +"]") + .@amount > getd(".group"+ .@group +"limit") ) {					mes "The amount you input is more than the limit you can summon. Try reduce the amount.";					close;				}			}			else if ( getd(".group"+ .@group +"limit") < 0 ) {				if ( getd(".group"+ .@group +"limit"+ .@dif) >= ~getd(".group"+ .@group +"limit")+1 ) {					mes "I'm sorry, but you can't summon any more monster for this group.";					close;				}				else if ( getd(".group"+ .@group +"limit"+ .@dif) + .@amount > ~getd(".group"+ .@group +"limit")+1 ) {					mes "The amount you input is more than the limit you can summon. Try reduce the amount.";					close;				}			}			mes "Summoning "+ .@amount +" "+ getmonsterinfo( getd(".group"+ .@group +"id["+ .@menu +"]"), 0) +".";			mes "Ok, get ready ?";			close2;			if ( .floodcontrol && mobcount("this","all") > 0 ) end;			if ( getd(".group"+ .@group +"itemid") && getd(".group"+ .@group +"itemamount") ) {				if ( countitem( getd(".group"+ .@group +"itemid") ) < getd(".group"+ .@group +"itemamount") * .@amount ) end;				delitem getd(".group"+ .@group +"itemid"), getd(".group"+ .@group +"itemamount") * .@amount;			}			else if ( getd(".group"+ .@group +"cost") ) {				if ( Zeny < getd(".group"+ .@group +"cost") * .@amount ) end;				set Zeny, Zeny - getd(".group"+ .@group +"cost") * .@amount;			}			if ( getd(".group"+ .@group +"limit") > 0 ) {				if ( getd(".group"+ .@group +"limit"+ .@dif +"["+ .@menu +"]") + .@amount > getd(".group"+ .@group +"limit") ) end;				setd ".group"+ .@group +"limit"+ .@dif +"["+ .@menu +"]", getd(".group"+ .@group +"limit"+ .@dif +"["+ .@menu +"]") + .@amount;			}			else if ( getd(".group"+ .@group +"limit") < 0 ) {				if ( getd(".group"+ .@group +"limit"+ .@dif) + .@amount > ~getd(".group"+ .@group +"limit")+1 ) end;				setd ".group"+ .@group +"limit"+ .@dif, getd(".group"+ .@group +"limit"+ .@dif) + .@amount;			}			monster "this", 0, 0, "--ja--", getd(".group"+ .@group +"id["+ .@menu +"]"), .@amount;			end;		case 11:			if ( mobcount("this","all") > 0 ) {				mes "[MVP Summoner]";				mes "I cannot offer this service when there are monsters around.";				close;			}			close2;			callshop "MVP room#branch", 0;			end;		case 12:			mes "[MVP Summoner]";			mes "Are you sure you want to leave this room ?";			mes "If this room left empty for more than "+ .nobodygiveup +" minutes, you lost ownership for this room.";			if ( select( "Yes:No") == 2 ) close;			warp .respawnmap$, .respawnx, .respawny;			end;		case 13:			mes "[MVP Summoner]";			getmapxy .@map$, .@x, .@y, 0;			if ( getmapusers(.@map$) > 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;			warp .respawnmap$, .respawnx, .respawny;			set .remaintime[.@dif], -1;			end;	}	close;OnEnterMap:	set .@dif, strnpcinfo(2);	set .remind[.@dif], 0;	for ( set .@i, 1; .@i <= 9; set .@i, .@i +1 )		deletearray getd(".group"+ .@i +"limit"+ .@dif), getd(".group"+ .@i +"idsize");	set .nobodycounter[.@dif], 0;	getmapxy .@map$, .@x, .@y ,1;	set .starttime[.@dif], gettimetick(2);	do {		set .remaintime[.@dif], .timeout * 60 + .starttime[.@dif] - gettimetick(2);		set .@hour[.@dif], .remaintime[.@dif] / 3600 ;		set .@min[.@dif], .remaintime[.@dif] % 3600 / 60 ;		set .@sec[.@dif], .remaintime[.@dif] % 3600 % 60 ;		delwaitingroom strnpcinfo(0);		waitingroom "Time Left = "+( ( .@hour[.@dif] )?( .@hour[.@dif] +":"):"" )+( ( .@min[.@dif] < 10 )?"0"+ .@min[.@dif]: .@min[.@dif] )+":"+( ( .@sec[.@dif] < 10 )?"0"+ .@sec[.@dif]: .@sec[.@dif] ), 0;		if ( getmapusers(.@map$) )			set .nobodycounter[.@dif], 0;		else {			set .nobodycounter[.@dif], .nobodycounter[.@dif] +1 ;			if ( .nobodycounter[.@dif] > .nobodygiveup * 60 ) break;		}		sleep 995;	} while ( .remaintime[.@dif] > 1 );	set .remaintime[.@dif], 0;	delwaitingroom "MVP Summoner#"+ .@dif;	mapwarp .@map$, .respawnmap$, .respawnx, .respawny;	end;OnTimer100:	stopnpctimer;	npctalk "Hi ~ the bubble above my head is the countdown for using this room.";	sleep 2000;	npctalk "Sometimes, I can skip for about 1 second in the countdown.";	sleep 3000;	npctalk "That is because the server is experiencing minor lag problem.";	sleep 3000;	npctalk "So, don't complain about me cheated for the countdown ~ ^.^";	sleep 3000;	npctalk "Have a nice day ~";	end;}prontera,165,186,4	script	Private MVP Room	10031,{	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("int__", 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;	set .@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(.remaintime[.@room],"MVP Summoner") ) {		if ( .inuseid[.@room] == getcharid(.type[.@room]) ) {			if ( getvariableofnpc(.killmonster,"MVP Summoner") && getmapusers("06guild_0"+ .@room) == 0 )				killmonsterall "06guild_0"+ .@room;			warp "06guild_0"+ .@room, 0,0;			end;		} else {			mes "[Private MVP Room]";			switch ( .type[.@room] ) {				case 1: set .@color$, "^EE8800Party "; break;				case 2: set .@color$, "^70CC11Guild "; break;				case 3: set .@color$, "^0000FFPlayer ";			}			mes "This room is reserved for ";			mes .@color$ + .whoinuse$[.@room] +"^000000 .";			if ( getgmlevel() < getvariableofnpc(.gmlvlkick,"MVP Summoner") ) {				mes "Please select another.";				close;			}			mes " ";			mes "Currently there are "+ getmapusers("06guild_0"+ .@room) +" players";			mes "in that room.";			set .@remaintime, getvariableofnpc(.remaintime[.@room],"MVP Summoner");			mes "It still has "+( .@remaintime /60 )+"mn "+( .@remaintime %60 )+"s left.";			set .@nobodycounter, getvariableofnpc(.nobodycounter[.@room],"MVP Summoner");			if ( .@nobodycounter )				mes "And have left empty for "+( .@nobodycounter /60 )+"mn "+( .@nobodycounter %60 )+"s.";			mes "Kick them ?";			next;			if ( select ( "No:Yes" ) == 1 ) close;			set getvariableofnpc(.remaintime[.@room],"MVP Summoner"), -1;			mes "[Private MVP Room]";			mes "Room#"+ .@room +" is empty now.";			close;		}	}	mes "[Private MVP Room]";	if ( getvariableofnpc(.rentitemid, "MVP Summoner") && getvariableofnpc(.rentitemamount, "MVP Summoner") ) {		if ( countitem(getvariableofnpc(.rentitemid, "MVP Summoner")) < getvariableofnpc(.rentitemamount, "MVP Summoner") ) {			mes "You don't have enough "+ getitemname( getvariableofnpc(.rentitemid, "MVP Summoner") ) +" to rent a room.";			close;		}	}	else if ( getvariableofnpc(.rentcost, "MVP Summoner") ) {		if ( Zeny < getvariableofnpc(.rentcost, "MVP Summoner") ) {			mes "You don't have enough Zeny to rent a room.";			close;		}	}	mes "You reserve this room for ...";	next;	set .@type, select("For my party members", "For my guild members", "For personal account use" );	if ( getcharid(.@type) == 0 ) {		mes "[Private MVP Room]";		mes "You do not own a "+( (.@type == 1)?"Party":"Guild" )+".";		close;	}	else if ( getvariableofnpc(.rentitemid, "MVP Summoner") && getvariableofnpc(.rentitemamount, "MVP Summoner") ) {		if ( countitem(getvariableofnpc(.rentitemid, "MVP Summoner")) < getvariableofnpc(.rentitemamount, "MVP Summoner") ) {			mes "You don't have enough "+ getitemname( getvariableofnpc(.rentitemid, "MVP Summoner") ) +" to rent a room.";			close;		}	}	else if ( getvariableofnpc(.remaintime[.@room],"MVP Summoner") ) {		mes "[Private MVP Room]";		mes "I'm sorry, somebody else has already register this room faster than you.";		close;	}	for ( set .@i, 1; .@i <= 8; set .@i, .@i +1 ) {		if ( getvariableofnpc(.remaintime[.@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";	end;}06guild_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	nowarpto06guild_02	mapflag	nowarpto06guild_03	mapflag	nowarpto06guild_04	mapflag	nowarpto06guild_05	mapflag	nowarpto06guild_06	mapflag	nowarpto06guild_07	mapflag	nowarpto06guild_08	mapflag	nowarpto06guild_01	mapflag	nomemo06guild_02	mapflag	nomemo06guild_03	mapflag	nomemo06guild_04	mapflag	nomemo06guild_05	mapflag	nomemo06guild_06	mapflag	nomemo06guild_07	mapflag	nomemo06guild_08	mapflag	nomemo06guild_01	mapflag	noteleport06guild_02	mapflag	noteleport06guild_03	mapflag	noteleport06guild_04	mapflag	noteleport06guild_05	mapflag	noteleport06guild_06	mapflag	noteleport06guild_07	mapflag	noteleport06guild_08	mapflag	noteleport06guild_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	nopenalty06guild_02	mapflag	nopenalty06guild_03	mapflag	nopenalty06guild_04	mapflag	nopenalty06guild_05	mapflag	nopenalty06guild_06	mapflag	nopenalty06guild_07	mapflag	nopenalty06guild_08	mapflag	nopenalty

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.