Advertisement
rothsen123

RO Job

Mar 16th, 2016
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.35 KB | None | 0 0
  1. prontera,150,150,5 script Instant Job 819,{
  2. OnPCLoginEvent:
  3.  
  4. // -- Configuration Option
  5. set .npcname$,"[ ^0000FF Class Helper ^000000 ]";
  6. set .InfoMenu,1; // Classes Informations Option [ 0 - Disable / 1 - Enable ]
  7. set .1stClassMenu,1; // First Job Class Option [ 0 - Disable / 1 - Enable ]
  8. set .2ndClassMenu,1; // Second Job Class Option [ 0 - Disable / 1 - Enable ]
  9. set .High1stClassMenu,1; // High 1st Class Option [ 0 - Disable / 1 - Enable ]
  10. set .Trans2ndClassMenu,1; // Transcendent Class Option [ 0 - Disable / 1 - Enable ]
  11. set .Trans3rdClassMenu,1; // Third Job Class Option [ 0 - Disable / 1 - Enable ]
  12. set .ExpandedClassMenu,1; // Expanded Class Option [ 0 - Disable / 1 - Enable ]
  13. set .BabyClassMenu,1; // Baby Job Class Option [ 0 - Disable / 1 - Enable ]
  14. set .Baby3rdClassMenu,1; // Baby Third Job Class Option [ 0 - Disable / 1 - Enable ]
  15. set .Allskills,1; // Complete Skills Option [ 0 - Disable / 1 - Enable ]
  16.  
  17. // -- Usable for Only 1 Time
  18. set .Based,1; // [ 0 - Account Based / 1 - Character Based ]
  19.  
  20.  
  21. if( ClassHelper == 1 || #ClassHelper == 1 ) end;
  22.  
  23. Main_Menu:
  24. mes .npcname$;
  25. mes "I am the Job Class Helper...";
  26. mes "I am here to help you.";
  27. mes " ^FF0000________________________________^000000";
  28. mes "Do you wish to become Stronger ?";
  29. mes " ^FF0000________________________________^000000";
  30. next;
  31. mes .npcname$;
  32. mes "Do you admire those who have a great power ? Do you wish to become a part of them ? If yes , then which classes that you admire the most ?";
  33. next;
  34. switch(select(( .InfoMenu == 0 )?"":"^4EEE94Classes Information^000000",
  35. ( .1stClassMenu == 0 )?"":"^0000FFFirst Job Classes^000000",
  36. ( .2ndClassMenu == 0 )?"":"^0000FFSecond Job Classes^000000",
  37. ( .High1stClassMenu == 0 )?"":"^0000FFHigh First Job Classes^000000",
  38. ( .Trans2ndClassMenu == 0 )?"":"^0000FFTranscendent Job Classes^000000",
  39. ( .Trans3rdClassMenu == 0 )?"":"^0000FFThird Job Classes^000000",
  40. ( .ExpandedClassMenu == 0 )?"":"^0000FFExpanded Job Classes^000000",
  41. ( .BabyClassMenu == 0 )?"":"^0000FFBaby Normal Job Classes^000000",
  42. ( .Baby3rdClassMenu == 0 )?"":"^0000FFBaby Third Job Classes^000000",
  43. "^FF0000Sorry, i admire nobody....^000000")) {
  44.  
  45. case 1: goto Classes_info;
  46. case 2: goto FirstJob_Classes;
  47. case 3: goto SecondJob_Classes;
  48. case 4: goto HighFirstJob_Classes;
  49. case 5: goto TransSecondJob_Classes;
  50. case 6: goto TransThirdJob_Classes;
  51. case 7: goto ExpandedJob_Classes;
  52. case 8: goto BabyJob_Classes;
  53. case 9: goto BabyThirdJob_Classes;
  54. case 10:
  55. if ( .Based == 0 ){ set #ClassHelper,1; }
  56. if ( .Based == 1 ){ set ClassHelper,1; }
  57. close;
  58. }
  59.  
  60. FirstJob_Classes:
  61. mes .npcname$;
  62. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  63. next;
  64. switch(select("^76EE00Swordman^000000",
  65. "^76EE00Magician^000000",
  66. "^76EE00Archer^000000",
  67. "^76EE00Acolyte^000000",
  68. "^76EE00Merchant^000000",
  69. "^76EE00Thief^000000",
  70. "^FF0000Back^000000")) {
  71.  
  72. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  73.  
  74. case 1: callsub Job_Changing,1,99,50,60,"All";
  75. case 2: callsub Job_Changing,2,99,50,60,"All";
  76. case 3: callsub Job_Changing,3,99,50,60,"All";
  77. case 4: callsub Job_Changing,4,99,50,60,"All";
  78. case 5: callsub Job_Changing,5,99,50,60,"All";
  79. case 6: callsub Job_Changing,6,99,50,60,"All";
  80. case 7: goto Main_Menu;
  81. }
  82.  
  83. HighFirstJob_Classes:
  84. mes .npcname$;
  85. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  86. next;
  87. switch(select("^76EE00High Swordman^000000",
  88. "^76EE00High Magician^000000",
  89. "^76EE00High Archer^000000",
  90. "^76EE00High Acolyte^000000",
  91. "^76EE00High Merchant^000000",
  92. "^76EE00High Thief^000000",
  93. "^FF0000Back^000000")) {
  94.  
  95. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  96.  
  97. case 1: callsub Job_Changing,4002,99,50,60,"All";
  98. case 2: callsub Job_Changing,4003,99,50,60,"All";
  99. case 3: callsub Job_Changing,4004,99,50,60,"All";
  100. case 4: callsub Job_Changing,4005,99,50,60,"All";
  101. case 5: callsub Job_Changing,4006,99,50,60,"All";
  102. case 6: callsub Job_Changing,4007,99,50,60,"All";
  103. case 7: goto Main_Menu;
  104. }
  105.  
  106. SecondJob_Classes:
  107. mes .npcname$;
  108. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  109. next;
  110. switch(select("^76EE00Knight^000000",
  111. "^76EE00Priest^000000",
  112. "^76EE00Wizard^000000",
  113. "^76EE00Blacksmith^000000",
  114. "^76EE00Hunter^000000",
  115. "^76EE00Assassin^000000",
  116. "^76EE00Crusader^000000",
  117. "^76EE00Monk^000000",
  118. "^76EE00Sage^000000",
  119. "^76EE00Rogue^000000",
  120. "^76EE00Alchemist^000000",
  121. ( Sex == 0 )?"":"^76EE00Dancer^000000",
  122. ( Sex == 1 )?"":"^76EE00Bard^000000",
  123. "^FF0000Back^000000")) {
  124.  
  125. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  126.  
  127. case 1: callsub Job_Changing,7,99,50,110,"All";
  128. case 2: callsub Job_Changing,8,99,50,110,"All";
  129. case 3: callsub Job_Changing,9,99,50,110,"All";
  130. case 4: callsub Job_Changing,10,99,50,110,"All";
  131. case 5: callsub Job_Changing,11,99,50,110,"All";
  132. case 6: callsub Job_Changing,12,99,50,110,"All";
  133. case 7: callsub Job_Changing,14,99,50,110,"All";
  134. case 8: callsub Job_Changing,15,99,50,110,"All";
  135. case 9: callsub Job_Changing,16,99,50,110,"All";
  136. case 10: callsub Job_Changing,17,99,50,110,"All";
  137. case 11: callsub Job_Changing,18,99,50,110,"All";
  138. case 12: callsub Job_Changing,20,99,50,110,"All";
  139. case 13: callsub Job_Changing,19,99,50,110,"All";
  140. case 14: goto Main_Menu;
  141. }
  142.  
  143. TransSecondJob_Classes:
  144. mes .npcname$;
  145. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  146. next;
  147. switch(select("^76EE00Lord Knight^000000",
  148. "^76EE00High Priest^000000",
  149. "^76EE00High Wizard^000000",
  150. "^76EE00Whitesmith^000000",
  151. "^76EE00Sniper^000000",
  152. "^76EE00Assassin Cross^000000",
  153. "^76EE00Paladin^000000",
  154. "^76EE00Champion^000000",
  155. "^76EE00Professor^000000",
  156. "^76EE00Stalker^000000",
  157. "^76EE00Creator^000000",
  158. ( Sex == 0 )?"":"^76EE00Gypsy^000000",
  159. ( Sex == 1 )?"":"^76EE00Clowm^000000",
  160. "^FF0000Back^000000")) {
  161.  
  162. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  163.  
  164. case 1: callsub Job_Changing,4008,99,70,130,"All";
  165. case 2: callsub Job_Changing,4009,99,70,130,"All";
  166. case 3: callsub Job_Changing,4010,99,70,130,"All";
  167. case 4: callsub Job_Changing,4011,99,70,130,"All";
  168. case 5: callsub Job_Changing,4012,99,70,130,"All";
  169. case 6: callsub Job_Changing,4013,99,70,130,"All";
  170. case 7: callsub Job_Changing,4015,99,70,130,"All";
  171. case 8: callsub Job_Changing,4016,99,70,130,"All";
  172. case 9: callsub Job_Changing,4017,99,70,130,"All";
  173. case 10: callsub Job_Changing,4018,99,70,130,"All";
  174. case 11: callsub Job_Changing,4019,99,70,130,"All";
  175. case 12: callsub Job_Changing,4021,99,70,130,"All";
  176. case 13: callsub Job_Changing,4020,99,70,130,"All";
  177. case 14: goto Main_Menu;
  178. }
  179.  
  180. TransThirdJob_Classes:
  181. mes .npcname$;
  182. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  183. next;
  184. switch(select("^76EE00Rune Knight^000000",
  185. "^76EE00Warlock^000000",
  186. "^76EE00Ranger^000000",
  187. "^76EE00Arch Bishop^000000",
  188. "^76EE00Mechanic^000000",
  189. "^76EE00Guillotine Cross^000000",
  190. "^76EE00Royal Guard^000000",
  191. "^76EE00Sorcerer^000000",
  192. ( Sex == 0 )?"":"^76EE00Wanderer^000000",
  193. ( Sex == 1 )?"":"^76EE00Minstrel^000000",
  194. "^76EE00Shura^000000",
  195. "^76EE00Genetic^000000",
  196. "^76EE00Shadow Chaser^000000",
  197. "^FF0000Back^000000")) {
  198.  
  199. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  200.  
  201. case 1: callsub Job_Changing,4060,99,70,200,"All";
  202. case 2: callsub Job_Changing,4061,99,70,200,"All";
  203. case 3: callsub Job_Changing,4062,99,70,200,"All";
  204. case 4: callsub Job_Changing,4063,99,70,200,"All";
  205. case 5: callsub Job_Changing,4064,99,70,200,"All";
  206. case 6: callsub Job_Changing,4065,99,70,200,"All";
  207. case 7: callsub Job_Changing,4073,99,70,200,"All";
  208. case 8: callsub Job_Changing,4074,99,70,200,"All";
  209. case 9: callsub Job_Changing,4076,99,70,200,"All";
  210. case 10: callsub Job_Changing,4075,70,70,200,"All";
  211. case 11: callsub Job_Changing,4077,70,70,200,"All";
  212. case 12: callsub Job_Changing,4078,70,70,200,"All";
  213. case 13: callsub Job_Changing,4079,70,70,200,"All";
  214. case 14: goto Main_Menu;
  215. }
  216.  
  217. ExpandedJob_Classes:
  218. mes .npcname$;
  219. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  220. next;
  221. switch(select("^76EE00Super Novice^000000",
  222. "^76EE00Gunslinger^000000",
  223. "^76EE00Ninja^000000",
  224. "^76EE00Takewon^000000",
  225. "^76EE00Star Gladiator^000000",
  226. "^76EE00Soul Linker^000000",
  227. "^FF0000Back^000000")) {
  228.  
  229. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  230.  
  231. case 1: callsub Job_Changing,23,99,99,110,"All";
  232. case 2: callsub Job_Changing,24,99,50,600,"All";
  233. case 3: callsub Job_Changing,25,99,50,60,"All";
  234. case 4: callsub Job_Changing,4046,99,50,60,"All";
  235. case 5: callsub Job_Changing,4047,99,50,110,"All";
  236. case 6: callsub Job_Changing,4049,99,50,110,"All";
  237. case 7: goto Main_Menu;
  238. }
  239.  
  240. BabyJob_Classes:
  241. mes .npcname$;
  242. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  243. next;
  244. switch(select("^76EE00Baby Swordman^000000",
  245. "^76EE00Baby Magician^000000",
  246. "^76EE00Baby Archer^000000",
  247. "^76EE00Baby Acolyte^000000",
  248. "^76EE00Baby Merchant^000000",
  249. "^76EE00Baby Thief^000000",
  250. "^76EE00Baby Knight^000000",
  251. "^76EE00Baby Priest^000000",
  252. "^76EE00Baby Wizard^000000",
  253. "^76EE00Baby Blacksmith^000000",
  254. "^76EE00Baby Hunter^000000",
  255. "^76EE00Baby Assassin^000000",
  256. "^76EE00Baby Crusader^000000",
  257. "^76EE00Baby Monk^000000",
  258. "^76EE00Baby Sage^000000",
  259. "^76EE00Baby Rogue^000000",
  260. "^76EE00Baby Alchemist^000000",
  261. ( Sex == 0 )?"":"^76EE00Baby Dancer^000000",
  262. ( Sex == 1 )?"":"^76EE00Baby Bard^000000",
  263. "^76EE00Baby Baby^000000",
  264. "^FF0000Back^000000")) {
  265.  
  266. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  267.  
  268. case 1: callsub Job_Changing,4024,99,50,60,"All";
  269. case 2: callsub Job_Changing,4025,99,50,60,"All";
  270. case 3: callsub Job_Changing,4026,99,50,60,"All";
  271. case 4: callsub Job_Changing,4027,99,50,60,"All";
  272. case 5: callsub Job_Changing,4028,99,50,60,"All";
  273. case 6: callsub Job_Changing,4029,99,50,60,"All";
  274. case 7: callsub Job_Changing,4030,99,50,110,"All";
  275. case 8: callsub Job_Changing,4031,99,50,110,"All";
  276. case 9: callsub Job_Changing,4032,99,50,110,"All";
  277. case 10: callsub Job_Changing,4033,99,50,110,"All";
  278. case 11: callsub Job_Changing,4034,99,50,110,"All";
  279. case 12: callsub Job_Changing,4035,99,50,110,"All";
  280. case 13: callsub Job_Changing,4037,99,50,110,"All";
  281. case 14: callsub Job_Changing,4038,99,50,110,"All";
  282. case 15: callsub Job_Changing,4039,99,50,110,"All";
  283. case 16: callsub Job_Changing,4040,99,50,110,"All";
  284. case 17: callsub Job_Changing,4041,99,50,110,"All";
  285. case 18: callsub Job_Changing,4043,99,50,110,"All";
  286. case 19: callsub Job_Changing,4042,99,50,110,"All";
  287. case 20: callsub Job_Changing,4045,99,50,110,"All";
  288. case 21: goto Main_Menu;
  289. }
  290.  
  291. BabyThirdJob_Classes:
  292. mes .npcname$;
  293. mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
  294. next;
  295. switch(select("^76EE00Baby Rune Knight^000000",
  296. "^76EE00Baby Warlock^000000",
  297. "^76EE00Baby Ranger^000000",
  298. "^76EE00Baby Arch Bishop^000000",
  299. "^76EE00Baby Mechanic^000000",
  300. "^76EE00Baby Guillotine Cross^000000",
  301. "^76EE00Baby Royal Guard^000000",
  302. "^76EE00Baby Sorcerer^000000",
  303. ( Sex == 0 )?"":"^76EE00Baby Wanderer^000000",
  304. ( Sex == 1 )?"":"^76EE00Baby Minstrel^000000",
  305. "^76EE00Baby Shura^000000",
  306. "^76EE00Baby Genetic^000000",
  307. "^76EE00Baby Shadow Chaser^000000",
  308. "^FF0000Back^000000")) {
  309.  
  310. // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
  311.  
  312. case 1: callsub Job_Changing,4096,99,70,200,"All";
  313. case 2: callsub Job_Changing,4097,99,70,200,"All";
  314. case 3: callsub Job_Changing,4098,99,70,200,"All";
  315. case 4: callsub Job_Changing,4099,99,70,200,"All";
  316. case 5: callsub Job_Changing,4100,99,70,200,"All";
  317. case 6: callsub Job_Changing,4101,99,70,200,"All";
  318. case 7: callsub Job_Changing,4102,99,70,200,"All";
  319. case 8: callsub Job_Changing,4103,99,70,200,"All";
  320. case 9: callsub Job_Changing,4105,99,70,200,"All";
  321. case 10: callsub Job_Changing,4104,99,70,200,"All";
  322. case 11: callsub Job_Changing,4106,99,70,200,"All";
  323. case 12: callsub Job_Changing,4107,99,70,200,"All";
  324. case 13: callsub Job_Changing,4108,99,70,200,"All";
  325. case 14: goto Main_Menu;
  326. }
  327.  
  328. Job_Changing:
  329. mes .npcname$;
  330. mes "You are now a part of ^FF0000"+jobname(getarg(0))+"^000000.";
  331. if (compare(getarg(4),"All")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_all,0x76EE00; }
  332. if (compare(getarg(4),"Map")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_map,0x76EE00; }
  333. if (compare(getarg(4),"Area")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_area,0x76EE00; }
  334. if (compare(getarg(4),"Self")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_self,0x76EE00; }
  335. jobchange getarg(0);
  336. set BaseLevel,getarg(1);
  337. set JobLevel,getarg(2);
  338. resetskill;
  339. resetstatus;
  340. set SkillPoint,getarg(3);
  341. if ( .Allskills == 1 ){
  342. atcommand "@allskills";
  343. set SkillPoint,0;
  344. }
  345. percentheal 100,100;
  346. if ( .Based == 0 ){ set #ClassHelper,1; }
  347. if ( .Based == 1 ){ set ClassHelper,1; }
  348. getitem 503,10;
  349. close;
  350.  
  351. Classes_info:
  352. mes .npcname$;
  353. mes "=====[^76EE00 Swordman Classes ^000000]=====";
  354. mes " ^FF0000________________________________^000000";
  355. mes "^4EEE94Description :^000000";
  356. mes "Enthusiastic skills in sword fighting is a definite attraction to all teenagers. Easy to control and master character enables most players to be a great player.";
  357. mes " ^FF0000________________________________^000000";
  358. next;
  359. mes .npcname$;
  360. mes "=====[^76EE00 Archer Classes ^000000]=====";
  361. mes " ^FF0000________________________________^000000";
  362. mes "^4EEE94Description :^000000";
  363. mes "Long ranged attack ability and special techniques of archers in defeating enemy often lure players to try this.";
  364. mes " ^FF0000________________________________^000000";
  365. next;
  366. mes .npcname$;
  367. mes "=====[^76EE00 Mage Classes ^000000]=====";
  368. mes " ^FF0000________________________________^000000";
  369. mes "^4EEE94Description :^000000";
  370. mes "Fascinating element techniques involvement of nature in its abilities is truly amazing with their series of undefeatable magics.";
  371. mes " ^FF0000________________________________^000000";
  372. next;
  373. mes .npcname$;
  374. mes "=====[^76EE00 Thief Classes ^000000]=====";
  375. mes " ^FF0000________________________________^000000";
  376. mes "^4EEE94Description :^000000";
  377. mes "Poisoning and dodging abilities will defeat most of the enemy. Maximum defensive and offensive ability caused this character to fearsome one.";
  378. mes " ^FF0000________________________________^000000";
  379. next;
  380. mes .npcname$;
  381. mes "=====[^76EE00 Acolyte Classes ^000000]=====";
  382. mes " ^FF0000________________________________^000000";
  383. mes "^4EEE94Description :^000000";
  384. mes "A supportive character, most of the skills like helping will benefit to teammates who lead to teammates act like a terminator.";
  385. mes " ^FF0000________________________________^000000";
  386. next;
  387. mes .npcname$;
  388. mes "=====[^76EE00 Merchant Classes ^000000]=====";
  389. mes " ^FF0000________________________________^000000";
  390. mes "^4EEE94Description :^000000";
  391. mes "Involving communication with other players that emphasizes on battles, intelligence in business dealing. His versatility made him must not be look down.";
  392. mes " ^FF0000________________________________^000000";
  393. next;
  394. mes .npcname$;
  395. mes "=====[^76EE00 Super Novice ^000000]=====";
  396. mes " ^FF0000________________________________^000000";
  397. mes "^4EEE94Description :^000000";
  398. mes "A job who are Advanced after Novice Class. It look alike like a Novice but it is not. Beside that, it can learn most of the skills for all 1st Job Class.";
  399. mes " ^FF0000________________________________^000000";
  400. next;
  401. mes .npcname$;
  402. mes "=====[^76EE00 Gunslinger ^000000]=====";
  403. mes " ^FF0000________________________________^000000";
  404. mes "^4EEE94Description :^000000";
  405. mes "The only Job class in RO who are using Gun as weapon. If are you a Gun Lover , there is no doubt you will choose this Job.";
  406. mes " ^FF0000________________________________^000000";
  407. next;
  408. mes .npcname$;
  409. mes "=====[^76EE00 Ninja ^000000]=====";
  410. mes " ^FF0000________________________________^000000";
  411. mes "^4EEE94Description :^000000";
  412. mes "A mysterious Job Class , who alway processing Ancient Spells , look alike with Mage but not mage , good in PK , can evade very well during PK.";
  413. mes " ^FF0000________________________________^000000";
  414. next;
  415. mes .npcname$;
  416. mes "=====[^76EE00 Taekwon ^000000]=====";
  417. mes " ^FF0000________________________________^000000";
  418. mes "^4EEE94Description :^000000";
  419. mes "Just like the name has mentioned. The only class in RO who are not using any Weapon. Attack enemy using barehand and foots. ";
  420. mes " ^FF0000________________________________^000000";
  421. next;
  422. mes .npcname$;
  423. mes "=====[^76EE00 Star Gladiator ^000000]=====";
  424. mes " ^FF0000________________________________^000000";
  425. mes "^4EEE94Description :^000000";
  426. mes "A class who can use the power of the Sun / Star / Moon. By processing the power of Universe to gain a stronger Power.";
  427. mes " ^FF0000________________________________^000000";
  428. next;
  429. mes .npcname$;
  430. mes "=====[^76EE00 Soul Linker ^000000]=====";
  431. mes " ^FF0000________________________________^000000";
  432. mes "^4EEE94Description :^000000";
  433. mes "Class that work like a Shaman, who able to recalling the soul of the dead from the underworld to Boost other class ability.";
  434. mes " ^FF0000________________________________^000000";
  435. next;
  436. goto Main_Menu;
  437.  
  438. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement