Jump to content
  • 0

Question

Hi guys! Just wondering how can i remove the timer and make it usable all the time? Thanks in advance! :)

 

// =============================
/* Free for All: http://herc.ws/board/topic/13863-rlast-man-standing-pvp-with-prize/
	----------------------------
	by: Legend
	compatible w/: Hercules
	----------------------------
	special thanks to:
	* Annieruru
	----------------------------
	Description:
	* Free for all event like last man standing
	* Can be activated through command "@ffa"
	* Also can be activated every hour
	* You can set your own number of winners
	* Configurable settings (npc name, maps, minimum level to participate,
	  maximum recognized winners, rewards, restricted jobs.)
	* Significant mapflags were set
*/
// =============================

prontera,156,157,4	script	Request#2	4_CAT_DOWN,{
	doevent "Request#2::OnMenu";
	end;
	
OnActivate: // activated by the GM
	if (agitcheck()) || (agitcheck2()){
		mes .npc$;
		mes "WoE is in progress.";
		close;
	}
	if (.checkffa > 0) {
		mes .npc$;
		mes "Event is in progress.";
		close;
	}
OnMinute00: // activated every hour
	if (agitcheck()) || (agitcheck2()) end;
	if (.checkffa > 0) end;
	.checkffa = 1;
	announce .npc$+": Registration for the event is now open for 3 minutes!",bc_all;
	initnpctimer;
	end;
		OnTimer150000:
			announce .npc$+": 30 seconds left before the registration will be closed.",bc_all;
			end;
			
		OnTimer180000:
			.checkffa = 2;
			if ( .psize <= .maxwin) {
				announce .npc$+": The Event has been cancelled! Not enough participants.",bc_all;
				callsub Reset_evt_stats;
				end;
			}
			announce .npc$+": Registration is now closed!",bc_all;
			end;
			
		OnTimer185000:
			mapannounce .pvpmap$,.npc$+": The Event will occur in a few moments!",bc_blue;
			end;
			
		OnTimer187000:
			mapannounce .pvpmap$,.npc$+": Get ready in 3!",bc_blue;
			end;
			
		OnTimer188000:
			mapannounce .pvpmap$,.npc$+": 2!",bc_blue;
			end;
			
		OnTimer189000:
			mapannounce .pvpmap$,.npc$+": 1!",bc_blue;
			end;
			
		OnTimer190000:
			stopnpctimer;
			mapannounce .pvpmap$,.npc$+": Good luck everyone!",bc_blue;
			setmapflag .pvpmap$, mf_pvp_noguild;
			removemapflag .pvpmap$, mf_noskill;
			pvpon .pvpmap$;
			end;
	
OnMenu:
	mes .npc$;
	mes "Good day "+strcharinfo(0)+"!";
	mes "How may I help you?";
	next;
	switch(select("Information:Join")){
		case 1:
			mes .npc$;
			mes "Minimum Base Level: ^FF0000"+.minblvl+"^000000";
			mes "Restricted Jobs:";
			for( .@z = 0; .@z < .rjsize; .@z++ ) {
				mes ( .@z +1 ) +". ^FF0000"+jobname (.resjob[.@z])+"^000000";
			}
			close;
		case 2:
			if (!.checkffa) {
				mes .npc$;
				mes "Event isn't activated, come back later.";
				close;
			}
			if (.checkffa == 2) {
				mes .npc$;
				mes "Event is in progress, come back later.";
				close;
			}
			if (BaseLevel < .minblvl) {
				mes .npc$;
				mes "You need to";
				mes "have ^FF0000"+.minblvl+"^000000 Base level or more than";
				mes "before you can participate.";
				close;
			}
			for( .@z = 0; .@z < .rjsize; .@z++ ) {
				if (Class == .resjob[.@z] ){
					mes .npc$;
					mes "Your job is restricted to join this event.";
					close;
				}
			}
			sc_end SC_ALL;
			percentheal 100,100;
			warp .pvpmap$,0,0;
			.regaid[.psize] = getcharid(3);
			.psize++;
			end;
	}
	
OnPCDieEvent:
OnPCLogoutEvent:
	if (strcharinfo(3) != .pvpmap$) end;
	while (.regaid != getcharid(3) && .@i < .psize) .@i++;
	deletearray .regaid[.@i],1;
	.psize--;
	if (.psize > .maxwin) end;
	if (.checkffa > 0) {
		announce .npc$+": The Event is now over! We already have our winners!",bc_all;
			for (.@i = 0; .@i < .psize; ++.@i){
				getitem .ritem,.rcount,.regaid[.@i];
			}
	}
	callsub Reset_evt_stats;
	end;
	
