Jump to content
furry

Need Help please....

Recommended Posts

pa help naman po about sa battleground. kasi po nung pinalitan ko ng TCG ung reward nung CTF battle Ground wala napong nalabas na reward..

 

 

thanks in advance....

// (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 - Flavius Capture the Flag
// ==============================================================================

// Battleground Flags
// *********************************************************************

bat_b02,328,150,0	script	Alpha Crystal::Team1_Flag	1914,1,1,{
	end;

OnTouch:
	if( [email protected]_Status != 1 || getvariableofnpc(.BG_Arena$,"BG_Queue_Join") != "Flavius_CTF" || HP < 1 )
		end;

	if( getcharid(4) == [email protected]_Team2 && .Flag_Status < 2 )
	{ // Flag Captured
		set .Flag_Status, 2; // Taken
		set .Flag_Carrier, getcharid(0);

		sc_end SC_HIDING;
		sc_end SC_CLOAKING;
		sc_end SC_CHASEWALK;
		// Renewal invisibility
		sc_end SC_CLOAKINGEXCEED;
		sc_end SC_CAMOUFLAGE;
		sc_end SC__INVISIBILITY;

		pcblock 1,1; // Block Skills/Items

		mapannounce "bat_b02","Alpha Crystal Taken by [ " + strcharinfo(0) + " ]",1,bg_get_data([email protected]_Team1,4);
		bg_rankpoints "ctf_taken",1;
		disablenpc "Team1_Flag";
		addtimer 2000, "Flavius_CTF::OnAlphaFlash";
		stopnpctimer;
	}
	else if( getcharid(4) == [email protected]_Team1 )
	{
		if( .Flag_Status == 0 && getvariableofnpc(.Flag_Carrier,"Team2_Flag") == getcharid(0) )
		{
			set getvariableofnpc(.Flag_Carrier,"Team2_Flag"),0;
			set .Flag_Carrier, 0;
			mapannounce "bat_b02","Omega Crystal Captured by [ " + strcharinfo(0) + " ]!!",1,bg_get_data([email protected]_Team2,4);
			bg_rankpoints "ctf_captured",1;
			pcblock 1,0; // UnBlock Skills/Items
			stopnpctimer;
			donpcevent "Flavius_CTF::OnTeam1Score";
		}
		else if( .Flag_Status == 1 )
		{
			mapannounce "bat_b02","Alpha Crystal Returned by [ " + strcharinfo(0) + " ]!!",1,bg_get_data([email protected]_Team1,4);
			bg_rankpoints "fame",1;
			disablenpc "Team1_Flag";
			sleep 2000;
			movenpc "Team1_Flag",328,150; // Back to Base
			set .Flag_Status, 0;
			initnpctimer;
			enablenpc "Team1_Flag";
		}
	}
	end;

OnTimer2000:
	stopnpctimer;
	if( .Flag_Status < 2 )
	{
		getmapxy [email protected]$, [email protected], [email protected], 1;
		viewpointmap "bat_b02",1, [email protected], [email protected], 1, bg_get_data([email protected]_Team1,4);
		specialeffect 223;
		initnpctimer;
	}
	end;

OnBase:
	movenpc "Team1_Flag",328,150;
	set .Flag_Status, 0;
	set .Flag_Carrier, 0;
	initnpctimer;
	enablenpc "Team1_Flag";
	end;
}

bat_b02,62,150,0	script	Omega Crystal::Team2_Flag	1915,1,1,{
	end;

OnTouch:
	if( [email protected]_Status != 1 || getvariableofnpc(.BG_Arena$,"BG_Queue_Join") != "Flavius_CTF" || HP < 1 )
		end;

	if( getcharid(4) == [email protected]_Team1 && .Flag_Status < 2 )
	{ // Flag Captured
		set .Flag_Status, 2; // Taken
		set .Flag_Carrier, getcharid(0);

		sc_end SC_HIDING;
		sc_end SC_CLOAKING;
		sc_end SC_CHASEWALK;
		// Renewal invisibility
		sc_end SC_CLOAKINGEXCEED;
		sc_end SC_CAMOUFLAGE;
		sc_end SC__INVISIBILITY;

		pcblock 1,1; // Block Skills/Items

		mapannounce "bat_b02","Omega Crystal Taken by [ " + strcharinfo(0) + " ]",1,bg_get_data([email protected]_Team2,4);
		bg_rankpoints "ctf_taken",1;
		disablenpc "Team2_Flag";
		addtimer 2000, "Flavius_CTF::OnOmegaFlash";
		stopnpctimer;
	}
	else if( getcharid(4) == [email protected]_Team2 )
	{
		if( .Flag_Status == 0 && getvariableofnpc(.Flag_Carrier,"Team1_Flag") == getcharid(0) )
		{
			set getvariableofnpc(.Flag_Carrier,"Team1_Flag"),0;
			set .Flag_Carrier, 0;
			mapannounce "bat_b02","Alpha Crystal Captured by [ " + strcharinfo(0) + " ]!!",1,bg_get_data([email protected]_Team1,4);
			bg_rankpoints "ctf_captured",1;
			pcblock 1,0; // UnBlock Skills/Items
			stopnpctimer;
			donpcevent "Flavius_CTF::OnTeam2Score";
		}
		else if( .Flag_Status == 1 )
		{
			mapannounce "bat_b02","Omega Crystal Returned by [ " + strcharinfo(0) + " ]!!",1,bg_get_data([email protected]_Team2,4);
			bg_rankpoints "fame",1;
			disablenpc "Team2_Flag";
			sleep 2000;
			movenpc "Team2_Flag",62,150; // Back to Base
			set .Flag_Status, 0;
			initnpctimer;
			enablenpc "Team2_Flag";
		}
	}
	end;

OnTimer2000:
	stopnpctimer;
	if( .Flag_Status < 2 )
	{
		getmapxy [email protected]$, [email protected], [email protected], 1;
		viewpointmap "bat_b02",1, [email protected], [email protected], 2, bg_get_data([email protected]_Team2,4);
		specialeffect 223;
		initnpctimer;
	}
	end;

OnBase:
	movenpc "Team2_Flag",62,150;
	set .Flag_Status, 0;
	set .Flag_Carrier, 0;
	initnpctimer;
	enablenpc "Team2_Flag";
	end;
}

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

