Advertisement
MizeboxBR

Mestra Classe custom

Nov 24th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.82 KB | None | 0 0
  1. //===== Cronus Script ========================================
  2. //= Mestra das Classes
  3. //===== Por: =================================================
  4. //= Reply.
  5. //===== Versão: ==============================================
  6. //= 1.4
  7. //===== Descrição: ===========================================
  8. //= Muda a classe do personagem.
  9. //===== Changelog: ===========================================
  10. //= 1.0 - NPC Criado. [Reply.]
  11. //= 1.1 - Corrigido alguns erros. [Reply.]
  12. //= 1.2 - Corrigido a checagem de job para Baby Aprendiz. [RoM]
  13. //= - Corrigido onde mostra o nome na função.
  14. //= 1.3 - Adicionada uma verificação de peso ao rebornar para não perder itens. [RoM]
  15. //= 1.3a - Algumas correções de gramática. [Puncker]
  16. //= 1.3b - Uma pequena correção. [RoM]
  17. //= 1.3c - Corrigido erro de "Frase desnecessária" [Heaven]
  18. //= 1.3d - Não há necessidade de usar uma variável no nome do npc, retirado. [Mooka]
  19. //= 1.3e - Corrição no if() da função checkconditions(), problema com classes baby. [Mooka]
  20. //= 1.3f - Removido show [Keoy]
  21. //= 1.4 - Refeito NPC. [Mara]
  22. //============================================================
  23. prontera,153,193,4 script Mestra das Classes 4_F_OPERATION,{
  24.  
  25. mes "[^0099FF Mestra das Classes ^000000]";
  26. callfunc "checkconditions";
  27. if(!Class)
  28. {
  29. mes "Olá "+strcharinfo(0)+".";
  30. mes "Por favor, escolha qual profissão deseja seguir.";
  31. switch(select("• Espadachim","• Mago","• Arqueiro","• Noviço","• Mercador","• Gatuno","• Super Aprendiz","• Taekwon","• Justiceiro","• Ninja","• Bebê Aprendiz"))
  32. {
  33. default:
  34. callfunc "nextmesname";
  35. switch (@menu)
  36. {
  37. case 1: callfunc "changejob",@menu, 1105,1, 2328,1,30056,5;
  38. case 2: callfunc "changejob",@menu, 1608,1, 2305,1,30056,5;
  39. case 3: callfunc "changejob",@menu, 1705,1, 1750,1, 2307,1,30056,5;
  40. case 4: callfunc "changejob",@menu, 1505,1, 2305,1,30056,5;
  41. case 5: callfunc "changejob",@menu, 1302,1, 2303,1,30056,5;
  42. case 6: callfunc "changejob",@menu, 1208,1, 2303,1,30056,5;
  43. }
  44. break;
  45. case 7:
  46. if(BaseLevel < 45)
  47. {
  48. next;
  49. mes "[^0099FF Mestra das Classes ^000000]";
  50. mes "Você não tem nível suficiente para mudar para Super Aprendiz.";
  51. close;
  52. }
  53. callfunc "nextmesname";
  54. callfunc "changejob",@menu + 16, 1245,1, 2339,1,30056,5;
  55. break;
  56. case 8:
  57. callfunc "nextmesname";
  58. callfunc "changejob",4046, 2303,1,30056,5;
  59. break;
  60. case 9:
  61. callfunc "nextmesname";
  62. callfunc "changejob",@menu + 15, 13100,1, 13200,1, 2307,1,30056,5;
  63.  
  64. case 10:
  65. callfunc "nextmesname";
  66. callfunc "changejob",@menu + 15, 1209,1, 2303,1, 13250,1,30056,5;
  67. break;
  68. case 11:
  69. mes "Olá "+strcharinfo(0)+".";
  70. mes "volte quando decidir qual classe baby deseja virar.";
  71. atcommand "@job 4023";
  72. close;
  73. }
  74. }
  75. else if((Class > 0) && (Class < 7) || (Class == 4046))
  76. {
  77. mes "Olá "+strcharinfo(0)+".";
  78. mes "Vejo que você voltou!";
  79. mes "E então, qual classe deseja seguir agora?";
  80. switch(Class)
  81. {
  82. case 1:
  83. if(select("Cavaleiro:Templário") == 1){
  84. callfunc "nextmesname";
  85. callfunc "changejob",7;
  86. }else{
  87. callfunc "nextmesname";
  88. callfunc "changejob",14;
  89. }
  90. break;
  91. case 2:
  92. if(select("Bruxo:Sábio") == 1){
  93. callfunc "nextmesname";
  94. callfunc "changejob",9;
  95. }else{
  96. callfunc "nextmesname";
  97. callfunc "changejob",16;
  98. }
  99. break;
  100. case 3:
  101. if(Sex){
  102. if(select("Caçador:Bardo") == 1){
  103. callfunc "nextmesname";
  104. callfunc "changejob",11;
  105. }else{
  106. callfunc "nextmesname";
  107. callfunc "changejob",19;
  108. }
  109. }else{
  110. if(select("Caçadora:Odalisca") == 1){
  111. callfunc "nextmesname";
  112. callfunc "changejob",11;
  113. }else{
  114. callfunc "nextmesname";
  115. callfunc "changejob",20;
  116. }
  117. break;
  118. }
  119. case 4:
  120. if(select("Sacerdote:Monge") == 1){
  121. callfunc "nextmesname";
  122. callfunc "changejob",8;
  123. }else{
  124. callfunc "nextmesname";
  125. callfunc "changejob",15;
  126. }
  127. break;
  128. case 5:
  129. if(select("Ferreiro:Alquimista") == 1){
  130. callfunc "nextmesname";
  131. callfunc "changejob",10;
  132. }else{
  133. callfunc "nextmesname";
  134. callfunc "changejob",18;
  135. }
  136. break;
  137. case 6:
  138. if(select("Mercenário:Arruaceiro") == 1){
  139. callfunc "nextmesname";
  140. callfunc "changejob",12;
  141. }else{
  142. callfunc "nextmesname";
  143. callfunc "changejob",17;
  144. }
  145. break;
  146. case 4046:
  147. if(select("Mestre Taekwon:Espiritualista") == 1){
  148. callfunc "nextmesname";
  149. callfunc "changejob",4047;
  150. }else{
  151. callfunc "nextmesname";
  152. callfunc "changejob",4049;
  153. }
  154. break;
  155. }
  156. }
  157. else if((Class > Job_Thief) && (Class < 22))
  158. {
  159. mes "Olá "+strcharinfo(0)+".";
  160. mes "Vejo que já está bem forte.";
  161. mes "Gostaria de renascer agora?";
  162. if(select("Sim:Não") == 2) close;
  163. next;
  164. mes "[^0099FF Mestra das Classes ^000000]";
  165. if(Weight >= 9675){
  166. mes "Você está acima do peso permitido, guarde alguns itens e volte mais tarde.";
  167. close;
  168. }
  169. set lastjob, Class;
  170. jobchange Job_Novice_High;
  171. resetlvl(1);
  172. mes "Certo, vai ganhar 100 pontos de atributos";
  173. mes "para lhe ajudar nessa nova jornada";
  174. mes "e mais algumas habilidades.";
  175. close;
  176. }
  177. else if(Class == Job_Novice_High)
  178. {
  179. switch(lastjob)
  180. {
  181. case 7:
  182. case 14:
  183. set @job, 4002;
  184. break;
  185. case 9:
  186. case 16:
  187. set @job, 4003;
  188. break;
  189. case 11:
  190. case 19:
  191. case 20:
  192. set @job, 4004;
  193. break;
  194. case 8:
  195. case 15:
  196. set @job, 4005;
  197. break;
  198. case 10:
  199. case 18:
  200. set @job, 4006;
  201. break;
  202. case 12:
  203. case 17:
  204. set @job, 4007;
  205. break;
  206. }
  207. mes "Olá "+strcharinfo(0)+".";
  208. mes "Que bom que já retornou.";
  209. mes "Deseja se tornar um "+jobname(@job)+"?";
  210. if(select("- Sim, claro:- Não, obrigado") == 2) close;
  211. next;
  212. jobchange @job;
  213. mes "[^0099FF Mestra das Classes ^000000]";
  214. mes "Parabéns "+strcharinfo(0)+".";
  215. close;
  216. }
  217. else if(Class > 4001 && Class < 4008)
  218. {
  219. mes "Olá "+strcharinfo(0)+".";
  220. mes "Que bom que já retornou.";
  221. set @job, lastjob + 4001;
  222. callfunc "nextmesname";
  223. callfunc "changejob", @job, 30050, (@job == 4012) ? 1 : 0, 30056,5, 2305,1;
  224. }
  225. else if(Class == 4023)
  226. {
  227. mes "Olá "+strcharinfo(0)+".";
  228. mes "Por favor, escolha qual profissão deseja seguir.";
  229. switch(select("Bebê Espadachim","Bebê Mago","Bebê Arqueiro","Bebê Noviço","Bebê Mercador","Bebê Gatuno","Super Bebê"))
  230. {
  231. default:
  232. callfunc "nextmesname";
  233. callfunc "changejob",@menu + 4023;
  234. break;
  235.  
  236. case 7:
  237. callfunc "nextmesname";
  238. callfunc "changejob", 4045;
  239. break;
  240. }
  241. }
  242. else if(Class > 4023 && Class < 4030)
  243. {
  244. mes "Olá "+strcharinfo(0)+".";
  245. mes "Vejo que você voltou!";
  246. mes "E então, qual classe deseja seguir agora?";
  247. switch(Class)
  248. {
  249. case 4024:
  250. if(select("Bebê Cavaleiro:Bebê Templário") == 1){
  251. callfunc "nextmesname";
  252. callfunc "changejob", 4030;
  253. }else{
  254. callfunc "nextmesname";
  255. callfunc "changejob", 4037;
  256. }
  257. break;
  258.  
  259. case 4025:
  260. if(select("Bebê Bruxo:Bêbe Sábio") == 1){
  261. callfunc "nextmesname";
  262. callfunc "changejob", 4032;
  263. }else{
  264. callfunc "nextmesname";
  265. callfunc "changejob", 4039;
  266. }
  267. break;
  268.  
  269. case 4026:
  270. if(Sex){
  271. if(select("Bebê Caçador:Bebê Bardo") == 1){
  272. callfunc "nextmesname";
  273. callfunc "changejob", 4034;
  274. }else{
  275. callfunc "nextmesname";
  276. callfunc "changejob", 4042;
  277. }
  278. }else{
  279. if(select("Bebê Caçador:Bebê Odalisca") == 1){
  280. callfunc "nextmesname";
  281. callfunc "changejob", 4034;
  282. }else{
  283. callfunc "nextmesname";
  284. callfunc "changejob", 4043;
  285. }
  286. break;
  287. }
  288.  
  289. case 4027:
  290. if(select("Bebê Sacerdote:Bebê Monge") == 1){
  291. callfunc "nextmesname";
  292. callfunc "changejob", 4031;
  293. }else{
  294. callfunc "nextmesname";
  295. callfunc "changejob", 4038;
  296. }
  297. break;
  298.  
  299. case 4028:
  300. if(select("Bebê Ferreiro:Bebê Alquimista") == 1){
  301. callfunc "nextmesname";
  302. callfunc "changejob", 4033;
  303. }else{
  304. callfunc "nextmesname";
  305. callfunc "changejob", 4041;
  306. }
  307. break;
  308.  
  309. case 4029:
  310. if(select("Bebê Mercenário:Bebê Arruaceiro") == 1){
  311. callfunc "nextmesname";
  312. callfunc "changejob", 4035;
  313. }else{
  314. callfunc "nextmesname";
  315. callfunc "changejob", 4040;
  316. }
  317. break;
  318. }
  319. }
  320. }
  321.  
  322. function script checkconditions {
  323. if(Class > 22 && Class < 26 || Class > 4007 && Class < 4013 || Class > 4029 && Class < 4046 || Class > 4046 && Class <= 4049)
  324. {
  325. mes "Você já chegou ao limite de mudança de classe.";
  326. mes "Sinto muito, mas não posso mais lhe ajudar.";
  327. close;
  328. }
  329. if(Class == 0 && JobLevel < 10 || Class == 4001 && JobLevel < 10 || Class == 4023 && JobLevel < 10 || Class > 4023 && Class <= 4043 && JobLevel < 40 || Class > 0 && Class < 7 && JobLevel < 40 || Class > 4001 && Class < 4008 && JobLevel < 40 || Class == 4046 && JobLevel < 40)
  330. {
  331. mes "Você não está apto a mudar de classe ainda.";
  332. mes "Volte quando estiver mais forte.";
  333. close;
  334. }
  335.  
  336. if(Class > 6 && Class < 22 && BaseLevel < 99)
  337. {
  338. mes "Sinto muito, mas você não está apto a mudar de classe ainda.";
  339. mes "Volte quando estiver mais forte.";
  340. close;
  341. }
  342. if(SkillPoint)
  343. {
  344. mes "Por favor utilize todos seus pontos de habilidade antes de mudar de classe.";
  345. close;
  346. }
  347. return;
  348. }
  349.  
  350. function script changejob {
  351. set @jobc, getarg(0);
  352. mes "Você tem certeza que quer se tornar um ^FF0000"+jobname(@jobc)+"^000000?";
  353. if(select("Sim:Não") == 2) close;
  354. next;
  355. mes "[^0099FF Mestra das Classes ^000000]";
  356. jobchange @jobc;
  357. mes "Muito bem "+strcharinfo(0);
  358. mes "Você agora é um ^FF0000"+jobname(@jobc)+"^000000";
  359. for (set .@i, 1; getarg (.@i + 1, 0); set .@i, .@i + 2)
  360. getitem getarg (.@i), getarg (.@i + 1, 0);
  361. close;
  362. }
  363.  
  364. function script nextmesname {
  365. next;
  366. mes "[^0099FF Mestra das Classes ^000000]";
  367. return;
  368. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement