Jump to content

ThyroDree

Members
  • Content Count

    556
  • Joined

  • Last visited

Posts posted by ThyroDree


  1. Hello, anyone has exp_group_db.conf (I can't find any from search) :(

    high than level 99/70 exp? Pre-re db.. I have a 255/120 and gives me this error

    [Error]: pc_read_exp_db_sub_class: Specified max 255 for group 'TranscendedClasses', but that group's base exp table only goes up to level 98.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 255 for group 'ThirdClasses', but that group's base exp table only goes up to level 98.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'ThirdClasses', but that group's job exp table only goes up to level 49.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'TranscendedFirstClasses', but that group's job exp table only goes up to level 49.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'TranscendedSecondClasses', but that group's job exp table only goes up to level 69.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'NinjaAndGunslinger', but that group's job exp table only goes up to level 69.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'StarGladiator', but that group's job exp table only goes up to level 49.
    [Info]: Filling the missing values with the last exp entry.
    [Error]: pc_read_exp_db_sub_class: Specified max 100 for group 'SuperNovice', but that group's job exp table only goes up to level 98.
    [Info]: Filling the missing values with the last exp entry.

     


  2. Hello anyoen can help me when setting up my emulator and used ./configure , make sql then make plugins

     

    Make plugins gives me error, heres the error im getting.

    make  [1]: Entering Directory '/home/hercules/Trunk/src/plugins'
    make [1]: *** No rule to make target '../../plugins/sample.so', needed by 'sample'.  Stop.
    make [1]: Leaving directory '/home/hercules/Trunk/src/plugins'
    make: *** [plugins] Error 2

    Anyone??


  3. Hello anyone can help? Adding command that cleans the room when a player enters the room, ex. If there is monster inside from previous renter, It will die and drops will automatically remove/clean.

    I tried to add atcommand "@killmonster"; :oops:

    prontera,165,161,4	script	Private Branch Room	4_M_EIN_SOLDIER,{
    setarray $@maps$[1], "pvp_n_1-1", "06guild_01", "06guild_02", "06guild_03", "06guild_04", "06guild_05";
    setarray .@price[1], 200, 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)?"^CD0000Full^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; } else { set .@menu$, .@menu$  + "Private["+(.@b-1)+"]- "+((getmapusers(""+$@maps$[.@b]+"")>0)?"^CD0000Full^000000("+getmapusers($@maps$[.@b])+")":"^007700Open^000000("+getmapusers($@maps$[.@b])+") ["+.@price[.@b]+" zeny]")+":"; }
    }
    			mes "[ ^007fffBranch Manager^000000 ]";
    			mes "Private Branch Room cost ^FF000035,000,000^000000z.";
    			mes "You can only use the room for only ^FF000030 minutes^000000.";
    			next;
    			mes "[ ^007fffBranch Manager^000000 ]";
    			mes "Once you leave the room, you will need to pay again to enter this room.";
    			next;
    			mes "[ ^007fffBranch Manager^000000 ]";
    			mes "Please select a Private Branch room.";
    			mes "^FF0000Remember^000000:";
    			mes "Once you leave the room, you will need to pay again to enter this room.";
    if(select(.@menu$)) {
    	if(Zeny<.@price[@menu]){
    	mes "[ ^007fffBranch Manager^000000 ]";
    	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],111,67; end;
    	}
    	if(!getmapusers($@maps$[@menu])){
    		mes "...";
    		next;
    		mes "[ ^007fffBranch Manager^000000 ]";
    		mes "Use Private DB Room for";
    		mes "30 minutes!";
    		mes "But you need to pay me 35,000,000z";
    		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; atcommand "@killmonster"; atcommand "@cleanmap"; end;
    	}
    	if(getmapusers($@maps$[@menu])<=0&&@menu!=1) {
    		mes "[ ^007fffBranch Manager^000000 ]";
    		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 "[ ^007fffBranch Manager^000000 ]";
    		mes "I'm sorry this room is full.";
    		close;
    	}
    }
    
    OnTimer1800000:
    if(strcharinfo(3)==$@maps$){
    	warp "prontera",156,191;
    	end;
    }
    }

     


  4. 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?


  5. 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

     


  6. Enable to use Parrying and Lord of Vermillion Skill
    Go to your trunk/src/map/pc.c and look for:
    Go to your trunk/src/map/pc.c and look for:
    /* permanent skills that must be re-checked */
    		if( sd->status.skill[i].flag == SKILL_FLAG_PERMANENT ) {
    			switch( skill->dbs->db[i].nameid ) {
    				case NV_TRICKDEAD:
    					if ((sd->job & MAPID_UPPERMASK) != MAPID_NOVICE) {
    						sd->status.skill[i].id = 0;
    						sd->status.skill[i].lv = 0;
    						sd->status.skill[i].flag = 0;
    					}
    					break;
    			}
    		}
    	}
    //Add this line below
    //Star Glad Parrying Soul Link Buffs
    	if( sd->sc.count && sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_STAR) {
    			sd->status.skill[85].id = 85;
    			sd->status.skill[85].lv = 10;
    			sd->status.skill[85].flag = SKILL_FLAG_PERMANENT;
    			sd->status.skill[356].id = 356;
    			sd->status.skill[356].lv = 10;
    			sd->status.skill[356].flag = SKILL_FLAG_PERMANENT;
    	}

    Go to Skill_db

    add this  Books: true below weapontypes

    
    {
    	Id: 356
    	Name: "LK_PARRYING"
    	Description: "Parrying"
    	MaxLevel: 10
    	Hit: "BDT_SKILL"
    	SkillType: {
    		Self: true
    	}
    	AttackType: "Weapon"
    	DamageType: {
    		NoDamage: true
    	}
    	SkillData1: {
    		Lv1: 15000
    		Lv2: 20000
    		Lv3: 25000
    		Lv4: 30000
    		Lv5: 35000
    		Lv6: 40000
    		Lv7: 45000
    		Lv8: 50000
    		Lv9: 55000
    		Lv10: 60000
    	}
    	CoolDown: 0
    	Requirements: {
    		SPCost: 50
    		WeaponTypes: {
    			2HSwords: true
    		}
    	}
    },

    Works for me

     

    Increase damage on Boss monster and Holy monster by 100%

    Open status.c

    	if ((skill_lv = pc->checkskill(sd, AB_EUCHARISTICA)) > 0) {
    		sd->right_weapon.addrace[RC_DEMON] += skill_lv;
    		sd->right_weapon.addele[ELE_DARK] += skill_lv;
    		sd->left_weapon.addrace[RC_DEMON] += skill_lv;
    		sd->left_weapon.addele[ELE_DARK] += skill_lv;
    		sd->magic_addrace[RC_DEMON] += skill_lv;
    		sd->magic_addele[ELE_DARK] += skill_lv;
    #ifdef RENEWAL
    		sd->race_tolerance[RC_DEMON] += skill_lv;
    #else
    		sd->subrace[RC_DEMON] += skill_lv;
    #endif
    		sd->subele[ELE_DARK] += skill_lv;
    	}
    //Add this below
    // Soul Link Star Gladiator Damage
    	if(sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_STAR) {
    		sd->right_weapon.addrace[RC_BOSS] += 100;
    		sd->left_weapon.addrace[RC_BOSS] += 100;
    		sd->right_weapon.addele[ELE_HOLY] += 100;
    		sd->left_weapon.addele[ELE_HOLY] += 100;
    	}

    Perfect Dodge 

    
    	if(sc->data[SC_PLUSAVOIDVALUE])
    		flee2 += sc->data[SC_PLUSAVOIDVALUE]->val2;
    	if(sc->data[SC_WHISTLE])
    		flee2 += sc->data[SC_WHISTLE]->val3*10;
    //Add this below
    	if(sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_STAR)
    		flee2 += 10;

     


  7. Thanks!

    pc.c

    	//Star Glad Parrying Soul Link Buffs
    	if( sd->sc.count && sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_STAR) {
    			sd->status.skill[85].id = 85;
    			sd->status.skill[85].lv = 10;
    			sd->status.skill[85].flag = SKILL_FLAG_PERMANENT;
    			sd->status.skill[356].id = 356;
    			sd->status.skill[356].lv = 10;
    			sd->status.skill[356].flag = SKILL_FLAG_PERMANENT;
    	}

    add this  Books: true to weapontypes

    
    {
    	Id: 356
    	Name: "LK_PARRYING"
    	Description: "Parrying"
    	MaxLevel: 10
    	Hit: "BDT_SKILL"
    	SkillType: {
    		Self: true
    	}
    	AttackType: "Weapon"
    	DamageType: {
    		NoDamage: true
    	}
    	SkillData1: {
    		Lv1: 15000
    		Lv2: 20000
    		Lv3: 25000
    		Lv4: 30000
    		Lv5: 35000
    		Lv6: 40000
    		Lv7: 45000
    		Lv8: 50000
    		Lv9: 55000
    		Lv10: 60000
    	}
    	CoolDown: 0
    	Requirements: {
    		SPCost: 50
    		WeaponTypes: {
    			2HSwords: true
    		}
    	}
    },

    Works for me

×
×
  • Create New...

Important Information

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