Jump to content
  • 0

Question

Hello, Anyone can help me..

Getting this problem, I check my mapindex and maps in conf folder i have the 06guild_ maps written.

[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil8 at 06guild_08 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil7 at 06guild_07 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil6 at 06guild_06 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil5 at 06guild_05 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil4 at 06guild_04 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil3 at 06guild_03 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil2 at 06guild_02 (49,49)
[Debug]: mapindex_name2id: Map "" not found in index list!
[Debug]: Source (NPC): Summoner#guil1 at 06guild_01 (49,49)

From this 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,165,161,4	script	Private MVP Room	4_M_EIN_SOLDIER,{
	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;
	}
	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 );
	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	Summoner	FAKE_NPC,{
	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;
		specialeffect(EF_HEAL2, AREA, playerattached());
		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 .@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;
	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 .@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 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:
	.@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 room
	set .@menu[1], 1;	// Turn Heal option On/Off
	set .@menu[2], 1;	// Turn MVP Summoning On/Off
	set .@menu[3], 1;	// Turn Mini boss Summoning On/Off
	set .@menu[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$ = ( .@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#branch2	FAKE_NPC,604:100000,12103:1000000

06guild_01,49,49,4	duplicate(Summoner)	Summoner#guil1	4_F_KAFRA2
06guild_02,49,49,4	duplicate(Summoner)	Summoner#guil2	4_F_KAFRA2
06guild_03,49,49,4	duplicate(Summoner)	Summoner#guil3	4_F_KAFRA2
06guild_04,49,49,4	duplicate(Summoner)	Summoner#guil4	4_F_KAFRA2
06guild_05,49,49,4	duplicate(Summoner)	Summoner#guil5	4_F_KAFRA2
06guild_06,49,49,4	duplicate(Summoner)	Summoner#guil6	4_F_KAFRA2
06guild_07,49,49,4	duplicate(Summoner)	Summoner#guil7	4_F_KAFRA2
06guild_08,49,49,4	duplicate(Summoner)	Summoner#guil8	4_F_KAFRA2

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

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Try my modified script:

prontera,164,161,3	script	Private Branch Room	962,{
setarray $@maps$[1], "new_1-3", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08";
setarray .@price[1], 200, 35000000, 35000000, 35000000, 35000000, 35000000, 35000000, 35000000, 35000000;
for(set .@b,1; .@b < getarraysize($@maps$); set .@b,.@b + 1) {
	if(.@b==1){ set .@menu$, .@menu$  + "Public- "+((getmapusers($@maps$[.@b])>=30)?"^CD0000Closed^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; } else { set .@menu$, .@menu$  + "Private["+(.@b-1)+"]- "+((getmapusers(""+$@maps$[.@b]+"")>=5)?"^CD0000Closed^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; }
}
if(select(.@menu$)) {
	if(Zeny<.@price[@menu]){mes "I'm sorry but you don't have enough Zeny, please come back later."; close;}
	if(getmapusers($@maps$[@menu])<=30&&@menu==1){
		set Zeny,Zeny-.@price[@menu];
		set $@maps$,$@maps$[@menu];
		setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],150,148; end;
	}
	if(!getmapusers($@maps$[@menu])){
		mes "Use Private DB Room for 30 minutes!";
		mes "But you need to pay me 35 Million Zeny";
		mes "Input a new password.";
		input($password$[@menu]);
		set Zeny,Zeny-.@price[@menu];
		set $@maps$,$@maps$[@menu];
		next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end;
	}
	if(getmapusers($@maps$[@menu])<=5&&@menu!=1) {
		mes "This room is password protected please input the password now.";
		input(@name$);
		if(@name$==$password$[@menu]){
			set Zeny,Zeny-.@price[@menu];
			set $@maps$,$@maps$[@menu];
			mes "correct!"; next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end;
		} else {
			mes "Incorrect!";
			close;
		}
	} else {
		mes "I'm sorry this room is full.";
		close;
	}
}

OnTimer1800000:
if(strcharinfo(3)==$@maps$){
	warp "prontera",156,181;
	end;
}
}

Share this post


Link to post
Share on other sites
  • 0
10 hours ago, Begin said:

Try my modified script:

 

  Hide contents

 



prontera,164,161,3	script	Private Branch Room	962,{
setarray $@maps$[1], "new_1-3", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05", "06guild_06", "06guild_07", "06guild_08";
setarray .@price[1], 200, 35000000, 35000000, 35000000, 35000000, 35000000, 35000000, 35000000, 35000000;
for(set .@b,1; .@b < getarraysize($@maps$); set .@b,.@b + 1) {
	if(.@b==1){ set .@menu$, .@menu$  + "Public- "+((getmapusers($@maps$[.@b])>=30)?"^CD0000Closed^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; } else { set .@menu$, .@menu$  + "Private["+(.@b-1)+"]- "+((getmapusers(""+$@maps$[.@b]+"")>=5)?"^CD0000Closed^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; }
}
if(select(.@menu$)) {
	if(Zeny<.@price[@menu]){mes "I'm sorry but you don't have enough Zeny, please come back later."; close;}
	if(getmapusers($@maps$[@menu])<=30&&@menu==1){
		set Zeny,Zeny-.@price[@menu];
		set $@maps$,$@maps$[@menu];
		setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],150,148; end;
	}
	if(!getmapusers($@maps$[@menu])){
		mes "Use Private DB Room for 30 minutes!";
		mes "But you need to pay me 35 Million Zeny";
		mes "Input a new password.";
		input($password$[@menu]);
		set Zeny,Zeny-.@price[@menu];
		set $@maps$,$@maps$[@menu];
		next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end;
	}
	if(getmapusers($@maps$[@menu])<=5&&@menu!=1) {
		mes "This room is password protected please input the password now.";
		input(@name$);
		if(@name$==$password$[@menu]){
			set Zeny,Zeny-.@price[@menu];
			set $@maps$,$@maps$[@menu];
			mes "correct!"; next; setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer; warp $@maps$[@menu],50,50; end;
		} else {
			mes "Incorrect!";
			close;
		}
	} else {
		mes "I'm sorry this room is full.";
		close;
	}
}

OnTimer1800000:
if(strcharinfo(3)==$@maps$){
	warp "prontera",156,181;
	end;
}
}

 

 

When the player leaves the private mvp room it clears the monster inside? may i know the difference between the Public that cost 200z and private which cost 35M z?

Share this post


Link to post
Share on other sites
  • 0

When the player leaves the private mvp room it clears the monster inside?

- I don't know, I can try it later night. I just make the 200z because I don't know how to remove that. It causing me errors when I tried.

Share this post


Link to post
Share on other sites
  • 0

This kind of DB room i am looking but it should have command if player enters the room, the monster left inside clears/dies. Especially the private room right?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

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