Reset_evt_stats:
	removemapflag .pvpmap$, mf_pvp_noguild;
	setmapflag .pvpmap$, mf_noskill;
	pvpoff .pvpmap$;
	.checkffa = 0;
	deletearray .regaid;
	.psize = 0;
	mapwarp .pvpmap$,.extmap$,.extx,.exty,0;
	end;
	
OnInit:
	bindatcmd "ffa",strnpcinfo(3)+"::OnActivate",99,99;
	
// CONFIGURATION
	.npc$ = "[ Free for All ]"; // NPC name
	.pvpmap$ = "pvp_n_1-5"; // Set your FFA Map
	.minblvl = 99; // Set minimum base level who can enter
	.maxwin = 2; // Set the maximum winners
	.ritem = 7227; // Set the item id of the reward
		.rcount = 5; // Set reward amount
	.extmap$ = "prontera"; // Set exit map
		.extx = 150; // Exit map "x" coordinate
		.exty = 150; // Exit map "y" coordinate
	setarray .resjob[0], 0,4001; // This list serves as the restricted jobs
		.rjsize = getarraysize (.resjob); // DO NOT TOUCH THIS
		
// MAPFLAGS
	setmapflag .pvpmap$, mf_noskill;
	pvpoff .pvpmap$;
//---
	setmapflag .pvpmap$, mf_nowarpto;
	setmapflag .pvpmap$, mf_nocommand;
	setmapflag .pvpmap$, mf_nowarp;
	setmapflag .pvpmap$, mf_nosave;
	setmapflag .pvpmap$, mf_noteleport;
	setmapflag .pvpmap$, mf_nomemo;
	setmapflag .pvpmap$, mf_novending;
	setmapflag .pvpmap$, mf_nobranch;
	end;
}

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

What do you mean with "make it usable all the time"?

 

Do you want to enable it all time instead every new hour?

Sorry I'm confuse :P

Share this post


Link to post
Share on other sites
  • 0

What do you mean with "make it usable all the time"?

 

Do you want to enable it all time instead every new hour?

 

Sorry I'm confuse :P

 

Yes sir. i want to enable it all the time :D

Share this post


Link to post
Share on other sites
  • 0

Here you are. Haven't been able to test it, as I'm not home, but it should work.

 

// =============================
/* Free for All: http://herc.ws/board/topic/13863-rlast-man-standing-pvp-with-prize/
	----------------------------
	by: Legend
	compatible w/: Hercules
	----------------------------
	special thanks to:
	* Annieruru
	----------------------------
	Description:
	* Free for all event like last man standing
	* Can be activated through command "@ffa"
	* Also can be activated every hour
	* You can set your own number of winners
	* Configurable settings (npc name, maps, minimum level to participate,
	  maximum recognized winners, rewards, restricted jobs.)
	* Significant mapflags were set
*/
// =============================

prontera,156,157,4	script	Request#2	4_CAT_DOWN,{
	doevent "Request#2::OnMenu";
	end;
	
OnActivate: // activated by the GM
	if (agitcheck()) || (agitcheck2()){
		mes .npc$;
		mes "WoE is in progress.";
		close;
	}
	if (.checkffa > 0) {
		mes .npc$;
		mes "Event is in progress.";
		close;
	}

OnTimer150000:
	announce .npc$+": 30 seconds left before the registration will be closed.",bc_all;
	end;
	
OnTimer180000:
	.checkffa = 2;
	if ( .psize <= .maxwin) {
		announce .npc$+": The Event has been cancelled! Not enough participants.",bc_all;
		callsub Reset_evt_stats;
		end;
	}
	announce .npc$+": Registration is now closed!",bc_all;
	end;
	
OnTimer185000:
	mapannounce .pvpmap$,.npc$+": The Event will occur in a few moments!",bc_blue;
	end;
	
OnTimer187000:
	mapannounce .pvpmap$,.npc$+": Get ready in 3!",bc_blue;
	end;
	
OnTimer188000:
	mapannounce .pvpmap$,.npc$+": 2!",bc_blue;
	end;
	
