Jump to content
  • 0

how to make monster wiki automated every 1hour


Famous

Question


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

 how to make monster wiki automated every 1hour
prontera,155,167,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,32767;
			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;
	}
}

OnMinute00:
for( set .@i,3; .@i > 0 ; set .@i,.@i - 1 ){
announce "Monster Wiki Event will take place in Prontera 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( 1001,2380 );
	}while( getmonsterinfo( .MonsterID,0 ) == "null" || getmonsterinfo( .MonsterID,0 ) == "" || getmonsterinfo( .MonsterID,1 ) == -1 );
	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 "Click me to view the Question of this Round..";
	initnpctimer;
}
end;

OnTimer10000:
	npctalk "20 Seconds to go...";
	end;

OnTimer20000:
	npctalk "10 Seconds to go...";
	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;
	
	
}

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

OnMinute00:
for( set .@i,3; .@i > 0 ; set .@i,.@i - 1 ){
announce "Monster Wiki Event will take place in Prontera within "+.@i+" Minutes",bc_blue;
sleep 60000;

this event is already auto every hour

Link to comment
Share on other sites

  • -1

  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  4
  • Reputation:   0
  • Joined:  05/16/15
  • Last Seen:  

On 7/13/2013 at 11:54 PM, Famous said:

prontera,155,167,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,32767;
			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;
	}
}

OnMinute00:
for( set .@i,3; .@i > 0 ; set .@i,.@i - 1 ){
announce "Monster Wiki Event will take place in Prontera 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( 1001,2380 );
	}while( getmonsterinfo( .MonsterID,0 ) == "null" || getmonsterinfo( .MonsterID,0 ) == "" || getmonsterinfo( .MonsterID,1 ) == -1 );
	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 "Click me to view the Question of this Round..";
	initnpctimer;
}
end;

OnTimer10000:
	npctalk "20 Seconds to go...";
	end;

OnTimer20000:
	npctalk "10 Seconds to go...";
	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;
	
	
}

 

Why its not turning back into NPC after the Event if no one play the event?
 

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:  


OnMinute00:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

thanks :) Patskie and Capuche

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