Jump to content
  • 0

Help Ranking KvM


danizinx

Question


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  18
  • Reputation:   1
  • Joined:  07/31/15
  • Last Seen:  

Hi guys, i need a ranking KvM, i added

kvm_death kvm_kills kvm_win kvm_lost   in "char_bg" table  and i need script to insert in kills, death win and lost KvM, van help ? sig in full table and script

CREATE TABLE IF NOT EXISTS `char_bg` (
  `char_id` int(11) NOT NULL,
  `top_damage` int(11) NOT NULL DEFAULT '0',
  `damage_done` int(11) NOT NULL DEFAULT '0',
  `damage_received` int(11) NOT NULL DEFAULT '0',
  `skulls` int(11) NOT NULL DEFAULT '0',
  `ti_wins` int(11) NOT NULL DEFAULT '0',
  `ti_lost` int(11) NOT NULL DEFAULT '0',
  `ti_tie` int(11) NOT NULL DEFAULT '0',
  `eos_flags` int(11) NOT NULL DEFAULT '0',
  `eos_bases` int(11) NOT NULL DEFAULT '0',
  `eos_wins` int(11) NOT NULL DEFAULT '0',
  `eos_lost` int(11) NOT NULL DEFAULT '0',
  `eos_tie` int(11) NOT NULL DEFAULT '0',
  `boss_killed` int(11) NOT NULL DEFAULT '0',
  `boss_damage` int(11) NOT NULL DEFAULT '0',
  `boss_flags` int(11) NOT NULL DEFAULT '0',
  `boss_wins` int(11) NOT NULL DEFAULT '0',
  `boss_lost` int(11) NOT NULL DEFAULT '0',
  `boss_tie` int(11) NOT NULL DEFAULT '0',
  `dom_bases` int(11) NOT NULL DEFAULT '0',
  `dom_off_kills` int(11) NOT NULL DEFAULT '0',
  `dom_def_kills` int(11) NOT NULL DEFAULT '0',
  `dom_wins` int(11) NOT NULL DEFAULT '0',
  `dom_lost` int(11) NOT NULL DEFAULT '0',
  `dom_tie` int(11) NOT NULL DEFAULT '0',
  `td_kills` int(11) NOT NULL DEFAULT '0',
  `td_deaths` int(11) NOT NULL DEFAULT '0',
  `td_wins` int(11) NOT NULL DEFAULT '0',
  `td_lost` int(11) NOT NULL DEFAULT '0',
  `td_tie` int(11) NOT NULL DEFAULT '0',
  `sc_stole` int(11) NOT NULL DEFAULT '0',
  `sc_captured` int(11) NOT NULL DEFAULT '0',
  `sc_droped` int(11) NOT NULL DEFAULT '0',
  `sc_wins` int(11) NOT NULL DEFAULT '0',
  `sc_lost` int(11) NOT NULL DEFAULT '0',
  `sc_tie` int(11) NOT NULL DEFAULT '0',
  `ctf_taken` int(11) NOT NULL DEFAULT '0',
  `ctf_captured` int(11) NOT NULL DEFAULT '0',
  `ctf_droped` int(11) NOT NULL DEFAULT '0',
  `ctf_wins` int(11) NOT NULL DEFAULT '0',
  `ctf_lost` int(11) NOT NULL DEFAULT '0',
  `ctf_tie` int(11) NOT NULL DEFAULT '0',
  `emperium_kill` int(11) NOT NULL DEFAULT '0',
  `barricade_kill` int(11) NOT NULL DEFAULT '0',
  `gstone_kill` int(11) NOT NULL DEFAULT '0',
  `cq_wins` int(11) NOT NULL DEFAULT '0',
  `cq_lost` int(11) NOT NULL DEFAULT '0',
  `kill_count` int(11) NOT NULL DEFAULT '0',
  `death_count` int(11) NOT NULL DEFAULT '0',
  `win` int(11) NOT NULL DEFAULT '0',
  `lost` int(11) NOT NULL DEFAULT '0',
  `tie` int(11) NOT NULL DEFAULT '0',
  `leader_win` int(11) NOT NULL DEFAULT '0',
  `leader_lost` int(11) NOT NULL DEFAULT '0',
  `leader_tie` int(11) NOT NULL DEFAULT '0',
  `deserter` int(11) NOT NULL DEFAULT '0',
  `score` int(11) NOT NULL DEFAULT '0',
  `points` int(11) NOT NULL DEFAULT '0',
  `sp_heal_potions` int(11) NOT NULL DEFAULT '0',
  `hp_heal_potions` int(11) NOT NULL DEFAULT '0',
  `yellow_gemstones` int(11) NOT NULL DEFAULT '0',
  `red_gemstones` int(11) NOT NULL DEFAULT '0',
  `blue_gemstones` int(11) NOT NULL DEFAULT '0',
  `poison_bottles` int(11) NOT NULL DEFAULT '0',
  `acid_demostration` int(11) NOT NULL DEFAULT '0',
  `acid_demostration_fail` int(11) NOT NULL DEFAULT '0',
  `support_skills_used` int(11) NOT NULL DEFAULT '0',
  `healing_done` int(11) NOT NULL DEFAULT '0',
  `wrong_support_skills_used` int(11) NOT NULL DEFAULT '0',
  `wrong_healing_done` int(11) NOT NULL DEFAULT '0',
  `sp_used` int(11) NOT NULL DEFAULT '0',
  `zeny_used` int(11) NOT NULL DEFAULT '0',
  `spiritb_used` int(11) NOT NULL DEFAULT '0',
  `ammo_used` int(11) NOT NULL DEFAULT '0',
  `rank_points` int(11) NOT NULL DEFAULT '0',
  `rank_games` int(11) NOT NULL DEFAULT '0',
  `ru_captures` int(11) NOT NULL DEFAULT '0',
  `ru_wins` int(11) NOT NULL DEFAULT '0',
  `ru_lost` int(11) NOT NULL DEFAULT '0',
  `kvm_death` int(11) unsigned NOT NULL,
  `kvm_kills` int(11) unsigned NOT NULL,
  `kvm_win` int(11) unsigned NOT NULL,
  `kvm_lost` int(11) unsigned NOT NULL,
  PRIMARY KEY (`char_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
// (c) 2008 - 2012 eAmod Project; Andres Garbanzo / Zephyrus
//
//  - [email protected]
//  - MSN [email protected]
//  - Skype: Zephyrus_cr
//  - Site: http://dev.terra-gaming.com
//
// This file is NOT public - you are not allowed to distribute it.
// Authorized Server List : http://dev.terra-gaming.com/index.php?/topic/72-authorized-eamod-servers/
// eAmod is a non Free, extended version of eAthena Ragnarok Private Server.

// ==============================================================================
// BattleGround System - KvM 80~99
// ==============================================================================

// Registration NPC's
// *********************************************************************

bat_room,158,158,4	script	Registration::KvM01R_Guillaume	418,{ // KvM Guillaume
	end;

OnInit:
	waitingroom "KvM 3vs3 Blue Team",4,"KvM01_BG::OnGuillaumeJoin",1;
	end;
	
OnEnterBG:
	set $@KvM01BG_id1, waitingroom2bg("bat_c01",53,128,0,"KvM01_BG::OnGuillaumeQuit","KvM01_BG::OnGuillaumeDie");
	end;
}

bat_room,158,141,0	script	Registration::KvM01R_Croix	414,{ // KvM Croix
	end;

OnInit:
	waitingroom "KvM 3vs3 Red Team",4,"KvM01_BG::OnCroixJoin",1;
	end;

OnEnterBG:
	set $@KvM01BG_id2, waitingroom2bg("bat_c01",146,55,1,"KvM01_BG::OnCroixQuit","KvM01_BG::OnCroixDie");
	end;
}

// Light Effects
// *********************************************************************

bat_c01,54,123,0	script	#bat_c01a	111,{
	end;

OnKvM01LightA: misceffect 54; end;
OnKvM01LightB: misceffect 55; end;
OnKvM01LightC: misceffect 56; end;
}

bat_c01,56,125,0	duplicate(#bat_c01a)	#bat_c01b	111
bat_c01,58,127,0	duplicate(#bat_c01a)	#bat_c01c	111
bat_c01,141,56,0	duplicate(#bat_c01a)	#bat_c01d	111
bat_c01,143,58,0	duplicate(#bat_c01a)	#bat_c01e	111
bat_c01,145,60,0	duplicate(#bat_c01a)	#bat_c01f	111

// Battleground Engine
// *********************************************************************

-	script	KvM01_BG	-1,{
	end;

OnInit:
	setwall "bat_c01",54,122,6,7,0,"batc01wall_a";
	setwall "bat_c01",55,122,5,7,0,"batc01wall_b";
	setwall "bat_c01",140,56,6,7,0,"batc01wall_c";
	setwall "bat_c01",140,57,5,7,0,"batc01wall_d";
	disablenpc "TherapistKvM01a";
	disablenpc "TherapistKvM01b";
	disablenpc "VintenarKvM01a";
	disablenpc "VintenarKvM01b";
	end;

OnGuillaumeJoin:
	if( $@KvM01BG == 1 && bg_get_data($@KvM01BG_id1, 0) < 3 )
		waitingroom2bg_single $@KvM01BG_id1,"bat_c01",53,128,"KvM01R_Guillaume";
	else
		donpcevent "KvM01_BG::OnReadyCheck";
	end;

OnGuillaumeQuit:
	setquest 8506;
	if( $@KvM01BG == 1 && bg_get_data($@KvM01BG_id1, 0) < 3 )
		waitingroom2bg_single $@KvM01BG_id1,"bat_c01",53,128,"KvM01R_Guillaume";
OnGuillaumeDie:
	if( $@KvM01BG == 2 )
	{
		getmapxy .@m$, .@x, .@y, 0;
		if( .@m$ != "bat_c01" || (.@x >= 50 && .@x <= 58 && .@y >= 123 && .@y <= 131) )
			end; // Killed/Logout on Cementery or outside the map?

		set .Guillaume_Count, .Guillaume_Count - 1;
		set .Croix_Score, .Croix_Score + 1;
		bg_updatescore "bat_c01",.Guillaume_Score,.Croix_Score;
		if( .Guillaume_Count < 1 ) donpcevent "KvM01_BG::OnCroixWin";
	}
	end;

OnCroixJoin:
	if( $@KvM01BG == 1 && bg_get_data($@KvM01BG_id2, 0) < 3 )
		waitingroom2bg_single $@KvM01BG_id2,"bat_c01",146,55,"KvM01R_Croix";
	else
		donpcevent "KvM01_BG::OnReadyCheck";
	end;

OnCroixQuit:
	setquest 8506;
	if( $@KvM01BG == 1 && bg_get_data($@KvM01BG_id2, 0) < 3 )
		waitingroom2bg_single $@KvM01BG_id2,"bat_c01",146,55,"KvM01R_Croix";
OnCroixDie:
	if( $@KvM01BG == 2 )
	{
		getmapxy .@m$, .@x, .@y, 0;
		if( .@m$ != "bat_c01" || (.@x >= 141 && .@x <= 149 && .@y >= 52 && .@y <= 60) )
			end; // Killed/Logout on Cementery or outside the map?

		set .Croix_Count, .Croix_Count - 1;
		set .Guillaume_Score, .Guillaume_Score + 1;
		bg_updatescore "bat_c01",.Guillaume_Score,.Croix_Score;
		if( .Croix_Count < 1 ) donpcevent "KvM01_BG::OnGuillaumeWin";
	}
	end;

OnReadyCheck:
	if( $@KvM01BG || $@Global_BG_Block )
		end;
	set .@Guillaume, getwaitingroomstate(0,"KvM01R_Guillaume");
	set .@Croix, getwaitingroomstate(0,"KvM01R_Croix");

	if( .@Guillaume < 3 || .@Croix < 3 )
	{
		if( .@Guillaume > 3 && .@Croix > 3 && !agitcheck() && $@KvM_Flood < gettimetick(2) )
		{
			announce "Batalha Campal -- Kreiger Von Midgard 3vs3: " + .@Guillaume + "/3, C: " + .@Croix + "/3",0,0x00BFFF;
			set $@KvM_Flood, gettimetick(2) + 15;
		}
		else
			mapannounce "bat_room","Batalha Campal -- Kreiger Von Midgard 3vs3: " + .@Guillaume + "/3, C: " + .@Croix + "/3",1,0x00BFFF;
		end;
	}

	set $@KvM01BG, 1; // Starting
	donpcevent "KvM01R_Croix::OnEnterBG";
	donpcevent "KvM01R_Guillaume::OnEnterBG";
	donpcevent "KvM01_BG::OnStart";
	end;

OnStart:
	announce "Batalha Campal -- Kreiger Von Midgard 3vs3 começou!",0,0x800080;
	enablenpc "TherapistKvM01a";
	enablenpc "TherapistKvM01b";
	disablenpc "VintenarKvM01a";
	disablenpc "VintenarKvM01b";
	set $@KvM01BG_Victory, 0;
	sleep 2000;
	// Warp Teams
	bg_warp $@KvM01BG_id1,"bat_c01",53,128;
	bg_warp $@KvM01BG_id2,"bat_c01",146,55;
	// ScoreBoard
	set .Guillaume_Score, 0;
	set .Croix_Score, 0;
	initnpctimer;
	end;

OnTimer5000:
	areapercentheal "bat_c01",50,123,58,131,100,100;
	areapercentheal "bat_c01",141,52,149,60,100,100;
	mapannounce "bat_c01","The Battle will start in 25 seconds!!",1,0x00BFFF;
	end;

OnTimer26000:
	mapannounce "bat_c01","The Battle will start in 4 seconds!!",1,0x00BFFF;
	end;

OnTimer27000:
	donpcevent "::OnKvM01LightA";
	end;

OnTimer28000:
	donpcevent "::OnKvM01LightB";
	end;
	
OnTimer29000:
	donpcevent "::OnKvM01LightC";
	end;

OnTimer30000:
	// Team Members
	set .Guillaume_Count, bg_get_data($@KvM01BG_id1, 0);
	set .Croix_Count, bg_get_data($@KvM01BG_id2, 0);
	if( .Guillaume_Count < 1 || .Croix_Count < 1 )
	{
		set $@KvM01BG_Victory, 3;
		set $@KvM01BG, 3;
		mapannounce "bat_c01","There are not enough players to start the battle",1,0x00BFFF;
		stopnpctimer;
		sleep 2000;
		donpcevent "KvM01_BG::OnStop";
		end;
	}

	set $@KvM01BG, 2; // Playing
	areapercentheal "bat_c01",50,123,58,131,100,100;
	bg_warp $@KvM01BG_id1,"bat_c01",62,119;
	areapercentheal "bat_c01",141,52,149,60,100,100;
	bg_warp $@KvM01BG_id2,"bat_c01",137,64;
	end;

OnTimer32000:
	mapannounce "bat_c01","The Battle of Kreiger Von Midgard has begun!!",1,0x00BFFF;
	end;

OnTimer300000:
	mapannounce "bat_c01","The Battle will ends in 30 seconds!!",1,0x00BFFF;
	end;

OnTimer330000:
	if( .Croix_Count > .Guillaume_Count )
		donpcevent "KvM01_BG::OnCroixWin";
	else if( .Croix_Count < .Guillaume_Count )
		donpcevent "KvM01_BG::OnGuillaumeWin";
	else
	{ // Draw Game
		set $@KvM01BG, 3;
		set $@KvM01BG_Victory, 3;
		stopnpctimer;
		sleep 2000;
		mapannounce "bat_c01","The time is out! This is a Tie...",1,0x00BFFF;
		donpcevent "KvM01_BG::OnStop";
	}
	end;

OnGuillaumeWin:
	set $@KvM01BG, 3;
	set $@KvM01BG_Victory, 1;
	stopnpctimer;
	sleep 2000;
	mapannounce "bat_c01","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF;
	donpcevent "KvM01_BG::OnStop";
	end;

OnCroixWin:
	set $@KvM01BG, 3;
	set $@KvM01BG_Victory, 2;
	stopnpctimer;
	sleep 2000;
	mapannounce "bat_c01","The Croix Army has won the Battle of Kreiger Von Midgard",1,0xFF0000;
	donpcevent "KvM01_BG::OnStop";
	end;

OnStop:
	disablenpc "TherapistKvM01a";
	disablenpc "TherapistKvM01b";
	enablenpc "VintenarKvM01a";
	enablenpc "VintenarKvM01b";
	// Warp Teams
	bg_warp $@KvM01BG_id1,"bat_c01",53,128;
	bg_warp $@KvM01BG_id2,"bat_c01",146,55;
	donpcevent "KvM01_BG_Out::OnBegin";
	end;

OnReset:
	stopnpctimer;
	stopnpctimer "KvM01_BG_Out";
	set .Croix_Count, 0;
	set .Guillaume_Count, 0;
	set .Croix_Score, 0;
	set .Guillaume_Score, 0;
	set $@KvM01BG_Victory, 0;
	if( $@KvM01BG_id1 ) { bg_destroy $@KvM01BG_id1; set $@KvM01BG_id1, 0; }
	if( $@KvM01BG_id2 ) { bg_destroy $@KvM01BG_id2; set $@KvM01BG_id2, 0; }
	disablenpc "TherapistKvM01a";
	disablenpc "TherapistKvM01b";
	disablenpc "VintenarKvM01a";
	disablenpc "VintenarKvM01b";
	sleep 1000;
	mapwarp "bat_c01","bat_room",155,150;
	sleep 2000;
	maprespawnguildid "bat_c01",0,3; // Just in case someone else
	bg_updatescore "bat_c01",0,0;
	sleep 2000;
	set $@KvM01BG, 0;
	donpcevent "KvM01_BG::OnReadyCheck"; // Maybe a game is ready to start
	end;
}

-	script	KvM01_BG_Out	-1,{
	end;

OnBegin:
	initnpctimer;
	end;

OnTimer3000:
	mapannounce "bat_c01","Battle of Kreiger Von Midgard will close in 1 minute!",1,0x00BFFF;
	end;
OnTimer30000:
	mapannounce "bat_c01","Battle of Kreiger Von Midgard will close in 30 seconds!",1,0x00BFFF;
	end;
OnTimer50000:
	mapannounce "bat_c01","Battle of Kreiger Von Midgard will close in 10 seconds!",1,0x00BFFF;
	end;
OnTimer60000:
	donpcevent "KvM01_BG::OnReset";
	end;

// Battleground Therapist
// *********************************************************************

bat_c01,51,130,5	script	Therapist in battle::TherapistKvM01a	95,{
	mes "[Therapist in battle]";
	mes "Just close your eyes, and take a deep breathe.";
	mes "You can be free from pain.";
	specialeffect2 312;
	close;
}

bat_c01,148,53,1	script	Therapist in battle::TherapistKvM01b	95,{
	mes "[Therapist in battle]";
	mes "Just close your eyes, and take a deep breathe.";
	mes "You can be free from pain.";
	specialeffect2 312;
	close;
}

// Battleground rewards
// *********************************************************************

bat_c01,51,130,5	script	Guillaume Vintenar::VintenarKvM01a	419,{
	if( $@KvM01BG_Victory )
	{
		if( $@KvM01BG_Victory == 3 )
		{
			setquest 6025;
			bg_leave;
			warp "bat_room",155,150;
			end;
		}
		else if( $@KvM01BG_Victory == Bat_Team )
		{ // Victory
			set .@RewardGuerra, 40;
			set .@RewardValor, 25;
			set .@RewardBravura, 25;
			mes "[Swandery]";
			mes "Blessed Guillaume!!";
			mes "Let's enjoy our glorious victory!";
			mes "" + strcharinfo(0) + ", its a sign reflecting victory";
			close2;
		}
		else
		{ // 
			set .@RewardGuerra, 30;
			set .@RewardValor, 15;
			set .@RewardBravura, 15;
			mes "[Swandery]";
			mes "You lost, but you're dedicated to this battle.";
			mes "This is a reward for your great dedication by Guillaume Marollo!";
			mes "Just take this defeat a lesson, and later you would definitely learn.";
			close2;
		}

		setquest 6025;
		getitem 7773, .@RewardGuerra;
		getitem 7829, .@RewardValor;
		getitem 7828, .@RewardBravura;
		bg_leave;
		warp "bat_room",155,150;
		end;
	}
	end;
}

bat_c01,148,53,1	script	Croix Vintenar::VintenarKvM01b	415,{
	if( $@KvM01BG_Victory )
	{
		if( $@KvM01BG_Victory == 3 )
		{
			setquest 6025;
			bg_leave;
			warp "bat_room",155,150;
			end;
		}
		else if( $@KvM01BG_Victory == Bat_Team )
		{ // Victory
			set .@RewardGuerra, 40;
			set .@RewardValor, 25;
			set .@RewardBravura, 25;
			mes "[Swandery]";
			mes "Blessed Croax!!";
			mes "Let's enjoy our glorious victory!";
			mes "" + strcharinfo(0) + ", its a sign reflecting victory";
			close2;
		}
		else
		{ // 
			set .@RewardGuerra, 30;
			set .@RewardValor, 15;
			set .@RewardBravura, 15;
			mes "[Swandery]";
			mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
			mes "Even though we didn't win, we did our best.";
			mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
			close2;
		}

		setquest 6025;
		getitem 7773, .@RewardGuerra;
		getitem 7829, .@RewardValor;
		getitem 7828, .@RewardBravura;
		bg_leave;
		warp "bat_room",155,150;
		end;
	}
	end;
}

// MapFlags
// *********************************************************************

bat_c01	mapflag	battleground	2
bat_c01	mapflag	nomemo
bat_c01	mapflag	nosave	SavePoint
bat_c01	mapflag	noteleport
bat_c01	mapflag	nowarp
bat_c01	mapflag	nowarpto
bat_c01	mapflag	noreturn
bat_c01	mapflag	nobranch
bat_c01	mapflag	nopenalty
bat_c01	mapflag	noemergencycall

thx

bg_kvm01.txt

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...