OnTimer189000:
	mapannounce .pvpmap$,.npc$+": 1!",bc_blue;
	end;
	
OnTimer190000:
	stopnpctimer;
	mapannounce .pvpmap$,.npc$+": Good luck everyone!",bc_blue;
	setmapflag .pvpmap$, mf_pvp_noguild;
	removemapflag .pvpmap$, mf_noskill;
	pvpon .pvpmap$;
	end;
	
OnMenu:
	mes .npc$;
	mes "Good day "+strcharinfo(0)+"!";
	mes "How may I help you?";
	next;
	switch(select("Information:Join")){
		case 1:
			mes .npc$;
			mes "Minimum Base Level: ^FF0000"+.minblvl+"^000000";
			mes "Restricted Jobs:";
			for( .@z = 0; .@z < .rjsize; .@z++ ) {
				mes ( .@z +1 ) +". ^FF0000"+jobname (.resjob[.@z])+"^000000";
			}
			close;
		case 2:
			if (.checkffa == 2) {
				mes .npc$;
				mes "Event is in progress, come back later.";
				close;
			}
			if (BaseLevel < .minblvl) {
				mes .npc$;
				mes "You need to";
				mes "have ^FF0000"+.minblvl+"^000000 Base level or more than";
				mes "before you can participate.";
				close;
			}
			for( .@z = 0; .@z < .rjsize; .@z++ ) {
				if (Class == .resjob[.@z] ){
					mes .npc$;
					mes "Your job is restricted to join this event.";
					close;
				}
			}
			
			if(.checkffa == 0)
			{
				if (agitcheck()) || (agitcheck2()) {
					mes .npc$;
					mes "WoE is in progress, come back later.";
					close;
				}
				.checkffa = 1;
				announce .npc$+": Registration for the event is now open for 3 minutes!",bc_all;
				initnpctimer;
			}
			
			sc_end SC_ALL;
			percentheal 100,100;
			warp .pvpmap$,0,0;
			.regaid[.psize] = getcharid(3);
			.psize++;
			end;
	}
	
OnPCDieEvent:
OnPCLogoutEvent:
	if (strcharinfo(3) != .pvpmap$) end;
	while (.regaid != getcharid(3) && .@i < .psize) .@i++;
	deletearray .regaid[.@i],1;
	.psize--;
	if (.psize > .maxwin) end;
	if (.checkffa > 0) {
		announce .npc$+": The Event is now over! We already have our winners!",bc_all;
			for (.@i = 0; .@i < .psize; ++.@i){
				getitem .ritem,.rcount,.regaid[.@i];
			}
	}
	callsub Reset_evt_stats;
	end;
	
Reset_evt_stats:
	removemapflag .pvpmap$, mf_pvp_noguild;
	setmapflag .pvpmap$, mf_noskill;
	pvpoff .pvpmap$;
	.checkffa = 0;
	deletearray .regaid;
	.psize = 0;
	mapwarp .pvpmap$,.extmap$,.extx,.exty,0;
	end;
	
OnInit:
	bindatcmd "ffa",strnpcinfo(3)+"::OnActivate",99,99;
	
// CONFIGURATION
	.npc$ = "[ Free for All ]"; // NPC name
	.pvpmap$ = "pvp_n_1-5"; // Set your FFA Map
	.minblvl = 99; // Set minimum base level who can enter
	.maxwin = 2; // Set the maximum winners
	.ritem = 7227; // Set the item id of the reward
		.rcount = 5; // Set reward amount
	.extmap$ = "prontera"; // Set exit map
		.extx = 150; // Exit map "x" coordinate
		.exty = 150; // Exit map "y" coordinate
	setarray .resjob[0], 0,4001; // This list serves as the restricted jobs
		.rjsize = getarraysize (.resjob); // DO NOT TOUCH THIS
		
// MAPFLAGS
	setmapflag .pvpmap$, mf_noskill;
	pvpoff .pvpmap$;
//---
	setmapflag .pvpmap$, mf_nowarpto;
	setmapflag .pvpmap$, mf_nocommand;
	setmapflag .pvpmap$, mf_nowarp;
	setmapflag .pvpmap$, mf_nosave;
	setmapflag .pvpmap$, mf_noteleport;
	setmapflag .pvpmap$, mf_nomemo;
	setmapflag .pvpmap$, mf_novending;
	setmapflag .pvpmap$, mf_nobranch;
	end;
}

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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