Jump to content

Caspian

Members
  • Content Count

    109
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Caspian


  1. 5 hours ago, ThyroDree said:

    Hello! anyone can make this compatible to hercules?

    //===== 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,155,180,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 MVP 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(MVP Summoner) Summoner#1 4_F_KAFRA2 06guild_02,49,49,4 duplicate(MVP Summoner) Summoner#2 4_F_KAFRA2 06guild_03,49,49,4 duplicate(MVP Summoner) Summoner#3 4_F_KAFRA2 06guild_04,49,49,4 duplicate(MVP Summoner) Summoner#4 4_F_KAFRA2 06guild_05,49,49,4 duplicate(MVP Summoner) Summoner#5 4_F_KAFRA2 06guild_06,49,49,4 duplicate(MVP Summoner) Summoner#6 4_F_KAFRA2 06guild_07,49,49,4 duplicate(MVP Summoner) Summoner#7 4_F_KAFRA2 06guild_08,49,49,4 duplicate(MVP Summoner) Summoner#8 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

    
    //===== 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,155,180,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	MVP 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(MVP Summoner)	Summoner#1	4_F_KAFRA2
    06guild_02,49,49,4	duplicate(MVP Summoner)	Summoner#2	4_F_KAFRA2
    06guild_03,49,49,4	duplicate(MVP Summoner)	Summoner#3	4_F_KAFRA2
    06guild_04,49,49,4	duplicate(MVP Summoner)	Summoner#4	4_F_KAFRA2
    06guild_05,49,49,4	duplicate(MVP Summoner)	Summoner#5	4_F_KAFRA2
    06guild_06,49,49,4	duplicate(MVP Summoner)	Summoner#6	4_F_KAFRA2
    06guild_07,49,49,4	duplicate(MVP Summoner)	Summoner#7	4_F_KAFRA2
    06guild_08,49,49,4	duplicate(MVP Summoner)	Summoner#8	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

    getting alot of bug and error using this.

    1 error is like this [Debug]: mapindex_name2id: Map "" not found in index list!

    It means you have to change the map for one that exist.


  2. 7 hours ago, WillzonePH said:

    Yes but I want this pk off to pvp maps too not just for town. Do you how to enable it to pvp maps? So they cant attack each other on pvp maps or pk maps

    I don't know, I think the plugin was made exactly to this... to enable people to fight on other maps instead of pvp areas.


  3. 12 hours ago, WillzonePH said:

    No error but the problem is if your pk state is OFF they still attack/hit you on pk maps.

    I tried here again in towns and when the pk state is off they don't atack each other. 

    If you are using the command on pk maps they will still attack each other because of the mapflag pvp.


  4. 4 hours ago, WillzonePH said:

    The @pk plugin from Dastgir is not working on pkmode 1. Do you now how to fix that?

     

    This is the plugin from Dastgir  @pk.c

     

     

    Here is working fine but I am using an old revision from hercules.

    Are you using last revision emulator? If yes, Do you have any error when compiling?


  5. On 3/31/2020 at 11:39 AM, ThyroDree said:

    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_ctf in file 'npc/eBG/bg_flavius_ctf.txt', li ne '391'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_td in file 'npc/eBG/bg_flavius_td.txt', line '157'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_sc in file 'npc/eBG/bg_flavius_sc.txt', line '375'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_boss in file 'npc/eBG/bg_tierra_boss.txt', l ine '220'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_tti in file 'npc/eBG/bg_tierra_ti.txt', line '196'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_eos in file 'npc/eBG/bg_tierra_eos.txt', lin e '450'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_dom in file 'npc/eBG/bg_tierra_dom.txt', lin e '182'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_conq01 in file 'npc/eBG/bg_conquest.txt', li ne '953'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_conq02 in file 'npc/eBG/bg_conquest.txt', li ne '965'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_conq03 in file 'npc/eBG/bg_conquest.txt', li ne '977'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_conq04 in file 'npc/eBG/bg_conquest.txt', li ne '989'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_conq05 in file 'npc/eBG/bg_conquest.txt', li ne '1001'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_conq06 in file 'npc/eBG/bg_conquest.txt', li ne '1013'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_rush01 in file 'npc/eBG/bg_rush.txt', line ' 249'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_rush02 in file 'npc/eBG/bg_rush.txt', line ' 260'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_rush03 in file 'npc/eBG/bg_rush.txt', line ' 271'. [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s ame map! Removing PvP flag from ebg_rush04 in file 'npc/eBG/bg_rush.txt', line ' 282'.

    
    
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_ctf in file 'npc/eBG/bg_flavius_ctf.txt', li                              ne '391'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_td in file 'npc/eBG/bg_flavius_td.txt', line                               '157'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_sc in file 'npc/eBG/bg_flavius_sc.txt', line                               '375'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_boss in file 'npc/eBG/bg_tierra_boss.txt', l                              ine '220'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_tti in file 'npc/eBG/bg_tierra_ti.txt', line                               '196'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_eos in file 'npc/eBG/bg_tierra_eos.txt', lin                              e '450'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_dom in file 'npc/eBG/bg_tierra_dom.txt', lin                              e '182'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_conq01 in file 'npc/eBG/bg_conquest.txt', li                              ne '953'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_conq02 in file 'npc/eBG/bg_conquest.txt', li                              ne '965'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_conq03 in file 'npc/eBG/bg_conquest.txt', li                              ne '977'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_conq04 in file 'npc/eBG/bg_conquest.txt', li                              ne '989'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_conq05 in file 'npc/eBG/bg_conquest.txt', li                              ne '1001'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_conq06 in file 'npc/eBG/bg_conquest.txt', li                              ne '1013'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_rush01 in file 'npc/eBG/bg_rush.txt', line '                              249'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_rush02 in file 'npc/eBG/bg_rush.txt', line '                              260'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_rush03 in file 'npc/eBG/bg_rush.txt', line '                              271'.
    [Warning]: npc_parse_mapflag: You can't set PvP and BattleGround flags for the s                              ame map! Removing PvP flag from ebg_rush04 in file 'npc/eBG/bg_rush.txt', line '                              282'.

    Anyone? I can't the pvp mapflag o-o

    You can't set pvp mapflag on battlegrounds maps.


  6. 18 hours ago, IntoxicateD said:

    Caspian,

     

    Estou utilizando Windows.

    Não, não criei o documento com o nome mapcache, após criá-lo eu preciso colocar algo dentro deste documento?

     

    Aguardo,

    Ok vamos por partes.

     

    Primeiramente você precisa criar um novo plugin com o nome de mapcache.

    Para fazer isso, vai até a pasta do seu emulador e procure a pasta "vsproj-14, 15 ou 16".

     

    Abra a "vsproj-" de acordo com a qual seu emulador foi compilado.

    Por exemplo: se você compilou seu emulador utilizando Hercules15.sln, deverá abrir "vsproj-15".

    Dentro da pasta vsproj-15". Dê um ctrl +C e ctrl +V no arquivo "plugin-sample.vcxproj" e renomeie para "mapcache".

    Abra o arquivo que você renomeou: "mapcache.vcxproj" e dê um crtl+F, localize "plugin-sample" e "sample" e substituta por "mapcache".

    Salve o arquivo.

     

    Depois vá até a pasta do seu emulador novamente. Entre em conf>plugin.conf e adicione o nome "mapcache".

    Abra seu Hercules.sln (no exemplo estou utilizando o 15).

    Clique com o botão direito do mouse próximo (mas não encima), de seu map-server, char-server, ou login server. E adicione um projeto existente. Que você criou anteriormente na pasta "vsproj-15" chamado "mapcache".

     

    Com o mapcache adicionado, o próximo passo é compilar seu emulador novamente juntamente com o mapcache. 

    (Essa etapa anterior é necessária para qualquer plugin que for adicionar no seu servidor).

     

    Vou levar em consideração que você já adicionou o mapa no seu servidor . nos arquivos: map_index.txt, maps.conf...

    Também estou levando em consideração que você já tenha adicionado sua grf para o emulador ler grf.files.txt.


    Prosseguindo: 

    Abra seu prompt de comando e digite:

    cd C:\Pasta\onde\está\Seu\Servidor

     

    dentro disso vc digita: map-server.exe --map "nome do mapa sem aspas"

    C:\Pasta\onde\está\Seu\Servidor\map-server.exe --map "nome do mapa sem aspas"

     

    Dai se os arquivos do seu mapa estiverem corretamente  na sua grf, serão lidos e adicionados no mapcache.

     

    Qualquer coisa me avisa.

     

     

×
×
  • Create New...

Important Information

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