Venho trazer meu primeiro script, estou postando aki para me falarem se tem algo que posso alterar para tornar mais simples o script em questão... é algo bem bobo mais estou tentando me aprofundar.
time = 5-- segundosmunicao = 5 --Municao utilizadas no BoOm!time = time+os.clock()print ('Para Atirar Precioe B');while municao >= 0 and time >= os.clock() do -- repete se tiver tempo e munição ataque = io.read(); if ataque == 'b' then --ver verificação se presionado B if time >= os.clock() then if municao > 0 then print ('BOOM !!'); --se presionado dizer BOOm!! municao = municao -1; -- Remove uma munição print ('Munição=' .. municao); --diz muniçao restante print ('Tempo restante '.. time - os.clock()); --diz o tempo restante else print ('Munição acabou'); break; end else print ('tempo acabou'); break; end else --Se pressionou tecla errada verifica if time <= os.clock() then --se apos precionar a telca errada ele verifica se ainda tem tempo para outro comando. print ('Tempo ACabou'); else print ('Tecla Precionada icorreta'); end endend
Eae galera do XTibia, estou apresentado um projeto nada novo, que está sendo trabalhado a um bom tempo, ficamos parados mais com novos membros na equipe demos mais uma decolada em relação as correções de bugs e aprimoramento dos sistemas, para galera que já conhece o projeto ficaram surpresos com as melhorias feitas e com o andamento, já para quem está vendo o projeto pela primeira vez espero que gostem do que viemos trazer para vocês
Sistemas: Os sistemas estão completos, retiramos o máximo de conflitos e bugs que conseguimos encontrar durante do desenvolvimento e teste, mais como sabem para rodar algo sem nenhum problema é precisso de teste em maior escala do que apenas alguns staf on, por isso casso ocorra qualquer problemas estaremos resolvendo com o decorrer do projeto, por esse motivos aguardados um feedback dos jogadores.
V1.3 Primeira versão do Laucher está pronta e será lançado logo com a versão beta do servidor
By:ZeNit91
V1.2 Neste update foi reformulado o sistema de cam-tv, assim tirando os bugs de drop server e colocando ela para ser obtida por uma guest...
V1.1
Neste update vai ter varias coisas bacanas que foi trabalhado e melhorado!
1 - reformulamos quase todas as hunts do mapa nossas hunts agora esta full 1 a 4 geração
2 - mudamos a sprite das montanhas 3 - adicionamos uma das profição que e o aventureiro OBS: logo logo vamos adicionar o resto 4 - reformulamos o systema de vip deixamos ele melhor o systema em si Próximo update oque vai conter mais ou menos que ja estamos trabalhando. - systema de addons 100% - systema de auto loot(Estilo PxG) - já estamos balanceando os pokemons - vamos já por no mapa nossas quests em media de 40 quests mais ou menos - talvez não e certeza que saia no próximo update mas vamos ver se conseguimos por o resto das profições 1 já esta adicionado no server que e o aventureiro
- MAPA -
Descrição: Estamos no final da edição do mapa, estamos o momento trabalhando para criar regiões especiais e secretas, pontos onde o jogador tornada sua aventura ainda mais completo e divertida.
- Prints- •Cliente - Próprio (Pra Evitar Bugs E DeBugs)
•Nosso Cliente é Personalizado para não dar Debugs •Barra de MOVE funcional
- Funções Globais e NPC's - Trabalhamos com todos NPC's para eventos e Quests ou apenas de venda e compra, para o jogadores se divertirem com as melhores experiencias entre duelar com player ou npc, eventos globais de Arena a PVP
- Site - O site foi modelado de forma eficiente e leve, estamos todas as semanas revendo o desempenho do site e tentado melhorar para fácil acesso dos usuário. http://pokeventa.ddns.net/
Eae galera do XTibia, estou apresentado um projeto nada novo, que está sendo trabalhado a um bom tempo, ficamos parados mais com novos membros na equipe demos mais uma decolada em relação as correções de bugs e aprimoramento dos sistemas, para galera que já conhece o projeto ficaram surpresos com as melhorias feitas e com o andamento, já para quem está vendo o projeto pela primeira vez espero que gostem do que viemos trazer para vocês
Sistemas: Os sistemas estão completos, retiramos o máximo de conflitos e bugs que conseguimos encontrar durante do desenvolvimento e teste, mais como sabem para rodar algo sem nenhum problema é precisso de teste em maior escala do que apenas alguns staf on, por isso casso ocorra qualquer problemas estaremos resolvendo com o decorrer do projeto, por esse motivos aguardados um feedback dos jogadores.
V1.3 Primeira versão do Laucher está pronta e será lançado logo com a versão beta do servidor
By:ZeNit91
V1.2 Neste update foi reformulado o sistema de cam-tv, assim tirando os bugs de drop server e colocando ela para ser obtida por uma guest...
V1.1
Neste update vai ter varias coisas bacanas que foi trabalhado e melhorado!
1 - reformulamos quase todas as hunts do mapa nossas hunts agora esta full 1 a 4 geração
2 - mudamos a sprite das montanhas 3 - adicionamos uma das profição que e o aventureiro OBS: logo logo vamos adicionar o resto 4 - reformulamos o systema de vip deixamos ele melhor o systema em si Próximo update oque vai conter mais ou menos que ja estamos trabalhando. - systema de addons 100% - systema de auto loot(Estilo PxG) - já estamos balanceando os pokemons - vamos já por no mapa nossas quests em media de 40 quests mais ou menos - talvez não e certeza que saia no próximo update mas vamos ver se conseguimos por o resto das profições 1 já esta adicionado no server que e o aventureiro
- MAPA -
Descrição: Estamos no final da edição do mapa, estamos o momento trabalhando para criar regiões especiais e secretas, pontos onde o jogador tornada sua aventura ainda mais completo e divertida.
- Prints- •Cliente - Próprio (Pra Evitar Bugs E DeBugs)
•Nosso Cliente é Personalizado para não dar Debugs •Barra de MOVE funcional
- Funções Globais e NPC's - Trabalhamos com todos NPC's para eventos e Quests ou apenas de venda e compra, para o jogadores se divertirem com as melhores experiencias entre duelar com player ou npc, eventos globais de Arena a PVP
- Site - O site foi modelado de forma eficiente e leve, estamos todas as semanas revendo o desempenho do site e tentado melhorar para fácil acesso dos usuário. http://pokeventa.ddns.net/
A pedidos de Muitos Jogadores, retiramos o lvl System e Fizemos uma adaptação bem sucedida.
Agora o servidor Conta com uma nova tabela de Fish e um evento super emocionante, espero que todos gostem.
Para saber Mais acesse
http://pokeotgr.sytes.net
News
Introdução
Opa eae galerinha, estou de volta agora com servidor reformulado graças ao slicer, devo alguns reps a ele, bem como ia dizendo o servidor esta bem melho, para quem nao sabe eu fui o fundador dos seguintes projetos: PokeSuite, Pokemon Atlants e Pokemon Galaxy, não dei continuidade a nenhum deles pelo tempo que eu tinha disponivel, mais agora estou com esse server e me empenhado para ficar top.
O servidor conta com systemas variados e o mais importante conta com a opinião dos jogadores, nos usamos sistemas que os jogadores de-em preferencia é claro que de modo a manter o servidor equilibrado, entre esses systemas nos temos
Fly
Surf
Hide
Dive
Fish
Headbude
Golden
Skill System
Shiny System
Promotion
Entre outros
OBS
Estamos trabalhando no equilíbrio de todos os Pokémon já esta confirmado em media 70% dos pokes equilibrados claro que contamos com ajudas dos players para facilitar nosso trabalho e tbm estamos criando o novo mapa onde terá spaw de Pokémon equilibrado, sem aquela montanha de monstro vindo para cima de você.
Varios Systemas cendo implatandos e alguns que ja estão implantados mais ainda não foram liberados por não termos concluído todo os testes entre eles temos:
A equipe esta trabalhando no projeto a 2 messes e o servidor esta a 1 semana online, o trabalho é grande mais concerteza satisfatório para equipe, para mais informações da equipe Acesse:
http://pokeotgr.sytes.net
tas ligado q o sistema de unique n funciona para itens stackables neh?
e n eh mais facil transformar os itens quando tu da eles pro player?
e achu melhor no caso fazer por onLogin usando talvez o mods/firstitems.xml...
LEMBRADO: OS 3 TOP DO RANK IRAO GANHAR OS POKEMONS INICIAIS SHINY:
________________________
| Shiny Charmander. |
| Shiny Bulbasaur. |
| Shiny Squirtle. |
---------------------------------------
Os demais jogadores receberao premios deacordo com o lvl no Beta teste
OBS: ESTAMOS EXECUTADO 1 VECAO ANTERIOR SO SERVIDOR 1.5, POR ESTAMOS REFAZENDO O CLIENTE, ENTAO PARA EVITAR PROBLEMAS,
QUALQUER BUG RELATADO, A PRIMEIRA PESSOA IRA GANHAR 1 SUPERBALL NO LANCAMENTO DO SEVER.
Rates TEMPORARIAMENTE almentadas para 10x
SITE FORA DO AR PARA MANUTENCAO, ASSIM QUE TERMINAR COLOCO ON NOVAMENTE.
Stone System - 100%
Mapa Próprio - 39% (up facil ate lvl 50 add novos respaw)
Npc Que compra pokemons - 100%
Npc Jorge - 100%
Nurse - 100%
Pokedex - 100% (Falta Apenas a trava de lvl que sera ativada na Vercao final)
Spells - Melhoradas e Com novas Animacoes
Pokemons - 165 sem contar os shiny
Fishing - 100%
Moves ok (Fly, Ride e Surf)
Gues Fisher
Npc Ajudante que vende Diamonds
2 verçoes de cliente (com cdbar e sem cdbar)
Aguardem o lancamesnto da nova cidade do PokeGalaxy.
2 NOVAS ilhas
Abertura do mapa + 1 cidade para explorar.
Nova atualizacao no site.
Tela de abertura do site:
Tela Principal do site:
Como esta o mapa
38% pronto areas que nao estao em vermelho
Novas Areas e Respaw
2
3
4
5
6
7
Atualizado a Area do Slopoke e do Pisher Greg
Novos Npc
Ajudante
Anuciante Slowpoke
Fisher Greg
8
~Estamos Criando A Fire Sland
(Lancamento Ainda hoje)~
ADD NPC
Novo Npc Mark Full Itens (sem PB)
Npc De Promotion
Npc de Nick.
Configurando msn colorida do npc Cassino.
Players Hoheee
A pedido dos Jogadores Tiramos os Nicks
hOLA A TODOS.
Colocamos uma passagem para Bardon que nao tenha que passa pelos respaw de Diglet.
9
Water Sland
Estaremos Colocando Respaw Na proxima Atualizacao
Add Novo Maper.
(Snokiuthu)
2 Dos 3 GM dos Server.
Participe da Familha
Promoçoes Imperdiveis
Promoção.
Assim que tivermos 25 jogadores online iresmo sortear ose seguintes pokes (shyne Rattata, Shyne Weedle e Shyne Caterpie)
corra para participar =)
ADD RESPAW SHYNE DE PARAS, PARASCET E EKANS
Editados os Itens Iniciais Dos Jogadores para:
1 Pokebola (Catrepie, Rattata ou Weedle).
20 Coconut (Comida)
30 Pokeball (Normal Ball)
Happy Altareado (-10 Segundos)
Fome Altareado (+60 Segundos)
Add Uma Ekans no respaw de paras.
Add Um ParaScet na tinel.
Editado Rattata 1.2 Mais forte que os dosmedicados.
Stone System - 100%
Mapa Próprio - 25% (up facil ate lvl 35 add novos respaw)
Npc Que compra pokemons - 100%
Npc Jorge - 100%
Nurse - 100%
Pokedex - 100% (Falta Apenas a trava de lvl que sera ativada na Vercao final)
Spells - Melhoradas e Com novas Animacoes
Pokemons - 165 sem contar os shiny
Fishing - 80% (Estamos configurando para melhor up.)
Moves ok (Fly, Ride e Surf)
Mapa
Galera estamos com 35% do mapa pronto e melhorando cada
vez mais oque ja esta pronto e a cada dia alcaçando nosso objetivo.
Estamos com 3 cidade prontos
Elinian, RockCity e Bardon.
Alteraçoes no Mapa
Como é notavel fizemos as seguinte alteraçoes:
Trocamos o Id da agua para surf.
Recontruimos a cidade principal.
Respaw de Diglet e cave adicionados.
Rock tunel Para lvl 35+ 70%.
Respaw de Pokes eletricos free ok.
Bueiros para cave da cidade Principal colocados.
Rate de fishing alterada (Teste).
Agora os tão esperados Screm do mapa.
Cadastre e participa do forum e de sua ipinião e ideias.
LEMBRADO: OS 3 TOP DO RANK IRAO GANHAR OS POKEMONS INICIAIS SHINY:
________________________
| Shiny Charmander. |
| Shiny Bulbasaur. |
| Shiny Squirtle. |
---------------------------------------
Os demais jogadores receberao premios deacordo com o lvl no Beta teste
OBS: ESTAMOS EXECUTADO 1 VECAO ANTERIOR SO SERVIDOR 1.5, POR ESTAMOS REFAZENDO O CLIENTE, ENTAO PARA EVITAR PROBLEMAS,
QUALQUER BUG RELATADO, A PRIMEIRA PESSOA IRA GANHAR 1 SUPERBALL NO LANCAMENTO DO SEVER.
Rates TEMPORARIAMENTE almentadas para 10x
SITE FORA DO AR PARA MANUTENCAO, ASSIM QUE TERMINAR COLOCO ON NOVAMENTE.
Stone System - 100%
Mapa Próprio - 39% (up facil ate lvl 50 add novos respaw)
Npc Que compra pokemons - 100%
Npc Jorge - 100%
Nurse - 100%
Pokedex - 100% (Falta Apenas a trava de lvl que sera ativada na Vercao final)
Spells - Melhoradas e Com novas Animacoes
Pokemons - 165 sem contar os shiny
Fishing - 100%
Moves ok (Fly, Ride e Surf)
Gues Fisher
Npc Ajudante que vende Diamonds
2 verçoes de cliente (com cdbar e sem cdbar)
Aguardem o lancamesnto da nova cidade do PokeGalaxy.
2 NOVAS ilhas
Abertura do mapa + 1 cidade para explorar.
Nova atualizacao no site.
Tela de abertura do site:
Tela Principal do site:
Como esta o mapa
38% pronto areas que nao estao em vermelho
Novas Areas e Respaw
2
3
4
5
6
7
Atualizado a Area do Slopoke e do Pisher Greg
Novos Npc
Ajudante
Anuciante Slowpoke
Fisher Greg
8
~Estamos Criando A Fire Sland
(Lancamento Ainda hoje)~
ADD NPC
Novo Npc Mark Full Itens (sem PB)
Npc De Promotion
Npc de Nick.
Configurando msn colorida do npc Cassino.
Players Hoheee
A pedido dos Jogadores Tiramos os Nicks
hOLA A TODOS.
Colocamos uma passagem para Bardon que nao tenha que passa pelos respaw de Diglet.
9
Water Sland
Estaremos Colocando Respaw Na proxima Atualizacao
Add Novo Maper.
(Snokiuthu)
2 Dos 3 GM dos Server.
Participe da Familha
Promoçoes Imperdiveis
Promoção.
Assim que tivermos 25 jogadores online iresmo sortear ose seguintes pokes (shyne Rattata, Shyne Weedle e Shyne Caterpie)
corra para participar =)
ADD RESPAW SHYNE DE PARAS, PARASCET E EKANS
Editados os Itens Iniciais Dos Jogadores para:
1 Pokebola (Catrepie, Rattata ou Weedle).
20 Coconut (Comida)
30 Pokeball (Normal Ball)
Happy Altareado (-10 Segundos)
Fome Altareado (+60 Segundos)
Add Uma Ekans no respaw de paras.
Add Um ParaScet na tinel.
Editado Rattata 1.2 Mais forte que os dosmedicados.
Stone System - 100%
Mapa Próprio - 25% (up facil ate lvl 35 add novos respaw)
Npc Que compra pokemons - 100%
Npc Jorge - 100%
Nurse - 100%
Pokedex - 100% (Falta Apenas a trava de lvl que sera ativada na Vercao final)
Spells - Melhoradas e Com novas Animacoes
Pokemons - 165 sem contar os shiny
Fishing - 80% (Estamos configurando para melhor up.)
Moves ok (Fly, Ride e Surf)
Mapa
Galera estamos com 35% do mapa pronto e melhorando cada
vez mais oque ja esta pronto e a cada dia alcaçando nosso objetivo.
Estamos com 3 cidade prontos
Elinian, RockCity e Bardon.
Alteraçoes no Mapa
Como é notavel fizemos as seguinte alteraçoes:
Trocamos o Id da agua para surf.
Recontruimos a cidade principal.
Respaw de Diglet e cave adicionados.
Rock tunel Para lvl 35+ 70%.
Respaw de Pokes eletricos free ok.
Bueiros para cave da cidade Principal colocados.
Rate de fishing alterada (Teste).
Agora os tão esperados Screm do mapa.
Cadastre e participa do forum e de sua ipinião e ideias.
LEMBRADO: OS 3 TOP DO RANK IRAO GANHAR OS POKEMONS INICIAIS SHINY:
________________________
| Shiny Charmander. |
| Shiny Bulbasaur. |
| Shiny Squirtle. |
---------------------------------------
Os demais jogadores receberao premios deacordo com o lvl no Beta teste
OBS: ESTAMOS EXECUTADO 1 VECAO ANTERIOR SO SERVIDOR 1.5, POR ESTAMOS REFAZENDO O CLIENTE, ENTAO PARA EVITAR PROBLEMAS,
QUALQUER BUG RELATADO, A PRIMEIRA PESSOA IRA GANHAR 1 SUPERBALL NO LANCAMENTO DO SEVER.
Rates TEMPORARIAMENTE almentadas para 10x
SITE FORA DO AR PARA MANUTENCAO, ASSIM QUE TERMINAR COLOCO ON NOVAMENTE.
Stone System - 100%
Mapa Próprio - 39% (up facil ate lvl 50 add novos respaw)
Npc Que compra pokemons - 100%
Npc Jorge - 100%
Nurse - 100%
Pokedex - 100% (Falta Apenas a trava de lvl que sera ativada na Vercao final)
Spells - Melhoradas e Com novas Animacoes
Pokemons - 165 sem contar os shiny
Fishing - 100%
Moves ok (Fly, Ride e Surf)
Gues Fisher
Npc Ajudante que vende Diamonds
2 verçoes de cliente (com cdbar e sem cdbar)
Aguardem o lancamesnto da nova cidade do PokeGalaxy.
2 NOVAS ilhas
Abertura do mapa + 1 cidade para explorar.
Nova atualizacao no site.
Tela de abertura do site:
Tela Principal do site:
Como esta o mapa
38% pronto areas que nao estao em vermelho
Novas Areas e Respaw
2
3
4
5
6
7
Atualizado a Area do Slopoke e do Pisher Greg
Novos Npc
Ajudante
Anuciante Slowpoke
Fisher Greg
8
~Estamos Criando A Fire Sland
(Lancamento Ainda hoje)~
ADD NPC
Novo Npc Mark Full Itens (sem PB)
Npc De Promotion
Npc de Nick.
Configurando msn colorida do npc Cassino.
Players Hoheee
A pedido dos Jogadores Tiramos os Nicks
hOLA A TODOS.
Colocamos uma passagem para Bardon que nao tenha que passa pelos respaw de Diglet.
9
Water Sland
Estaremos Colocando Respaw Na proxima Atualizacao
Add Novo Maper.
(Snokiuthu)
2 Dos 3 GM dos Server.
Participe da Familha
Promoçoes Imperdiveis
Promoção.
Assim que tivermos 25 jogadores online iresmo sortear ose seguintes pokes (shyne Rattata, Shyne Weedle e Shyne Caterpie)
corra para participar =)
ADD RESPAW SHYNE DE PARAS, PARASCET E EKANS
Editados os Itens Iniciais Dos Jogadores para:
1 Pokebola (Catrepie, Rattata ou Weedle).
20 Coconut (Comida)
30 Pokeball (Normal Ball)
Happy Altareado (-10 Segundos)
Fome Altareado (+60 Segundos)
Add Uma Ekans no respaw de paras.
Add Um ParaScet na tinel.
Editado Rattata 1.2 Mais forte que os dosmedicados.
Stone System - 100%
Mapa Próprio - 25% (up facil ate lvl 35 add novos respaw)
Npc Que compra pokemons - 100%
Npc Jorge - 100%
Nurse - 100%
Pokedex - 100% (Falta Apenas a trava de lvl que sera ativada na Vercao final)
Spells - Melhoradas e Com novas Animacoes
Pokemons - 165 sem contar os shiny
Fishing - 80% (Estamos configurando para melhor up.)
Moves ok (Fly, Ride e Surf)
Mapa
Galera estamos com 35% do mapa pronto e melhorando cada
vez mais oque ja esta pronto e a cada dia alcaçando nosso objetivo.
Estamos com 3 cidade prontos
Elinian, RockCity e Bardon.
Alteraçoes no Mapa
Como é notavel fizemos as seguinte alteraçoes:
Trocamos o Id da agua para surf.
Recontruimos a cidade principal.
Respaw de Diglet e cave adicionados.
Rock tunel Para lvl 35+ 70%.
Respaw de Pokes eletricos free ok.
Bueiros para cave da cidade Principal colocados.
Rate de fishing alterada (Teste).
Agora os tão esperados Screm do mapa.
Cadastre e participa do forum e de sua ipinião e ideias.
olha como esses kra sao otario, pediram para upa o pokemon shiny( pronto) upei eles baxaram(sim) deram rep( nao)
só por causa disso vou tirar o link se o lucas, ele me pede mais vo remove link
pq eu to ajudando
o kra pediu na pag anterior agr vo remover o link
3 pessoas baxaram essa merda nenhum dos 3 deram rep...
Olá, sei que estavam esperando pela v2, mais como aquele mapa estava dando muitos debug's pelas pessoas não usarem aquele cliente, resolvi adapta-lo a outro serve que é mais conhecido e atual do momento que é o PFGuuhTorres, creio eu que este mapa também irá dar certo em pokemons que usem como base o Dash ou mais conhecido como Fight.
Esta atualização foi visada em retirar bugs e debug's, para melhorar a jogabilidade.
Fiz alterações em algumas áreas mais nada que seja extraordinário.
Uma das atualizações que fiz foi apenas o cp da city 1.
Que agora está assim.
Fiz alterações no PVP que também era alvo de debug's
Está faltando muitos detalhes, mais irei melhorar sem dúvidas.
O que falta configurar que vocês podem fazer sozinho ? apenas configurar os teleportes do CP para o PVP e vise versa. (fora o spawn)
O que estou planejando para a v2 ? 2 ou 3 novas cidades com hunt's e 5 novas ilhas, talvez a v2 virá com o spawn, pois ésta ainda não esta.
Informações adicionais.
Segue download do mapa e scan.
http://www.4shared.c...wz666_v15.html?
Peço que algum faça o scan para min, pois não estou conseguindo entrar no site.
Usei o cliente do PFGUUHTORRES V4, se você usar outro tera que fazer poucas modificações como por exemplo a mesa do cp que fica envolta da nurse, do mark.
Aki vou encinar como apagar monstros importados no rme...
É facil va a pasta;
C:\Users\Andrey\AppData\Roaming\Remere's Map Editor\data\"modelo"...
abra o arquivo e delete a linha do monstro importado.
feito
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
end