Jump to content
  • 0

Question

Posted
event,113,98,5	script	Monster Wiki	439,{
while( 1 ){
mes "Event Status : "+((!.WikiStatus )?"^FF0000OFF":"^0000FFON")+" ^000000";
mes "^00FF00_______________________________^000000";
mes "How may i assist you, ^0000FF"+strcharinfo(0)+"^000000 ?";
next;
switch( select( ( !.WikiStatus || !.MonsterID )?"":"Write Answer",
				"^00FF00Information^000000",
				( getgmlevel() < 60 )?"":"^FF0000[GM]^000000 "+(( !.WikiStatus )?"Start Event":"Stop Event"),
				( getgmlevel() < 80 )?"":"^FF0000[GM]^000000 Setting" )){
Case 1:
	if( getgmlevel() >= 80 ) mes "Answer : ^FF0000"+.Answer$+"^000000";
	switch( .Mode ){
		Case 0:
			mes "Please Input the ^FF0000NAME^000000 of monster.";
			mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
			mes "Example : ^0000FFPoring^000000";
			break;
		Case 1:	
			mes "Please Input the ^FF0000LEVEL^000000 of monster.";
			mes "Example. ^0000FF10 / 20 / 35 / 75^000000";
			set .Hint,getmonsterinfo( .MonsterID,1 ) - rand(30);
			mes "^FF0000Hint^000000 : Between "+( (( .Hint ) < 1 )?"0":.Hint)+" ~ "+( getmonsterinfo( .MonsterID,1 ) + rand(30) )+" ";
			break;
		Case 2:
			mes "Please Input the ^FF0000SIZE^000000 of monster.";
			mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
			mes "Example. ^0000FFSmall / Medium / Large^000000";
			break;
		Case 3:
			mes "Please Input the ^FF0000RACE^000000 of monster.";
			mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
			mes "^FF0000List of Available Answer^000000";
			mes "^00FF00_______________________________^000000";
			for( set .@i,0; .@i < getarraysize( .Race$ ); set .@i,.@i + 1 ){
				mes " - ^0000FF"+.Race$[.@i]+"^000000";
				}
			break;
		Case 4:	
			mes "Please Input the ^FF0000ELEMENT^000000 of monster.";
			mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
			mes "^FF0000List of Available Answer^000000";
			mes "^00FF00_______________________________^000000";
			for( set .@i,0; .@i < getarraysize( .Element$ ); set .@i,.@i + 1 ){
				mes " - ^0000FF"+.Element$[.@i]+"^000000";
				}
			break;
		}
	input @Guess$;
	if( .MonsterID == 0 || @Guess$ != .Answer$ ){
		mes "Sorry, you are ^FF0000WRONG^000000 or ^FF0000Too Late^000000 for the Answer.";
		close;
	}else{
		mes "^FF0000Correct^000000 !! I wonder how good are you in this.";
		stopnpctimer;
		getitem $WikiItemID,$WikiAmount;
		close2;
		setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );
		announce "You're Right [ "+strcharinfo(0)+" ] . The Answer is [ "+.Answer$+" ]",bc_npc,0xED1ADC;
		set .MonsterID,0;
		doevent strnpcinfo(0)+"::OnStart";
	}
	end;
	
Case 2:
	mes "This is a ^FF0000Monster Wiki^000000";
	mes "I will ask you everything about ^FF0000Monster^000000.";
	mes "^00FF00_______________________________^000000";
	mes "The ^0000FFQuestions^000000 could be either in ^FF0000Name , Race , Element , Level , Size ^000000 of Monster.";
	next;
	break;
Case 3:
	if( !$WikiRound || getitemname( $WikiItemID ) == "null" ){
		mes "Please Configure your ^FF0000NPC Setting^000000 before you start.";
		next;
		break;
		}
	set .WikiStatus,( .WikiStatus )?"0":"1";
	mes "Event is now "+( .WikiStatus )?"^0000FFStarted":"^FF0000Stopped"+"^000000";
	announce "Monster Wiki Event is now "+( .WikiStatus )?"Started":"Stopped"+"^000000",bc_blue;
	close2;
	if( .WikiStatus ){
		set .Round,0;
		doevent strnpcinfo(0)+"::OnStart";
		}
	end;
Case 4:
	while( 1 ){
	mes "How can i assist you ^FF0000GM^000000?";
	next;
	switch( select( "Prize [ ^0000FF"+$WikiAmount+" x "+getitemname( $WikiItemID )+"^000000 ]",
					"Round [ ^0000FF"+$WikiRound+"^000000 ]",
					"^0000FFBack^000000" )){
		Case 1:
			mes "Input the ^FF0000Item ID^000000";
			do{
				input $WikiItemID,501,32767;
			}while( getitemname( $WikiItemID ) == "null" );
			mes "Input the ^FF0000Amount^000000";
			input $WikiAmount,1,30000;
			next;
			break;
		Case 2:
			mes "Input the ^FF0000Max. Round^000000";
			input $WikiRound,1,50;
			next;
			break;
		Case 3:
			mes "Redirect back to menu...";
			next;
			}
			break;
		}
	break;
	}
}

OnMinute15:
OnMinute30:
OnMinute45:
for( set .@i,3; .@i > 0 ; set .@i,.@i - 1 ){
announce "Monster Wiki Event will take place in event room within "+.@i+" Minutes",bc_blue;
sleep 60000;
}
set .Round,0;
set .WikiStatus,1;

OnStart:
sleep2 5000;
set .Round,.Round + 1;
if( .Round > $WikiRound ){
mapannounce .Map$,"Monster Wiki Event has Ended. Thank for Participate in this Event.",bc_map,0x7766EE;
set .WikiStatus,0;
sleep2 5000;
//mapwarp .Map$,"prontera",155,171;
setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );
}else{
npctalk "Round [ "+.Round+" ] within 5 Seconds.";
sleep2 5000;
	do{
		set .MonsterID,rand( 1002,1999 );
	}while( getmonsterinfo( .MonsterID,0 ) == "null" || getmonsterinfo( .MonsterID,0 ) == "" );
	set .Mode,rand(5);
	switch( .Mode ){
		Case 0:	set .Answer$, getmonsterinfo( .MonsterID,0 );	break;	// Name
		Case 1:	set .Answer$, getmonsterinfo( .MonsterID,1 );	break;	// Level
		Case 2:	set .Answer$, .Size$[ getmonsterinfo( .MonsterID,18 ) ];	break;	// Size
		Case 3:	set .Answer$, .Race$[ getmonsterinfo( .MonsterID,19 ) ];	break;	// Race
		Case 4:	set .Answer$, .Element$[ getmonsterinfo( .MonsterID,20 ) ];	break;	// Element
		}
	setnpcdisplay( strnpcinfo(0),.MonsterID );
	npctalk "Let Guess the Info Of this Monster..";
	initnpctimer;
}
end;

OnTimer10000:
	npctalk "20 Left...";
	end;

OnTimer20000:
	npctalk "10 Left...";
	end;

OnTimer30000:
mapannounce .Map$,"Time's Up. All Failed in this Round.",bc_map,0x00FF00;
donpcevent strnpcinfo(0)+"::OnStart";
set .MonsterID,0;
stopnpctimer;
end;

OnInit:
OnWhisperGlobal:
set .Map$,"prontera";
setarray .Size$[0],"Small","Medium","Large";
setarray .Race$[0],"Formless","Undead","Brute","Plant","Insect","Fish","Demon","Demi Human","Angel","Dragon";
setarray .Element$[0],"Neutral","Water","Earth","Fire","Wind","Poison","Holy","Dark","Spirit","Undead";
end;
	
	
}

how to hide the npc and then turn on the npc on the set time ? 

5 answers to this question

Recommended Posts

Posted

change


OnStart:
sleep2 5000;
set .Round,.Round + 1;
if( .Round > $WikiRound ){
mapannounce .Map$,"Monster Wiki Event has Ended. Thank for Participate in this Event.",bc_map,0x7766EE;
set .WikiStatus,0;
sleep2 5000;
//mapwarp .Map$,"prontera",155,171;
setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );

to


OnStart:
hideoffnpc strnpcinfo(0);
sleep2 5000;
set .Round,.Round + 1;
if( .Round > $WikiRound ){
mapannounce .Map$,"Monster Wiki Event has Ended. Thank for Participate in this Event.",bc_map,0x7766EE;
set .WikiStatus,0;
sleep2 5000;
//mapwarp .Map$,"prontera",155,171;
setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );
hideonnpc strnpcinfo(0);
  • Upvote 1
Posted

change


OnStart:
sleep2 5000;
set .Round,.Round + 1;
if( .Round > $WikiRound ){
mapannounce .Map$,"Monster Wiki Event has Ended. Thank for Participate in this Event.",bc_map,0x7766EE;
set .WikiStatus,0;
sleep2 5000;
//mapwarp .Map$,"prontera",155,171;
setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );

to


