Hoje de manha eu fiz o download de um servidor de pokemon feito pelo Bruno123, e eu queria configurar os moves de outros pokemons. Eu consegui colocar o confusion(m1) no kadabra, funcionando perfeitamente,só que a partir do m2 nao funciona.
Queria ajuda pra configurar os moves, um tutorial de como eu devo fazer.
OBS: Onde eu acho o storage das magias dos pokemons?
O Script esta assim:
-- WATER GUNlocal wg1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local waba = createCombatArea{
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
}
local pluck = createCombatArea{
{0, 0, 0, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 3, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 0, 0, 0}
}
local spark = 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 wg2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
}
local wg3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local wg1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local wg2s = createCombatArea{
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg1e = createCombatArea{
{0, 0, 0},
{1, 2, 0},
{0, 0, 0},
}
local wg2e = createCombatArea{
{1, 1, 1, 0, 2},
}
local wg3e = createCombatArea{
{1, 0, 0, 0, 0, 2},
}
local wg1w = createCombatArea{
{0, 0, 0},
{0, 2, 1},
{0, 0, 0},
}
local wg2w = createCombatArea{
{2, 0, 1, 1, 1},
}
local wg3w = createCombatArea{
{2, 0, 0, 0, 0, 1},
}
-- WATER GUN END
-- SAND ATTACK
local sa1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local sa2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa4n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local sa2s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa4s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa1w = createCombatArea{
{2, 1, 0, 0, 0, 0},
}
local sa2w = createCombatArea{
{2, 0, 1, 0, 0, 0},
}
local sa3w = createCombatArea{
{2, 0, 0, 1, 0, 0},
}
local sa4w = createCombatArea{
{2, 0, 0, 0, 1, 0},
}
local sa1e = createCombatArea{
{0, 0, 0, 0, 1, 2},
}
local sa2e = createCombatArea{
{0, 0, 0, 1, 0, 2},
}
local sa3e = createCombatArea{
{0, 0, 1, 0, 0, 2},
}
local sa4e = createCombatArea{
{0, 1, 0, 0, 0, 2},
}
-- SAND ATTACK END
local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash'}
local c = {
[30] = {x = {
pok = pidgey,
spell = "Peck",
minLv = 1,
ex = 1600002,
base1 = 35,
base2 = 45,
dista = 1,
bonus = 3,
type = "flying",
cd = 9
}
},
[5] = {x = {
pok = pidgeotto,
spell = "Peck",
minLv = 1,
ex = 1700002,
base1 = 100,
base2 = 140,
dista = 1,
bonus = 3,
type = "flying",
cd = 9
}
},
[80] = {x = {
pok = pidgeot,
spell = "Peck",
minLv = 1,
ex = 1800002,
base1 = 260,
base2 = 300,
dista = 1,
bonus = 5,
type = "flying",
cd = 9
}
},
[36] = {x = {
pok = rattata,
spell = "Scratch",
minLv = 1,
ex = 1900002,
base1 = 40,
base2 = 50,
dista = 1,
bonus = 2,
type = "normal",
cd = 9
}
},
[69] = {x = {
pok = raticate,
spell = "Scratch",
minLv = 1,
ex = 2000002,
base1 = 140,
base2 = 150,
dista = 1,
bonus = 3,
type = "normal",
cd = 9
}
},
[44] = {x = {
pok = zubat,
spell = "Absorb",
minLv = 7,
ex = 4100002,
base1 = 20,
base2 = 25,
dista = 1,
bonus = 3,
type = "grass",
cd = 14
}
},
[122] = {x = {
pok = golbat,
spell = "Absorb",
minLv = 30,
ex = 4200002,
base1 = 150,
base2 = 180,
dista = 1,
bonus = 5,
type = "grass",
cd = 14
}
},
[250] = {x = {
pok = bellsprout,
spell = "Razor Leaf",
minLv = 7,
ex = 6900002,
base1 = 15,
base2 = 22,
dista = 4,
bonus = 2,
type = "grass",
cd = 12 --12
}
},
[37] = {x = {
pok = weepinbell,
spell = "Razor Leaf",
minLv = 20,
ex = 7000002,
base1 = 55,
base2 = 65,
dista = 4,
bonus = 2.8,
type = "grass",
cd = 12
}
},
[240] = {x = {
pok = victreebel,
spell = "Razor Leaf",
minLv = 20,
ex = 7100002,
base1 = 100,
base2 = 101,
dista = 4,
bonus = 3.8,
type = "grass",
cd = 12
}
},
[111] = {x = {
pok = poliwag,
spell = "Bubbles",
minLv = 6,
ex = 6000002,
base1 = 20,
base2 = 30,
dista = 4,
bonus = 2,
type = "water",
cd = 10
}
},
[212] = {x = {
pok = poliwhirl,
spell = "Bubbles",
minLv = 20,
ex = 6100002,
base1 = 80,
base2 = 90,
dista = 4,
bonus = 3,
type = "water",
cd = 10
}
},
[104] = {x = {
pok = poliwrath,
spell = "Waterball",
minLv = 20,
ex = 6200002,
base1 = 200,
base2 = 201,
dista = 4,
bonus = 5,
type = "water",
cd = 16
}
},
[262] = {x = {
pok = abra,
spell = "Restore",
minLv = 13,
ex = 6300002,
base1 = 600,
base2 = 800,
dista = 1,
bonus = 5,
target = "no",
type = "normal",
cd = 50
}
},
[56] = {x = {
pok = oddish,
spell = "Acid",
minLv = 7,
ex = 4300002,
base1 = 54,
base2 = 64,
dista = 4,
bonus = 2.7,
type = "poison",
cd = 14
}
},
[74] = {x = {
pok = gloom,
spell = "Acid",
minLv = 7,
ex = 4400002,
base1 = 114,
base2 = 134,
dista = 4,
bonus = 3.8,
type = "poison",
cd = 14
}
},
[86] = {x = {
pok = vileplume,
spell = "Acid",
minLv = 7,
ex = 4500002,
base1 = 214,
base2 = 234,
dista = 4,
bonus = 5.4,
type = "poison",
cd = 14
}
},
[33] = {x = {
pok = horsea,
spell = "Water Pulse",
minLv = 10,
ex = 1160002,
base1 = 50,
base2 = 55,
dista = 4,
bonus = 3.5,
type = "water",
cd = 13
}
},
[276] = {x = {
pok = seadra,
spell = "Water Pulse",
minLv = 6,
ex = 1170002,
base1 = 210,
base2 = 215,
dista = 4,
bonus = 5,
type = "water",
cd = 13
}
},
[214] = {x = {
pok = grimer,
spell = "Acid",
minLv = 6,
ex = 8800002,
base1 = 60,
base2 = 70,
dista = 5,
bonus = 5,
type = "poison",
cd = 14
}
},
[47] = {x = {
pok = muk,
spell = "Acid",
minLv = 6,
ex = 8900002,
base1 = 110,
base2 = 120,
dista = 5,
bonus = 5.5,
type = "poison",
cd = 14
}
},
[21] = {x = {
pok = weedle,
spell = "String Shot",
minLv = 1,
ex = 1300002,
base1 = 45,
base2 = 50,
dista = 3,
bonus = 3,
type = "bug",
cd = 9
}
},
[60] = {x = {
pok = kakuna,
spell = "String Shot",
minLv = 1,
ex = 1400002,
base1 = 85,
base2 = 90,
dista = 3,
bonus = 4,
type = "bug",
cd = 9
}
},
[45] = {x = {
pok = beedrill,
spell = "String Shot",
minLv = 1,
ex = 1500002,
base1 = 165,
base2 = 170,
dista = 3,
bonus = 5,
type = "bug",
cd = 10
}
},
[26] = {x = {
pok = doduo,
spell = "Pluck",
minLv = 1,
ex = 8400002,
base1 = 91,
base2 = 98,
dista = 1,
bonus = 4,
type = "flying",
cd = 13
}
},
[120] = {x = {
pok = dodrio,
spell = "Pluck",
minLv = 1,
ex = 8500002,
base1 = 191,
base2 = 218,
dista = 1,
bonus = 4,
type = "flying",
cd = 13
}
},
[217] = {x = {
pok = magnemite,
spell = "Thundershock",
minLv = 1,
ex = 8100002,
base1 = 150,
base2 = 200,
dista = 5,
bonus = 3.4,
type = "electric",
cd = 14
}
},
[223] = {x = {
pok = magneton,
spell = "Thundershock",
minLv = 1,
ex = 8200002,
base1 = 500,
base2 = 600,
dista = 5,
bonus = 4.8,
type = "electric",
cd = 14
}
},
[123] = {x = {
pok = voltorb,
spell = "Spark",
minLv = 1,
ex = 1000002,
base1 = 95,
base2 = 112,
target = "no",
dista = 5,
bonus = 4,
type = "electric",
cd = 16
}
},
[287] = {x = {
pok = voltorbroll,
spell = "Spark",
minLv = 1,
ex = 1000002,
base1 = 45,
base2 = 52,
dista = 5,
target = "no",
bonus = 2,
type = "electric",
cd = 16
}
},
[125] = {x = {
pok = electrode,
spell = "Spark",
minLv = 1,
ex = 1010002,
base1 = 105,
base2 = 152,
dista = 5,
target = "no",
bonus = 6,
type = "electric",
cd = 16
}
},
[286] = {x = {
pok = electroderoll,
spell = "Spark",
minLv = 1,
ex = 1010002,
base1 = 45,
base2 = 52,
dista = 5,
target = "no",
bonus = 3,
type = "electric",
cd = 16
}
},
[196] = {x = {
pok = geodude,
spell = "Sand Attack",
minLv = 1,
ex = 7400002,
base1 = 55,
base2 = 62,
dista = 10,
bonus = 3,
target = "no",
type = "ground",
cd = 16
}
},
[247] = {x = {
pok = graveler,
spell = "Sand Attack",
minLv = 1,
ex = 7500002,
base1 = 115,
base2 = 122,
dista = 1,
bonus = 4,
type = "ground",
cd = 16
}
},
[116] = {x = {
pok = golem,
spell = "Sand Attack",
minLv = 1,
ex = 7600002,
base1 = 215,
base2 = 222,
dista = 1,
bonus = 5,
target = "no",
type = "ground",
cd = 16
}
},
[288] = {x = {
pok = golemroll,
spell = "Sand Attack",
minLv = 1,
ex = 7600002,
base1 = 115,
base2 = 122,
dista = 1,
bonus = 4,
target = "no",
type = "ground",
cd = 16
}
},
[43] = {x = {
pok = sandshrew,
spell = "Sand Attack",
minLv = 1,
ex = 2700002,
base1 = 45,
base2 = 55,
dista = 1,
bonus = 3,
target = "no",
type = "ground",
cd = 16
}
},
[284] = {x = {
pok = sandshrew,
spell = "Sand Attack",
minLv = 1,
ex = 2700002,
base1 = 75,
base2 = 85,
dista = 1,
bonus = 4,
target = "no",
type = "ground",
cd = 16
}
},
[115] = {x = {
pok = sandslash,
spell = "Sand Attack",
minLv = 1,
ex = 2800002,
base1 = 155,
base2 = 205,
dista = 1,
target = "no",
bonus = 6.2,
type = "ground",
cd = 16
}
},
[285] = {x = {
pok = sandslash,
spell = "Slash",
minLv = 1,
ex = 2800002,
base1 = 100,
target = "no",
base2 = 105,
dista = 1,
bonus = 3,
type = "ground",
cd = 16
}
},
[219] = {x = {
pok = kadabra,
spell = "Restore",
minLv = 55,
ex = 6300005,
base1 = 3000,
base2 = 3600,
dista = 1,
bonus = 6,
target = "no",
type = "normal",
cd = 50
}
},
}
function onSay(cid)
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if not isInArray(pokeis, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn\'t recognize this move.")
return 0
end
if getPlayerLevel(cid) < c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.minLv then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have enough level to use this move.")
return 0
end
if exhaustion.get(cid, pokemon.x.ex) then
seconds = math.floor(((exhaustion.get(cid, pokemon.x.ex)) + 1))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..seconds.." seconds to use this move again.")
return 0
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 3) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "MISS", 215)
setPlayerStorageValue(getCreatureSummons(cid)[1], 3, -1)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "SELF HIT", 180)
local levels = getPlayerLevel(cid)
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
return true
end
end
if pokemon.x.target ~= "no" then
if not isMonster(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > pokemon.x.dista then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
else
end
if pokemon.x.type == "flying" then
elementa = FLYDAMAGE
elseif pokemon.x.type == "ground" then
elementa = GROUNDDAMAGE
elseif pokemon.x.type == "electric" then
elementa = ELECTRICDAMAGE
elseif pokemon.x.type == "ghost" then
elementa = GHOSTDAMAGE
elseif pokemon.x.type == "normal" then
elementa = NORMALDAMAGE
elseif pokemon.x.type == "fighting" then
elementa = FIGHTINGDAMAGE
elseif pokemon.x.type == "poison" then
elementa = POISONDAMAGE
elseif pokemon.x.type == "rock" then
elementa = ROCKDAMAGE
elseif pokemon.x.type == "bug" then
elementa = BUGDAMAGE
elseif pokemon.x.type == "fire" then
elementa = FIREDAMAGE
elseif pokemon.x.type == "water" then
elementa = WATERDAMAGE
elseif pokemon.x.type == "grass" then
elementa = GRASSDAMAGE
elseif pokemon.x.type == "psychic" then
elementa = PSYCHICDAMAGE
elseif pokemon.x.type == "ice" then
elementa = ICEDAMAGE
elseif pokemon.x.type == "dragon" then
elementa = DRAGONDAMAGE
end
local element = elementa
local num1 = (pokemon.x.base1)
local num2 = (pokemon.x.base2)
local num3 = (pokemon.x.bonus)
setPlayerStorageValue(getCreatureSummons(cid)[1], 1000, ((num1)+(getPlayerLevel(cid)*(num3))))
if pokemon.x.spell == "Water Gun" then
alvo = getCreatureName(getCreatureTarget(cid))
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Peck" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Scratch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 142)
return 0
elseif pokemon.x.spell == "Pluck" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), pluck, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 2)
return 0
elseif pokemon.x.spell == "Sand Attack" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function sandattack(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, sand1, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), params.ef)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}, ef = 120})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}, ef = 120})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}, ef = 120})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}, ef = 122})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}, ef = 122})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}, ef = 122})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}, ef = 121})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}, ef = 121})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}, ef = 121})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}, ef = 119})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}, ef = 119})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}, ef = 119})
end
elseif pokemon.x.spell == "Spark" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function spark(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), params.cidpos, 40)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, params.cidpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
end
end
end
for a = -1, 1 do
for b = -1, 1 do
cidpos = getThingPos(getCreatureSummons(cid)[1])
cidpos.x = cidpos.x+a
cidpos.y = cidpos.y+b
addEvent(spark, math.abs(a)*350 + math.abs(b)*650, {cid = cid, cidpos = cidpos})
end
end
return 0
elseif pokemon.x.spell == "Absorb" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 14)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
if element == COMBAT_EARTHDAMAGE then
els = 2
elseif element == COMBAT_FIREDAMAGE then
els = 0.5
else
els = 1
end
doCreatureAddHealth(getCreatureSummons(cid)[1], ((num2)+((getPlayerLevel(cid))*(num3))*els))
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..((num2)+((getPlayerLevel(cid))*(num3))).."", 35)
return 0
elseif pokemon.x.spell == "Razor Leaf" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 8)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 79)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(damage, 600, {cid = cid})
addEvent(throw, 0, {cid = cid})
addEvent(throw, 550, {cid = cid})
return 0
elseif pokemon.x.spell == "Bubbles" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 25)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Waterball" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), waba, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(throw, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Restore" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
doCreatureAddHealth(getCreatureSummons(cid)[1], ((num2)+((getPlayerLevel(cid))*(num3))))
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..((num2)+((getPlayerLevel(cid))*(num3))).."", 35)
return 0
elseif pokemon.x.spell == "Acid" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 14)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 20)
return 0
elseif pokemon.x.spell == "Thundershock" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 40)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
return 0
elseif pokemon.x.spell == "Water Pulse" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 33)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Mega Punch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 112)
return 0
elseif pokemon.x.spell == "String Shot" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
setPlayerStorageValue(getCreatureTarget(cid), 3, 1)
local alvo = getCreatureTarget(cid)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 23)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 137)
local function string(params)
if isCreature(params.alvo) then
if getPlayerStorageValue(params.alvo, 3) >= 1 then
doSendMagicEffect(getThingPos(params.alvo), 137)
end
end
end
local function normalstr(params)
if isCreature(params.alvo) then
if getPlayerStorageValue(params.alvo, 3) >= 1 then
setPlayerStorageValue(params.alvo, 3, -1)
end
end
end
addEvent(string, 250, {alvo = alvo})
addEvent(string, 500, {alvo = alvo})
addEvent(string, 750, {alvo = alvo})
addEvent(string, 1000, {alvo = alvo})
addEvent(string, 1250, {alvo = alvo})
addEvent(string, 1500, {alvo = alvo})
addEvent(string, 1750, {alvo = alvo})
addEvent(string, 2000, {alvo = alvo})
addEvent(string, 2250, {alvo = alvo})
addEvent(string, 2500, {alvo = alvo})
addEvent(string, 2750, {alvo = alvo})
addEvent(string, 3000, {alvo = alvo})
addEvent(normalstr, 3050, {alvo = alvo})
return 0
end
return 0
end