Advertisement
Guest User

Untitled

a guest
Dec 9th, 2023
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.69 KB | None | 0 0
  1. class 1 daily_quest_npc : citizen
  2. {
  3. handler:
  4. EventHandler TALK_SELECTED( fhtml0, talker )
  5. {
  6. if( _from_choice == 0 )
  7. {
  8. if( myself::HaveMemo( talker, 619 ) == 0 && talker.level >= 74 )
  9. {
  10. _choiceN = _choiceN + 1;
  11. _code = 0;
  12. myself::AddChoice( 0, "Relics of the Old Empire" );
  13. }
  14. if( myself::HaveMemo( talker, 619 ) == 0 && talker.level < 74 )
  15. {
  16. _choiceN = _choiceN + 1;
  17. _code = 1;
  18. myself::AddChoice( 1, "Relics of the Old Empire" );
  19. }
  20. if( myself::HaveMemo( talker, 619 ) == 1 )
  21. {
  22. _choiceN = _choiceN + 1;
  23. _code = 2;
  24. myself::AddChoice( 2, "Relics of the Old Empire (Continue)" );
  25. }
  26. if( myself::HaveMemo( talker, 14 ) == 1 &&
  27. ( ( 1 == 1 &&
  28. myself::OwnItemCount( talker, @q_letter_to_explorer ) >= 1 ) ||
  29. 1 == 0 ) &&
  30. myself::GetOneTimeQuestFlag( talker, 14 ) == 0 &&
  31. myself::GetMemoState( talker, 14 ) == 1 * 10 + 1 )
  32. {
  33. _choiceN = _choiceN + 1;
  34. _code = 3;
  35. myself::AddChoice( 3, "Whereabouts of the Archaeologist (Continue)" );
  36. }
  37. if( _choiceN > 1 )
  38. {
  39. myself::ShowChoicePage( talker, 1 );
  40. return;
  41. }
  42. }
  43. if( _from_choice || _choiceN == 1 )
  44. {
  45. switch( _code )
  46. {
  47. case 0:
  48. {
  49. if( _from_choice == 0 ||
  50. ( myself::HaveMemo( talker, 619 ) == 0 && talker.level >= 74 ) )
  51. {
  52. myself::SetCurrentQuestID( 619 );
  53. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  54. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  55. {
  56. myself::ShowSystemMessage( talker, 1118 );
  57. return;
  58. }
  59. if( myself::GetMemoCount( talker ) < 26 )
  60. {
  61. myself::FHTML_SetFileName( fhtml0, "explorer_ghost_a_q0619_01.htm" );
  62. myself::FHTML_SetInt( fhtml0, "quest_id", 619 );
  63. myself::ShowFHTML( talker, fhtml0 );
  64. }
  65. else
  66. {
  67. myself::ShowPage( talker, "fullquest.htm" );
  68. }
  69. }
  70. break;
  71. }
  72. case 1:
  73. {
  74. if( _from_choice == 0 ||
  75. ( myself::HaveMemo( talker, 619 ) == 0 && talker.level < 74 ) )
  76. {
  77. myself::SetCurrentQuestID( 619 );
  78. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  79. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  80. {
  81. myself::ShowSystemMessage( talker, 1118 );
  82. return;
  83. }
  84. myself::ShowPage( talker, "explorer_ghost_a_q0619_02.htm" );
  85. }
  86. break;
  87. }
  88. case 2:
  89. {
  90. if( _from_choice == 0 || myself::HaveMemo( talker, 619 ) == 1 )
  91. {
  92. myself::SetCurrentQuestID( 619 );
  93. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  94. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  95. {
  96. myself::ShowSystemMessage( talker, 1118 );
  97. return;
  98. }
  99. if( myself::OwnItemCount( talker, @q_broken_antiques ) >= 1000 &&
  100. myself::OwnItemCount( talker, @q_adm_to_grave ) >= 1 )
  101. {
  102. myself::ShowPage( talker, "explorer_ghost_a_q0619_04.htm" );
  103. }
  104. if( myself::OwnItemCount( talker, @q_broken_antiques ) >= 1000 &&
  105. myself::OwnItemCount( talker, @q_adm_to_grave ) == 0 )
  106. {
  107. myself::ShowPage( talker, "explorer_ghost_a_q0619_05.htm" );
  108. }
  109. if( myself::OwnItemCount( talker, @q_broken_antiques ) < 1000 &&
  110. myself::OwnItemCount( talker, @q_adm_to_grave ) >= 1 )
  111. {
  112. myself::ShowPage( talker, "explorer_ghost_a_q0619_06.htm" );
  113. }
  114. if( myself::OwnItemCount( talker, @q_broken_antiques ) < 1000 &&
  115. myself::OwnItemCount( talker, @q_adm_to_grave ) == 0 )
  116. {
  117. myself::ShowPage( talker, "explorer_ghost_a_q0619_07.htm" );
  118. }
  119. }
  120. break;
  121. }
  122. case 3:
  123. {
  124. if( _from_choice == 0 ||
  125. ( myself::HaveMemo( talker, 14 ) == 1 &&
  126. ( ( 1 == 1 &&
  127. myself::OwnItemCount( talker, @q_letter_to_explorer ) >= 1 ) ||
  128. 1 == 0 ) &&
  129. myself::GetOneTimeQuestFlag( talker, 14 ) == 0 &&
  130. myself::GetMemoState( talker, 14 ) == 1 * 10 + 1 ) )
  131. {
  132. myself::SetCurrentQuestID( 14 );
  133. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  134. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  135. {
  136. myself::ShowSystemMessage( talker, 1118 );
  137. return;
  138. }
  139. myself::SetHTMLCookie( talker, 14, 1 );
  140. myself::ShowPage( talker, "explorer_ghost_a_q0014_0101.htm" );
  141. }
  142. break;
  143. }
  144. }
  145. return;
  146. }
  147. super;
  148. }
  149.  
  150. EventHandler QUEST_ACCEPTED( quest_id, talker )
  151. {
  152. if( quest_id == 619 )
  153. {
  154. myself::SetCurrentQuestID( 619 );
  155. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  156. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  157. {
  158. myself::ShowSystemMessage( talker, 1118 );
  159. return;
  160. }
  161. if( myself::GetCurrentTick() - talker.quest_last_reward_time > 1 )
  162. {
  163. talker.quest_last_reward_time = myself::GetCurrentTick();
  164. myself::SetMemo( talker, quest_id );
  165. myself::SoundEffect( talker, "ItemSound.quest_accept" );
  166. myself::ShowPage( talker, "explorer_ghost_a_q0619_03.htm" );
  167. myself::AddLog( 1, talker, quest_id );
  168. }
  169. return;
  170. }
  171. super;
  172. }
  173.  
  174. EventHandler MENU_SELECTED( ask, i0, i1, quest_id, reply, talker )
  175. {
  176. if( ask == 619 )
  177. {
  178. myself::SetCurrentQuestID( 619 );
  179. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  180. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  181. {
  182. myself::ShowSystemMessage( talker, 1118 );
  183. return;
  184. }
  185. }
  186. if( ask == 619 )
  187. {
  188. if( reply == 1 )
  189. {
  190. myself::ShowPage( talker, "explorer_ghost_a_q0619_08.htm" );
  191. }
  192. if( reply == 3 )
  193. {
  194. if( myself::OwnItemCount( talker, @q_broken_antiques ) >= 1000 )
  195. {
  196. if( myself::GetCurrentTick() - talker.quest_last_reward_time > 1 )
  197. {
  198. talker.quest_last_reward_time = myself::GetCurrentTick();
  199. i0 = gg::Rand( 10 );
  200. if( i0 == 0 )
  201. {
  202. myself::GiveItem1( talker, @rp_forgotten_blade_i, 1 );
  203. }
  204. else if( i0 == 1 )
  205. {
  206. myself::GiveItem1( talker, @rp_basalt_battlehammer_i, 1 );
  207. }
  208. else if( i0 == 2 )
  209. {
  210. myself::GiveItem1( talker, @rp_imperial_staff_i, 1 );
  211. }
  212. else if( i0 == 3 )
  213. {
  214. myself::GiveItem1( talker, @rp_angel_slayer_i, 1 );
  215. }
  216. else if( i0 == 4 )
  217. {
  218. myself::GiveItem1( talker, @rp_draconic_bow_i, 1 );
  219. }
  220. else if( i0 == 5 )
  221. {
  222. myself::GiveItem1( talker, @rp_dragon_hunter_axe_i, 1 );
  223. }
  224. else if( i0 == 6 )
  225. {
  226. myself::GiveItem1( talker, @rp_saint_spear_i, 1 );
  227. }
  228. else if( i0 == 7 )
  229. {
  230. myself::GiveItem1( talker, @rp_demon_splinter_i, 1 );
  231. }
  232. else if( i0 == 8 )
  233. {
  234. myself::GiveItem1( talker, @rp_heavens_divider_i, 1 );
  235. }
  236. else if( i0 == 9 )
  237. {
  238. myself::GiveItem1( talker, @rp_arcana_mace_i, 1 );
  239. }
  240. myself::DeleteItem1( talker, @q_broken_antiques, 1000 );
  241. myself::ShowPage( talker, "explorer_ghost_a_q0619_09.htm" );
  242. myself::AddLog( 3, talker, 619 );
  243. }
  244. }
  245. }
  246. if( reply == 4 )
  247. {
  248. myself::DeleteItem1( talker, @q_broken_antiques,
  249. myself::OwnItemCount( talker, @q_broken_antiques ) );
  250. myself::RemoveMemo( talker, 619 );
  251. myself::SoundEffect( talker, "ItemSound.quest_finish" );
  252. myself::ShowPage( talker, "explorer_ghost_a_q0619_10.htm" );
  253. myself::AddLog( 2, talker, 619 );
  254. }
  255. }
  256. if( ask == 14 )
  257. {
  258. myself::SetCurrentQuestID( 14 );
  259. if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
  260. myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
  261. {
  262. myself::ShowSystemMessage( talker, 1118 );
  263. return;
  264. }
  265. }
  266. if( ask == 14 && myself::GetOneTimeQuestFlag( talker, 14 ) == 0 )
  267. {
  268. i0 = myself::GetHTMLCookie( talker, 14, 2 - 1 );
  269. if( i0 != -1 )
  270. {
  271. if( reply == 3 && myself::HaveMemo( talker, 14 ) == 1 &&
  272. myself::GetOneTimeQuestFlag( talker, 14 ) == 0 )
  273. {
  274. if( ( ( 1 == 1 &&
  275. myself::OwnItemCount( talker, @q_letter_to_explorer ) >= 1 ) ||
  276. 1 == 0 ) &&
  277. ( ( 0 == 1 && myself::OwnItemCount( talker, 0 ) >= 0 ) ||
  278. 0 == 0 ) &&
  279. ( ( 0 == 1 && myself::OwnItemCount( talker, 0 ) >= 0 ) ||
  280. 0 == 0 ) )
  281. {
  282. if( myself::GetCurrentTick() - talker.quest_last_reward_time > 1 )
  283. {
  284. talker.quest_last_reward_time = myself::GetCurrentTick();
  285. myself::DeleteItem1( talker, @q_letter_to_explorer,
  286. myself::OwnItemCount( talker, @q_letter_to_explorer ) );
  287. myself::DeleteItem1( talker, 0,
  288. myself::OwnItemCount( talker, 0 ) );
  289. myself::DeleteItem1( talker, 0,
  290. myself::OwnItemCount( talker, 0 ) );
  291. if( 1 == 1 )
  292. {
  293. myself::GiveItem1( talker, @adena, 113228 );
  294. }
  295. if( 0 == 1 )
  296. {
  297. myself::GiveItem1( talker, 0, 0 );
  298. }
  299. if( 0 == 1 )
  300. {
  301. myself::GiveItem1( talker, 0, 0 );
  302. }
  303. if( 0 > 0 )
  304. {
  305. myself::IncrementParam( talker, 0, 0 );
  306. }
  307. if( 0 > 0 )
  308. {
  309. myself::IncrementParam( talker, 1, 0 );
  310. }
  311. }
  312. myself::AddLog( 2, talker, 14 );
  313. myself::RemoveMemo( talker, 14 );
  314. myself::SetOneTimeQuestFlag( talker, 14, 1 );
  315. myself::SoundEffect( talker, "ItemSound.quest_finish" );
  316. myself::ShowPage( talker, "explorer_ghost_a_q0014_0201.htm" );
  317. }
  318. else
  319. {
  320. myself::ShowPage( talker, "explorer_ghost_a_q0014_0202.htm" );
  321. }
  322. }
  323. }
  324. }
  325. super;
  326. }
  327. }
  328.  
  329. class_end
  330.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement