Jump to content
  • 0

Hide and turn on


mrlongshen

Question


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

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 ? 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts


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

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

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;
}
Link to comment
Share on other sites


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

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);
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:  

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  1702
  • Reputation:   238
  • Joined:  09/05/12
  • Last Seen:  

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