OnStart:
hideoffnpc strnpcinfo(0);
sleep2 5000;
set .Round,.Round + 1;
if( .Round > $WikiRound ){
mapannounce .Map$,"Monster Wiki Event has Ended. Thank for Participate in this Event.",bc_map,0x7766EE;
set .WikiStatus,0;
sleep2 5000;
//mapwarp .Map$,"prontera",155,171;
setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );
hideonnpc strnpcinfo(0);

 

thx sir. how about this ? 

 

//==============================================================================//
//--- Created by GmOcean -------------------------------------------------------//
//--- You may modify this script at your own risk. However any modifications ---//
//--- To this script are made at your own discretion and I will not provide ----//
//--- any support to modified scripts. You Also are forbidden to release the ---//
//--- modified script as your own. You can however post suggestions and I will -//
//--- Take them into consideration. You may also post the modified script up ---//
//--- In the Script Support section, as long as I am given Credit as the -------//
//--- Original Script Creator. Thank You for following these few requests ------//
//--- And Enjoy the Script ~! --------------------------------------------------//
//-------------------------------- Script Version == v5.0 -------------//
//==============================================================================//

event,104,98,5	script	Disguise Event	795,{
//--- Basic Script Configuration Options ---//
set .@npcname$,"[^0000FFDisguise NPC^000000]"; //<- NPC Name.
set $@GMLevel,60; //<- 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",795;
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 | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
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:
//OnClock0200:
//OnClock0400:
//OnClock0600:
//OnClock0800:
//OnClock1000:
//OnClock1200:
//OnClock1400:
//OnClock1600:
//OnClock1800:
//OnClock2000:
//OnClock2200:

OnMinute05:
OnMinute25:
OnMinute35:
*/
set $@ResetCounter,$@ResetCounter+1;
set $@EventON,1;
set $@Timer,1;
set $@Wait,1;
announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
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 725;
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 | bc_blue;
announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
announce "The warper is available in the Event Area.",bc_all | bc_blue;
end;}
OnTimer120000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue;
announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
announce "The warper is available in the Event Area.",bc_all | bc_blue;
end;}
OnTimer180000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event has begun!",bc_all | bc_blue;
announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
announce "The warper is available in the Event Area.",bc_all | bc_blue;
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;
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",795;
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;
}

and this.

 

//===== eAthena Script =====================================================================
//=  Fact Event
//===== By: ================================================================================
//= Hellflaem
//===== Current Version: ===================================================================
//= 1.0
//===== Compatible With: ===================================================================
//= Eathena SVN and 3ceam
//===== Description: =======================================================================
//= It's a Facts Event based on about 52 Facts from the Facts Announcer Script by xienne15.
//= The Event is started by players, They just have to click the npc.
//= Players are asked to fill in the missing word(s) of the facts.
//= If they get it right they get an item. Player just have to say the answer outloud.
//========Credits===========================================================================
//=ToastOfDoom
//=RxChris
//==========================================================================================
event,96,98,5	script	Facts Event	917,{
end;
function DefineQuestion; function GetQuestion; function GetAnswer;

OnMinute10:
OnMinute20:
OnMinute40:
    announce "The fact Event will begin in 3 minutes.",bc_all | bc_blue;
    //announce "The Event is being held in Event Room. Please use custom warper to go there.",bc_all | bc_blue;
	sleep 60000;
    announce "The fact Event will begin in 2 minutes.",bc_all | bc_blue;
    //announce "The Event is being held in Event Room. Please use custom warper to go there.",bc_all | bc_blue;
	sleep 60000;
    announce "The Fact Event will begin 1 minute.",bc_all | bc_blue;
    //announce "The Event is being held in Event Room. Please use custom warper to go there.",bc_all | bc_blue;
	sleep 60000;
    announce "The fact Event has begun!",bc_all | bc_blue;
    //announce "The Event is being held in Event Room. Please use custom warper to go there.",bc_all | bc_blue;
L_loop:
	freeloop(1);
	do {
		set .@i, rand( .numQuestions ); // Randomly picks a fact.
		.@c++;
	}
	while( callsub( L_check, .@i ) && .@c < 100 );
	freeloop(0);
	callsub( L_check, .@i, 0 );
	if( !.count ) {
		npctalk "Sila isi dalam tempat kosong:";
		sleep 2000;
		npctalk "Jika anda rasa ia betul. Saya akan memberikan anda beberapa syiling poring!";
	}
	.count++;
	sleep 4000;
	npctalk "Fact: " + GetQuestion(.@i);
	defpattern 1, "([^:]+):.*\\s"+ GetAnswer( .@i ) +"(.*)", "Right";
	activatepset 1;
	initnpctimer;
	end;
OnTimer30000:
	npctalk "Maaf, anda mengambil masa yang amat panjang.";
	goto L_continue;
Right:
	npctalk "Itu adalah betul, sila ambil ini.";
	getitem .rewarditem, rand( 1,500 ); // Randomly picks from 1 to 5.
L_continue:
	deletepset 1;
	stopnpctimer;
	if( .count < .max_questions ) goto L_loop;
	.count = 0; // end of event
	while( getd( ".Q_session"+ .@j ) ) {
		setd ".Q_session"+ .@j, 0;
		.@j++;
	}
	npctalk "end of event";
	end;
L_check:
	.@i = getarg(0);
	while( .@j * 30 < .@i ) .@j++;
	.@j--;
	.@tmp = .@i - .@j * 30;
	if( getarg( 1,1 ) )
		return getd( ".Q_session"+ .@j ) & 1 << .@tmp;
	else {
		setd ".Q_session"+ .@j, getd( ".Q_session"+ .@j ) | 1 << .@tmp;
		return;
	}
		
function DefineQuestion {
	set .@a, .numQuestions % 128;
	set .@b, .numQuestions / 128;

	setd(".question_" + .@a + "$[" + .@b + "]", getarg(0));
	setd(".answer_" + .@a + "$[" + .@b + "]", getarg(1));
	set .numQuestions, .numQuestions + 1;
	return;
}
function GetQuestion {
	return getd(".question_" + (getarg(0) % 128) + "$[" + (getarg(0) / 128) + "]");
}
function GetAnswer {
	return getd(".answer_" + (getarg(0) % 128) + "$[" + (getarg(0) / 128) + "]");
}
OnInit:
	set .rewarditem, 7539;	//Poring Coins
	.max_questions = 10;	// 10 questions if more than 10 questions are defined
	DefineQuestion("What is your mum name ? _____ ","poring");
	DefineQuestion("What is your father name ? _____ ","poporing");
	if( .numQuestions < .max_questions ) .max_questions = .numQuestions;
	end;
}
Posted

