BOa cara
fiko 10
repp+++
Por meubk, 04 de jan. de 2011 em Actions e Talkactions
info
Grupo: Artesão
Registrado: 09/12/10
Posts: 138
Reputação: +23
Char no Tibia: Loh Pabllitooh

BOa cara
fiko 10
repp+++
Editado Janeiro 4 por PaulGrande
info
Grupo: Campones
Registrado: 01/11/10
Posts: 22
Reputação: +4
Char no Tibia: /

Paulgrande em 1 mais eutbm quero dizer que mais rep claro vlw muito !
Gostei da sua atitude xotservx, eu havia ficado com raiva do seu comentário sobre sistema que eu havia editado, eu tinha falado se não gostou faça melhor.
Pois bem você fez melhor, não foi igual alguns que falaram mal e não fizeram nada.
Bem o que posso dizer Rep+ e meus parabéns.
Bota os créditos do mock e mkalo senão depois vem alguém enchendo o saco.
info
Grupo: Visconde
Registrado: 03/01/11
Posts: 303
Reputação: +47

aonde eu configuro o level para usar cada spell ?
-----------------------
u.U esquece eu olhei direito e achei
Editado Janeiro 5 por RicardoSohnn
, isso aew Pewee, kkk
Editado Janeiro 5 por xotservx
info
Grupo: Campones
Registrado: 16/11/10
Posts: 5
Reputação: 0
Char no Tibia: Hell"Spawn

Nossa cara te Amo =D
rep +
So n Consegui Aruma Os Atakes De Distancia , Mais Dps Do Uma Olhada ake.
Vlw Ae Pelo Script , Nota 10 =D .
Rep++
-------EDIT:
Tem Como Colocar As Animaçoes Dos Poderes , Tipo o Razor Leaf , O Pokemon Taca Umas Folhas.
Editado Janeiro 5 por fronzer
["Bulbasaur"] = {attackname = "Razor Leaf", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 8, typeattack = "distance", effecta = 79 , effectd = 4, type = COMBAT_EARTHDAMAGE}
tá aew o Razor leaf, em distancia o effectd = é o effeito de atirar, e o effecta = é o efeito de qndo acertar no monstro...
fui.
info
Grupo: Campones
Registrado: 16/11/10
Posts: 5
Reputação: 0
Char no Tibia: Hell"Spawn

ow nao to conseguindo cria outra Ms para outro pokemon
erro no console ?
e qndo adc + atakes sempre tem que colocar uma virgula no final, vc está colocando.. exemplo :
["Bulbasaur"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE},
["Charmander"] = {attackname = "Scratch", level = 20, storage = 2001, cd = 5, atkmin = 20, atkmax = 40, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE},
["Squirtle"] = {attackname = "Headbutt", level = 20, storage = 2002, cd = 5, atkmin = 20, atkmax = 40, range = 1, typeattack = "intarget", effecta = 141, type = COMBAT_PHYSICALDAMAGE}
somente no ultimo naum precisará de virgula..
info
Grupo: Campones
Registrado: 18/04/10
Posts: 9
Reputação: 0
Char no Tibia: LordShunn

