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 ( .@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 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 .@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#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