Jump to content
  • 0

Modified Poring dice disguise


Takuyakii

Question


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.02
  • Content Count:  206
  • Reputation:   10
  • Joined:  08/30/19
  • Last Seen:  


Hola ! Can i request for this 3 script ?

DICE Event , will run every 2 hours, 

Poring Will run every 1 and half hour

Disguise will run every 1 hour

the prize of each script is random. 

501,502,503,504,#event_points, 

but for #event_points, will be lower rate.

 

Thanks i know it so many to request this script, and i found some events like these but it's not working or i don't know how to config .

 

TIA!

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  398
  • Reputation:   246
  • Joined:  07/04/19
  • Last Seen:  

dice event. 

event will start every 2 hours as requested
prize set already as requested
501,502,503,504,#event_points, 

//##########################################################################
//By: ____                    _      __        __           ____    _____  
//   |    \   ___ __    __ _ | |     \ \      / /_  _   _  / ___\  / ____| 
//   | ||  | / _ \\ \  / /| || |      \ \    / /| || \ | || | ___ | (___   
//   | ||  ||  __/ \ \/ / | || |__     \ \/\/ / | ||  \| || |___|\ \___ \  
// __|____/__\___|__\__/__|_||____|_____\_/\_/__|_||_|\__|_\_____/_____) | 
//|_____________________________________________________________________/ 
//                                                                         
//##########################################################################
//                                                                        
//== Dice Event                                                            
//                                                                         
//##########################################################################
//== Edited by King R													   
//== Removed 30 Min Timer and added trigger NPC							   
//== Able to set prize and amount via the NPC							   
//== Added Mapflags														  
//== Edited area warps                                                          
//##########################################################################
	
-	script	Dice#disable	-1,{
end;

OnInit:
	disablenpc "prtevent";
	hideonnpc "Dice#evnt1";
	end;
	
OnMinute120:
	announce "Mr. Dice: The Dice event will be starting shortly.",0;
	sleep2 10000;
	announce "Mr. Dice: Those who want to play, please proceed to the glemior 235 327.",0;
	sleep2 10000;
	announce "Mr. Dice: After 1 Minute the Portal will close.",0;
	sleep2 10000;
	announce "Mr. Dice: Please go to the glemior 235 327 and enter the Warp Portal now if you want to join.",0;
	enablenpc "prtevent";
	initnpctimer;
	end;

OnTimer30000:
	announce "Mr. Dice: Last 30 seconds.",0;
	sleep2 5000;
	announce "Mr. Dice: If you want to join please enter the Warp Portal in glemior 235 327.",0;
	end;
	
OnTimer50000:
	announce "Mr. Dice: Last 10 seconds.",0;
	end;
	
OnTimer55000:
	announce "Mr. Dice: 5.",0;
	end;
	
OnTimer56000:
	announce "Mr. Dice: 4.",0;
	end;
	
OnTimer57000:
	announce "Mr. Dice: 3.",0;
	end;
	
OnTimer58000:
	announce "Mr. Dice: 2.",0;
	end;
	
OnTimer59000:
	announce "Mr. Dice: 1.",0;
	end;
	
OnTimer60000:
	announce "Mr. Dice: Time's up.",0;
	end;

OnTimer61000:
	announce "Mr. Dice: The next Dice event will start after 30 minutes.",0;
	end;
	
OnTimer67000:
	disablenpc "prtevent";
	donpcevent "Dice#evnt1::OnEnable";
	stopnpctimer;
	end;
}

glemior,237,334,4	script	Mrs. Dice	667,{
	
	if (getgmlevel() == 99) goto Dice_Admin;
	mes "[Mrs. Dice]";
	mes "Hello " + strcharinfo(0) + ", my husband Mr. Dice is currently out gambling.";
	mes "That buffoon is always losing our money... *sigh*";
	close;
	
Dice_Admin:
	mes "[Mrs. Dice]";
	mes "Hello GM " + strcharinfo(0) + ", what do you want to do?";
	menu "Check Prize",checkprize,"Set Prize",setprize,"No Thanks",enddice;
	startdice:
		next;
		mes "[Mrs. Dice]";
		mes "Ok, I'll call him this instant.";
		close2;
		goto startdiceevent;
	checkprize:
		next;
		mes "[Mrs. Dice]";
		mes "The current prize is ^008000"+ $get_item_amount +" "+ getitemname($get_item_id) +"^000000";
		next;
		goto Dice_Admin;
	setprize:
		next;
		mes "[Mrs. Dice]";
		mes "What should the prize for winning be? Please input the ID";
		input $get_item_id;
		next;
		mes "[Mrs. Dice]";
		mes "How many if this item should we give away?";
		input $get_item_amount;
		next;
		mes "[Mrs. Dice]";
		mes "So, the prize is ^008000"+ $get_item_amount +" "+ getitemname($get_item_id) +"^000000? Wonderful dear.";
		next;
		goto Dice_Admin;
	enddice:
		next;
		mes "[Mrs. Dice]";
		mes "Ok darling, nice seeing you.";
		close;
	}
		
//--------------------------------------------------
	
glemior,235,327,0	warp	prtevent	2,2,quiz_01,204,90	
	
//--------------------------------------------------

quiz_01,204,93,6	script	Dice#evnt1	715,{

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

	mes "[Mr. Dice]";
	mes "Please tell me your name.";
	next;
	input .@name$;
	if(.@name$ != strcharinfo(0)) {
		mes "[Mr. Dice]";
		mes "Are you sure thats your character name?";
		close;
	}

	mes "[Mr. Dice]";
	mes "Congrats. You've won.";
	close2;
	announce "Mr. Dice: We have a winner! well done "+.@name$+".",0;
	getitem 501,5;
	getitem 502,5;
	getitem 503,5;
	getitem 504,5;
	#CASHPOINT += 1;
	warp "glemior",237,332;
	hideonnpc "Dice#evnt1";
	end;
	
OnEnable:
	mapannounce "quiz_01","Mr. Dice: We are about to start the Dice event.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: But before we start the event here's how to play the game...",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: I'm only gonna say this once so read carefully.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: I'm going to roll a number, 1 to 4. Then I'll do a count down from 5 to 0.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: All you have to do is go stand on the box of the number you want.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: For example, If I roll a number 4, All the players standing on numbers 1 to 3 will be warped back to town.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: We will do it until we only have 1 player left on the map.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: Oh yeah! Before I forget you MUST GO INSIDE THE BOX, because if you're caught standing on the stairs you'll be automatically disqualified.",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: Simple huh?.. Let's play...",0;
	sleep2 5000;
	goto L_Start;
	end;
	
L_Start:
	if(getmapusers("quiz_01") == 1) goto L_Champ;
	if(getmapusers("quiz_01") == 0) goto L_None;
	if(getmapusers("quiz_01") > 1) {
	mapannounce "quiz_01","Mr. Dice: . . . . .",0;
	set $@number, rand(1,4);
	sleep2 10000;
	mapannounce "quiz_01","Mr. Dice: I have rolled. Please pick a number and go stand there.... GO!",0;
	sleep2 10000;
	mapannounce "quiz_01","Mr. Dice: 5",0;
	sleep2 5000;
	mapannounce "quiz_01","Mr. Dice: 4",0;
	sleep2 4000;
	mapannounce "quiz_01","Mr. Dice: 3",0;
	sleep2 3000;
	mapannounce "quiz_01","Mr. Dice: 2",0;
	sleep2 2000;
	mapannounce "quiz_01","Mr. Dice: 1",0;
	sleep2 1000;
	mapannounce "quiz_01","Mr. Dice: Time's up.",0;
	donpcevent "evnt#1::OnEnable";
	mapannounce "quiz_01","Mr. Dice: The winning number is "+$@number+".",0;
	if(($@number != 1) && ($@number != 2) && ($@number != 3)) goto L_Lose1;
	if(($@number != 1) && ($@number != 2) && ($@number != 4)) goto L_Lose2;
	if(($@number != 1) && ($@number != 3) && ($@number != 4)) goto L_Lose3;
	if(($@number != 2) && ($@number != 3) && ($@number != 4)) goto L_Lose4;
	end;
	}
	
L_Lose1:
	areawarp "quiz_01",183,81,191,59,"glemior",237,332;
	areawarp "quiz_01",195,81,203,59,"glemior",237,332;
	areawarp "quiz_01",207,81,215,59,"glemior",237,332;
	goto L_Start;
	end;

L_Lose2:
	areawarp "quiz_01",183,81,191,59,"glemior",237,332;
	areawarp "quiz_01",195,81,203,59,"glemior",237,332;
	areawarp "quiz_01",219,81,227,59,"glemior",237,332;;
	goto L_Start;
	end;
	
L_Lose3:
	areawarp "quiz_01",183,81,191,59,"glemior",237,332;
	areawarp "quiz_01",207,81,215,59,"glemior",237,332;
	areawarp "quiz_01",219,81,227,59,"glemior",237,332;
	goto L_Start;
	end;
	
L_Lose4:
	areawarp "quiz_01",195,81,203,59,"glemior",237,332;
	areawarp "quiz_01",207,81,215,59,"glemior",237,332;
	areawarp "quiz_01",219,81,227,59,"glemior",237,332;
	goto L_Start;
	end;
	
L_Champ:
	mapannounce "quiz_01","Mr. Dice: Come to me and tell me your name.",0;
	hideoffnpc "Dice#evnt1";
	end;
	
L_None:
	//disablenpc "Dice#evnt1";
	hideonnpc "Dice#evnt1";
	end;
}
	
-	script	evnt#1	-1,{

OnEnable:
	areawarp "quiz_01",182,94,228,88,"glemior",237,332;
	areawarp "quiz_01",185,87,188,82,"glemior",237,332;
	areawarp "quiz_01",197,87,200,82,"glemior",237,332;
	areawarp "quiz_01",209,87,212,82,"glemior",237,332;
	areawarp "quiz_01",221,87,224,82,"glemior",237,332;
	end;
	}

// -- Mapflags
quiz_01	mapflag	nowarp
quiz_01	mapflag	nowarpto
quiz_01	mapflag	noteleport
quiz_01	mapflag	nosave
quiz_01	mapflag	nomemo
quiz_01	mapflag	nobranch

 

poring event. 

event will start every 1 and half hour as requested
prize set already as requested
501,502,503,504,#event_points, 

//= 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;

OnMinute90: // 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 glemior.",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 glemior 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;
	}
	
//--------------------------------------------------
	
glemior,158,331,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 "glemior",164,328;
	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 501,5;
	getitem 502,5;
	getitem 503,5;
	getitem 504,5;
	#CASHPOINT += 1;
//	set zeny,zeny+1000000;

	set PORING,0;
	warp "glemior",164,328;
	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 "glemior",164,328;
	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

 

Disguise event. 

event will start every 1 hour as requested
prize set already as requested
501,502,503,504,#event_points,