- System M1 -
Autor : XotservXTestado : TFS 0.3.6 , 8.54
Olá hoje venho trazer o sistema de moves de pokemon ,
por talk, feito por min, e ja vow manda
um tutorial de editar
function isSummon(uid) return uid ~= getCreatureMaster(uid) or false end function doSendMagicEffectInArea(pos,effect,area,cid) -- Function by mock local centro = {} centro.y = math.floor(table.getn(area)/2)+1 for y = 1, table.getn(area) do for x = 1, table.getn(area[y]) do if area[y][x] > 0 then centro.x = math.floor(table.getn(area[y])/2)+1 if type(effect) == 'table' then doSendMagicEffect({x=pos.x+x-centro.x,y=pos.y+y-centro.y,z= pos.z},(effect[area[y][x]] or 0),cid) else doSendMagicEffect({x=pos.x+x-centro.x,y=pos.y+y-centro.y,z= pos.z},effect or 0,cid) end end end end return true end function getTime(s) -- by : Mkalo. local n = math.floor(s / 60) s = s - (60 * n) return n, s end -- AREAS -- local arr1 = { {1, 1, 1}, {1, 0, 1}, {1, 1, 1}, } -- M1 System, by: XotserX. -- local pokes = { ["Bulbasaur"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE} } function onSay(cid, words, param, target) if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You do not have any pokemon.") end if getPlayerStorageValue(cid, 102032) == 1 then doPlayerSendCancel(cid, "Your pokemon is exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end for i,x in pairs(pokes) do local storage = x.storage local cd = x.cd if getCreatureSummons(cid) ~= 0 then if not getTilePzInfo(getPlayerPosition(cid)) then if getCreatureName(getCreatureSummons(cid)[1]) == i then if getCreatureTarget(cid) ~= 0 then if not isSummon(getCreatureTarget(cid)) or not isPlayer(getCreatureTarget(cid)) then if getPlayerLevel(cid) >= x.level then if os.time()-getPlayerStorageValue(cid, storage) <= cd then minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage))) return doPlayerSendTextMessage(cid, 27, "You need to wait ".. seconds .. " seconds to use " ..x.attackname..".") end if x.typeattack == "distance" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendDistanceShoot(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid)), x.effectd) doSendMagicEffect(getCreaturePosition(getCreatureTarget(cid)), x.effecta) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid, ""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "area" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendMagicEffectInArea(getCreaturePosition(getCreatureSummons(cid)[1]),x.effecta,x.arr) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "direcion" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 0, 1),x.effectdir0) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 1, 1),x.effectdir1) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 2, 1),x.effectdir2) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then doSendMagicEffect(getPositionByDirection(getCreaturePosition(getCreatureSummons(cid)[1]), 3, 1),x.effectdir3) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) setPlayerStorageValue(cid, storage, os.time()+cd) doCreatureSay(cid,""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) end else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end if x.typeattack == "intarget" then if getDistanceBetween(getCreaturePosition(getCreatureSummons(cid)[1]), getCreaturePosition(getCreatureTarget(cid))) <= x.range then doSendMagicEffect(getCreaturePosition(getCreatureTarget(cid)), x.effecta) doAreaCombatHealth(getCreatureSummons(cid)[1], x.type, getCreaturePosition(getCreatureTarget(cid)), x.arr, -(x.atkmin+getPlayerLevel(cid)), -(x.atkmax+getPlayerLevel(cid)), x.effecta) doCreatureSay(cid, ""..i..", "..x.attackname..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, 102032, 1) addEvent(setPlayerStorageValue, 1*1000, cid, 102032, -1) else doPlayerSendCancel(cid, "Target is far away.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end else doPlayerSendTextMessage(cid, 27, "You need level "..x.level.." to use " ..x.attackname..".") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "Invalid Target.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "Target not is avalied.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end end else doPlayerSendCancel(cid, "Do not Attack in Protection Zone.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end else doPlayerSendCancel(cid, "You need pokemon to use attacks.") doSendMagicEffect(getCreaturePosition(cid), 2) return true end end return true end
Configurando :
1° para adicionar mais ataques é simples na parte de loca pokes = {
vcs vão adicionar a magia..
Se o Ataque for de distancia :
["Bulbasaur"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 8, typeattack = "distance", effecta = 0 , effectd = 0, type = COMBAT_PHYSICALDAMAGE} -- distanciase for de area :
["Bulbasaur"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 8, typeattack = "area", arr = arr1, effecta = 0, type = COMBAT_PHYSICALDAMAGE} -- arease for de direção :
["Bulbasaur"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 1, typeattack = "direcion", effectdir0 = 0, effectdir1 = 0, effectdir2 = 0, effectdir3 = 0, type = COMBAT_PHYSICALDAMAGE} -- direcãose for de ataque em cima do target :
["Bulbasaur"] = {attackname = "Quick Attack", level = 20, storage = 2000, cd = 5, atkmin = 20, atkmax = 40, range = 1, typeattack = "intarget", effecta = 111, type = COMBAT_PHYSICALDAMAGE}
Adicionando + areas
para adicionar mais areas só colocar :
local arr1 = { {1, 1, 1}, {1, 0, 1}, {1, 1, 1}, } local arr2 = { {1, 1, 1}, {1, 0, 1}, {1, 1, 1}, }
sempre aumentando 1 , e depois na tag do ataque pra usar é só configurar no
arr = arr1ou
arr = arr2...
Storage e Cd
lembrando que na tabela
storage = 2000cada attack tem que ter uam storage diferente
e o
cd = 5é o coldoown pra cada attack, sendo 5 em segundos.
Dano
para configurar o dano é simples atkmin e atk max...
Range
range é a distancia ki pode tar pra faser o attaque, sendo 1 para intarget, e o numero de cada sqm do lado para area.
attacktype
possiveis tipos : "area", "distance", "intarget", "direcion" -- como assima.
tá ai, se alguem for capaz de configurar ele,
, seja feliz...
para adicionar + m1 m2 m3 m4 , só copiar e colar
tag :
<talkaction words="m1" hide="yes" event="script" value="m1.lua"/>
#Créditos
Mock , pela função doSendMagicEffectInAreaMatheusMkalo pela função getTime(s)
Fuiii...
Ajudei REP+
1 pergunta ... como fasso pra editar o effect tpw do flamethower que sera do 55 ao 58 para virar em todos cantos por exemplo svke ... que vc usa flamethower vai pra frente ai vc quer usar de costas ele so vai pra frente ... ate agora não consegui em nenhum script de m1 se poder me ajudar !
Mais O System Fico 10+ Parabens !
info
Grupo: Campones
Registrado: 10/11/07
Posts: 21
Reputação: 0

Como eu faço pra por os pokes dos players só atacando com m1,m2,etc ? (sounoob ;s)
crie dois monstros , no xml vc coloca o mesmo nome , mais no arquibo se bota bulbasaur, e bulbasaur2, o bulbasaur2 se deixa com ataques , ai vc refáz, os das hunts, e o bulbasaur se deixa sem atakes, pq ai no catch, qndo ele pegar, ele vai adc o bulbasaur , pq o corpse do bulbasaur2 é igual o do 1
info
Grupo: Campones
Registrado: 13/01/10
Posts: 74
Reputação: +3
Char no Tibia: Hunter Lokinho

Fiko muito bom
Ja dei +REP
o problema é que eu num saco quanto mais ou menos tem hit de cada poke e quais os ataques e talz..
enfim, não saco de spells, mas foi uma grande contribuição pros scripters do fórum, podendo no futuro alguem lancar completo até o m5 ![]()
[]'s
@edit
tava tentando fazer umas, é mó dificil, não encontro as animações das magias, mas se alguem souber e quiser me dá uma forcinha com uma lista dos efeitos da magia e me ensinando como fazer, se aprender eu vou usar a maior parte do tempo vago para terminar e pode crer que eu posto aqui no fórum pra galera...
Meu MSN: ~~~> Sou_tjs_de_coracao@hotmail.com <~~
Editado Janeiro 5 por GMHareaOT
info
Grupo: Visconde
Registrado: 21/04/08
Posts: 311
Reputação: +257
Moves System Pokemon
O meu script de moves, foi atualizado, por enquanto está com esses pokemons, eu estárei adicionando os 151, aos pouco não tenha pressa e acompanhe todos dias avera atualização.
Novidades :
Crie um arquivo com nome de moves.lua e cole o new script :
function getTime(s) local n = math.floor(s / 600) s = s - (600 * n) return n, s end function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers) local creaturesList = {} for x = -radiusx, radiusx do for y = -radiusy, radiusy do if not (x == 0 and y == 0) then creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE}) if (creature.type == 1 and showPlayers == 1) or (creature.type == 2 and showMonsters == 1) then table.insert(creaturesList, creature.uid) end end end end return creaturesList end -- CONDITIONS function Confused(inconfuse, rounds) if rounds == 0 then return false end if not inconfuse then return false end local c = {[1] = {x = 1, y = 0}, [2] = {x = 0, y = 1}, [3] = {x = -1, y = 0}, [4] = {x = 0, y = -1}} local p = getCreaturePosition(inconfuse) doSendMagicEffect(p, 31) local s = math.random(4) doTeleportThing(inconfuse, {x = p.x + c[s].x, y = p.y + c[s].y, z = p.z}) return addEvent(Confused, 400, inconfuse, rounds-1) end local paralize = createConditionObject(CONDITION_PARALYZE) setConditionParam(paralize, CONDITION_PARAM_TICKS, 5*1000) setConditionFormula(paralize, -0.7, 0, -0.8, 0) function Paralize(inparalize) doSendAnimatedText(getCreaturePosition(inparalize), "PAZ", 210) doAddCondition(inparalize , paralize) return true end local sleep = createConditionObject(CONDITION_PARALYZE) setConditionParam(sleep, CONDITION_PARAM_TICKS, 5*1000) setConditionFormula(sleep, -1.7, 0, -1.8, 0) function Sleep(insleep) doAddCondition(insleep , sleep) p = getCreaturePosition(insleep) doSendAnimatedText(p, "SLEEP", 154) for i = 1, 5 do if i == 1 then doSendMagicEffect(p, 32) else addEvent(doSendMagicEffect, i * 1000, p, 32) end end return true end function Poison(inpoison, ef, rounds) if rounds == 0 then return false end if not inpoison then return false end local p = getCreaturePosition(inpoison) doAreaCombatHealth(pet, COMBAT_EARTHDAMAGE, p, 0, -5, -10, ef) return addEvent(Poison, 800, inpoison, ef, rounds-1) end -- END CONDITIONS function getPosToStorm(posdecay) b = {x = posdecay.x-20, y = posdecay.y-20, z = posdecay.z} return b end local area1 = createCombatArea{ {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0} } local area2 = createCombatArea{ {0, 0, 0, 0, 0}, {0, 1, 1, 1, 0}, {0, 1, 2, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} } local area3 = createCombatArea{ {0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, {1, 1, 2, 1, 1}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0} } local areadirecion1 = { [2] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 2, 0, 0} }, [3] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {2, 1, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, [0] = createCombatArea{ {0, 0, 2, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, [1] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 1, 2}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} } } local areadirecion2 = { [2] = createCombatArea{ {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 2, 0, 0} }, [3] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {2, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, [0] = createCombatArea{ {0, 0, 2, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0} }, [1] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {1, 1, 1, 1, 2}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} } } local areadirecion3 = { [2] = createCombatArea{ {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 2, 0, 0} }, [3] = createCombatArea{ {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {2, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0} }, [0] = createCombatArea{ {0, 0, 2, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0} }, [1] = createCombatArea{ {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 2}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0} } } local areadirecion4 = { [2] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0}, {0, 0, 2, 0, 0} }, [3] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {2, 1, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0} }, [0] = createCombatArea{ {0, 0, 2, 0, 0}, {0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, [1] = createCombatArea{ {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 1, 2}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0} } } local d = { ["Bulbasaur"] = { ["m1"] = {atk = "Quick Attack", minlvl = 20, st = 2000, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Razor Leaf", minlvl = 20, st = 2001, cd = 3, min = 100, max = 200, damage = COMBAT_EARTHDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Vine Whip", minlvl = 20, st = 2002, cd = 3, min = 100, max = 200, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Headbutt", minlvl = 20, st = 2003, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Leech Seed", minlvl = 20, st = 2004, cd = 3, min = 100, max = 200, damage = COMBAT_EARTHDAMAGE, target = true, pz = false}, ["m6"] = {atk = "Solar Beam", minlvl = 20, st = 2005, cd = 3, min = 200, max = 400, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Stun Spore", minlvl = 20, st = 2006, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m8"] = {atk = "Poison Powder", minlvl = 20, st = 2007, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m9"] = {atk = "Sleep Powder", minlvl = 20, st = 2008, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, }, ["Ivysaur"] = { ["m1"] = {atk = "Quick Attack", minlvl = 40, st = 2009, cd = 3, min = 300, max = 400, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Razor Leaf", minlvl = 40, st = 2010, cd = 3, min = 300, max = 400, damage = COMBAT_EARTHDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Vine Whip", minlvl = 40, st = 2011, cd = 3, min = 300, max = 440, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Headbutt", minlvl = 40, st = 2012, cd = 3, min = 300, max = 400, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Leech Seed", minlvl = 40, st = 2013, cd = 3, min =300, max = 400, damage = COMBAT_EARTHDAMAGE, target = true, pz = false}, ["m6"] = {atk = "Solar Beam", minlvl = 40, st = 2014, cd = 3, min = 300, max = 400, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Stun Spore", minlvl = 40, st = 2015, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m8"] = {atk = "Poison Powder", minlvl = 40, st = 2016, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m9"] = {atk = "Sleep Powder", minlvl = 20, st = 2017, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, }, ["Venusaur"] = { ["m1"] = {atk = "Quick Attack", minlvl = 80, st = 2018, cd = 3, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Razor Leaf", minlvl = 80, st = 2019, cd = 3, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Vine Whip", minlvl = 80, st = 2020, cd = 3, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Headbutt", minlvl = 80, st = 2021, cd = 3, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Leech Seed", minlvl = 80, st = 2022, cd = 3, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = true, pz = false}, ["m6"] = {atk = "Solar Beam", minlvl = 80, st = 2023, cd = 3, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Stun Spore", minlvl = 80, st = 2024, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m8"] = {atk = "Poison Powder", minlvl = 80, st = 2025, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m9"] = {atk = "Sleep Powder", minlvl = 20, st = 2026, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m10"] = {atk = "Leaf Storm", minlvl = 80, st = 2027, cd = 3, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, }, ["Charmander"] = { ["m1"] = {atk = "Scratch", minlvl = 20, st = 2028, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Ember", minlvl = 20, st = 2029, cd = 3, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m3"] = {atk = "Flamethrower", minlvl = 20, st = 2030, cd = 3, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Fire Ball", minlvl = 20, st = 2031, cd = 3, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Fire Blast", minlvl = 20, st = 2032, cd = 3, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Rage", minlvl = 20, st = 2033, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m7"] = {atk = "Fire Fang", minlvl = 20, st = 2034, cd = 3, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = true, pz = false}, }, ["Charmeleon"] = { ["m1"] = {atk = "Scratch", minlvl = 40, st = 2035, cd = 3, min = 300, max = 400, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Ember", minlvl = 40, st = 2036, cd = 3, min = 300, max = 400, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m3"] = {atk = "Flamethrower", minlvl = 40, st = 2037, cd = 3, min = 400, max = 500, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Fire Ball", minlvl = 40, st = 2038, cd = 3, min = 300, max =400, damage = COMBAT_FIREDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Fire Blast", minlvl = 40, st = 2039, cd = 3, min = 300, max = 400, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Rage", minlvl = 40, st = 2040, cd = 3, min = 100, max = 300, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m7"] = {atk = "Fire Fang", minlvl = 40, st = 2041, cd = 3, min = 400, max = 800, damage = COMBAT_FIREDAMAGE, target = true, pz = false}, }, ["Charizard"] = { ["m1"] = {atk = "Dragon Claw", minlvl = 80, st = 2042, cd = 3, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Ember", minlvl = 80, st = 2043, cd = 3, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m3"] = {atk = "Flamethrower", minlvl = 80, st = 2044, cd = 3, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Fire Ball", minlvl = 80, st = 2045, cd = 3, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Fire Blast", minlvl = 80, st = 2046, cd = 3, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Rage", minlvl = 80, st = 2047, cd = 3, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m7"] = {atk = "Magma Storm", minlvl = 80, st = 2048, cd = 3, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false}, ["m8"] = {atk = "Wing Attack", minlvl = 80, st = 2049, cd = 3, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false}, }, ["Squirtle"] = { ["m1"] = {atk = "Headbutt", minlvl = 20, st = 2050, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Bubbles", minlvl = 20, st = 2051, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Water Gun", minlvl = 20, st = 2052, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Waterball", minlvl = 20, st = 2053, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Aqua Tail", minlvl = 20, st = 2054, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Hydro Cannon", minlvl = 20, st = 2055, cd = 3, min = 200, max = 400, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Harden", minlvl = 20, st = 2056, cd = 60, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true}, ["m8"] = {atk = "Surf", minlvl = 20, st = 2057, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, }, ["Wartortle"] = { ["m1"] = {atk = "Headbutt", minlvl = 40, st = 2058, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Bubbles", minlvl = 40, st = 2059, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Water Gun", minlvl = 40, st = 2060, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Waterball", minlvl = 40, st = 2061, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Aqua Tail", minlvl = 40, st = 2062, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Hydro Cannon", minlvl = 40, st = 2063, cd = 3, min = 200, max = 400, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Harden", minlvl = 40, st = 2064, cd = 60, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true}, ["m8"] = {atk = "Surf", minlvl = 40, st = 2065, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, }, ["Blastoise"] = { ["m1"] = {atk = "Headbutt", minlvl = 40, st = 2066, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Bubbles", minlvl = 40, st = 2067, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Water Gun", minlvl = 40, st = 2068, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m4"] = {atk = "Waterball", minlvl = 40, st = 2069, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Aqua Tail", minlvl = 40, st = 2070, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Hydro Cannon", minlvl = 40, st = 2071, cd = 3, min = 200, max = 400, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Harden", minlvl = 40, st = 2072, cd = 60, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true}, ["m8"] = {atk = "Surf", minlvl = 40, st = 2073, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, ["m9"] = {atk = "Hydropump", minlvl = 40, st = 2074, cd = 3, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false}, }, ["Caterpie"] = { ["m1"] = {atk = "Headbutt", minlvl = 1, st = 2075, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "String Shot", minlvl = 1, st = 2076, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Bug Bite", minlvl = 1, st = 2077, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, }, ["Metapod"] = { ["m1"] = {atk = "Headbutt", minlvl = 10, st = 2078, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "String Shot", minlvl = 10, st = 2079, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Bug Bite", minlvl = 10, st = 2080, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m4"] = {atk = "Harden", minlvl = 10, st = 2081, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true}, }, ["Butterfree"] = { ["m1"] = {atk = "Headbutt", minlvl = 30, st = 2082, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "Whirlwind", minlvl = 30, st = 2083, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false}, ["m3"] = {atk = "Super Sonic", minlvl = 30, st = 2084, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m4"] = {atk = "Stun Spore", minlvl = 30, st = 2085, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m5"] = {atk = "Poison Powder", minlvl = 30, st = 2086, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m6"] = {atk = "Sleep Powder", minlvl = 30, st = 2087, cd = 3, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false}, ["m7"] = {atk = "Psybeam", minlvl = 30, st = 2088, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false}, ["m8"] = {atk = "Confusion", minlvl = 30, st = 2089, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false}, }, ["Weedle"] = { ["m1"] = {atk = "Horn Attack", minlvl = 1, st = 2090, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "String Shot", minlvl = 1, st = 2091, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Poison Sting", minlvl = 1, st = 2092, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, }, ["Kakuna"] = { ["m1"] = {atk = "Bug Bite", minlvl = 10, st = 2093, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "String Shot", minlvl = 10, st = 2094, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Poison Sting", minlvl = 10, st = 2095, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m4"] = {atk = "Harden", minlvl = 10, st = 2096, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = true}, }, ["Beedrill"] = { ["m1"] = {atk = "Fury Cutter", minlvl = 10, st = 2097, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m2"] = {atk = "String Shot", minlvl = 10, st = 2098, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m3"] = {atk = "Poison Sting", minlvl = 10, st = 2099, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m4"] = {atk = "Pin Missile", minlvl = 10, st = 2100, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m5"] = {atk = "Rage", minlvl = 10, st = 2101, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, ["m6"] = {atk = "Strafe", minlvl = 10, st = 2102, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false}, }, } function onSay(cid, words, param) if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You do not have any pokemon.") end local poke = d[getCreatureName(getCreatureSummons(cid)[1])][words] if not poke then return true end local storage = poke.st local exst = 16265 local cdexst = 0.5 local cd = math.ceil(poke.cd/2) local pet = getCreatureSummons(cid)[1] local target = getCreatureTarget(cid) local look = getCreatureLookDir(pet) local position = getThingPos(pet) if getTilePzInfo(getCreaturePosition(pet)) and poke.pz == false then return doPlayerSendCancel(cid, "Not Attack in protection zone.") end if getPlayerLevel(cid) < poke.minlvl then return doPlayerSendTextMessage(cid, 19, "Your need level "..poke.minlvl.." to use " ..poke.atk..".") end if os.time()-getPlayerStorageValue(cid, storage) <= cd then minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage))) return doPlayerSendTextMessage(cid, 27, "Wait "..seconds.." seconds to use "..poke.atk..".") end if target == 0 and poke.target then return doPlayerSendTextMessage(cid, 19, "This Pokemon Attack need any target.") end if os.time()-getPlayerStorageValue(cid, exst) <= cdexst then minutes,seconds = getTime(cdexst-(os.time()-getPlayerStorageValue(cid, exst))) return doPlayerSendCancel(cid, "Poke exhausted") end local critico = math.random(100) < 10 and 2 or 1 --ATTACKS if poke.atk == "Quick Attack" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 148) elseif poke.atk == "Razor Leaf" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 4) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 79) elseif poke.atk == "Vine Whip" then local effects = { [0] = 80, [1] = 83, [2] = 81, [3] = 82 } doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion1[look], -poke.min, -poke.max * critico, effects[look]) elseif poke.atk == "Headbutt" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 111) elseif poke.atk == "Leech Seed" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 6) doSendAnimatedText(getCreaturePosition(target), "POISON", 66) addEvent(Poison, 500, target, 45, 5) elseif poke.atk == "Solar Beam" then local a = { [0] = {x = 0, y = -1, effect={[1]=94,[2]=93,[3]=93,[4]=95}}, [1] = {x = 1, y = 0, effect={[1]=86,[2]=88,[3]=88,[4]=87}}, [2] = {x = 0, y = 1, effect={[1]=91,[2]=93,[3]=93,[4]=92}}, [3] = {x = -1, y = 0, effect={[1]=89,[2]=88,[3]=88,[4]=90}} } for i = 1,4 do doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i]) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion2[look], -poke.min, -poke.max * critico, 59) elseif poke.atk == "Stun Spore" then local d = getCreaturesInRange(getThingPos(pet), 1, 1, 1, 0) for _,pid in pairs(d) do Paralize(pid) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 85) elseif poke.atk == "Poison Powder" then local d = getCreaturesInRange(getThingPos(pet), 1, 1, 1, 0) for _,pid in pairs(d) do doSendAnimatedText(getCreaturePosition(pid), "POISON", 66) Poison(pid, 8, 5) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 84) elseif poke.atk == "Sleep Powder" then local d = getCreaturesInRange(getThingPos(pet), 1, 1, 1, 0) for _,pid in pairs(d) do Sleep(pid) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 27) elseif poke.atk == "Leaf Storm" then local d = getCreaturesInRange(getThingPos(pet), 3, 3, 1, 0) for _,pid in pairs(d) do for i = 1, 4 do if i == 1 then addEvent(doAreaCombatHealth, 400, pet, poke.damage, getThingPos(pid), 0, -poke.min, -poke.max * critico, 79) doSendDistanceShoot(getPosToStorm(getCreaturePosition(pid)), getCreaturePosition(pid), 4) else addEvent(doAreaCombatHealth, i*800 ,pet, poke.damage, getThingPos(pid), 0, -poke.min, -poke.max * critico, 79) addEvent(doSendDistanceShoot, i*600, getPosToStorm(getCreaturePosition(pid)), getCreaturePosition(pid), 4) end end end elseif poke.atk == "Scratch" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 142) elseif poke.atk == "Ember" then doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 15) elseif poke.atk == "Flamethrower" then local effects = { [0] = 55, [1] = 58, [2] = 56, [3] = 57 } doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion1[look], -poke.min, -poke.max * critico, effects[look]) elseif poke.atk == "Fire Ball" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 3) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 5) elseif poke.atk == "Fire Blast" then local a = { [0] = {x = 0, y = -1, effect= 60}, [1] = {x = 1, y = 0, effect= 61}, [2] = {x = 0, y = 1, effect= 62}, [3] = {x = -1, y = 0, effect= 63} } for i = 1,8 do if i == 1 then doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect) doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 15) else addEvent(doSendMagicEffect, i*300, {x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect) addEvent(doAreaCombatHealth, i*300, pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 15) end end elseif poke.atk == "Rage" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end for i = 1,4 do if i == 1 then doSendMagicEffect(position, 168) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 142) else addEvent(doAreaCombatHealth, i*500, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 142) end end elseif poke.atk == "Fire Fang" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 146) addEvent(doAreaCombatHealth, 200, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 15) addEvent(doAreaCombatHealth, 400, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 15) elseif poke.atk == "Dragon Claw" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 141) elseif poke.atk == "Magma Storm" then doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 36) addEvent(doAreaCombatHealth, 800, pet, poke.damage, getThingPos(pet), area1, -poke.min, -poke.max * critico, 6) elseif poke.atk == "Wing Attack" then doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 115) addEvent(doAreaCombatHealth, 500, pet, poke.damage, getThingPos(pet), area1, -poke.min, -poke.max * critico, 42) elseif poke.atk == "Bubbles" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 2) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 68) elseif poke.atk == "Water Gun" then local a = { [0] = {x = 0, y = -1, effect={[1]=74,[2]=75,[3]=75,[4]=76}}, [1] = {x = 1, y = 0, effect={[1]=69,[2]=70,[3]=70,[4]=71}}, [2] = {x = 0, y = 1, effect={[1]=77,[2]=75,[3]=75,[4]=78}}, [3] = {x = -1, y = 0, effect={[1]=72,[2]=70,[3]=70,[4]=73}} } for i = 1,4 do doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i]) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion2[look], -poke.min, -poke.max * critico, 59) elseif poke.atk == "Waterball" then for i = 1,5 do if i == 1 then addEvent(doAreaCombatHealth, 200 ,pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 68) doSendDistanceShoot(getPosToStorm(getCreaturePosition(target)), getCreaturePosition(target), 2) else addEvent(doAreaCombatHealth, i*700 ,pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 68) addEvent(doSendDistanceShoot, i*500, getPosToStorm(getCreaturePosition(target)), getCreaturePosition(target), 2) end end elseif poke.atk == "Aqua Tail" then doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 160) elseif poke.atk == "Hydro Cannon" then local a = { [0] = {x = 0, y = -1, effect={[1]=74,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[8]=76}}, [1] = {x = 1, y = 0, effect={[1]=69,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=71}}, [2] = {x = 0, y = 1, effect={[1]=77,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[4]=78}}, [3] = {x = -1, y = 0, effect={[1]=72,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=73}} } for i = 1,8 do doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i]) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 59) elseif poke.atk == "Harden" then function Harden(cid, rounds) if rounds == 0 then return false end if #getCreatureSummons(cid) == 0 then return false end doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 144) return addEvent(Harden, 1000, cid, rounds-1) end addEvent(Harden, 500, cid, 40) elseif poke.atk == "Surf" then local a = { [0] = {x = 0, y = -1, effect= 66}, [1] = {x = 1, y = 0, effect= 67}, [2] = {x = 0, y = 1, effect= 64}, [3] = {x = -1, y = 0, effect= 65} } for i = 1,8 do if i == 1 then doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect) doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 68) else addEvent(doSendMagicEffect, i*300, {x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect) addEvent(doAreaCombatHealth, i*300, pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 68) end end elseif poke.atk == "Hydropump" then local a = { [0] = {x = 0, y = -1, effect={[1]=74,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[8]=76}}, [1] = {x = 1, y = 0, effect={[1]=69,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=71}}, [2] = {x = 0, y = 1, effect={[1]=77,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[4]=78}}, [3] = {x = -1, y = 0, effect={[1]=72,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=73}} } for i = 1,8 do doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i]) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 68) addEvent(doAreaCombatHealth, 400, pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 33) elseif poke.atk == "String Shot" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 23) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 137) Paralize(target) elseif poke.atk == "Bug Bite" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 146) elseif poke.atk == "Whirlwind" then doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion4[look], -poke.min, -poke.max * critico, 42) elseif poke.atk == "Super Sonic" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end for i = 1, 3 do if i == 1 then doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 24) else addEvent(doSendDistanceShoot, i * 200, getCreaturePosition(pet), getCreaturePosition(target), 24) end end addEvent(doSendAnimatedText, 500, getCreaturePosition(target), "CONF", 210) addEvent(Confused, 500, target, 15) elseif poke.atk == "Psybeam" then local a = { [0] = {x = 0, y = -1, effect={[1]=108,[2]=109,[3]=109,[4]=108}}, [1] = {x = 1, y = 0, effect={[1]=106,[2]=107,[3]=107,[4]=106}}, [2] = {x = 0, y = 1, effect={[1]=109,[2]=108,[3]=108,[4]=109}}, [3] = {x = -1, y = 0, effect={[1]=107,[2]=106,[3]=106,[4]=107}} } for i = 1,4 do doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i]) end doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion2[look], -poke.min, -poke.max * critico, 59) elseif poke.atk == "Confusion" then doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area3, -poke.min, -poke.max * critico, 136) elseif poke.atk == "Horn Attack" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 111) elseif poke.atk == "Poison Sting" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 15) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 9) elseif poke.atk == "Fury Cutter" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 110) addEvent(doAreaCombatHealth, 500, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 110) elseif poke.atk == "Pin Missile" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then return doPlayerSendCancel(cid, "Target is far away.") end for i = 1, 3 do if i == 1 then doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 13) doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 137) else addEvent(doSendDistanceShoot, i * 200, getCreaturePosition(pet), getCreaturePosition(target), 13) addEvent(doAreaCombatHealth, i * 200, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 137) end end elseif poke.atk == "Strafe" then if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then return doPlayerSendCancel(cid, "Target is far away.") end local dd = {142, 111, 110, 148} for i = 1,6 do af = math.random(4) if i == 1 then doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, dd[af]) else addEvent(doAreaCombatHealth, i*500, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, dd[af]) end end end -- END ATTACKS doPlayerSay(cid, getCreatureName(pet)..", use "..poke.atk..".", 1) setPlayerStorageValue(cid, storage, os.time()+cd) setPlayerStorageValue(cid, exst, os.time()+cdexst) local atknotcritic = {"Harden", "Poison Powder", "Sleep Powder", "Super Sonic", "Stun Spore"} if critico == 2 and not isInArray(atknotcritic, poke.atk) then doSendAnimatedText(getCreaturePosition(cid), "CRITICAL", 144) end return true endNew Tag :
Pokemons Configurados [15/151] :
#Bulbasaur
#Ivysaur
#Venusaur
#Charmander
#Charmeleon
#Charizard
#Squirtle
#Wartortle
#Blastoise
#Caterpie
#Metapod
#Butterfree
#Weedle
#Kakuna
#Beedrill
Editado Fevereiro 8 por xotservx