find the line where event starting...then add this

hideoffnpc strnpcinfo(0);

then find the line where event ending...then add this

hideonnpc strnpcinfo(0);
Posted

find the line where event starting...then add this

hideoffnpc strnpcinfo(0);

then find the line where event ending...then add this

hideonnpc strnpcinfo(0);

 

//==============================================================================//
//--- Created by GmOcean -------------------------------------------------------//
//--- You may modify this script at your own risk. However any modifications ---//
//--- To this script are made at your own discretion and I will not provide ----//
//--- any support to modified scripts. You Also are forbidden to release the ---//
//--- modified script as your own. You can however post suggestions and I will -//
//--- Take them into consideration. You may also post the modified script up ---//
//--- In the Script Support section, as long as I am given Credit as the -------//
//--- Original Script Creator. Thank You for following these few requests ------//
//--- And Enjoy the Script ~! --------------------------------------------------//
//-------------------------------- Script Version == v5.0 -------------//
//==============================================================================//

event,104,98,5	script	Disguise Event	795,{
//--- Basic Script Configuration Options ---//
set .@npcname$,"[^0000FFDisguise NPC^000000]"; //<- NPC Name.
set $@GMLevel,60; //<- 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",795;
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 | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
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:
//OnClock0200:
//OnClock0400:
//OnClock0600:
//OnClock0800:
//OnClock1000:
//OnClock1200:
//OnClock1400:
//OnClock1600:
//OnClock1800:
//OnClock2000:
//OnClock2200:

OnMinute05:
OnMinute25:
OnMinute35:
*/

set $@ResetCounter,$@ResetCounter+1;
set $@EventON,1;
set $@Timer,1;
set $@Wait,1;
announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
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 725;
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 | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
end;}
OnTimer120000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
end;}
OnTimer180000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event has begun!",bc_all | bc_blue;
//announce "Talk to the Disguise Event Warper to join the event!",bc_all | bc_blue;
//announce "The warper is available in the Event Area.",bc_all | bc_blue;
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;
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",795;
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;
}

please help on this sir.

i have try but its not show up. huhu

Posted

Find : 

set $@ResetCounter,$@ResetCounter+1;
set $@EventON,1;
set $@Timer,1;
set $@Wait,1;

Then after, Add : 

hideoffnpc strnpcinfo(1);

 

Find : 

npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";

Then after, Add :

hideonnpc strnpcinfo(1);

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...