prontera,211,189,4	script	Disguise Event	795,{
//--- Basic Script Configuration Options ---//
set .@npcname$,"[^0000FFDisguise NPC^000000]"; //<- NPC Name.
set $@GMLevel,80; //<- GM Level needed to be considered a GM.
//--- The Script ---//
if (getgmlevel()>=$@GMLevel){goto GM_Player;}
if ($@EventON){end;}

mes .@npcname$;
mes "Welcome, how may i be of assistance.";
menu "Information",iInfo,"Nothing, just passing through.",iNothing;
iInfo:
next;
mes .@npcname$;
mes "This event is actually quite simple";
mes "At the start of the event, I will disguise myself";
mes "into a monster randomly. You will then merely have to shout that monsters name outloud.";
next;
mes "If you get it correct, you get a prize. If not, then keep trying.";
mes "Thatis all there is to know about this event.";
close;
iNothing:
close;
GM_Player:
mes .@npcname$;
mes "Please select an Option to modify.";
menu "Turn ON/OFF Event",iEvent,"Event Settings",iSettings;
iEvent:
next;
mes .@npcname$;
if ($@EventON){mes "The Event is currently: [^0000FFON^000000]";
mes "Would you like to turn it OFF?";}
if (!$@EventON){mes "The Event is currently: [^FF0000OFF^000000]";
mes "Would you like to turn it ON?";}
menu "Yes",iYes,"No",iNothing;
iYes:
if ($@EventON)
{set $@EventON,0; set $@Timer,0;
setnpctimer 0; stopnpctimer;
announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue;
deletepset 1;
setnpcdisplay "Disguise Event",997;
close;}
set $@EventON,1; set $@Timer,1; setnpctimer 0; initnpctimer;
set $@ResetCounter,$@ResetCounter+1;
announce "The Disguise Event will begin in 3 minutes.",bc_all;
announce "The Event is being held in prontera 211 189.",bc_all;
close;
iSettings:
next;
mes .@npcname$;
mes "Please select a setting to modify.";
menu "Monster Display",iMonster,"Number of Rounds",iRounds,"Prize Settings",iPrize;
iMonster:
callfunc "Monster_Display";
iRounds:
callfunc "Rounds";
iPrize:
callfunc "Prize";

OnInit:
defpattern 1,"([^:]+):.\\s*OMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iCorrect";
activatepset 1;
set $@EventON,0;
set $@Wait,0;
set $@Winner,0;
set $Points,$Points;
set $@ResetCounter,0;
set $Rounds,$Rounds;
set $Prize,$Prize;
set $PrizeAmt,$PrizeAmt;
set $Rule,$Rule;
setarray $@MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373,
                  1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688,
				  1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131,
				  2156,2165;
setarray $@BlackList[0], 1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218,
						 1222,1223,1224,1225,1226,1227,1228,1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,
						 2002,2003,2004,2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035,2036,
						 2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,
						 2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2075,2076,2077,2078,2079,
						 2080,2081,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,
						 2099,2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,
						 2117,2118;
setarray $@BlackList2[0],2119,2120,2121,2123,2124,2125,1496;
end;
OnClock0000:
OnClock0100:
OnClock0200:
OnClock0300:
OnClock0400:
OnClock0500:
OnClock0600:
OnClock0700:
OnClock0800:
OnClock0900:
OnClock1000:
OnClock1100:
set $@ResetCounter,$@ResetCounter+1;
set $@EventON,1;
set $@Timer,1;
set $@Wait,1;
announce "The Disguise Event will begin in 3 minutes.",bc_all;
announce "The Event is being held in prontera 211 189.",bc_all;
setnpctimer 0;
initnpctimer;
end;
OnTimer10000:
if ($@Timer){end;}
if ($@Change){end;}
set $@Wait,0;
goto iDisguise;
//donpcevent "DisguiseEvent::OnDisguise";
end;
OnTimer30000:
if ($@Timer){end;}
set $@Change,0;
setnpcdisplay "Disguise Event",795;
npctalk "You took too long to guess what i was. Please wait 10 seconds while i disguise again.";
specialeffect 730;
set $MonsterName$,"OMFGBBQLEETSAUCEGMOCEANRULESHAI!!";
deletepset 1;
stopnpctimer;
setnpctimer 0;
initnpctimer;
end;
OnTimer60000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event will begin in 2 minutes.",bc_all;
announce "The Event is being held in prontera 211 189.",bc_all;
end;}
OnTimer120000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event will begin 1 minute.",bc_all;
announce "The Event is being held in prontera 211 189.",bc_all;
end;}
OnTimer180000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event has begun!",bc_all;
announce "The Event is being held in Main Town.",bc_all;
set $@Timer,0; stopnpctimer;
setnpctimer 0; initnpctimer;
goto iDisguise;
//donpcevent "DisguiseEvent::OnDisguise";
end;}
announce "Something went wrong with the Disguise Event.",bc_all | bc_blue;
announce "Please notify a GM ASAP. Thank you.",bc_all | bc_blue;
end;
iDisguise:
if ($Rule==1)
{set $@Winner,0;
set $@Monster,1000+rand(1,995);
for(set .@BL,0; .@BL<getarraysize($@BlackList); set .@BL,.@BL+1)
{if ($@Monster==$@BlackList[.@BL] || $@Monster==$@BlackList2[.@BL])
{goto iDisguise;}}
if ($@Monster==$@LastMonster){goto iDisguise;}
set $@LastMonster,$@Monster;
set $MonsterName$,getmonsterinfo($@Monster,0);}
if ($Rule==2)
{set $@Winner,0;
set $@Monster,rand(49);
set $MonsterName$,getmonsterinfo($@MVP[$@Monster],0);}
deletepset 1;
defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect";
activatepset 1;
if ($Rule==1){setnpcdisplay "Disguise Event",$@Monster;}
if ($Rule==2){setnpcdisplay "Disguise Event",$@MVP[$@Monster];}
set $@Change,1;
setnpctimer 0;
//Hint
//npctalk ""+$@Monster+", "+$MonsterName$+"";
end;
iCorrect:
if ($@Winner){dispbottom "Someone has already won this round."; end;}
set $@Winner,1;
set $@RoundCount,$@RoundCount+1;
deletepset 1;
defpattern 1,"([^:]+):.*\\sOMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iFailCheater";
activatepset 1;
//getitem $Prize,$PrizeAmt;
getitem 501,5;
getitem 502,5;
getitem 503,5;
getitem 504,5;
#CASHPOINT += 1;
announce ""+strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
if ($@RoundCount>=$Rounds)
{setnpcdisplay "Disguise Event",795;
set $@RoundCount,0; set $@Change,0; set $@EventON,0;
setnpctimer 0; stopnpctimer;
npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";
end;}
setnpcdisplay "Disguise Event",794;
set $@Change,0;
setnpctimer 0;
end;

iFailCheater:
end;
}
//--- The Functions ---//
function	script	Rounds	{
next;
mes "Please Input the number of rounds you want the event to last.";
mes "Current Number of Rounds: [^0000FF"+$Rounds+"^000000]";
input .@Rounds;
set $Rounds,.@Rounds;
next;
mes "The number of rounds has been changed successfully.";
mes "Number of Rounds: [^0000FF"+$Rounds+"^000000]";
mes "Come again.";
close;
}
function	script	Prize	{
next;
mes "Please Input the ItemID of the prize that will be given each round.";
mes "Current Items is: [^0000FF"+getitemname($Prize)+"^000000] ItemID - ^0000FF"+$Prize+"^000000";
input .@Prize;
if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null")
{next; mes "That item does not exist. Please try again."; close;}
set $Prize,.@Prize;
next;
mes "Please Input the Ammount that is to be given.";
input .@Ammount;
if (.@Ammount<=0 || .@Ammount>=10000)
{next; mes "That ammount is invalid. Using default ammount of 1.";}
set $PrizeAmt,.@Ammount;
next;
mes "The Prize has been changed successfully.";
mes "Prize: [^0000FF"+getitemname($Prize)+"^000000]x(^0000FF"+$PrizeAmt+"^000000)";
close;
}
function	script	Monster_Display	{
setarray .@Rule[0],0,1,2;
setarray .@Desc$[0],"","Transform as all monsters.","Transform as MvP's only.";
next;
mes "Please select a Disguise Rule.";
mes "Rule 1 - Transform as all monsters.";
mes "Rule 2 - Transform as MvP's only.";
menu "Rule 1:Rule 2",iRule;
iRule:
set $Rule,.@Rule[@menu];
next;
mes "The Disguise Rule, has been changed successfully.";
mes "Current Rule: ^0000FF"+$Rule+"^000000 - ^0000FF"+.@Desc$[@menu]+"^000000";
close;
}

 

  • Upvote 2
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.01
  • Content Count:  233
  • Reputation:   50
  • Joined:  12/20/18
  • Last Seen:  

If you use the forum search function, you will find these events!

Search a little;)

Tip, there is a gentleman named Stolão, who has a script with 10+ events with automatic start and commands.

Easily configurable.

 
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  45
  • Topics Per Day:  0.02
  • Content Count:  291
  • Reputation:   26
  • Joined:  12/16/17
  • Last Seen:  

I'll give you automated event scripts when I'm back. I'm away at my personal computer. Sorry.

Edited by Ryo Osaki
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.02
  • Content Count:  206
  • Reputation:   10
  • Joined:  08/30/19
  • Last Seen:  

On 11/7/2019 at 12:34 AM, Ryo Osaki said:

I'll give you automated event scripts when I'm back. I'm away at my personal computer. Sorry.

Ok i'll wait thaaanks ❤️

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