Jump to content
  • 0

Fabre Punch Event


vgrebirth

Question


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  28
  • Reputation:   0
  • Joined:  10/13/12
  • Last Seen:  

can someone make me a script of this event? its similar to poring punch event but theres a little changes. heres the details.

1. NPC located at prontera,129,204 and the sprite ID is 707.

2. Automated every 30 mins of an hour(ex. 1:30, 2:30, 3:30 etc.), before it will start theres a 5 mins waiting time.

3. 5 seconds countdown before it will start the event. the announce only in the map of the said event.

4. Any GM level can activate the said event.

5. When clicking the NPC it will appear the winners of the said event (1st, 2nd and 3rd placer) then NEXT botton is the choices of "Join Event Now!", "Get Reward", and "Nevermind"

6. Players who will join the event will warped into this coordinates "pvp_n_1-2" at random.

7. Reward for the 1st, 2nd and 3rd placer is 1 TCG only and if they click the Get Reward choices they will get automatically their prize.

8. Fabre = 1 point, pupa = 10 points, poring = -20 points. the names of those monsters should be their points.

9. For viewing the points of the participants the NPC located at pvp_n_1-2 100,100

10. By clicking the NPC "My Current Score" (shows your score while your joining the said event) • "Top List Puncher" (shows all the player list who joined the said event)• "Nevermind"

11. The event last for 15 mins. so if the event starts, every 5 mins left should broadcast.

12. When the event is over it should announce "The Fabre Punch is over" and it will announce the name of the 1st placer only.

13. The only can get the reward are 1st, 2nd and 3rd placer that i indicate in #7.

14. Spawn of 1 point(fabre) should be 60 every 10 seconds

15. Spawn of 10 points(pupa) depends on the population of the players who joined the event.

16. Spawn of -20 points{poring) should be 50 every 5mins.

Things should be disabled when joining the fabre punch event(to prevent abuse of the players)

1. disable the shield and weapon in left hand.

2. disable the baphomet card.

3. disable the auto system attack when entering the event.

4. disable the speed potion.

5. disable the drops of the monsters.

6. disable the warp, teleport and memo.

7. disable the use of bloody branch and dead branch.

I hope someone will get interested in this request of mine.

help!

Edited by vgrebirth
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 1

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2350
  • Joined:  10/28/11
  • Last Seen:  

hmm , I wonder why I overlook this topic o-o

Okay, to support more people to create more topic like this .. I will complete this request.

https://pastebin.com/VNavCfWt

 

 

  • Upvote 2
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

Spoiler

poring_w02,129,101,5	script	Fabre Punch Event	952,{

	set @npc$, "[ Fabre Punch Event ]";
	if (getgmlevel() >= 40) goto ppe_Admin;
	mes @npc$;
	mes "Hello "+strcharinfo(0)+", this NPC is for Event GM's use only.";
	close;
	
ppe_Admin:
	mes @npc$;
	mes "Hello "+strcharinfo(0)+", what would you like to do?";
	menu "Start Fabre Punch Event",ppe_start,"Nothing",endppe;
	ppe_start:
		if ($@PoringEventChecker == 1) goto ppe_started;
		mes " ";
		mes "Ok, starting Fabre Punch Event.";
		close2;
		donpcevent "Fabre Puncher::OnStartPPE";
		end;

	endppe:
		next;
		mes @npc$;
		mes "Ok, nice seeing you.";
		close;

ppe_started:
	mes @npc$;
	mes "The event is still running";
	close;



}



-	script	PPE_inital	-1,{
	OnInit:
	set $@PoringEventChecker, 0;
	disablenpc "fabre";
	end;
}

jupe_ele,35,59,6	script	Fabre Puncher	952,{

	mes "[ Fabre Punch Event ]";
	mes "Hello, I'm the Fabre Punch Event Manager. What do you want to do?";
	mes " ";
	menu "Join Event Now",PPE_Join,"Host this Event",PPE_Host,"How does this work?",PPE_HowTo,"Nevermind",PPE_nvm;

	PPE_HowTo:
		next;
		mes "[ Fabre Punch Event ]";
		mes "This is an event where everyone can join in. All you have to do is to punch the right poring and to avoid the wrong ones. Each poring has its corresponding points. You only have 5 minutes to earn points as much as you can. The Highest Scorer at the end of this event shall win.";
		mes " ";
		mes "Reminder: No weapons, cart,homuns and pets is allowed in this event.";
		next;
		mes "[ Fabre Punch Event ]";
		mes "Monster values:";
		mes "Fabre: ^FF0000+1^000000  points.";
		mes "Pupas: ^FF0000+10^000000 points.";
		close;

	PPE_Host:
		next;
		if ( $@PoringEventChecker != 0 ){
			mes "[ Fabre Punch Event ]";
			mes "Fabre Punch Event is still on-going.";
			mes " ";
			close;
		}else{
			mes "[ Fabre Punch Event ]";
			mes "You need to pay ^FF00001,000,000,000z^000000 to host this event. Would you like to pay to host this event?";
			next;
			menu "Yes",PPE_HostYes,"No",-;
			mes "[ Fabre Punch Event ]";
			mes "Okay. Maybe next time.";
			mes " ";
			close;
				PPE_HostYes:
					if ( Zeny >= 1000000000 ){
						mes "[ Fabre Punch Event ]";
						mes "Thanks "+strcharinfo(0)+", for hosting this event. It will start shortly.";
						mes " ";
						set Zeny, Zeny-1000000000;
						close2;
						announce ""+strcharinfo(0)+" paid to host Fabre Punch Event!",0;
						killmonsterall "pvp_n_1-2";
						sleep2 10000;
						donpcevent "Fabre Puncher::OnStartPPE";
						end;
					}else{
						mes "[ Fabre Punch Event ]";
						mes "Sorry "+strcharinfo(0)+", you dont have enough zenies to host this event.";
						mes " ";
						close;
					}end;
		}end;

	PPE_Join:
		if (getgmlevel() > 0) {
		next;
			mes "[ Fabre Punch Event ]";
		mes "Sorry, but GM's can't join this event.";
		close;
		}
		if ( $@PoringEventChecker != 0 ){
			//if (gethominfo(2) != "null" || getpetinfo(2) != "null" || checkcart() || checkfalcon() || checkmount())	{
			//if (gethominfo(2) != "null" || getpetinfo(2) != "null" || checkcart() || checkfalcon())	{
			if (gethominfo(2) != "null" || getpetinfo(2) != "null" || checkcart() || checkfalcon() || checkriding())
			{
				mes "[ Fabre Punch Event ]";
				mes "Sorry "+strcharinfo(0)+" but you can't join this event!"	;
				mes "You have Mount, or Homonculus";
				mes "Remove first the following";
				mes "Peco Peco, Cart, Falcon, Pets and Homonculus";
				close;
			}
			else{
			mes "Good luck "+strcharinfo(0)+".";
			mes " ";
			close2;
			set @PoringPoints,0;
			warp "pvp_n_1-2",0,0;
			end;
}
		
}else{
			mes "Sorry. No Fabre Punch Event is held at the moment.";
			mes " ";
			close;
		}end;

	PPE_nvm:
		mes "Okay. Maybe next time.";
		close;

OnPoringKill:
	set $@mobppe,-1;
	if (getequipweaponlv(4)>0) {
			sleep2 1;
			dispbottom "You have to punch the monster without any weapon.";
			warp "prontera",150,164;
			end;
		}
	if (getequipweaponlv(3)>0) {
			sleep2 1;
			dispbottom "You have to punch the monster without any weapon.";
			warp "prontera",150,164;
			end;
		}
		set @PoringPoints,@PoringPoints+1;
			if (@PoringPoints == $@HighestPoringPoints) {
				set .@size,getarraysize($@HighestPoringPointsName$);
				for (set .@i,0;.@i<.@size;set .@i,.@i+1) {
					if ($@HighestPoringPointsName$[.@i] == strcharinfo(0)) {
						end;
					}
				}
				set $@ppewinners,$@ppewinners+1;
				set $@HighestPoringPointsName$[$@ppewinners],strcharinfo(0);
				end;
			}
			if (@PoringPoints > $@HighestPoringPoints) {
				deletearray $@HighestPoringPointsName$[0],getarraysize($@HighestPoringPointsName$);
				set $@ppewinners,0;
				set $@HighestPoringPointsName$[$@ppewinners],strcharinfo(0);
				set $@HighestPoringPoints,@PoringPoints;
			}	
			dispbottom "You have "+@PoringPoints+" "+(@PoringPoints > 1 ? "points":"point")+"";
			end;

OnPoringKill2:
	set $@mobppe,-1;
	if (getequipweaponlv(4)>0) {
			sleep2 1;
			dispbottom "You have to punch the monster without any weapon.";
			warp "poring_w02",98,70;
			end;
		}
	if (getequipweaponlv(3)>0) {
			sleep2 1;
			dispbottom "You have to punch the monster without any weapon.";
			warp "poring_w02",98,70;
			end;
		}
		set @PoringPoints,@PoringPoints+10;
			if (@PoringPoints == $@HighestPoringPoints) {
				set .@size,getarraysize($@HighestPoringPointsName$);
				for (set .@i,0;.@i<.@size;set .@i,.@i+1) {
					if ($@HighestPoringPointsName$[.@i] == strcharinfo(0)) {
						end;
					}
				}
				set $@ppewinners,$@ppewinners+1;
				set $@HighestPoringPointsName$[$@ppewinners],strcharinfo(0);
				dispbottom "You have "+@PoringPoints+" "+(@PoringPoints > 1 ? "points":"point")+"";
				end;
			}
			if (@PoringPoints > $@HighestPoringPoints) {
				deletearray $@HighestPoringPointsName$[0],getarraysize($@HighestPoringPointsName$);
				set $@HighestPoringPointsName$[0],strcharinfo(0);
				set $@HighestPoringPoints,@PoringPoints;
			}
			dispbottom "You have "+@PoringPoints+" "+(@PoringPoints > 1 ? "points":"point")+"";
			end;


OnClock0230:
OnClock0530:
OnClock0830:
OnClock1130:
OnClock1430:
OnClock1735:
OnClock2030:
OnClock2330:
	if ($@woe_ongoing == 1) {
		end;
		}
    	if ( $@PoringEventChecker == 0 ) {
        	set $@PoringEventChecker, 1;
        	donpcevent "Fabre Puncher::OnStartPPE";
        	end;
    		}
	end;

OnStartPPE:
        set $@PoringEventChecker, 1;
        initnpctimer;
	waitingroom "Event: On",0;
	enablenpc "fabre";
	announce "Fabre Punch Event: Starting in 1 minute.",0;
	announce "Fabre Punch Note: You have to punch the monster without any weapon.",0;
	deletearray $@HighestPoringPointsName$[0],getarraysize($@HighestPoringPointsName$);
	set $@ppewinners,0;
	set $@HighestPoringPointsName$," ";
	set $@HighestPoringPoints,0;
	end;

OnTimer30000:
	mapannounce "pvp_n_1-2","Note: If you go out of this map your points will reset to 0.",0;
	end;

OnTimer55000:
	mapannounce "pvp_n_1-2","Fabre Punch Event is starting in 5.",0;
	end;

OnTimer56000:
	mapannounce "pvp_n_1-2","Fabre Punch Event is starting in 4.",0;
	end;

OnTimer57000:
	mapannounce "pvp_n_1-2","Fabre Punch Event is starting in 3.",0;
	end;

OnTimer58000:
	mapannounce "pvp_n_1-2","Fabre Punch Event is starting in 2.",0;
	end;

OnTimer59000:
	mapannounce "pvp_n_1-2","Fabre Punch Event is starting in 1.",0;
	end;

OnTimer60000:
	set $@mobppe,315;
	announce "The Fabre Punch event has started.",0;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer90000:
	set $@mobppe,315;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer120000:
	set $@mobppe,315;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer150000:
	set $@mobppe,315;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer180000:
	set $@mobppe,315;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer210000:
	set $@mobppe,315;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer240000:
	mapannounce "pvp_n_1-2","Fabre Punch Event: 2 minutes left.",0;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer270000:
	mapannounce "pvp_n_1-2","Fabre Punch Event: 1 minute left.",0;
	monster "pvp_n_1-2",0,0,"+1 Fabre",1007,60,"Fabre Puncher::OnPoringKill";
	monster "pvp_n_1-2",0,0,"+10 Pupa",1008,10,"Fabre Puncher::OnPoringKill2";
	end;

OnTimer310000:
	delwaitingroom "Fabre Puncher";
	stopnpctimer;
	killmonsterall "pvp_n_1-2";
	if ( getmapusers("pvp_n_1-2") < 1 )	{
	announce "There are no players inside the event map...so it will auto terminate.",0;
	mapwarp "pvp_n_1-2","prontera",150,164;
	disablenpc "fabre";
	set $@PoringEventChecker, 0;
	end;
	}
	if ($@mobppe == 315) {
	mapannounce "pvp_n_1-2","No one wins! You have to punch and kill at least one poring to win this event.",0;
	killmonsterall "pvp_n_1-2";
	sleep2 3000;
	mapannounce "pvp_n_1-2","You will be warp at Main Town in a short while.",16;
	sleep2 5000;
	mapwarp "pvp_n_1-2","prontera",150,164;
	set $@PoringEventChecker, 0;
	end;
	}
	if ($@HighestPoringPointsName$ == " ") || ($@HighestPoringPoints == 0) {
	mapannounce "pvp_n_1-2","No one wins! You have to punch and kill at least one poring to win this event.",0;
	killmonsterall "pvp_n_1-2";
	sleep2 3000;
	mapannounce "pvp_n_1-2","You will be warp at Main Town in a short while.",16;
	sleep2 5000;
	mapwarp "pvp_n_1-2","prontera",150,164;
	set $@PoringEventChecker, 0;
	end;
	}
	if ($@ppewinners > 1) {
	set .@size,getarraysize($@HighestPoringPointsName$);
	for (set .@i,0;.@i < .@size;set .@i,.@i+1) {
        announce "Fabre Punch Event has ended and the event winner is \""+$@HighestPoringPointsName$[.@i]+"\" with "+$@HighestPoringPoints+" "+($@HighestPoringPoints > 1 ? "points":"point")+"",0;
        getitem 25468,1,getcharid(3,$@HighestPoringPointsName$[.@i]);
	sleep2 1;
	}
		sleep2 5000;
		mapannounce "pvp_n_1-2","You will be warp at Main Town in a short while.",16;
		sleep2 5000;
		mapwarp "pvp_n_1-2","prontera",150,164;
		set $@PoringEventChecker,0;
		end;
	}
	if ($@ppewinners == 1) {
	set .@size,getarraysize($@HighestPoringPointsName$);
	for (set .@i,0;.@i < .@size;set .@i,.@i+1) {
        getitem 25468,1,getcharid(3,$@HighestPoringPointsName$[.@i]);
        announce "Fabre Punch Event has ended and the event winner is \""+$@HighestPoringPointsName$[.@i]+"\" with "+$@HighestPoringPoints+" "+($@HighestPoringPoints > 1 ? "points":"point")+"",0;
	sleep2 1;
	}
	sleep2 5000;
	mapannounce "pvp_n_1-2","You will be warp at Main Town in a short while.",16;
	sleep2 5000;
	mapwarp "pvp_n_1-2","prontera",150,164;
	set $@PoringEventChecker,0;
	end;
	}
	set .@size,getarraysize($@HighestPoringPointsName$);
	for (set .@i,0;.@i < .@size;set .@i,.@i+1) {
        announce "Fabre Punch Event has ended and the event winner is \""+$@HighestPoringPointsName$[.@i]+"\" with "+$@HighestPoringPoints+" "+($@HighestPoringPoints > 1 ? "points":"point")+"",0;
        getitem 25468,1,getcharid(3,$@HighestPoringPointsName$[.@i]);
	sleep2 1;
	}		
		sleep2 5000;
		mapannounce "pvp_n_1-2","You will be warp at Main Town in a short while.",16;
		sleep2 5000;
		mapwarp "pvp_n_1-2","prontera",150,164;
		set $@PoringEventChecker,0;
		disablenpc "fabre";
		end;

}

//--------------------------------------------------
	
prontera,155,179,0	warp	fabre	2,2,pvp_n_1-2,100,101	
	
//--------------------------------------------------


// MAPFLAGS
pvp_n_1-2	mapflag	nobranch
pvp_n_1-2	mapflag	noexp
pvp_n_1-2	mapflag	noskill
pvp_n_1-2	mapflag	nomemo
pvp_n_1-2	mapflag	nopenalty
pvp_n_1-2	mapflag	pvp	off
pvp_n_1-2	mapflag	nosave	SavePoint
pvp_n_1-2	mapflag	noskill
pvp_n_1-2	mapflag	noteleport
pvp_n_1-2	mapflag	nowarp
pvp_n_1-2	mapflag	nowarpto
pvp_n_1-2	mapflag	notrade
pvp_n_1-2	mapflag	noloot
pvp_n_1-2	mapflag	nodrop

 

Missing Part
 

5. When clicking the NPC it will appear the winners of the said event (1st, 2nd and 3rd placer) then NEXT botton is the choices of "Join Event Now!", "Get Reward", and "Nevermind"

7. Reward for the 1st, 2nd and 3rd placer is 1 TCG only and if they click the Get Reward choices they will get automatically their prize.

poring = -20 points. the names of those monsters should be their points.

10. By clicking the NPC "My Current Score" (shows your score while your joining the said event) • "Top List Puncher" (shows all the player list who joined the said event)• "Nevermind"

13. The only can get the reward are 1st, 2nd and 3rd placer that i indicate in #7.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

On 12/23/2016 at 3:59 PM, Emistry said:

hmm , I wonder why I overlook this topic o-o

Okay, to support more people to create more topic like this .. I will complete this request.

https://pastebin.com/VNavCfWt

 

 

"Reminder: No weapons, cart,homuns and pets is allowed in this event.";

can you remove the part of getinventory list? 

				getinventorylist;
				if ( @inventorylist_count > 0 ) {
					mes "Please remove all your inventory items.";
				}
				else if ( checkcart() ) {
					mes "Please remove your cart as well.";
				}

and  if the players using weapons like Level 3 or 4  auto warp should be like this ?

 

	OnKill_1:
		callsub( L_Point,1 ); // Fabre = 1 Point
		end;
	if (getequipweaponlv(4)>0) {
		sleep2 1;
		dispbottom "You have to punch the monster without any weapon.";
		warp "prontera",150,164;
		end;
		}
	if (getequipweaponlv(3)>0) {
		sleep2 1;
		dispbottom "You have to punch the monster without any weapon.";
		warp "prontera",150,164;
		end;
		}
	OnKill_2:
		callsub( L_Point,10 ); // Pupa = 10 Point
		end;
	if (getequipweaponlv(4)>0) {
		sleep2 1;
		dispbottom "You have to punch the monster without any weapon.";
		warp "prontera",150,164;
		end;
		}
	if (getequipweaponlv(3)>0) {
		sleep2 1;
		dispbottom "You have to punch the monster without any weapon.";
		warp "prontera",150,164;
		end;
		}
	OnKill_3:
		callsub( L_Point,-20 ); // Poring = -20 Point
		end;	
	if (getequipweaponlv(4)>0) {
		sleep2 1;
		dispbottom "You have to punch the monster without any weapon.";
		warp "prontera",150,164;
		end;
		}
	if (getequipweaponlv(3)>0) {
		sleep2 1;
		dispbottom "You have to punch the monster without any weapon.";
		warp "prontera",150,164;
		end;
		}
	L_Point:
		if ( .status == 2 ) {
			.@value = getarg( 0,0 );
			
			query_sql( "INSERT INTO `e_fabre_punch_rank` (`cid`, `name`, `point`) VALUES ( "+getcharid(0)+", '"+escape_sql( strcharinfo(0) )+"', "+.@value+" ) ON DUPLICATE KEY UPDATE `point` = `point` + "+.@value );
			dispbottom "<Fabre Punch Event> Gained " + .@value + " Point.";
		}
		else if ( .status == 0 ) {
			dispbottom "Event not yet start, please wait.";
		}
		return;
}

 

Link to comment
Share on other sites

  • -1

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  28
  • Reputation:   0
  • Joined:  10/13/12
  • Last Seen:  

bump

Link to comment
Share on other sites

  • -1

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  28
  • Reputation:   0
  • Joined:  10/13/12
  • Last Seen:  

@Bringer Thank you so much! and i hope @Emistry can see this and fill the missing part. :D

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  98
  • Topics Per Day:  0.02
  • Content Count:  1302
  • Reputation:   77
  • Joined:  12/04/12
  • Last Seen:  

bump !

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