Jump to content

Need Help please....


Recommended Posts


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  27
  • Reputation:   0
  • Joined:  06/06/12
  • Last Seen:  

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( $@BG_Status != 1 || getvariableofnpc(.BG_Arena$,"BG_Queue_Join") != "Flavius_CTF" || HP < 1 )
		end;

	if( getcharid(4) == $@BG_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($@BG_Team1,4);
		bg_rankpoints "ctf_taken",1;
		disablenpc "Team1_Flag";
		addtimer 2000, "Flavius_CTF::OnAlphaFlash";
		stopnpctimer;
	}
	else if( getcharid(4) == $@BG_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($@BG_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($@BG_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 .@m$, .@x, .@y, 1;
		viewpointmap "bat_b02",1, .@x, .@y, 1, bg_get_data($@BG_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( $@BG_Status != 1 || getvariableofnpc(.BG_Arena$,"BG_Queue_Join") != "Flavius_CTF" || HP < 1 )
		end;

	if( getcharid(4) == $@BG_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($@BG_Team2,4);
		bg_rankpoints "ctf_taken",1;
		disablenpc "Team2_Flag";
		addtimer 2000, "Flavius_CTF::OnOmegaFlash";
		stopnpctimer;
	}
	else if( getcharid(4) == $@BG_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($@BG_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($@BG_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 .@m$, .@x, .@y, 1;
		viewpointmap "bat_b02",1, .@x, .@y, 2, bg_get_data($@BG_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) && $@BG_Status == 1 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
	{
		getmapxy .@m$, .@x, .@y, 0;
		viewpointmap "bat_b02",1, .@x, .@y, 1, bg_get_data($@BG_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) && $@BG_Status == 1 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
	{
		getmapxy .@m$, .@x, .@y, 0;
		viewpointmap "bat_b02",1, .@x, .@y, 2, bg_get_data($@BG_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( $@BG_Status != 0 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
		donpcevent "BG_Queue_Join::OnJoinEvent";
OnTeam1Die:
	if( $@BG_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 .@m$, .@x, .@y, 0;
		movenpc "Team2_Flag", .@x, .@y;
		mapannounce "bat_b02","Omega Flag Droped by [ " + strcharinfo(0) + " ]",1,bg_get_data($@BG_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( $@BG_Status != 0 && getvariableofnpc(.BG_Arena$,"BG_Queue_Join") == "Flavius_CTF" )
		donpcevent "BG_Queue_Join::OnJoinEvent";
OnTeam2Die:
	if( $@BG_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 .@m$, .@x, .@y, 0;
		movenpc "Team1_Flag", .@x, .@y;
		mapannounce "bat_b02","Alpha Flag Droped by [ " + strcharinfo(0) + " ]",1,bg_get_data($@BG_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 $@BG_Team1,bg_team_create("bat_b02",390,10,0,"Flavius_CTF::OnTeam1Quit","Flavius_CTF::OnTeam1Die");
	set $@BG_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 $@BG_Team1,"bat_b02",311,224;
	bg_warp $@BG_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( $@BG_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($@BG_Team1,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data($@BG_Team1,4);
		donpcevent "Flavius_CTF::OnMatchEnd";
	}
	else if( .Team2_Score > 2 )
	{ // Team 2 Won
		mapannounce "bat_b02","The " + bg_get_data($@BG_Team2,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data($@BG_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($@BG_Team1,4);
	viewpointmap "bat_b02",2, 0, 0, 2, bg_get_data($@BG_Team2,4);

	if( .Team1_Score > .Team2_Score )
		mapannounce "bat_b02","The " + bg_get_data($@BG_Team1,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data($@BG_Team1,4);
	else if( .Team1_Score < .Team2_Score )
		mapannounce "bat_b02","The " + bg_get_data($@BG_Team2,2) + " army has won the Battle of Flavius CTF!",1,bg_get_data($@BG_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 $@BG_Status, 2;
	// =======================================================
	// Team Rewards
	// =======================================================
	if( .Team1_Score > .Team2_Score )
	{
		bg_reward $@BG_Team1,7227,30 + .Team1_Score,0,0,"BG_CTF",1,3,0;
		bg_reward $@BG_Team2,7227,10 + .Team2_Score,0,0,"BG_CTF",1,3,2;
	}
	else if( .Team2_Score > .Team1_Score )
	{
		bg_reward $@BG_Team1,7227,30 + .Team1_Score,0,0,"BG_CTF",1,3,2;
		bg_reward $@BG_Team2,7227,10 + .Team2_Score,0,0,"BG_CTF",1,3,0;
	}
	else
	{
		bg_reward $@BG_Team1,7227,10 + .Team1_Score,0,0,"BG_CTF",1,3,1;
		bg_reward $@BG_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...