Jump to content
  • 0
Sign in to follow this  
Aremdy

Poring Catcher

Question

Hi everyone, 

New to scripting.. would like to ask some help, I want to make it like whenever the player kills the real Poring it immediately kills everything else and gets the prize and gets warped back to town. Thanks for the help!

//= Poring Catcher - Auto Event Script
//===== By: =================================================================================
//= Washi - www.EarthBound-RO.com
//===== Compatible With: ====================================================================
//= Any eAthena Version
//===== Description: ========================================================================
//= Single NPC that starts automatically starts every hour.
//===== Additional Comments: ================================================================
//= This script is a combenation of the Dice Event by [Mahina]
//= and the origonal Poring Catcher Event by [Wild Karrd]
//===========================================================================================
//= OnMinute - Change this to the minute you would like this script to load. [ LINE 22 ]
//= getitem - Change this to the Item ID of your prize. [ LINE 118 ]
//===========================================================================================
-	script	poring#announcer	-1,{

OnInit:
	disablenpc "poringevent";
	hideonnpc "Poring Catcher#evnt2";
	end;

OnMinute30: // SET THE 30 TO THE MINUTE YOU WANT THE EVENT TO START EACH HOUR.

	announce "Poring Catcher : It's time to play some Poring Catcher!",0;
	killmonster "poring_w01","All";
	sleep2 10000;
	announce "Poring Catcher : Please make your way to the centre of Prontera.",0;
	sleep2 10000;
	announce "Poring Catcher : After one minute the portal will close.",0;
	sleep2 10000;
	announce "Poring Catcher : Enter the warp portal now if you want to join.",0;
	enablenpc "poringevent";
	initnpctimer;
	end;

OnTimer30000:
	announce "Poring Catcher : Last 30 seconds.",0;
	sleep2 5000;
	announce "Poring Catcher : Hurry to the centre of Prontera if you want to join.",0;
	end;
	
OnTimer50000:
	announce "Poring Catcher : Last 10 seconds.",0;
	end;
	
OnTimer55000:
	announce "Poring Catcher : 5.",0;
	end;
	
OnTimer56000:
	announce "Poring Catcher : 4.",0;
	end;
	
OnTimer57000:
	announce "Poring Catcher : 3.",0;
	end;
	
OnTimer58000:
	announce "Poring Catcher : 2.",0;
	end;
	
OnTimer59000:
	announce "Poring Catcher : 1.",0;
	end;
	
OnTimer60000:
	announce "Poring Catcher : Time's up. Portal Will Open again in one hour.",0;
	end;
	
OnTimer67000:
	disablenpc "poringevent";
	donpcevent "Poring Catcher#evnt2::OnEnable";
	stopnpctimer;
	end;
	}
	
//--------------------------------------------------
	
prontera,156,165,0	warp	poringevent	2,2,poring_w01,106,129	
	
//--------------------------------------------------

poring_w01,100,127,4	script	Poring Catcher#evnt2	715,{

//--------------------------------------------------

	mes "[Poring Catcher]";
	if(PORING == 1) goto L_PORING;
	mes "Please tell me your name";
	next;
	input .@name$;
	if(.@name$ != strcharinfo(0)) {
		mes "[Poring Catcher]";
		mes "Are you sure thats your character name?";
		close;
	}
	mes "[Poring Catcher]";
	mes "Congrats. You've won.";
	close2;
	announce "Poring Catcher : All laugh at, "+.@name$+". - This player tried to cheat the system. Muhahahahaha!",0;
	warp "prontera",156,188;
	end;

L_PORING:
	mes "Please tell me your name";
	next;
	input .@name$;
	if(.@name$ != strcharinfo(0)) {
		mes "[Poring Catcher]";
		mes "Are you sure thats your character name?";
		close;
	}
	mes "[Poring Catcher]";
	mes "Congrats. You've won.";
	close2;
	announce "Poring Catcher : We have a winner, "+.@name$+". - Event Award Won!",0;

	getitem 6732,2;// 6732 - Sky Ragnarok Token [ Official Token for Sky Ragnarok Online ]
//	set zeny,zeny+1000000;

	set PORING,0;
	warp "prontera",156,188;
	hideonnpc "Poring Catcher#evnt2";
	end;
	
OnEnable:
	mapannounce "poring_w01","Poring Catcher : I will be summoning 100 different Porings.",0;
	sleep2 10000;
	mapannounce "poring_w01","Poring Catcher : Only one of these Porings is the correct Poring.",0;
	sleep2 10000;
	mapannounce "poring_w01","Poring Catcher : The correct Poring is called [ Poring ], all the other Porings have different names.",0;
	sleep2 10000;
	mapannounce "poring_w01","Poring Catcher : Take your time because if you kill the wrong Poring, your out of the game.",0;
	sleep2 10000;
	mapannounce "poring_w01","Poring Catcher : The first player to kill the correct Poring wins.",0;
	sleep2 10000;
	mapannounce "poring_w01","Poring Catcher : That's that.. Now let's play...",0;
	goto L_Start;
	end;
	
L_Start:
	mapannounce "poring_w01","Poring Catcher : 5",0;
	sleep2 1000;
	mapannounce "poring_w01","Poring Catcher : 4",0;
	sleep2 1000;
	mapannounce "poring_w01","Poring Catcher : 3",0;
	sleep2 1000;
	mapannounce "poring_w01","Poring Catcher : 2",0;
	sleep2 1000;
	mapannounce "poring_w01","Poring Catcher : 1",0;
	sleep2 1000;
	mapannounce "poring_w01","Poring Catcher : Lets Do This!",0;
	areamonster "poring_w01",84,119,121,90,"Poring",1002,1,"poringwin::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Pouring",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Proing",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Poiring",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Poing",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"I am not Poring",1002,5,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Gniriop",1002,1,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Porring",1113,1,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Porinng",1062,1,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Poriiing",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"PoriNgg",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Porong",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"P0ring",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Por1ng",1002,10,"poringlose::OnMobKilled";
	areamonster "poring_w01",84,119,121,90,"Porng",1002,1,"poringlose::OnMobKilled";
	end;
}

-	script	poringwin	-1,{

OnMobKilled:
	dispbottom "Poring : Congratulations. You've got me.";
	set PORING,1;
	atcommand "@doommap";
	killmonster "poring_w01","All";
	mapannounce "poring_w01","Poring Catcher : Come to me and tell me your name.",0;
	hideoffnpc "Poring Catcher#evnt2";
	end;

}

-	script	poringlose	-1,{

OnMobKilled:
	dispbottom "Poring Catcher : Wahaha, your a loser! - I wasnt the correct Poring.";
	warp "prontera",156,188;
	end;

}

// -- Mapflags
poring_w01	mapflag	nowarp
poring_w01	mapflag	nowarpto
poring_w01	mapflag	noteleport
poring_w01	mapflag	nosave
poring_w01	mapflag	nomemo
poring_w01	mapflag	nobranch
poring_w01	mapflag	noloot
poring_w01	mapflag	noskill
poring_w01	mapflag	nopenalty

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Yes, I know.

But in this script it still needs to talk to the npc and type in the name to receive the reward.
what I want to happen is whenever someone kills the real poring, the fake poring dies, losers dies and gets warped back out, 
the winner will receive the reward and warps out the place.

Share this post


Link to post
Share on other sites
  • 0

Under OnMobKilled: in the winner's bit, that specific script will be attached to the player who killed the winning poring. So you can attach any winning script you want there.

 

Something like this would work.

 

-    script    poringwin    -1,{

OnMobKilled:
    dispbottom "Poring : Congratulations. You've got me.";
    //set PORING,1;  // You can remove this line I think, since it's only needed for talking to the NPC.
    atcommand "@doommap";
    killmonster "poring_w01","All";
    sleep2 1000;      // Slight delay so it doesn't feel weird
    mapannounce "poring_w01","Poring Catcher : " + strcharinfo(0) + " got the winning poring!",0;    // This one announces the winner's name to map.
    hideoffnpc "Poring Catcher#evnt2";
    sleep2 2000;      // Another delay so it doesn't feel weird
    getitem item_id,item_amount;
    dispbottom "Poring: Here are x y's. Enjoy!";
    sleep2 1000;      // another delay so it feels natural
    warp "prontera",156,188;
    end;

}
Edited by True Zeal

Share this post


Link to post
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.   Restore formatting

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

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