-	script	Flavius_CTF	-1,{
	end;

OnAlphaFlash:
	if( getvariableofnpc(.Flag_Carrier,"Team1_Flag") == getcharid(0) && [email protected]_Status == 1 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
	{
		getmapxy [email protected]$, [email protected], [email protected], 0;
		viewpointmap "bat_b02",1, [email protected], [email protected], 1, bg_get_data([email protected]_Team1,4);
		specialeffect2 73;
		emotion e_hlp,1;
		addtimer 2000, "Flavius_CTF::OnAlphaFlash";
		percentheal -5,-5;
	}
	end;

OnOmegaFlash:
	if( getvariableofnpc(.Flag_Carrier,"Team2_Flag") == getcharid(0) && [email protected]_Status == 1 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
	{
		getmapxy [email protected]$, [email protected], [email protected], 0;
		viewpointmap "bat_b02",1, [email protected], [email protected], 2, bg_get_data([email protected]_Team2,4);
		specialeffect2 73;
		emotion e_hlp,1;
		addtimer 2000, "Flavius_CTF::OnOmegaFlash";
		percentheal -5,-5;
	}
	end;

OnInit:
	disablenpc "Team1_Flag";
	disablenpc "Team2_Flag";
	end;

OnTeam1Quit:
	setquest 8506; // Deserter
	set @killer_bg_src, 0;
	if( [email protected]_Status != 0 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
		donpcevent "BG_Queue_Join::OnJoinEvent";
OnTeam1Die:
	if( [email protected]_Status == 1 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" && getvariableofnpc(.Flag_Carrier,"Team2_Flag") == getcharid(0) )
	{ // Drop Flag
		set getvariableofnpc(.Flag_Carrier,"Team2_Flag"), 0;
		pcblock 1,0; // UnBlock Skills/Items
		getmapxy [email protected]$, [email protected], [email protected], 0;
		movenpc "Team2_Flag", [email protected], [email protected];
		mapannounce "bat_b02","Omega Flag Droped by [ " + strcharinfo(0) + " ]",1,bg_get_data([email protected]_Team2,4);
		bg_rankpoints "ctf_droped",1;
		bg_rankpoints "fame",1,@killer_bg_src;
		set getvariableofnpc(.Flag_Status,"Team2_Flag"), 1; // OnFloor
		initnpctimer "Team2_Flag";
		enablenpc "Team2_Flag";
	}
	end;
	
OnTeam2Quit:
	setquest 8506; // Deserter
	set @killer_bg_src, 0;
	if( [email protected]_Status != 0 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
		donpcevent "BG_Queue_Join::OnJoinEvent";
OnTeam2Die:
	if( [email protected]_Status == 1 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" && getvariableofnpc(.Flag_Carrier,"Team1_Flag") == getcharid(0) )
	{ // Drop Flag
		set getvariableofnpc(.Flag_Carrier,"Team1_Flag"), 0;
		pcblock 1,0; // UnBlock Skills/Items
		getmapxy [email protected]$, [email protected], [email protected], 0;
		movenpc "Team1_Flag", [email protected], [email protected];
		mapannounce "bat_b02","Alpha Flag Droped by [ " + strcharinfo(0) + " ]",1,bg_get_data([email protected]_Team1,4);
		bg_rankpoints "ctf_droped",1;
		bg_rankpoints "fame",1,@killer_bg_src;
		set getvariableofnpc(.Flag_Status,"Team1_Flag"), 1; // OnFloor
		initnpctimer "Team1_Flag";
		enablenpc "Team1_Flag";
	}
	end;

OnBuildTeams:
	set [email protected]_Team1,bg_team_create("bat_b02",390,10,0,"Flavius_CTF::OnTeam1Quit","Flavius_CTF::OnTeam1Die");
	set [email protected]_Team2,bg_team_create("bat_b02",10,290,1,"Flavius_CTF::OnTeam2Quit","Flavius_CTF::OnTeam2Die");
	end;

OnReady:
	if( getvariableofnpc(.BG_Arena$,"BG_Queue_Join") != "Flavius_CTF" )
		end;

	initnpctimer;
	// BG Variables
	set .Team1_Score, 0;
	set .Team2_Score, 0;
	sleep 2000;
	bg_warp [email protected]_Team1,"bat_b02",311,224;
	bg_warp [email protected]_Team2,"bat_b02",87,75;
	sleep 2000;
	// Respawn NPC's
	donpcevent "#guictf_respawn::OnBGStart";
	donpcevent "#croctf_respawn::OnBGStart";
	// Start Match!!
	donpcevent "Flavius_CTF::OnMatchStart";
	end;

OnMatchStart:
	if( [email protected]_Status != 1 || getvariableofnpc(.BG_Arena$,"BG_Queue_Join") != "Flavius_CTF" )
		end;

	// Flags2Base
	donpcevent "Team1_Flag::OnBase";
	donpcevent "Team2_Flag::OnBase";
	mapannounce "bat_b02","The Flags have been set to their Bases!!",8;
	end;

OnTeam1Score:
	set .Team1_Score, .Team1_Score + 1;
	donpcevent "Flavius_CTF::OnMatchStop";
	end;

OnTeam2Score:
	set .Team2_Score, .Team2_Score + 1;
	donpcevent "Flavius_CTF::OnMatchStop";
	end;

OnMatchStop:
	disablenpc "Team1_Flag";
	disablenpc "Team2_Flag";
	bg_updatescore "bat_b02",.Team1_Score,.Team2_Score;

	viewpointmap "bat_b02",2, 0, 0, 1, 0x0000FF;
	viewpointmap "bat_b02",2, 0, 0, 2, 0xFF0000;
	
	if( .Team1_Score > 2 )
	{ // Team 1 Won
		mapannounce "bat_b02","The " + bg_get_data([email protected]_Team1,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data([email protected]_Team1,4);
		donpcevent "Flavius_CTF::OnMatchEnd";
	}
	else if( .Team2_Score > 2 )
	{ // Team 2 Won
		mapannounce "bat_b02","The " + bg_get_data([email protected]_Team2,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data([email protected]_Team2,4);
		donpcevent "Flavius_CTF::OnMatchEnd";
	}
	else
	{ // Keep Playing
		sleep 8000;
		donpcevent "Flavius_CTF::OnMatchStart";
	}
	end;

OnTimer600000:
	mapannounce "bat_b02","The Battle will ends in 5 minutes!!",1,0xA0522D;
	end;

OnTimer840000:
	mapannounce "bat_b02","The Battle will ends in 1 minute!!",1,0xA0522D;
	end;

OnTimer900000:
	disablenpc "Team1_Flag";
	disablenpc "Team2_Flag";

	viewpointmap "bat_b02",2, 0, 0, 1, bg_get_data([email protected]_Team1,4);
	viewpointmap "bat_b02",2, 0, 0, 2, bg_get_data([email protected]_Team2,4);

	if( .Team1_Score > .Team2_Score )
		mapannounce "bat_b02","The " + bg_get_data([email protected]_Team1,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data([email protected]_Team1,4);
	else if( .Team1_Score < .Team2_Score )
		mapannounce "bat_b02","The " + bg_get_data([email protected]_Team2,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data([email protected]_Team2,4);
	else
		mapannounce "bat_b02","The battle is over. This is a Tie...!",1,0xA0522D;
	donpcevent "Flavius_CTF::OnMatchEnd";
	end;

OnMatchEnd:
	stopnpctimer;
	disablenpc "Team1_Flag";
	disablenpc "Team2_Flag";
	donpcevent "#guictf_respawn::OnBGStop";
	donpcevent "#croctf_respawn::OnBGStop";
	set [email protected]_Status, 2;
	// =======================================================
	// Team Rewards
	// =======================================================
	if( .Team1_Score > .Team2_Score )
	{
		bg_reward [email protected]_Team1,7227,30 + .Team1_Score,0,0,"BG_CTF",1,3,0;
		bg_reward [email protected]_Team2,7227,10 + .Team2_Score,0,0,"BG_CTF",1,3,2;
	}
	else if( .Team2_Score > .Team1_Score )
	{
		bg_reward [email protected]_Team1,7227,30 + .Team1_Score,0,0,"BG_CTF",1,3,2;
		bg_reward [email protected]_Team2,7227,10 + .Team2_Score,0,0,"BG_CTF",1,3,0;
	}
	else
	{
		bg_reward [email protected]_Team1,7227,10 + .Team1_Score,0,0,"BG_CTF",1,3,1;
		bg_reward [email protected]_Team2,7227,10 + .Team2_Score,0,0,"BG_CTF",1,3,1;
	}
	// =======================================================
	set .Team1_Score, 0;
	set .Team2_Score, 0;
	sleep 5000;
	donpcevent "BG_Queue_Join::OnRotate";
	bg_updatescore "bat_b02",0,0;
	end;
}

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

bat_b02,390,13,5	script	Therapist in battle#ctf1	95,{
	mes "[Therapist in battle]";
	mes "Just close your eyes, and take a deep breathe.";
	mes "You can be free from pain.";
	specialeffect2 312;
	percentheal 100,100;
	repairall;
	close2;
	openstorage;
	end;
}

bat_b02,10,293,5	script	Therapist in battle#ctf2	95,{
	mes "[Therapist in battle]";
	mes "Just close your eyes, and take a deep breathe.";
	mes "You can be free from pain.";
	specialeffect2 312;
	percentheal 100,100;
	repairall;
	close2;
	openstorage;
	end;
}

// Battleground Respawn
// *********************************************************************

bat_b02,390,10,0	script	#guictf_respawn	139,{
	end;

OnBGStart:
	initnpctimer;
	end;

OnBGStop:
	stopnpctimer;
	end;

OnTimer24000:
	misceffect 83;
	end;

OnTimer25000:
	areapercentheal "bat_b02",382,2,397,17,100,100;
	areawarp "bat_b02",382,2,397,17,"bat_b02",311,224;
	initnpctimer;
	end;
}

bat_b02,10,290,0	script	#croctf_respawn	139,{
	end;

OnBGStart:
	initnpctimer;
	end;

OnBGStop:
	stopnpctimer;
	end;

OnTimer24000:
	misceffect 83;
	end;

OnTimer25000:
	areapercentheal "bat_b02",2,282,17,297,100,100;
	areawarp "bat_b02",2,282,17,297,"bat_b02",87,75;
	initnpctimer;
	end;
}

// Flags
// *********************************************************************

bat_b02,304,231,1	duplicate(Base Flag#bg)	Alpha Base#bat23	973
bat_b02,319,231,1	duplicate(Base Flag#bg)	Alpha Base#bat24	973
bat_b02,304,218,1	duplicate(Base Flag#bg)	Alpha Base#bat25	973
bat_b02,319,218,1	duplicate(Base Flag#bg)	Alpha Base#bat26	973
bat_b02,304,231,1	duplicate(Base Flag#bg)	Alpha Base#bat27	973
bat_b02,304,231,1	duplicate(Base Flag#bg)	Alpha Base#bat28	973
bat_b02,335,142,1	duplicate(Base Flag#bg)	Alpha Base#bat29	973
bat_b02,335,157,1	duplicate(Base Flag#bg)	Alpha Base#bat30	973
bat_b02,390,16,1	duplicate(Base Flag#bg)	Alpha Base#bat31	973
bat_b02,292,163,1	duplicate(Base Flag#bg)	Alpha Base#bat32	973
bat_b02,292,136,1	duplicate(Base Flag#bg)	Alpha Base#bat33	973
bat_b02,241,185,1	duplicate(Base Flag#bg)	Alpha Base#bat34	973
bat_b02,247,179,1	duplicate(Base Flag#bg)	Alpha Base#bat35	973

bat_b02,96,81,1	duplicate(Base Flag#bg)	Omega Base#bat22	974
bat_b02,96,68,1	duplicate(Base Flag#bg)	Omega Base#bat23	974
bat_b02,79,81,1	duplicate(Base Flag#bg)	Omega Base#bat24	974
bat_b02,79,68,1	duplicate(Base Flag#bg)	Omega Base#bat25	974
bat_b02,96,81,1	duplicate(Base Flag#bg)	Omega Base#bat26	974
bat_b02,96,81,1	duplicate(Base Flag#bg)	Omega Base#bat27	974
bat_b02,59,164,1	duplicate(Base Flag#bg)	Omega Base#bat28	974
bat_b02,59,137,1	duplicate(Base Flag#bg)	Omega Base#bat29	974
bat_b02,10,296,1	duplicate(Base Flag#bg)	Omega Base#bat30	974
bat_b02,110,162,1	duplicate(Base Flag#bg)	Omega Base#bat31	974
bat_b02,110,137,1	duplicate(Base Flag#bg)	Omega Base#bat32	974
bat_b02,152,120,1	duplicate(Base Flag#bg)	Omega Base#bat33	974
bat_b02,158,114,1	duplicate(Base Flag#bg)	Omega Base#bat34	974

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

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

 

Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

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

Important Information

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