Emistry

Monster Wiki Event v3

Oct 18th, 2011
2,189
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. prontera,155,167,5 script Monster Wiki 439,{
  2. while( 1 ){
  3. mes "Event Status : "+((!.WikiStatus )?"^FF0000OFF":"^0000FFON")+" ^000000";
  4. mes "^00FF00_______________________________^000000";
  5. mes "How may i assist you, ^0000FF"+strcharinfo(0)+"^000000 ?";
  6. next;
  7. switch( select( ( !.WikiStatus || !.MonsterID )?"":"Write Answer",
  8. "^00FF00Information^000000",
  9. ( getgmlevel() < 60 )?"":"^FF0000[GM]^000000 "+(( !.WikiStatus )?"Start Event":"Stop Event"),
  10. ( getgmlevel() < 80 )?"":"^FF0000[GM]^000000 Setting" )){
  11. Case 1:
  12. if( getgmlevel() >= 80 ) mes "Answer : ^FF0000"+.Answer$+"^000000";
  13. switch( .Mode ){
  14. Case 0:
  15. mes "Please Input the ^FF0000NAME^000000 of monster.";
  16. mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
  17. mes "Example : ^0000FFPoring^000000";
  18. break;
  19. Case 1:
  20. mes "Please Input the ^FF0000LEVEL^000000 of monster.";
  21. mes "Example. ^0000FF10 / 20 / 35 / 75^000000";
  22. set .Hint,getmonsterinfo( .MonsterID,1 ) - rand(30);
  23. mes "^FF0000Hint^000000 : Between "+( (( .Hint ) < 1 )?"0":.Hint)+" ~ "+( getmonsterinfo( .MonsterID,1 ) + rand(30) )+" ";
  24. break;
  25. Case 2:
  26. mes "Please Input the ^FF0000SIZE^000000 of monster.";
  27. mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
  28. mes "Example. ^0000FFSmall / Medium / Large^000000";
  29. break;
  30. Case 3:
  31. mes "Please Input the ^FF0000RACE^000000 of monster.";
  32. mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
  33. mes "^FF0000List of Available Answer^000000";
  34. mes "^00FF00_______________________________^000000";
  35. for( set .@i,0; .@i < getarraysize( .Race$ ); set .@i,.@i + 1 ){
  36. mes " - ^0000FF"+.Race$[.@i]+"^000000";
  37. }
  38. break;
  39. Case 4:
  40. mes "Please Input the ^FF0000ELEMENT^000000 of monster.";
  41. mes "^0000FFRemind^000000 : It is ^FF0000Case-Sensitive^000000";
  42. mes "^FF0000List of Available Answer^000000";
  43. mes "^00FF00_______________________________^000000";
  44. for( set .@i,0; .@i < getarraysize( .Element$ ); set .@i,.@i + 1 ){
  45. mes " - ^0000FF"+.Element$[.@i]+"^000000";
  46. }
  47. break;
  48. }
  49. input @Guess$;
  50. if( .MonsterID == 0 || @Guess$ != .Answer$ ){
  51. mes "Sorry, you are ^FF0000WRONG^000000 or ^FF0000Too Late^000000 for the Answer.";
  52. close;
  53. }else{
  54. mes "^FF0000Correct^000000 !! I wonder how good are you in this.";
  55. stopnpctimer;
  56. getitem $WikiItemID,$WikiAmount;
  57. close2;
  58. setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );
  59. announce "You're Right [ "+strcharinfo(0)+" ] . The Answer is [ "+.Answer$+" ]",bc_npc,0xED1ADC;
  60. set .MonsterID,0;
  61. doevent strnpcinfo(0)+"::OnStart";
  62. }
  63. end;
  64.  
  65. Case 2:
  66. mes "This is a ^FF0000Monster Wiki^000000";
  67. mes "I will ask you everything about ^FF0000Monster^000000.";
  68. mes "^00FF00_______________________________^000000";
  69. mes "The ^0000FFQuestions^000000 could be either in ^FF0000Name , Race , Element , Level , Size ^000000 of Monster.";
  70. next;
  71. break;
  72. Case 3:
  73. if( !$WikiRound || getitemname( $WikiItemID ) == "null" ){
  74. mes "Please Configure your ^FF0000NPC Setting^000000 before you start.";
  75. next;
  76. break;
  77. }
  78. set .WikiStatus,( .WikiStatus )?"0":"1";
  79. mes "Event is now "+( .WikiStatus )?"^0000FFStarted":"^FF0000Stopped"+"^000000";
  80. announce "Monster Wiki Event is now "+( .WikiStatus )?"Started":"Stopped"+"^000000",bc_blue;
  81. close2;
  82. if( .WikiStatus ){
  83. set .Round,0;
  84. doevent strnpcinfo(0)+"::OnStart";
  85. }
  86. end;
  87. Case 4:
  88. while( 1 ){
  89. mes "How can i assist you ^FF0000GM^000000?";
  90. next;
  91. switch( select( "Prize [ ^0000FF"+$WikiAmount+" x "+getitemname( $WikiItemID )+"^000000 ]",
  92. "Round [ ^0000FF"+$WikiRound+"^000000 ]",
  93. "^0000FFBack^000000" )){
  94. Case 1:
  95. mes "Input the ^FF0000Item ID^000000";
  96. do{
  97. input $WikiItemID,501,32767;
  98. }while( getitemname( $WikiItemID ) == "null" );
  99. mes "Input the ^FF0000Amount^000000";
  100. input $WikiAmount,1,32767;
  101. next;
  102. break;
  103. Case 2:
  104. mes "Input the ^FF0000Max. Round^000000";
  105. input $WikiRound,1,50;
  106. next;
  107. break;
  108. Case 3:
  109. mes "Redirect back to menu...";
  110. next;
  111. }
  112. break;
  113. }
  114. break;
  115. }
  116. }
  117.  
  118. OnMinute00:
  119. for( set .@i,3; .@i > 0 ; set .@i,.@i - 1 ){
  120. announce "Monster Wiki Event will take place in Prontera within "+.@i+" Minutes",bc_blue;
  121. sleep 60000;
  122. }
  123. set .Round,0;
  124. set .WikiStatus,1;
  125.  
  126. OnStart:
  127. sleep2 5000;
  128. set .Round,.Round + 1;
  129. if( .Round > $WikiRound ){
  130. mapannounce .Map$,"Monster Wiki Event has Ended. Thank for Participate in this Event.",bc_map,0x7766EE;
  131. set .WikiStatus,0;
  132. sleep2 5000;
  133. //mapwarp .Map$,"prontera",155,171;
  134. setnpcdisplay( strnpcinfo(0),rand( 436,439 ) );
  135. }else{
  136. npctalk "Round [ "+.Round+" ] within 5 Seconds.";
  137. sleep2 5000;
  138. do{
  139. set .MonsterID,rand( 1001,2380 );
  140. }while( getmonsterinfo( .MonsterID,0 ) == "null" || getmonsterinfo( .MonsterID,0 ) == "" || getmonsterinfo( .MonsterID,1 ) == -1 );
  141. set .Mode,rand(5);
  142. switch( .Mode ){
  143. Case 0: set .Answer$, getmonsterinfo( .MonsterID,0 ); break; // Name
  144. Case 1: set .Answer$, getmonsterinfo( .MonsterID,1 ); break; // Level
  145. Case 2: set .Answer$, .Size$[ getmonsterinfo( .MonsterID,18 ) ]; break; // Size
  146. Case 3: set .Answer$, .Race$[ getmonsterinfo( .MonsterID,19 ) ]; break; // Race
  147. Case 4: set .Answer$, .Element$[ getmonsterinfo( .MonsterID,20 ) ]; break; // Element
  148. }
  149. setnpcdisplay( strnpcinfo(0),.MonsterID );
  150. npctalk "Click me to view the Question of this Round..";
  151. initnpctimer;
  152. }
  153. end;
  154.  
  155. OnTimer10000:
  156. npctalk "20 Seconds to go...";
  157. end;
  158.  
  159. OnTimer20000:
  160. npctalk "10 Seconds to go...";
  161. end;
  162.  
  163. OnTimer30000:
  164. mapannounce .Map$,"Time's Up. All Failed in this Round.",bc_map,0x00FF00;
  165. donpcevent strnpcinfo(0)+"::OnStart";
  166. set .MonsterID,0;
  167. stopnpctimer;
  168. end;
  169.  
  170. OnInit:
  171. OnWhisperGlobal:
  172. set .Map$,"prontera";
  173. setarray .Size$[0],"Small","Medium","Large";
  174. setarray .Race$[0],"Formless","Undead","Brute","Plant","Insect","Fish","Demon","Demi Human","Angel","Dragon";
  175. setarray .Element$[0],"Neutral","Water","Earth","Fire","Wind","Poison","Holy","Dark","Spirit","Undead";
  176. end;
  177.  
  178.  
  179. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment