Ir para conteúdo

[Encerrado] [Pokemon] Dúvidas? - Pda


lucashgas

Posts Recomendados

@Slicer..

 

Sobre vc falou de muda os horario só la Some function, não é só lá não.. igual zeref falou.. tem que muda no globalevents tbm '-'

se vc muda só na some function vc vai coloka lá X horarios, a hr que chega o X horario que vc quer.. o script não roda.. e vai começa de 04:38 roda dnv, mudei no global e deu certo '-'

 

mais mesmo assim vlw ;)

se alguem poder uploda o rme map editor do bruin123 em outro site pra min, agradeço ^^"

Link para o comentário
Compartilhar em outros sites

@notle2012

 

Vai receber meu REP+, mais ainda não é como eu desejava, quero um pouco mais avançado, ensinando um pouco mais avançado kkkk !!

 

REP+

 

Bom va em pokemon moves em lib e

 

 

elseif spell == "Ember" then

 

doSendDistanceShoot(getThingPositionWithDebug(cid), getThingPositionWithDebug(target), 3)

doAreaCombatHealthAtDistance(cid, FIREDAMAGE, getThingPositionWithDebug(target), 0, -min, -max, 15) os numeros 3, e 15 sao os efeitos :D

 

@AlanWake

 

Baixe a versao sem lvl do slicer

Link para o comentário
Compartilhar em outros sites

@zeref..

1* eh podia... kkk

2* pra fla a real a 1* coisa q me veio a mente foi criar um novo poke "imortal" com a a flag -<flag attackable="0"/>- mas dai quando eu ia fazer isso.. me veio a ideia da pos kk

3* ^^

4* eh daria pra por la sim.. eu coloquei em some functions pq la q fica as functions de horario mas... e sim precisa alterar no bloblaevents.xml tb pq eh la q eh configurado os horarios ms.. a lib eh soh pras functions q mostram qnt tempo falta pra proxima golden arena...

 

@ZeSy

esse erro... ou tu n pego o script lib/032-position.lua... ou n configuro as pontas superior esquerda e inferior direita da sua arena no script, globalevents/scripts/CleanGoldenArena... ;x

 

@Yaldabaoth

aki vai normal.. ;x tenta importar e dai fecha a janela de itens do mapa editor e abre ela denovo.. sei la.. ;x

 

@StyloMaldoso

sempre teve q organizar os horarios em globalevents.xml.. ;x ta ate no script mandando fazer isso..

--podese organiza os horarios das golden arenas no globalevents.xml!!

 

@Bolz

mano se vc usar a ferramente de busca ali no topo do topico e procurar por 'lvl 200' ou 'limite lvl' sei la.. tu acha VARIOS tutoriais de como fazer isso... ;x

Link para o comentário
Compartilhar em outros sites

@Slicer

 

eu achei o problema, é que o burro aqui, esqueceu de colocar no remeres os arquivos item.xml e o item.otm (sei lá das quantas) do teu serv :p

 

agora foi, só que o map q eu tenho nao é compativel com o teu (ou eu vou ter que achar um que seja, ou refazer TUDO)

 

de qualquer jeito vlw ^^

Editado por Yaldabaoth
Link para o comentário
Compartilhar em outros sites

@Slicer teria como colocar para o pokemon pegar lvl 200?

vai em data/lib/level tables.lua apague tudo e adicione:

 

function getPokemonExperienceTable(pokemonname)

if isInArray(fastexppokes, pokemonname) then

return fastexptable

elseif isInArray(mediumfastexppokes, pokemonname) then

return mediumfastexptable

elseif isInArray(mediumslowexppokes, pokemonname) then

return mediumslowexptable

elseif isInArray(slowexppokes, pokemonname) then

return slowexptable

end

print(""..pokemonname.." doesn't have an experience table speed gain. Check it at data/lib/level tables.lua.")

return mediumfastexptable

end

 

fastexppokes = {"Clefairy", "Clefable", "Iglybuff", "Jigglypuff", "Wigglytuff", "Chansey", "Shiny Clefairy", "Shiny Clefable", "Shiny Iglybuff", "Shiny Jigglypuff", "Shiny Wigglytuff", "Shiny Chansey", "Ledyba", "Ledian", "Spinarak", "Ariados", "Cleffa", "Togepi", "Togetic", "Marill", "Azumarill", "Aipom", "Misdreavus", "Snubbull", "Granbull", "Corsola", "Delibird", "Smeargle", "Blissey"}

 

fastexptable = {

[1] = 0,

[2] = 51,

[3] = 172,

[4] = 409,

[5] = 800,

[6] = 1382,

[7] = 2195,

[8] = 3276,

[9] = 4665,

[10] = 6400,

[11] = 8518,

[12] = 11059,

[13] = 14060,

[14] = 17561,

[15] = 21600,

[16] = 26214,

[17] = 31443,

[18] = 37324,

[19] = 43897,

[20] = 51200,

[21] = 59270,

[22] = 68147,

[23] = 77868,

[24] = 88473,

[25] = 100000,

[26] = 112486,

[27] = 125971,

[28] = 140492,

[29] = 156089,

[30] = 172800,

[31] = 190662,

[32] = 209715,

[33] = 229996,

[34] = 251545,

[35] = 274400,

[36] = 298598,

[37] = 324179,

[38] = 351180,

[39] = 379641,

[40] = 409600,

[41] = 441094,

[42] = 474163,

[43] = 508844,

[44] = 545177,

[45] = 583200,

[46] = 622950,

[47] = 664467,

[48] = 707788,

[49] = 752953,

[50] = 800000,

[51] = 848966,

[52] = 899891,

[53] = 952812,

[54] = 1007769,

[55] = 1064800,

[56] = 1123942,

[57] = 1185235,

[58] = 1248716,

[59] = 1314425,

[60] = 1382400,

[61] = 1452678,

[62] = 1525299,

[63] = 1600300,

[64] = 1677721,

[65] = 1757600,

[66] = 1839974,

[67] = 1924883,

[68] = 2012364,

[69] = 2102457,

[70] = 2195200,

[71] = 2290630,

[72] = 2388787,

[73] = 2489708,

[74] = 2593433,

[75] = 2700000,

[76] = 2809446,

[77] = 2921811,

[78] = 3037132,

[79] = 3155449,

[80] = 3276800,

[81] = 3401222,

[82] = 3528755,

[83] = 3659436,

[84] = 3793305,

[85] = 3930400,

[86] = 4070758,

[87] = 4214419,

[88] = 4361420,

[89] = 4511801,

[90] = 4665600,

[91] = 4822854,

[92] = 4983603,

[93] = 5147884,

[94] = 5315737,

[95] = 5487200,

[96] = 5662310,

[97] = 5841107,

[98] = 6023628,

[99] = 6209913,

[100] = 6200000,

[101] = 6300000,

[102] = 6400000,

[103] = 6500000,

[104] = 6600000,

[105] = 6700000,

[106] = 6800000,

[107] = 6900000,

[108] = 7000000,

[109] = 7100000,

[110] = 7200000,

[111] = 7300000,

[112] = 7400000,

[113] = 7500000,

[114] = 7600000,

[115] = 7700000,

[116] = 7800000,

[117] = 7900000,

[118] = 80000000,

[119] = 81200000,

[120] = 82400000,

[121] = 83600000,

[122] = 84800000,

[123] = 85000000,

[124] = 85200000,

[125] = 87400000,

[126] = 88600000,

[127] = 89800000,

[128] = 90000000,

[129] = 91200000,

[130] = 92400000,

[131] = 93600000,

[132] = 94800000,

[133] = 95000000,

[134] = 96200000,

[135] = 97400000,

[136] = 98600000,

[137] = 99800000,

[138] = 100000000,

[139] = 101000000,

[140] = 102000000,

[141] = 104000000,

[142] = 106000000,

[143] = 108000000,

[144] = 110000000,

[145] = 111000000,

[146] = 112000000,

[147] = 113300000,

[148] = 114006000,

[149] = 115000000,

[150] = 116000000,

[151] = 117000000,

[152] = 118000000,

[153] = 119000000,

[154] = 120000000,

[155] = 121000000,

[156] = 122000000,

[157] = 123000000,

[158] = 124000000,

[159] = 125000000,

[160] = 126400000,

[161] = 127000000,

[162] = 128000000,

[163] = 129000000,

[164] = 130000000,

[165] = 131000000,

[166] = 132000000,

[167] = 133000000,

[168] = 134000000,

[169] = 135000000,

[170] = 136000000,

[171] = 137000000,

[172] = 138000000,

[173] = 139000000,

[174] = 140000000,

[175] = 141000000,

[176] = 142000000,

[177] = 143800000,

[178] = 144000000,

[179] = 145000000,

[180] = 146000000,

[181] = 147000000,

[182] = 148000000,

[183] = 149000000,

[184] = 150000000,

[185] = 151000000,

[186] = 152600000,

[187] = 153000000,

[188] = 154000000,

[189] = 155000000,

[190] = 156000000,

[191] = 157000000,

[192] = 158000000,

[193] = 159000000,

[194] = 160000000,

[195] = 161000000,

[196] = 162000000,

[197] = 163000000,

[198] = 164000000,

[199] = 165000000,

[200] = 16600000,

[201] = 999999999}

 

mediumfastexppokes = {"Caterpie", "Metapod", "Butterfree", "Weedle", "Kakuna", "Beedrill", "Rattata", "Raticate", "Spearow", "Fearow", "Ekans", "Arbok", "Pikachu", "Raichu", "Sandshrew", "Sandslash", "Vulpix", "Ninetales", "Zubat", "Golbat", "Paras", "Parasect", "Diglett", "Dugtrio", "Meowth", "Persian", "Psyduck", "Golduck", "Mankey", "Primeape", "Ponyta", "Rapidash", "Magnemite", "Magneton", "Doduo", "Dodrio", "Seel", "Dewgong", "Grimer", "Muk", "Onix", "Steelix", "Drowzee", "Hypno", "Krabby", "Kingler", "Voltorb", "Electrode", "Cubone", "Marowak", "Hitmonlee", "Tyrogue", "Hitmonchan", "Lickitung", "Koffing", "Weezing", "Kangaskhan", "Horsea", "Seadra", "Goldeen", "Seaking", "Mr. Mime", "Scyther", "Jynx", "Smoochum", "Electabuzz", "Magmar", "Ditto", "Eevee", "Jolteon", "Flareon", "Porygon", "Omanyte", "Omastar", "Kabuto", "Kabutops", "Shiny Caterpie", "Shiny Metapod", "Shiny Butterfree", "Shiny Weedle", "Shiny Kakuna", "Shiny Beedrill", "Shiny Rattata", "Shiny Raticate", "Shiny Spearow", "Shiny Fearow", "Shiny Ekans", "Shiny Arbok", "Shiny Pikachu", "Shiny Raichu", "Shiny Sandshrew", "Shiny Sandslash", "Shiny Vulpix", "Shiny Ninetales", "Shiny Zubat", "Shiny Golbat", "Shiny Paras", "Shiny Parasect", "Shiny Diglett", "Shiny Dugtrio", "Shiny Meowth", "Shiny Persian", "Shiny Psyduck", "Shiny Golduck", "Shiny Mankey", "Shiny Primeape", "Shiny Ponyta", "Shiny Rapidash", "Shiny Magnemite", "Shiny Magneton", "Shiny Doduo", "Shiny Dodrio", "Shiny Seel", "Shiny Dewgong", "Shiny Grimer", "Shiny Muk", "Shiny Onix", "Shiny Steelix", "Shiny Drowzee", "Shiny Hypno", "Shiny Krabby", "Shiny Kingler", "Shiny Voltorb", "Shiny Electrode", "Shiny Cubone", "Shiny Marowak", "Shiny Hitmonlee", "Tyrogue", "Shiny Hitmonchan", "Shiny Lickitung", "Shiny Koffing", "Shiny Weezing", "Shiny Kangaskhan", "Shiny Horsea", "Shiny Seadra", "Shiny Goldeen", "Shiny Seaking", "Shiny Mr. Mime", "Shiny Scyther", "Shiny Jynx", "Smoochum", "Shiny Electabuzz", "Shiny Magmar", "Shiny Ditto", "Shiny Eevee", "Shiny Jolteon", "Shiny Flareon", "Shiny Porygon", "Shiny Omanyte", "Shiny Omastar", "Shiny Kabuto", "Shiny Kabutops", "Sentret", "Furret", "Hoothoot", "Noctowl", "Crobat", "Pichu", "Natu", "Xatu", "Wooper", "Quagsire", "Espeon", "Umbreon", "Girafarig", "Pineco", "Forretress", "Dunsparce", "Qwilfish", "Scizor", "Magcargo", "Slugma", "Remoraid", "Octillery", "Kingdra", "Phanpy", "Donphan", "Porygon2", "Hitmontop", "Elekid", "Magby", "Vaporeon", "Shiny Vaporeon", "Venonat", "Venomoth", "Slowpoke", "Shiny Slowpoke", "Slowbro", "Slowking", "Farfetch'd", "Tangela", "Shiny Tangela", "Sudowoodo", "Yanma", "Unown", "Wobbuffet", "Teddiursa", "Ursaring"}

 

mediumfastexptable = {

[1] = 0,

[2] = 64,

[3] = 216,

[4] = 512,

[5] = 1000,

[6] = 1728,

[7] = 2744,

[8] = 4096,

[9] = 5832,

[10] = 8000,

[11] = 10648,

[12] = 13824,

[13] = 17576,

[14] = 21952,

[15] = 27000,

[16] = 32768,

[17] = 39304,

[18] = 46656,

[19] = 54872,

[20] = 64000,

[21] = 74088,

[22] = 85184,

[23] = 97336,

[24] = 110592,

[25] = 125000,

[26] = 140608,

[27] = 157464,

[28] = 175616,

[29] = 195112,

[30] = 216000,

[31] = 238328,

[32] = 262144,

[33] = 287496,

[34] = 314432,

[35] = 343000,

[36] = 373248,

[37] = 405224,

[38] = 438976,

[39] = 474552,

[40] = 512000,

[41] = 551368,

[42] = 592704,

[43] = 636056,

[44] = 681472,

[45] = 729000,

[46] = 778688,

[47] = 830584,

[48] = 884736,

[49] = 941192,

[50] = 1000000,

[51] = 1061208,

[52] = 1124864,

[53] = 1191016,

[54] = 1259712,

[55] = 1331000,

[56] = 1404928,

[57] = 1481544,

[58] = 1560896,

[59] = 1643032,

[60] = 1728000,

[61] = 1815848,

[62] = 1906624,

[63] = 2000376,

[64] = 2097152,

[65] = 2197000,

[66] = 2299968,

[67] = 2406104,

[68] = 2515456,

[69] = 2628072,

[70] = 2744000,

[71] = 2863288,

[72] = 2985984,

[73] = 3112136,

[74] = 3241792,

[75] = 3375000,

[76] = 3511808,

[77] = 3652264,

[78] = 3796416,

[79] = 3944312,

[80] = 4096000,

[81] = 4251528,

[82] = 4410944,

[83] = 4574296,

[84] = 4741632,

[85] = 4913000,

[86] = 5088448,

[87] = 5268024,

[88] = 5451776,

[89] = 5639752,

[90] = 5832000,

[91] = 6028568,

[92] = 6229504,

[93] = 6434856,

[94] = 6644672,

[95] = 6859000,

[96] = 7077888,

[97] = 7301384,

[98] = 7529536,

[99] = 7762392,

[100] = 8000000,

[101] = 8100000,

[102] = 8200000,

[103] = 8300000,

[104] = 8400000,

[105] = 8500000,

[106] = 8600000,

[107] = 8700000,

[108] = 8800000,

[109] = 8900000,

[110] = 9000000,

[111] = 9100000,

[112] = 9200000,

[113] = 9300000,

[114] = 9400000,

[115] = 9500000,

[116] = 9600000,

[117] = 9700000,

[118] = 98000000,

[119] = 99200000,

[120] = 10000000,

[121] = 10100000,

[122] = 10200000,

[123] = 10330000,

[124] = 10404000,

[125] = 10510500,

[126] = 10601060,

[127] = 10700107,

[128] = 10800000,

[129] = 10900000,

[130] = 11000000,

[131] = 11100000,

[132] = 11200000,

[133] = 11300000,

[134] = 11400000,

[135] = 11540000,

[136] = 11660000,

[137] = 11780000,

[138] = 11800000,

[139] = 11920000,

[140] = 12040000,

[141] = 12100000,

[142] = 12200000,

[143] = 12300000,

[144] = 12400000,

[145] = 12500000,

[146] = 12600000,

[147] = 12700000,

[148] = 12800000,

[149] = 12900000,

[150] = 13000000,

[151] = 13100000,

[152] = 13200000,

[153] = 13300000,

[154] = 13400000,

[155] = 13500000,

[156] = 13600000,

[157] = 13700000,

[158] = 13800000,

[159] = 13900000,

[160] = 14000000,

[161] = 14100000,

[162] = 14200000,

[163] = 14300000,

[164] = 14400000,

[165] = 14500000,

[166] = 14600000,

[167] = 14700000,

[168] = 14800000,

[169] = 14900000,

[170] = 15000000,

[171] = 15100000,

[172] = 15200000,

[173] = 15300000,

[174] = 15400000,

[175] = 15500000,

[176] = 15600000,

[177] = 15700000,

[178] = 15800000,

[179] = 15900000,

[180] = 16000000,

[181] = 16100000,

[182] = 16200000,

[183] = 16300000,

[184] = 16400000,

[185] = 16500000,

[186] = 16600000,

[187] = 16700000,

[188] = 16800000,

[189] = 16900000,

[190] = 17000000,

[191] = 17100000,

[192] = 17200000,

[193] = 17300000,

[194] = 17400000,

[195] = 17500000,

[196] = 17600000,

[197] = 17700000,

[198] = 17800000,

[199] = 17900000,

[200] = 18000000,

[201] = 999999999}

 

mediumslowexppokes = {"Bulbasaur", "Ivysaur", "Venusaur", "Charmander", "Charmeleon", "Charizard", "Squirtle", "Wartortle", "Blastoise", "Pidgey", "Pidgeotto", "Pidgeot", "Nidoran Female", "Nidorina", "Nidoqueen", "Nidoran Male", "Nidorino", "Nidoking", "Oddish", "Gloom", "Vileplume", "Poliwag", "Poliwhirl", "Poliwrath", "Abra", "Kadabra", "Alakazam", "Machop", "Machoke", "Machamp", "Bellsprout", "Weepinbell", "Victreebel", "Geodude", "Graveler", "Golem", "Gastly", "Haunter", "Gengar", "Mew", "Shiny Bulbasaur", "Shiny Ivysaur", "Shiny Venusaur", "Shiny Charmander", "Shiny Charmeleon", "Shiny Charizard", "Shiny Squirtle", "Shiny Wartortle", "Shiny Blastoise", "Shiny Pidgey", "Shiny Pidgeotto", "Shiny Pidgeot", "Shiny Nidoran Female", "Shiny Nidorina", "Shiny Nidoqueen", "Shiny Nidoran Male", "Shiny Nidorino", "Shiny Nidoking", "Shiny Oddish", "Shiny Gloom", "Shiny Vileplume", "Shiny Poliwag", "Shiny Poliwhirl", "Shiny Poliwrath", "Shiny Abra", "Shiny Kadabra", "Shiny Alakazam", "Shiny Machop", "Shiny Machoke", "Shiny Machamp", "Shiny Bellsprout", "Shiny Weepinbell", "Shiny Victreebel", "Shiny Geodude", "Shiny Graveler", "Shiny Golem", "Shiny Gastly", "Shiny Haunter", "Shiny Gengar", "Shiny Mew", "Chikorita", "Bayleef", "Meganium", "Cyndaquil", "Quilava", "Typhlosion", "Totodile", "Croconaw", "Feraligatr", "Mareep", "Flaaffy", "Ampharos", "Bellossom", "Politoed", "Hoppip", "Skiploom", "Jumpluff", "Sunkern", "Sunflora", "Murkrow", "Gligar", "Shuckle", "Sneasel", "Celebi"}

 

mediumslowexptable = {

[1] = 0,

[2] = 72,

[3] = 456,

[4] = 768,

[5] = 1080,

[6] = 1432,

[7] = 1888,

[8] = 2512,

[9] = 3352,

[10] = 4480,

[11] = 5936,

[12] = 7784,

[13] = 10088,

[14] = 12896,

[15] = 16280,

[16] = 20280,

[17] = 24960,

[18] = 30384,

[19] = 36600,

[20] = 43680,

[21] = 51664,

[22] = 60616,

[23] = 70600,

[24] = 81664,

[25] = 93880,

[26] = 107288,

[27] = 121952,

[28] = 137936,

[29] = 155288,

[30] = 174080,

[31] = 194352,

[32] = 216168,

[33] = 239592,

[34] = 264672,

[35] = 291480,

[36] = 320056,

[37] = 350464,

[38] = 382768,

[39] = 417016,

[40] = 453280,

[41] = 491600,

[42] = 532040,

[43] = 574664,

[44] = 619520,

[45] = 666680,

[46] = 716184,

[47] = 768096,

[48] = 822480,

[49] = 879384,

[50] = 938880,

[51] = 1001008,

[52] = 1065832,

[53] = 1133416,

[54] = 1203808,

[55] = 1277080,

[56] = 1353272,

[57] = 1432448,

[58] = 1514672,

[59] = 1599992,

[60] = 1688480,

[61] = 1780176,

[62] = 1875144,

[63] = 1973448,

[64] = 2075136,

[65] = 2180280,

[66] = 2288920,

[67] = 2401120,

[68] = 2516944,

[69] = 2636440,

[70] = 2759680,

[71] = 2886704,

[72] = 3017576,

[73] = 3152360,

[74] = 3291104,

[75] = 3433880,

[76] = 3580728,

[77] = 3731712,

[78] = 3886896,

[79] = 4046328,

[80] = 4210080,

[81] = 4378192,

[82] = 4550728,

[83] = 4727752,

[84] = 4909312,

[85] = 5095480,

[86] = 5286296,

[87] = 5481824,

[88] = 5682128,

[89] = 5887256,

[90] = 6097280,

[91] = 6312240,

[92] = 6532200,

[93] = 6757224,

[94] = 6987360,

[95] = 7222680,

[96] = 7463224,

[97] = 7709056,

[98] = 7960240,

[99] = 8216824,

[100] = 8478880,

[101] = 8600000,

[102] = 8800000,

[103] = 9000000,

[104] = 9200000,

[105] = 9400000,

[106] = 9600000,

[107] = 9800000,

[108] = 10000000,

[109] = 10200000,

[110] = 10400000,

[111] = 10600000,

[112] = 10800000,

[113] = 11000000,

[114] = 11200000,

[115] = 11400000,

[116] = 11600000,

[117] = 11800000,

[118] = 12000000,

[119] = 12200000,

[120] = 12400000,

[121] = 12600000,

[122] = 12800000,

[123] = 13030000,

[124] = 13204000,

[125] = 13460500,

[126] = 13601060,

[127] = 13800107,

[128] = 14000000,

[129] = 14200000,

[130] = 14400000,

[131] = 14600000,

[132] = 14800000,

[133] = 15000000,

[134] = 15200000,

[135] = 15440000,

[136] = 15660000,

[137] = 15880000,

[138] = 16000000,

[139] = 16220000,

[140] = 16440000,

[141] = 16600000,

[142] = 16800000,

[143] = 17000000,

[144] = 17200000,

[145] = 17400000,

[146] = 17600000,

[147] = 17800000,

[148] = 18000000,

[149] = 18200000,

[150] = 18400000,

[151] = 18600000,

[152] = 18800000,

[153] = 19000000,

[154] = 19200000,

[155] = 19400000,

[156] = 19600000,

[157] = 19800000,

[158] = 20000000,

[159] = 20200000,

[160] = 20400000,

[161] = 20600000,

[162] = 20800000,

[163] = 21000000,

[164] = 21200000,

[165] = 21400000,

[166] = 21600000,

[167] = 21800000,

[168] = 22000000,

[169] = 22200000,

[170] = 22400000,

[171] = 22600000,

[172] = 22800000,

[173] = 23000000,

[174] = 23200000,

[175] = 23400000,

[176] = 23600000,

[177] = 23800000,

[178] = 24000000,

[179] = 24200000,

[180] = 24400000,

[181] = 24600000,

[182] = 24800000,

[183] = 25000000,

[184] = 25200000,

[185] = 25400000,

[186] = 25600000,

[187] = 25800000,

[188] = 26000000,

[189] = 26200000,

[190] = 26400000,

[191] = 26600000,

[192] = 26800000,

[193] = 27000000,

[194] = 27200000,

[195] = 27400000,

[196] = 27600000,

[197] = 27800000,

[198] = 28000000,

[199] = 28200000,

[200] = 28400000,

[201] = 999999999}

 

slowexppokes = {"Ho-oh", "Growlithe", "Arcanine", "Tentacool", "Tentacruel", "Shellder", "Cloyster", "Exeggcute", "Exeggutor", "Rhyhorn", "Rhydon", "Staryu", "Starmie", "Pinsir", "Tauros", "Magikarp", "Gyarados", "Lapras", "Aerodactyl", "Snorlax", "Articuno", "Zapdos", "Moltres", "Dratini", "Dragonair", "Dragonite", "Mewtwo", "Mew", "Chinchou", "Lanturn", "Heracross", "Swinub", "Piloswine", "Mantine", "Skarmory", "Houndour", "Houndoom", "Stantler", "Miltank", "Raikou", "Entei", "Suicune", "Larvitar", "Pupitar", "Tyranitar", "Lugia", "Shiny Growlithe", "Shiny Arcanine", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Shellder", "Shiny Cloyster", "Shiny Exeggcute", "Shiny Exeggutor", "Shiny Rhyhorn", "Shiny Rhydon", "Shiny Staryu", "Shiny Starmie", "Shiny Pinsir", "Shiny Tauros", "Shiny Magikarp", "Shiny Gyarados", "Shiny Lapras", "Shiny Aerodactyl", "Shiny Snorlax", "Shiny Articuno", "Shiny Zapdos", "Shiny Moltres", "Shiny Dratini", "Shiny Dragonair", "Shiny Dragonite", "Shiny Mewtwo", "Shiny Mew",}

 

slowexptable = {

[1] = 0,

[2] = 80,

[3] = 270,

[4] = 640,

[5] = 1250,

[6] = 2160,

[7] = 3430,

[8] = 5120,

[9] = 7290,

[10] = 10000,

[11] = 13310,

[12] = 17280,

[13] = 21970,

[14] = 27440,

[15] = 33750,

[16] = 40960,

[17] = 49130,

[18] = 58320,

[19] = 68590,

[20] = 80000,

[21] = 92610,

[22] = 106480,

[23] = 121670,

[24] = 138240,

[25] = 156250,

[26] = 175760,

[27] = 196830,

[28] = 219520,

[29] = 243890,

[30] = 270000,

[31] = 297910,

[32] = 327680,

[33] = 359370,

[34] = 393040,

[35] = 428750,

[36] = 466560,

[37] = 506530,

[38] = 548720,

[39] = 593190,

[40] = 640000,

[41] = 689210,

[42] = 740880,

[43] = 795070,

[44] = 851840,

[45] = 911250,

[46] = 973360,

[47] = 1038230,

[48] = 1105920,

[49] = 1176490,

[50] = 1250000,

[51] = 1326510,

[52] = 1406080,

[53] = 1488770,

[54] = 1574640,

[55] = 1663750,

[56] = 1756160,

[57] = 1851930,

[58] = 1951120,

[59] = 2053790,

[60] = 2160000,

[61] = 2269810,

[62] = 2383280,

[63] = 2500470,

[64] = 2621440,

[65] = 2746250,

[66] = 2874960,

[67] = 3007630,

[68] = 3144320,

[69] = 3285090,

[70] = 3430000,

[71] = 3579110,

[72] = 3732480,

[73] = 3890170,

[74] = 4052240,

[75] = 4218750,

[76] = 4389760,

[77] = 4565330,

[78] = 4745520,

[79] = 4930390,

[80] = 5120000,

[81] = 5314410,

[82] = 5513680,

[83] = 5717870,

[84] = 5927040,

[85] = 6141250,

[86] = 6360560,

[87] = 6585030,

[88] = 6814720,

[89] = 7049690,

[90] = 7290000,

[91] = 7535710,

[92] = 7786880,

[93] = 8043570,

[94] = 8305840,

[95] = 8573750,

[96] = 8847360,

[97] = 9126730,

[98] = 9411920,

[99] = 9702990,

[100] = 10000000,

[101] = 10300000,

[102] = 10600000,

[103] = 10900000,

[104] = 11200000,

[105] = 11500000,

[106] = 11800000,

[107] = 12100000,

[108] = 12400000,

[109] = 12700000,

[110] = 13000000,

[111] = 13300000,

[112] = 13600000,

[113] = 13900000,

[114] = 14200000,

[115] = 14500000,

[116] = 14800000,

[117] = 15100000,

[118] = 15400000,

[119] = 15700000,

[120] = 16000000,

[121] = 16300000,

[122] = 16600000,

[123] = 16900000,

[124] = 17240000,

[125] = 17505000,

[126] = 17810060,

[127] = 18101007,

[128] = 18400000,

[129] = 18700000,

[130] = 19000000,

[131] = 19300000,

[132] = 19600000,

[133] = 19900000,

[134] = 20200000,

[135] = 20540000,

[136] = 20860000,

[137] = 21180000,

[138] = 21400000,

[139] = 21720000,

[140] = 22040000,

[141] = 22300000,

[142] = 22600000,

[143] = 22900000,

[144] = 23200000,

[145] = 23500000,

[146] = 23800000,

[147] = 24100000,

[148] = 24400000,

[149] = 24700000,

[150] = 25000000,

[151] = 25300000,

[152] = 25600000,

[153] = 25900000,

[154] = 26200000,

[155] = 26500000,

[156] = 26800000,

[157] = 27100000,

[158] = 27400000,

[159] = 27700000,

[160] = 28000000,

[161] = 28300000,

[162] = 28600000,

[163] = 28900000,

[164] = 29200000,

[165] = 29500000,

[166] = 29800000,

[167] = 30100000,

[168] = 30400000,

[169] = 30700000,

[170] = 31000000,

[171] = 31300000,

[172] = 31600000,

[173] = 31900000,

[174] = 32200000,

[175] = 32500000,

[176] = 32800000,

[177] = 33100000,

[178] = 33400000,

[179] = 33700000,

[180] = 34000000,

[181] = 34300000,

[182] = 34600000,

[183] = 34900000,

[184] = 35200000,

[185] = 35500000,

[186] = 35800000,

[187] = 36100000,

[188] = 36400000,

[189] = 36700000,

[190] = 37000000,

[191] = 37300000,

[192] = 37600000,

[193] = 37900000,

[194] = 38200000,

[195] = 38500000,

[196] = 38800000,

[197] = 39100000,

[198] = 39400000,

[199] = 39700000,

[200] = 40000000,

[201] = 999999999}

 

 

agr vai em data/lib/level system.lua apague tudo e adicione:

 

function getPokemonStatus(name, multiplier)

local a = pokes[name]

local m = 1

if not a then return false end

if not a.offense then return false end

if multiplier then m = multiplier end

local ret = {}

ret.off = a.offense * m

ret.offense = ret.off

 

ret.def = a.defense * m

ret.defense = ret.def

 

ret.agi = a.agility * m

ret.agility = ret.agi

 

ret.spatk = a.specialattack * m

ret.specialattack = ret.spatk

 

ret.vit = a.vitality * m

ret.vitality = ret.vit

return ret

end

 

function getPokemonXMLOutfit(name)

local a = "data/monster/pokes/"..name..".xml"

local b = io.open(a, "a+")

local c = b:read("*all")

b:close()

local d, e = c:find('look type="(.-)"')

c = string.sub(c, d + 11, e - 1)

return tonumber

end

 

function doEvolutionOutfit(cid, oldout, outfit)

if not isCreature(cid) then return true end

if getCreatureOutfit(cid).lookType == oldout then

doSetCreatureOutfit(cid, {lookType = outfit}, -1)

else

doSetCreatureOutfit(cid, {lookType = oldout}, -1)

end

end

 

function doStartEvolution(cid, evolution, seconds)

if not isCreature(cid) then return true end

local a = getPlayerStorageValue(cid, 1007)

local b = getCreatureHealth(cid) / getCreatureMaxHealth(cid)

local d = getThingPos(cid)

local e = getCreatureMaster(cid)

if getHappinessRate(cid) < 1 then return true end

local f = getCreatureOutfit(cid).lookType

local g = getItemAttribute(getPlayerSlotItem(e, 8).uid, "nick") or getCreatureName(cid)

local h = getPokemonXMLOutfit(evolution)

doItemSetAttribute(getPlayerSlotItem(e, 8).uid, "hp", b)

doCreatureSay(e, "What? My "..g.." is evolving!", TALKTYPE_SAY)

doSummonMonster(e, "Evolution")

doReturnPokemon(e, cid, getPlayerSlotItem(e, 8), 0, true)

local evo = getCreatureSummons(e)[1]

doEvolutionOutfit(evo, h, f)

doCreatureSetHideHealth(evo, true)

doCreatureSetLookDir(evo, 2)

setPlayerStorageValue(evo, 1007, g)

doTeleportThing(evo, d, false)

addEvent(sendSSJEffect, 250, evo)

doSendAnimatedText(getThingPos(evo), "EVOLUTION", COLOR_GRASS)

doSendEvolutionEffect(evo, getThingPos(evo), evolution, 20, false, false, f, h)

end

 

function doSendEvolutionEffect(cid, pos, evolution, turn, ssj, evolve, f, h)

if not isCreature(cid) then

doSendAnimatedText(pos, "CANCEL", 215)

return true end

if evolve then

doEvolvePokemon(getCreatureMaster(cid), {uid = cid}, evolution, 0, 0)

return true

end

doSendMagicEffect(pos, 18)

if ssj then

sendSSJEffect(evo)

end

doEvolutionOutfit(cid, f, h)

addEvent(doSendEvolutionEffect, math.pow(1900, turn/20), cid, getThingPos(cid), evolution, turn - 1, turn == 19, turn == 2, f, h)

end

 

function sendSSJEffect(cid)

if not isCreature(cid) then return true end

local pos1 = getThingPos(cid)

local pos2 = getThingPos(cid)

pos2.x = pos2.x + math.random(-1, 1)

pos2.y = pos2.y - math.random(1, 2)

doSendDistanceShoot(pos1, pos2, 37)

addEvent(sendSSJEffect, 45, cid)

end

 

function sendFinishEvolutionEffect(cid, alternate)

if not isCreature(cid) then return true end

local pos1 = getThingPos(cid)

 

if alternate then

local pos = {

[1] = {-2, 0},

[2] = {-1, -1},

[3] = {0, -2},

[4] = {1, -1},

[5] = {2, 0},

[6] = {1, 1},

[7] = {0, 2},

[8] = {-1, 1}}

for a = 1, 8 do

local pos2 = getThingPos(cid)

pos2.x = pos2.x + pos[a][1]

pos2.y = pos2.y + pos[a][2]

local pos = getThingPos(cid)

doSendDistanceShoot(pos2, pos, 37)

addEvent(doSendDistanceShoot, 300, pos, pos2, 37)

end

else

for a = 0, 3 do

doSendDistanceShoot(pos1, getPosByDir(pos1, a), 37)

end

for a = 4, 7 do

addEvent(doSendDistanceShoot, 600, pos1, getPosByDir(pos1, a), 37)

end

end

end

 

function doEvolvePokemon(cid, item2, theevo, stone1, stone2)

 

if not isCreature(cid) then return true end

 

if not pokes[theevo] or not pokes[theevo].offense then

doReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true)

return true

end

 

local owner = getCreatureMaster(item2.uid)

local pokeball = getPlayerSlotItem(cid, 8)

local description = "Contains a "..theevo.."."

local pct = getCreatureHealth(item2.uid) / getCreatureMaxHealth(item2.uid)

 

doItemSetAttribute(pokeball.uid, "hp", pct)

 

doItemSetAttribute(pokeball.uid, "poke", theevo)

doItemSetAttribute(pokeball.uid, "description", "Contains a "..theevo..".")

 

doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(item2.uid).." evolved into a "..theevo.."!")

 

doSendMagicEffect(getThingPos(item2.uid), 18)

doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[theevo])

doSendMagicEffect(getThingPos(cid), 173)

 

local oldpos = getThingPos(item2.uid)

local oldlod = getCreatureLookDir(item2.uid)

local oldlvl = getPokemonLevel(item2.uid)

doRemoveCreature(item2.uid)

 

doSummonMonster(cid, theevo)

local pk = getCreatureSummons(cid)[1]

 

doTeleportThing(pk, oldpos, false)

doCreatureSetLookDir(pk, oldlod)

 

sendFinishEvolutionEffect(pk, true)

addEvent(sendFinishEvolutionEffect, 550, pk, true)

addEvent(sendFinishEvolutionEffect, 1050, pk)

 

doPlayerRemoveItem(cid, stone1, 1)

doPlayerRemoveItem(cid, stone2, 1)

 

doAddPokemonInOwnList(cid, theevo)

 

local status = getPokemonStatus(getCreatureName(pk))

 

local off = status.off * 7.5

local def = status.def * 7.5

local agi = status.agi * 7.5

local spatk = status.spatk * 7.5

local vit = status.vit * 7

 

doItemSetAttribute(pokeball.uid, "offense", getItemAttribute(pokeball.uid, "offense") + off)

doItemSetAttribute(pokeball.uid, "defense", getItemAttribute(pokeball.uid, "defense") + def)

doItemSetAttribute(pokeball.uid, "speed", getItemAttribute(pokeball.uid, "speed") + agi)

doItemSetAttribute(pokeball.uid, "specialattack", getItemAttribute(pokeball.uid, "specialattack") + spatk)

doItemSetAttribute(pokeball.uid, "vitality", getItemAttribute(pokeball.uid, "vitality") + vit)

 

doPlayerSendTextMessage(cid, 27, "Evolution bonus: • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit).."")

 

local happy = getItemAttribute(pokeball.uid, "happy")

 

doItemSetAttribute(pokeball.uid, "happy", happy + happyGainedOnEvolution)

 

if happy + happyGainedOnEvolution > 255 then

doItemSetAttribute(pokeball.uid, "happy", 255)

end

 

adjustStatus(pk, pokeball.uid, true, false)

 

if useKpdoDlls then

doUpdateMoves(cid)

end

end

 

 

 

 

 

function givePokemonExp(cid, item, expe, pct, rarecandy)

 

if expe <= 0 or not isCreature(cid) then return true end

 

local leveltable = getPokemonExperienceTable(getPokeballName(item.uid, true))

 

if getItemAttribute(item.uid, "exp") + expe > leveltable[200] then

givePokemonExp(cid, item, leveltable[200] - getItemAttribute(item.uid, "exp"))

return true

end

 

doItemSetAttribute(item.uid, "exp", getItemAttribute(item.uid, "exp") + expe)

doItemSetAttribute(item.uid, "happy", getItemAttribute(item.uid, "happy") + 1)

doItemSetAttribute(item.uid, "nextlevelexp", getItemAttribute(item.uid, "nextlevelexp") - expe)

 

 

if pct then

doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item.uid).." has received "..expe.." experience points ("..pct.."%).")

else

if getItemAttribute(item.uid, "nextlevelexp") > 0 then

doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item.uid).." ["..getItemAttribute(item.uid, "level").."] has received "..expe.." experience points ("..getItemAttribute(item.uid, "nextlevelexp").." to next level).")

else

doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item.uid).." ["..getItemAttribute(item.uid, "level").."] has received "..expe.." experience points and has leveled up!")

end

end

 

if isBeingUsed(item.itemid) then

doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), expe, 215)

end

 

if getItemAttribute(item.uid, "nextlevelexp") <= 0 then

local summon = getCreatureSummons(cid)[1]

 

if not isCreature(summon) then return true end

 

doSendFlareEffect(getThingPos(summon))

doSendAnimatedText(getThingPos(summon), "Level up!", 215)

 

adjustPokemonLevel(item.uid, cid, item.itemid)

end

end

 

 

function givePokemonExpInBp(cid, item, expe, ballid, pct, hidemessage)

 

if expe <= 0 or not isCreature(cid) then return true end

 

local leveltable = getPokemonExperienceTable(getPokeballName(item, true))

 

if getItemAttribute(item, "exp") + expe > leveltable[200] then

givePokemonExpInBp(cid, item, leveltable[200] - getItemAttribute(item, "exp"), ballid)

return true

end

 

doItemSetAttribute(item, "exp", getItemAttribute(item, "exp") + expe)

doItemSetAttribute(item, "happy", getItemAttribute(item, "happy") + 1)

doItemSetAttribute(item, "nextlevelexp", getItemAttribute(item, "nextlevelexp") - expe)

 

if not hidemessage then

if pct then

doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item).." has received "..expe.." experience points ("..pct.."%).")

else

if getItemAttribute(item, "nextlevelexp") > 0 then

doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item).." ["..getItemAttribute(item, "level").."] has received "..expe.." experience points inside his pokeball ("..getItemAttribute(item, "nextlevelexp").." to next level).")

else

doPlayerSendTextMessage(cid, 27, "Your "..getPokeballName(item).." ["..getItemAttribute(item, "level").."] has received "..expe.." experience points and has leveled up inside his pokeball.")

adjustPokemonLevel(item, cid, ballid)

end

end

end

end

 

 

 

function doMathDecimal(number, casas)

 

if math.floor(number) == number then return number end

 

local c = casas and casas + 1 or 3

 

for a = 0, 10 do

if math.floor(number) < math.pow(10, a) then

local str = string.sub(""..number.."", 1, a + c)

return tonumber(str)

end

end

 

return number

end

 

 

 

function adjustPokemonLevel(item, cid, id, rarecandy)

 

if not isCreature(cid) then return true end

 

local exp = getItemAttribute(item, "exp")

local level = getItemAttribute(item, "level")

local leveltable = getPokemonExperienceTable(getPokeballName(item, true))

local newlevel = 1

 

for x = 1, 200 do

if exp >= leveltable[x] and exp < leveltable[x+1] then

newlevel = x

end

end

 

if newlevel <= 1 then return true end

 

local levelsup = (newlevel - level)

local pokemon = getItemAttribute(item, "poke")

local happy = getItemAttribute(item, "happy")

local rate = happy / 100

local newhappiness = happy

 

if happy >= 250 then

newhappiness = 255

elseif happy >= 230 then

newhappiness = happy + 4

elseif happy >= 210 then

newhappiness = happy + 6

elseif happy >= 180 then

newhappiness = happy + 8

elseif happy >= 140 then

newhappiness = happy + 10

elseif happy >= 110 then

newhappiness = happy + 12

else

newhappiness = happy + 15

end

 

local status = getPokemonStatus(pokemon)

 

local off = status.off * rate * levelsup

local def = status.def * rate * levelsup

local agi = status.agi * rate * levelsup

local spatk = status.spatk * rate * levelsup

local vit = status.vit * rate * levelsup

 

doItemSetAttribute(item, "level", newlevel)

 

if not rarecandy then

doItemSetAttribute(item, "happy", newhappiness)

end

 

local nextexp = leveltable[newlevel + 1] - exp

doItemSetAttribute(item, "nextlevelexp", nextexp)

 

doItemSetAttribute(item, "offense", getItemAttribute(item, "offense") + off)

doItemSetAttribute(item, "defense", getItemAttribute(item, "defense") + def)

doItemSetAttribute(item, "speed", getItemAttribute(item, "speed") + agi)

doItemSetAttribute(item, "specialattack", getItemAttribute(item, "specialattack") + spatk)

doItemSetAttribute(item, "vitality", getItemAttribute(item, "vitality") + vit)

 

if newlevel > getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer then

addEvent(doPlayerSendTextMessage, 30, cid, 18, "Warning: Your "..getPokeballName(item).."'s ["..newlevel.."] level is much higher than yours, so you will not be able to call him to battles.")

end

 

if isCreature(cid) and id >= 1 and isBeingUsed(id) then

adjustStatus(getCreatureSummons(cid)[1], item, false, true)

doPlayerSendTextMessage(cid, 27, "• Level: "..newlevel.." (+"..levelsup..") • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit).."")

 

if happy < minHappyToEvolve then return true end

 

if pokemonsCanEvolveByLevel then

 

local summon = getCreatureSummons(cid)[1]

 

local reqlevel = poevo[getCreatureName(summon)] and poevo[getCreatureName(summon)].level or -1

local level = getItemAttribute(item, "level")

local evolution = "none"

local name = getCreatureName(summon)

 

if name == "Tyrogue" and level >= 20 then

if getOffense(summon) == getDefense(summon) then

evolution = "Hitmontop"

elseif getOffense(summon) > getDefense(summon) then

evolution = "Hitmonlee"

else

evolution = "Hitmonchan"

end

elseif name == "Eevee" then

if happy >= maxHappyToEvolve then

if isDay() then

evolution = "Espeon"

else

evolution = "Umbreon"

end

end

elseif name == "Slowpoke" and level >= 28 then

evolution = "Slowbro"

elseif name == "Poliwhirl" and level >= 36 then

evolution = "Poliwrath"

elseif reqlevel > 4 and level >= reqlevel then

evolution = poevo[getCreatureName(summon)].evolution

elseif reqlevel == 2 and happy >= maxHappyToEvolve then

evolution = poevo[getCreatureName(summon)] and poevo[getCreatureName(summon)].evolution or "none"

end

 

if evolution ~= "none" then

doStartEvolution(summon, evolution, 4)

end

end

end

end

 

function adjustStatus(pk, item, health, vite, conditions)

 

if not isCreature(pk) then return true end

 

local bonusoffense = getItemAttribute(item, boffense) or 0

local bonusdefense = getItemAttribute(item, bdefense) or 0

local bonusagility = getItemAttribute(item, bagility) or 0

local bonussattack = getItemAttribute(item, bsattack) or 0

 

setPlayerStorageValue(pk, 1000, getItemAttribute(item, "level"))

setPlayerStorageValue(pk, 1001, getItemAttribute(item, "offense") + bonusoffense)

setPlayerStorageValue(pk, 1002, getItemAttribute(item, "defense") + bonusdefense)

setPlayerStorageValue(pk, 1003, getItemAttribute(item, "speed") + bonusagility)

setPlayerStorageValue(pk, 1005, getItemAttribute(item, "specialattack") + bonussattack)

 

local gender = getItemAttribute(item, "gender") and getItemAttribute(item, "gender") or 0

doCreatureSetSkullType(pk, gender)

 

if vite == true then

local pct = getCreatureHealth(pk) / getCreatureMaxHealth(pk)

local vit = getItemAttribute(item, "vitality") - getPlayerStorageValue(pk, 1004)

setCreatureMaxHealth(pk, getCreatureMaxHealth(pk) + ( vit * HPperVIT ))

doCreatureAddHealth(pk, pct * vit * HPperVIT)

end

 

setPlayerStorageValue(pk, 1004, getItemAttribute(item, "vitality"))

 

doRegainSpeed(pk)

 

local nick = getItemAttribute(item, "poke")

 

if getItemAttribute(item, "nick") then

nick = getItemAttribute(item, "nick")

end

 

setPlayerStorageValue(pk, 1007, nick)

 

local boostlevel = getItemAttribute(item, "boost") or 0

local boostshow = hideBoost and "]" or " + "..boostlevel.."]"

local lvlstr = ""

 

if showBoostSeparated then

boostshow = hideBoost and "]" or "] [+"..boostlevel.."]"

end

 

if hideSummonsLevel then

if not hideBoost then

nick = nick.." [+"..boostlevel.."]"

end

else

nick = nick.." ["..getItemAttribute(item, "level")..""..boostshow..""

end

 

doCreatureSetNick(pk, nick)

 

if not getItemAttribute(item, "happy") then

doItemSetAttribute(item, "happy", 120)

end

 

if not getItemAttribute(item, "hunger") then

doItemSetAttribute(item, "hunger", 5)

end

 

local happy = getItemAttribute(item, "happy")

if happy < 0 then

happy = 0

end

setPlayerStorageValue(pk, 1008, happy)

 

local hunger = getItemAttribute(item, "hunger")

setPlayerStorageValue(pk, 1009, hunger)

 

if health == true then

local mh = getCreatureMaxHealth(pk) + HPperVIT * getVitality(pk)

local rd = 1 - (tonumber(getItemAttribute(item, "hp")))

setCreatureMaxHealth(pk, mh)

doCreatureAddHealth(pk, getCreatureMaxHealth(pk))

doCreatureAddHealth(pk, -(getCreatureMaxHealth(pk) * rd))

end

 

if isSummon(pk) and conditions then

local burn = getItemAttribute(item, "burn")

if burn and burn >= 0 then

addEvent(doAdvancedBurn, 5000, pk, pk, getItemAttribute(item, "burndmg"), burn - 1)

end

 

local poison = getItemAttribute(item, "poison")

if poison and poison >= 0 then

addEvent(doAdvancedPoison, 2500, pk, pk, getItemAttribute(item, "poisondmg"), poison - 1)

end

 

if getItemAttribute(item, "confuse") and getItemAttribute(item, "confuse") >= 1 then

addEvent(doAdvancedConfuse, 1200, pk, getItemAttribute(item, "confuse"), getPlayerStorageValue(pk, 3891))

end

 

if getItemAttribute(item, "blind") and getItemAttribute(item, "blind") >= 1 then

addEvent(doBlind, 300, pk, getItemAttribute(item, "blind"), getItemAttribute(item, "blindef"))

end

 

if getItemAttribute(item, "sleep") and getItemAttribute(item, "sleep") >= 1 then

doSleep(pk, getItemAttribute(item, "sleep"))

end

end

 

return true

end

 

function setWildPokemonLevel(cid, optionalLevel, optionalStatus, optionalNick, optionalExtraExp)

 

if not isCreature(cid) then return true end

 

local levelRange = 0

local off = 0

local def = 0

local agi = 0

local spatk = 0

local vit = 0

local this = getCreatureName(cid)

local ee = 1

 

if optionalExtraExp then

ee = optionalExtraExp

end

 

 

if optionalLevel and tonumber(optionalLevel) >= 1 then

if optionalLevel <= 200 then

levelRange = optionalLevel

else

levelRange = 200

end

elseif getCreatureOutfit(cid).lookHead and getCreatureOutfit(cid).lookBody and getCreatureOutfit(cid).lookHead <= getCreatureOutfit(cid).lookBody then

levelRange = math.random(getCreatureOutfit(cid).lookHead, getCreatureOutfit(cid).lookBody)

else

levelRange = math.random(20, 30)

end

 

local status = getPokemonStatus(this)

if status then

off = status.off

def = status.def

agi = status.agi

vit = status.vit

spatk = status.spatk

end

 

setPlayerStorageValue(cid, 1000, levelRange)

 

if optionalStatus and optionalStatus.off then

setPlayerStorageValue(cid, 1001, optionalStatus.offense)

setPlayerStorageValue(cid, 1002, optionalStatus.defense)

setPlayerStorageValue(cid, 1003, optionalStatus.agility)

setPlayerStorageValue(cid, 1004, optionalStatus.vitality)

setPlayerStorageValue(cid, 1005, optionalStatus.specialattack)

setPlayerStorageValue(cid, 1011, optionalStatus.offense)

setPlayerStorageValue(cid, 1012, optionalStatus.defense)

setPlayerStorageValue(cid, 1013, optionalStatus.agility)

setPlayerStorageValue(cid, 1014, optionalStatus.vitality)

setPlayerStorageValue(cid, 1015, optionalStatus.specialattack)

else

setPlayerStorageValue(cid, 1001, 5 + math.random(off * levelRange * 0.9, off * levelRange * 1.8))

setPlayerStorageValue(cid, 1002, 5 + math.random(def * levelRange * 0.9, def * levelRange * 1.8))

setPlayerStorageValue(cid, 1003, math.random(agi * levelRange * 0.9, agi * levelRange * 1.8))

setPlayerStorageValue(cid, 1004, math.random(vit * levelRange * 0.9, vit * levelRange * 1.8))

setPlayerStorageValue(cid, 1005, 5 + math.random(spatk * levelRange * 0.9, spatk * levelRange * 1.8))

setPlayerStorageValue(cid, 1011, getPlayerStorageValue(cid, 1001))

setPlayerStorageValue(cid, 1012, getPlayerStorageValue(cid, 1002))

setPlayerStorageValue(cid, 1013, getPlayerStorageValue(cid, 1003))

setPlayerStorageValue(cid, 1014, getPlayerStorageValue(cid, 1004))

setPlayerStorageValue(cid, 1015, getPlayerStorageValue(cid, 1005))

end

 

doRegainSpeed(cid)

 

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + getPlayerStorageValue(cid, 1004) * HPperVIT * vitReductionForWild)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

 

if pokes[getCreatureName(cid)].exp then

--getMonsterInfo(getCreatureName(cid)).experience

local exp = (50 + pokes[getCreatureName(cid)].exp) * baseExpRate + pokes[getCreatureName(cid)].vitality * levelRange * pokemonExpPerLevelRate

setPlayerStorageValue(cid, 1006, exp * generalExpRate * ee)

end

 

local wildshow = wildBeforeNames and "Wild " or ""

if optionalNick then

if hideWildsLevel then

doCreatureSetNick(cid, optionalNick)

else

doCreatureSetNick(cid, optionalNick.." ["..getWildPokemonLevel(cid).."]")

end

else

if hideWildsLevel then

doCreatureSetNick(cid, ""..wildshow..""..getCreatureName(cid).."")

else

doCreatureSetNick(cid, ""..wildshow..""..getCreatureName(cid).." ["..getWildPokemonLevel(cid).."]")

end

end

end

 

function getOffense(cid)

if not isCreature(cid) then return 0 end

 

if getPlayerStorageValue(cid, 3894) >= 1 then

return tonumber(getPlayerStorageValue(cid, 1001)) / 2

end

 

return tonumber(getPlayerStorageValue(cid, 1001))

end

 

function getDefense(cid)

if not isCreature(cid) then return 0 end

 

if getPlayerStorageValue(cid, 3894) >= 1 then

return tonumber(getPlayerStorageValue(cid, 1002)) / 2

end

 

return tonumber(getPlayerStorageValue(cid, 1002))

end

 

function getSpeed(cid)

if not isCreature(cid) then return 0 end

return tonumber(getPlayerStorageValue(cid, 1003))

end

 

function getVitality(cid)

if not isCreature(cid) then return 0 end

return tonumber(getPlayerStorageValue(cid, 1004))

end

 

function getSpecialAttack(cid)

if not isCreature(cid) then return 0 end

return tonumber(getPlayerStorageValue(cid, 1005))

end

 

function getHappiness(cid)

if not isCreature(cid) then return 0 end

return tonumber(getPlayerStorageValue(cid, 1008))

end

 

function getSpecialDefense(cid)

if not isCreature(cid) then return 0 end

return getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2

end

 

function getWildPokemonExp(cid)

return getPlayerStorageValue(cid, 1006)

end

 

function getWildPokemonLevel(cid)

return getPlayerStorageValue(cid, 1000)

end

 

function getLevel(cid)

if isSummon(cid) then

return getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "level")

end

return getPlayerStorageValue(cid, 1000)

end

 

function getPokeName(cid)

if not isSummon(cid) then return getCreatureName(cid) end

if getCreatureName(cid) == "Evolution" then return getPlayerStorageValue(cid, 1007) end

local item = getPlayerSlotItem(getCreatureMaster(cid), 8)

if getItemAttribute(item.uid, "nick") then

return getItemAttribute(item.uid, "nick")

end

return getCreatureName(cid)

end

 

function getPokeballName(item, truename)

if not truename and getItemAttribute(item, "nick") then

return getItemAttribute(item, "nick")

end

return getItemAttribute(item, "poke")

end

 

function getPokemonName(cid)

return getCreatureName(cid)

end

 

function getPokemonLevel(cid)

if not isCreature(cid) then return 0 end

return getPlayerStorageValue(cid, 1000)

end

 

function getPokemonGender(cid)

return getCreatureSkullType(cid)

end

 

 

Alguem Consegue criar um spell que tire os status miss,confusion?

eu acho q da pra usar algo como

doCureStatus(cid, "all", true)

 

EU ACHO! é que olhei essa function no script da Nurse. .--.

Link para o comentário
Compartilhar em outros sites

@Wiisht

obrigado denovo pelo report '-' irei arrumar ele xD posto aki assim q termina de arrumalo

concerta tbm o do rare candy. u.u :*

 

EDIT: o npc aNpcCasino tem que arrumar o script dele tbm. =P

Editado por MaatheeuusYuurii
Link para o comentário
Compartilhar em outros sites

@Wiisht

obrigado denovo pelo report '-' irei arrumar ele xD posto aki assim q termina de arrumalo

 

blz Slicer!

cara você sabe como coloca para os clans terem pokemons shinys proprios ? Ex: Seavell Master usa Shiny Vaporeon etc.. vlw!

Link para o comentário
Compartilhar em outros sites

@Wiisht

obrigado denovo pelo report '-' irei arrumar ele xD posto aki assim q termina de arrumalo

 

blz Slicer!

cara você sabe como coloca para os clans terem pokemons shinys proprios ? Ex: Seavell Master usa Shiny Vaporeon etc.. vlw!

na atualização que ele postou, 2.2 e 1.2 ja estão tudo certinho. Seavel = Shiny Poreon, Volcanic = Shiny Flareon etc ...

Link para o comentário
Compartilhar em outros sites

@MaatheeuusYuurii

q q tem o rare candy? ele n serve pro serv sem lvl na real.. ;x

 

soh uma atualizaçao rapida... esses npcs vao ta na proxima atualizaçao tb..

Npc pokemon seller.. npc/scripts/pokemon seller.lua

 

local focus = 0

local talk_start = 0

local conv = 0

local cost = 0

local pname = ""

local baseprice = 0

 

function sellPokemon(cid, name, price)

 

local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)

 

for a, b in pairs(pokeballs) do

local balls = getItemsInContainerById(bp.uid, b.on)

for _, ball in pairs (balls) do

if string.lower(getItemAttribute(ball, "poke")) == string.lower(name) then

selfSay("Wow! Thanks for this wonderful "..getItemAttribute(ball, "poke").."! Take yours "..price.." dollars. Would you like to sell another pokemon?")

doRemoveItem(ball, 1)

doPlayerAddMoney(cid, price * 100)

return true

end

end

end

 

selfSay("You don't have a "..name..", make sure it is in your backpack and it is not fainted!")

return false

end

 

function onCreatureSay(cid, type, msg)

 

local msg = string.lower(msg)

 

if string.find(msg, "!") or string.find(msg, ",") then

return true

end

 

if focus == cid then

talk_start = os.clock()

end

 

if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 3 then

selfSay('Welcome to my store! I buy pokemons of all species, just tell me the name of the pokemon you want to sell.')

focus = cid

conv = 1

talk_start = os.clock()

cost = 0

pname = ""

return true

end

 

if msgcontains(msg, 'bye') and focus == cid then

selfSay('See you around then!')

focus = 0

return true

end

 

if msgcontains(msg, 'yes') and focus == cid and conv == 4 then

selfSay('Tell me the name of the pokemon you would like to sell.')

conv = 1

return true

end

 

if msgcontains(msg, 'no') and conv == 4 and focus == cid then

selfSay('Ok, see you around then!')

focus = 0

return true

end

 

local common = {"rattata", "caterpie", "weedle", "magikarp"}

 

if conv == 1 and focus == cid then

for a = 1, #common do

if msgcontains(msg, common[a]) then

selfSay('I dont buy such a common pokemon!')

return true

end

end

end

 

if msgcontains(msg, 'no') and conv == 3 and focus == cid then

selfSay('Well, then what pokemon would you like to sell?')

conv = 1

return true

end

 

if (conv == 1 or conv == 4) and focus == cid then

local name = doCorrectPokemonName(msg)

local pokemon = pokes[name]

if not pokemon then

selfSay("Sorry, I don't know what pokemon you're talking about! Are you sure you spelled it correctly?")

return true

end

 

baseprice = math.floor(pokemon.level * 150) -- preço baseado em level base

 

cost = baseprice

pname = name

selfSay("Are you sure you want to sell a "..name.." for "..cost.." dollars?")

conv = 3

end

 

if isConfirmMsg(msg) and focus == cid and conv == 3 then

if sellPokemon(cid, pname, cost) then

conv = 4

else

conv = 1

end

return true

end

 

end

 

local intervalmin = 38

local intervalmax = 70

local delay = 25

local number = 1

local messages = {"Buying some beautiful pokemons! Come here to sell them!",

"Wanna sell a pokemon? Came to the right place!",

"Buy pokemon! Excellent offers!",

"Tired of a pokemon? Why don't you sell it to me then?",

}

 

function onThink()

 

if focus == 0 then

selfTurn(1)

delay = delay - 0.5

if delay <= 0 then

selfSay(messages[number])

number = number + 1

if number > #messages then

number = 1

end

delay = math.random(intervalmin, intervalmax)

end

return true

else

 

if not isCreature(focus) then

focus = 0

return true

end

 

local npcpos = getThingPos(getThis())

local focpos = getThingPos(focus)

 

if npcpos.z ~= focpos.z then

focus = 0

return true

end

 

if (os.clock() - talk_start) > 70 then

focus = 0

selfSay("I have other clients too, talk to me when you feel like selling a pokemon.")

end

 

if getDistanceToCreature(focus) > 3 then

selfSay("Good bye then and thanks!")

focus = 0

return true

end

 

local dir = doDirectPos(npcpos, focpos)

selfTurn(dir)

end

 

 

return true

end

 

 

npc cassino... lib/npcCassino.lua

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

 

function doBuyPokemonWithCasinoCoins(cid, poke) npcHandler:onSellpokemon(cid) end

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

 

function creatureSayCallback(cid, type, msg)

 

if(not npcHandler:isFocused(cid)) then

return false

end

 

------------------------------------------------------------

local function buyPoke(cid, pokemon, price)

if pokemon == "" then return true end

 

local gender = getRandomGenderByName(pokemon)

local btype = "normal"

local happy = 180

 

if getPlayerFreeCap(cid) >= 6 or getContainerSize(getPlayerSlotItem(cid, 3).uid) >= 32 then

item = doCreateItemEx(11826)

else

item = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, 11826, 1)

end

 

doItemSetAttribute(item, "poke", pokemon)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "description", "Contains a "..pokemon..".")

doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")

 

if getPlayerFreeCap(cid) >= 6 or getContainerSize(getPlayerSlotItem(cid, 3).uid) >= 32 then

doPlayerSendMailByName(getCreatureName(cid), item, 1)

end

setPlayerStorageValue(cid, 23254, getPlayerStorageValue(cid, 23254) - price)

end

------------------------------------------------------------------------------

 

if msgcontains(msg, 'pokemon') then

selfSay("Hello ".. getCreatureName(cid) .. ", I have three Pokemons to choose one among them, {Eevee}, {Porygon} and {Ditto}, which would you choose? ", cid)

talkState[cid] = 1

 

elseif (msgcontains(msg, 'Eevee') or msgcontains(msg, 'eevee')) and talkState[cid] == 1 then

selfSay("Are you sure you want buy an Eevee for 22000 cassino coins?", cid)

talkState[cid] = 2

elseif (msgcontains(msg, 'Porygon') or msgcontains(msg, 'porygon')) and talkState[cid] == 1 then

selfSay("Are you sure you want buy an Porygon for 45000 cassino coins?", cid)

talkState[cid] = 3

elseif (msgcontains(msg, 'Ditto') or msgcontains(msg, 'ditto')) and talkState[cid] == 1 then

selfSay("Are you sure you want buy an Ditto for 60000 cassino coins?", cid)

talkState[cid] = 4

 

elseif (msgcontains(msg, 'nao') or msgcontains(msg, 'no')) and talkState[cid] == 2 then

selfSay("Did not like this choice? You can choose one {Porygon} or one {Ditto} too.", cid)

talkState[cid] = 1

elseif (msgcontains(msg, 'nao') or msgcontains(msg, 'no')) and talkState[cid] == 3 then

selfSay("Did not like this choice? You can choose one {Eevee} or one {Ditto} too.", cid)

talkState[cid] = 1

elseif (msgcontains(msg, 'nao') or msgcontains(msg, 'no')) and talkState[cid] == 4 then

selfSay("Did not like this choice? You can choose one {Eevee} or one {Porygon} too.", cid)

talkState[cid] = 1

 

elseif (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and talkState[cid] == 2 then

if getPlayerStorageValue(cid, 23254) >= 22000 then

local pokemon = "Eevee"

local price = 22000

buyPoke(cid, pokemon, price)

selfSay("Here you are! You have just bought an "..pokemon.." for "..price.." casino coins!", cid)

talkState[cid] = 0

else

selfSay("You don't have enought cassino coins!", cid)

talkState[cid] = 0

end

 

elseif (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and talkState[cid] == 3 then

if getPlayerStorageValue(cid, 23254) >= 45000 then

local pokemon = "Porygon"

local price = 45000

buyPoke(cid, pokemon, price)

selfSay("Here you are! You have just bought an "..pokemon.." for "..price.." casino coins!", cid)

talkState[cid] = 0

else

selfSay("You don't have enought cassino coins!", cid)

talkState[cid] = 0

end

 

elseif (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and talkState[cid] == 4 then

if getPlayerStorageValue(cid, 23254) >= 60000 then

local pokemon = "Ditto"

local price = 60000

buyPoke(cid, pokemon, price)

selfSay("Here you are! You have just bought an "..pokemon.." for "..price.." casino coins!", cid)

talkState[cid] = 0

else

selfSay("You don't have enought cassino coins!", cid)

talkState[cid] = 0

end

end

 

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

Edit.. Off...

alguem sabe aonde fica essa function? ja procurei em tudo e nd u,U

doSetMonsterGym(summon, focus)

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

Nurse joy dando erro quando da "hi" com o pokemon fora do slot.

 

[27/07/2012 13:08:38] [Error - Npc interface]

[27/07/2012 13:08:38] data/npc/scripts/heal.lua:onCreatureSay

[27/07/2012 13:08:38] Description:

[27/07/2012 13:08:38] (luaDoItemSetAttribute) Item not found

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...