-- feito por Lukkas666
local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'}
local direction = {'4', '5', '6', '7'}
-- ridefly
local ridefly = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Moltres', 'Zapdos', 'Articuno', 'Mew', 'Mewtwo', 'Gligar', 'Girafarig', 'Meganium', 'Porygon2', 'Stantler', 'Skarmory', 'Piloswine', 'Mareep', 'Houndor'}
local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Girafarig', 'Meganium', 'Stantler', 'Piloswine', 'Mareep', 'Houndor'}
local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo', 'Gligar', 'Porygon2', 'Skarmory'}
local flys = {
[265] = {229, 2300, 350}, -- moltres
[283] = {230, 2100, 350}, -- artic
[199] = {224, 2600, 350}, -- zapdos
[9] = {232, 2200, 525}, -- 1000
[34] = {233, 2200, 525},-- two
[210] = {221, 1300, 410},-- nite
[80] = {222, 900, 375}, -- geot
[17] = {226, 800, 400}, -- fearow
[10] = {227, 1100, 410}, -- aero
[67] = {216, 1000, 410}, -- chari
[97] = {316, 600, 440}, -- porygon
[559] = {662, 900, 440}, -- gligar
[593] = {679, 900, 440}, -- porygon2
[604] = {682, 900, 440}, -- skarmory
}
local rides = {
[93] = {128, 780, 400}, -- tauros
[114] = {129, 800, 375}, -- ninetales
[220] = {130, 800, 395}, -- rapid
[16] = {131, 410, 500}, -- ponyta
[77] = {132, 400, 510}, -- rhyhorn
[88] = {12, 900, 390}, -- arcan
[493] = {492, 1000, 360}, -- shiny arca
[496] = {494, 420, 420}, -- shiny venu
[292] = {293, 480, 430}, -- cristal onix
[248] = {126, 450, 450}, -- onix
[22] = {134, 390, 450}, -- venu
[120] = {133, 750, 380}, -- dodrio
[26] = {135, 420, 500}, -- doduo
[558] = {667, 1000, 360}, -- girafarig
[581] = {674, 1000, 360}, -- meganium
[613] = {684, 1000, 360}, -- stantler
[590] = {677, 900, 440}, -- piloswine
[579] = {672, 900, 440}, -- mareep
[567] = {669, 900, 440}, -- houndor
}
local bolas = {'2222', '2223', '2224'}
local ultra = {'2220', '2221', '2227'}
local etudao = 9506
local mind = 9507
-- ROCK SMASH
local rocksmash = {'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Poliwrath'}
local erockmash = 9502
local cdrocksmash = 2
-- ROCK SMASH
-- DIG
local digholes = {'468', '481', '483'}
local dig = {'Raticate', 'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Donphan'}
local edig = 9504
local cddig = 2
-- DIG
-- CUT
local cut = {'Raticate', 'Bulbasaur', 'Ivysaur', 'Venusaur', 'Charmeleon', 'Sandshrew', 'Sandslash', 'Gloom', 'Vileplume', 'Paras', 'Parasect', 'Meowth', 'Persian', 'Bellsprout', 'Weepinbell', 'Victreebel', 'Farfetchd', 'Krabby', 'Kingler', 'Exeggutor', 'Cubone', 'Marowak', 'Tangela', 'Scyther', 'Pinsir'}
local ecut = 9503
local cdcut = 2
-- CUT
-- BLINK
local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Porygon2', 'Gallade'}
local exhaustblink = 9501
local cdblink = 40
-- BLINK
-- BLINK 2
local blink = {'Mew', 'Mewtwo'}
local exhaustblink = 9501
local cdblink = 10
-- BLINK 2
-- LIGHT
local light = {'Abra', 'Kadabra', 'Alakazam','Mew', 'Magnemite', 'Magneton', 'Drowzee', 'Hypno', 'Voltorb', 'Electrode', 'Mrmime', 'Electabuzz', 'Jolteon', 'Porygon', 'Pikachu', 'Raichu', 'Elekid', 'Ampharos', 'Flaaffy'}
local exhautStorage = 9500
local time = 600
local cd = 17
-- LIGHT
function onUse(cid, item, frompos, item2, topos)
if getPlayerItemCount(cid, item2.itemid) >= 1 then
return false
end
if isMonster(item2.uid) and item2.uid ~= getCreatureSummons(cid)[1] and item2.uid ~= cid then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.")
return true
end
if exhaustion.get(cid, mind) then
doPlayerSendCancel(cid, "Seu pokemon é muito exausto do último controle,espere mais um tempo")
return true
end
if isPlayer(getCreatureMaster(item2.uid)) then
doPlayerSendCancel(cid, "Você não pode controlar a mente de pokemon de outra pessoa.")
return true
end
if not isInArray({"Alakazam", "Tentacruel", "Gengar", "Girafarig"}, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendCancel(cid, "Este pokemon pode controlar mentes.")
return true
end
exhaustion.set(cid, mind, 240)
doCreatureSay(getCreatureSummons(cid)[1], "CONTROL MIND!", TALKTYPE_MONSTER)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(item2.uid), 39)
registerCreatureEvent(item2.uid, "Controled")
doSendMagicEffect(getThingPos(item2.uid), 136)
doSendMagicEffect(getThingPos(item2.uid), 134)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 133)
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
doConvinceCreature(cid, item2.uid)
if getCreatureSpeed(item2.uid) == 0 then
doChangeSpeed(item2.uid, 180)
end
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", control "..string.lower(getCreatureName(item2.uid)).."'s mind!", 1)
local cmed = item2.uid
local cmname = getCreatureName(getCreatureSummons(cid)[1])
local cmpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
doConvinceCreature(cid, cmzao)
setPlayerStorageValue(cid, 888, 1)
local function check(params)
if isCreature(params.cid) then
if getPlayerStorageValue(params.cid, 888) <= 0 then
return true
end
if not isCreature(cmed) then
local pkcmpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
local item = getPlayerSlotItem(cid, 8)
local pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), pkcmpos)
doConvinceCreature(cid, pk)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
registerCreatureEvent(cid, "PlayerPokeDeath")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
setPlayerStorageValue(cid, 888, 0)
end
if params.rod == 20 then
local lifecmed = getCreatureMaxHealth(cmed) - getCreatureHealth(cmed)
local poscmed = getThingPos(cmed)
local cmeddir = getCreatureLookDir(cmed)
local namecmed = getCreatureName(cmed)
doRemoveCreature(getCreatureSummons(cid)[1])
local back = doSummonCreature(""..namecmed.." s", poscmed)
if getCreatureSpeed(back) == 0 then
doChangeSpeed(back, 180)
end
doCreatureSetLookDir(back, cmeddir)
doCreatureAddHealth(back, -lifecmed)
local item = getPlayerSlotItem(cid, 8)
local mynewpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), mynewpos)
doConvinceCreature(cid, pk)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
registerCreatureEvent(cid, "PlayerPokeDeath")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
setPlayerStorageValue(cid, 888, 0)
else
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
end
end
end
for rod = 1, 20 do
addEvent(check, rod*500, {cid = cid, rod = rod})
end
return true
end
if item2.uid == cid then
if getPlayerStorageValue(cid, 888) >= 1 then
doPlayerSendCancel(cid, "Você não pode voar nem pokemons passeio está sendo controlado.")
return true
end
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.")
return true
end
if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and not isInArray(ridefly, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendCancel(cid, "Você não pode montar este pokemon nem voar com ele.")
return true
end
if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
if getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and isInArray(ride, getCreatureName(getCreatureSummons(cid)[1])) then
local pokemon = rides[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getCreatureSpeed(getCreatureSummons(cid)[1]) >= 1 then
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
end
local function ride(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.d then
doChangeSpeed(cid, -250)
doChangeSpeed(cid, pokemon[2])
exhaustion.set(cid, etudao, 4)
setPlayerStorageValue(cid, 17001, 1)
doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
else
dirh = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid))
if dirh == NORTHWEST then
if math.random(1,100) >= 51 then
dirh = NORTH
else
dirh = WEST
end
elseif dirh == SOUTHWEST then
if math.random(1,100) >= 51 then
dirh = SOUTH
else
dirh = WEST
end
elseif dirh == SOUTHEAST then
if math.random(1,100) >= 51 then
dirh = SOUTH
else
dirh = EAST
end
elseif dirh == NORTHEAST then
if math.random(1,100) >= 51 then
dirh = NORTH
else
dirh = EAST
end
end
local dirh = dirh
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
end
local function speed(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", let me ride you!", 1)
exhaustion.set(cid, etudao, 4)
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
distanc = 1
else
distanc = 0
end
local distance = distanc
for i=1,12 do
addEvent(ride, pokemon[3]*i, {cid = cid, d = distance})
addEvent(speed, ((pokemon[3]*12)+100), {cid = cid})
end
return true
end
if getPlayerStorageValue(cid, 17001) >= 1 then
setPlayerStorageValue(cid, 17001, 0)
if getPlayerGroupId(cid) ~= 6 then
setPlayerGroupId(cid, 8)
end
doCreatureSetLookDir(cid, 2)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
doChangeSpeed(cid, 400*getPlayerGroupId(cid))
else
doChangeSpeed(cid, 250)
end
doRemoveCondition(cid, CONDITION_OUTFIT)
local item = getPlayerSlotItem(cid, 8)
doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1)
doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
local pk = getCreatureSummons(cid)[1]
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
return true
end
if getPlayerStorageValue(cid, 17000) >= 1 then
if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then
doPlayerSendCancel(cid, "Você não pode parar de voar nesta altura!")
return true
end
if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
doPlayerSendCancel(cid, "Você não pode parar de voar acima da água!")
return true
end
if getPlayerGroupId(cid) ~= 6 then
setPlayerGroupId(cid, 8)
end
doCreatureSetLookDir(cid, 2)
setPlayerStorageValue(cid, 17000, 0)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
doChangeSpeed(cid, 200*getPlayerGroupId(cid))
else
doChangeSpeed(cid, 250)
end
doRemoveCondition(cid, CONDITION_OUTFIT)
local item = getPlayerSlotItem(cid, 8)
doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1)
doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
local pk = getCreatureSummons(cid)[1]
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
return true
end
if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, getCreatureName(getCreatureSummons(cid)[1])) then
if getPlayerStorageValue(cid, 17000) <= 0 then
local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
local function fly(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.dd then
doPlayerSendTextMessage(cid,27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower." )
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 17000, 1)
registerCreatureEvent(cid, "Flying")
doChangeSpeed(cid, -250)
doChangeSpeed(cid, pokemon[2])
exhaustion.set(cid, etudao, 4)
doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
doRemoveCreature(getCreatureSummons(cid)[1])
else
dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid))
if dir == NORTHWEST then
if math.random(1,100) >= 51 then
dir = NORTH
else
dir = WEST
end
elseif dir == SOUTHWEST then
if math.random(1,100) >= 51 then
dir = SOUTH
else
dir = WEST
end
elseif dir == SOUTHEAST then
if math.random(1,100) >= 51 then
dir = SOUTH
else
dir = EAST
end
elseif dir == NORTHEAST then
if math.random(1,100) >= 51 then
dir = NORTH
else
dir = EAST
end
end
local dir = dir
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
end
local function speed(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", lets fly!", 1)
exhaustion.set(cid, etudao, 4)
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
distancc = 1
else
distancc = 0
end
local distancee = distancc
for i=1,12 do
addEvent(fly, pokemon[3]*i, {cid = cid, dd = distancee})
addEvent(speed, ((pokemon[3]*12)+100), {cid = cid})
end
return true
end
return true
end
end
-- ROCK SMASH
if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon de usar Rock Smash.")
return true
end
if not isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendCancel(cid, "Este pokemon não pode usar Rock Smash.")
return true
end
if isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then
if exhaustion.get(cid, erocksmash) then
doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar Rock Smash novamente!")
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
return true
end
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 100) >= 1 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
doSendMagicEffect(topos, 118)
doTransformItem(getTileItemById(topos, 1285).uid, 2257)
exhaustion.set(cid, erocksmash, cdrocksmash)
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 100, 1)
local function detrans(params)
doTransformItem(getTileItemById(topos, 2257).uid, 1285)
if isCreature(getCreatureSummons(params.ciddd)[1]) then
setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 100, 0)
end
end
addEvent(detrans, 5500, {ciddd = cid})
doCreatureSay(getCreatureSummons(cid)[1], "ROCK SMASH!", TALKTYPE_MONSTER)
local function nmr(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
addEvent(nmr, 400, {cid = cid})
else
local badire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
if badire == NORTHWEST then
if math.random(1,100) >= 51 then
badire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = NORTH
else
badire = WEST
end
else
badire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = WEST
else
badire = NORTH
end
end
elseif badire == SOUTHWEST then
if math.random(1,100) >= 51 then
badire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = SOUTH
else
badire = WEST
end
else
badire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = WEST
else
badire = SOUTH
end
end
elseif badire == SOUTHEAST then
if math.random(1,100) >= 51 then
badire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = SOUTH
else
badire = EAST
end
else
badire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = EAST
else
badire = SOUTH
end
end
elseif badire == NORTHEAST then
if math.random(1,100) >= 51 then
badire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = NORTH
else
badire = EAST
end
else
badire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = EAST
else
badire = NORTH
end
end
end
local badire = badire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", esmagar esse rock!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
end
end
-- ROCK SMASH END
-- CUT
if item2.itemid == 2767 and getPlayerStorageValue(cid, 63215) <= 0 then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon usar corte.")
return true
end
if not isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendCancel(cid, "Este pokemon não pode usar corte.")
return true
end
if isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then
if exhaustion.get(cid, ecut) then
doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar o corte de novo!")
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
return true
end
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 101) >= 1 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
doSendMagicEffect(topos, 141)
doTransformItem(getTileItemById(topos, 2767).uid, 6216)
exhaustion.set(cid, ecut, cdcut)
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 101, 1)
local function detrans(params)
doTransformItem(getTileItemById(topos, 6216).uid, 2767)
if isCreature(getCreatureSummons(params.ciddd)[1]) then
setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 101, 0)
end
end
addEvent(detrans, 5500, {ciddd = cid})
doCreatureSay(getCreatureSummons(cid)[1], "CUT!", TALKTYPE_MONSTER)
local function nmr(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
addEvent(nmr, 400, {cid = cid})
else
adire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
if adire == NORTHWEST then
if math.random(1,100) >= 51 then
adire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = NORTH
else
adire = WEST
end
else
adire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = WEST
else
adire = NORTH
end
end
elseif adire == SOUTHWEST then
if math.random(1,100) >= 51 then
adire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = SOUTH
else
adire = WEST
end
else
adire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = WEST
else
adire = SOUTH
end
end
elseif adire == SOUTHEAST then
if math.random(1,100) >= 51 then
adire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = SOUTH
else
adire = EAST
end
else
adire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = EAST
else
adire = SOUTH
end
end
elseif adire == NORTHEAST then
if math.random(1,100) >= 51 then
adire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = NORTH
else
adire = EAST
end
else
adire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = EAST
else
adire = NORTH
end
end
end
local adire = adire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", cortar esse mato!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
end
end
-- CUT END
-- DIG
if isInArray(digholes, item2.itemid) and getPlayerStorageValue(cid, 63215) <= 0 then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon usar dig.")
return true
end
if not isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendCancel(cid, "Este pokemon não pode usar dig.")
return true
end
if isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then
if exhaustion.get(cid, edig) then
doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar dig de novo!")
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
return true
end
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 99) >= 1 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
doSendMagicEffect(topos, 3)
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 99, 1)
doTransformItem(getTileItemById(topos, item2.itemid).uid, item2.itemid+1)
exhaustion.set(cid, edig, cddig)
local function detrans(params)
doTransformItem(getTileItemById(topos, item2.itemid+1).uid, item2.itemid)
if isCreature(getCreatureSummons(params.ciddd)[1]) then
setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 99, 0)
end
end
addEvent(detrans, 5500, {ciddd = cid})
doCreatureSay(getCreatureSummons(cid)[1], "DIG!", TALKTYPE_MONSTER)
local function nmr(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
addEvent(nmr, 400, {cid = cid})
else
local cdire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
if cdire == NORTHWEST then
if math.random(1,100) >= 51 then
cdire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = NORTH
else
cdire = WEST
end
else
cdire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = WEST
else
cdire = NORTH
end
end
elseif cdire == SOUTHWEST then
if math.random(1,100) >= 51 then
cdire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = SOUTH
else
cdire = WEST
end
else
cdire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = WEST
else
cdire = SOUTH
end
end
elseif cdire == SOUTHEAST then
if math.random(1,100) >= 51 then
cdire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = SOUTH
else
cdire = EAST
end
else
cdire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = EAST
else
cdire = SOUTH
end
end
elseif cdire == NORTHEAST then
if math.random(1,100) >= 51 then
cdire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = NORTH
else
cdire = EAST
end
else
cdire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = EAST
else
cdire = NORTH
end
end
end
local cdire = cdire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", abrir este buraco!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
end
end
-- DIG END
-- BLINK
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.")
return true
end
if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then
if isInArray(blink, getCreatureName(getCreatureSummons(cid)[1])) then
if exhaustion.get(cid, exhaustblink) then
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.")
return true
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
return true
end
local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if edire >= 0 and edire <= 7 then
if edire == NORTHWEST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = NORTH
end
end
elseif edire == SOUTHWEST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = SOUTH
end
end
elseif edire == SOUTHEAST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = SOUTH
end
end
elseif edire == NORTHEAST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = NORTH
end
end
end
local edire = edire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SumPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SumPos.x))
local travely = math.abs((topos.y) - (SumPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk * travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
else
if not isWalkable(topos, cid, 0, 0) then
doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.")
return true
end
if getItemName(item2.uid) == "shallow water" then
doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.")
return true
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211)
doTeleportThing(getCreatureSummons(cid)[1], topos, false)
doSendMagicEffect(topos, 134)
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", teleport there!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER)
exhaustion.set(cid, exhaustblink, cdblink)
return true
end
return true
end
end
--- BLINK END
-- BLINK 2
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then
doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.")
return true
end
if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then
if isInArray(blink2, getCreatureName(getCreatureSummons(cid)[1])) then
if exhaustion.get(cid, exhaustblink2) then
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.")
return true
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
return true
end
local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if edire >= 0 and edire <= 7 then
if edire == NORTHWEST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = NORTH
end
end
elseif edire == SOUTHWEST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = SOUTH
end
end
elseif edire == SOUTHEAST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = SOUTH
end
end
elseif edire == NORTHEAST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = NORTH
end
end
end
local edire = edire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SumPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SumPos.x))
local travely = math.abs((topos.y) - (SumPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk * travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
else
if not isWalkable(topos, cid, 0, 0) then
doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.")
return true
end
if getItemName(item2.uid) == "shallow water" then
doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.")
return true
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211)
doTeleportThing(getCreatureSummons(cid)[1], topos, false)
doSendMagicEffect(topos, 134)
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", teleport there!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER)
exhaustion.set(cid, exhaustblink, cdblink)
return true
end
return true
end
end
--- BLINK2 END
-- LIGHT --
if isCreature(item2.uid) and getCreatureMaster(item2.uid) == cid and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and item2.uid ~= cid then
if not isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendCancel(cid, "Este pokemon não pode usar flash.")
return true
end
if isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then
if not isMonster(item2.uid) and getCreatureMaster(item2.uid) ~= cid then
return doPlayerSendCancel(cid,"Por favor use flash em seu pokemon.")
end
if exhaustion.get(cid, exhautStorage) then
doPlayerSendCancel(cid,"Por favor, aguarde alguns segundos antes de usar o flash de novo!")
return true
end
exhaustion.set(cid, exhautStorage, cd)
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use flash!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "FLASH!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 28)
doSetCreatureLight(getCreatureSummons(cid)[1], 8, 215, time*1000)
return true
end
end
-- LIGHT END --
if #getCreatureSummons(cid) == 0 then
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.")
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then
doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.")
return true
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
setPlayerStorageValue(cid, etudao, -1)
return true
end
local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if dire >= 0 and dire <= 7 then
if dire == NORTHWEST then
if math.random(1,100) >= 51 then
dire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = NORTH
else
dire = WEST
end
else
dire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = WEST
else
dire = NORTH
end
end
elseif dire == SOUTHWEST then
if math.random(1,100) >= 51 then
dire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = SOUTH
else
dire = WEST
end
else
dire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = WEST
else
dire = SOUTH
end
end
elseif dire == SOUTHEAST then
if math.random(1,100) >= 51 then
dire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = SOUTH
else
dire = EAST
end
else
dire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = EAST
else
dire = SOUTH
end
end
elseif dire == NORTHEAST then
if math.random(1,100) >= 51 then
dire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = NORTH
else
dire = EAST
end
else
dire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = EAST
else
dire = NORTH
end
end
end
local dire = dire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
setPlayerStorageValue(cid, etudao, -1)
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SummonPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SummonPos.x))
local travely = math.abs((topos.y) - (SummonPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel-1 do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk*travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
return true
end
e agora estou querendo colocar esse e não funfa
-- feito por brun123, editado por glugluguga
-- Otimizado e adaptado por Lukkas666
local testeTmp = true
local pokes = {
["Bulbasaur"] = {level = 20, cons = 40, vida = 1200},
["Ivysaur"] = {level = 40, cons = 80, vida = 2600},
["Venusaur"] = {level = 85, cons = 100, vida = 5200},
["Charmander"] = {level = 20, cons = 30, vida = 970},
["Charmeleon"] = {level = 40, cons = 70, vida = 2900},
["Charizard"] = {level = 85, cons = 100, vida = 5200},
["Squirtle"] = {level = 20, cons = 40, vida = 1350},
["Wartortle"] = {level = 40, cons = 80, vida = 2800},
["Blastoise"] = {level = 85, cons = 100, vida = 5900},
["Caterpie"] = {level = 1, cons = 5, vida = 300},
["Metapod"] = {level = 10, cons = 10, vida = 1100},
["Butterfree"] = {level = 30, cons = 20, vida = 2000},
["Weedle"] = {level = 1, cons = 5, vida = 325},
["Kakuna"] = {level = 10, cons = 10, vida = 900},
["Beedrill"] = {level = 30, cons = 20, vida = 1900},
["Pidgey"] = {level = 1, cons = 5, vida = 380},
["Pidgeotto"] = {level = 20, cons = 20, vida = 1400},
["Pidgeot"] = {level = 65, cons = 70, vida = 3800},
["Rattata"] = {level = 1, cons = 5, vida = 350},
["Raticate"] = {level = 20, cons = 40, vida = 900},
["Spearow"] = {level = 5, cons = 5, vida = 450},
["Fearow"] = {level = 50, cons = 50, vida = 3300},
["Ekans"] = {level = 12, cons = 10, vida = 600},
["Arbok"] = {level = 30, cons = 40, vida = 2300},
["Pikachu"] = {level = 20, cons = 30, vida = 900},
["Raichu"] = {level = 50, cons = 60, vida = 3200},
["Sandshrew"] = {level = 18, cons = 15, vida = 700},
["Sandslash"] = {level = 55, cons = 60, vida = 3400},
["Nidoran Female"] = {level = 10, cons = 5, vida = 600},
["Nidorina"] = {level = 25, cons = 15, vida = 2000},
["Nidoqueen"] = {level = 65, cons = 80, vida = 4200},
["Nidoran Male"] = {level = 10, cons = 5, vida = 650},
["Nidorino"] = {level = 25, cons = 15, vida = 2500},
["Nidoking"] = {level = 65, cons = 80, vida = 4800},
["Clefairy"] = {level = 10, cons = 15, vida = 600},
["Clefable"] = {level = 35, cons = 70, vida = 2400},
["Vulpix"] = {level = 20, cons = 15, vida = 680},
["Ninetales"] = {level = 65, cons = 70, vida = 3400},
["Jigglypuff"] = {level = 10, cons = 15, vida = 550},
["Wigglytuff"] = {level = 42, cons = 60, vida = 2900},
["Zubat"] = {level = 5, cons = 10, vida = 450},
["Golbat"] = {level = 30, cons = 40, vida = 1900},
["Oddish"] = {level = 5, cons = 5, vida = 340},
["Gloom"] = {level = 18, cons = 15, vida = 1400},
["Vileplume"] = {level = 50, cons = 50, vida = 3300},
["Paras"] = {level = 1, cons = 5, vida = 850},
["Parasect"] = {level = 50, cons = 35, vida = 3800},
["Venonat"] = {level = 18, cons = 10, vida = 1500},
["Venomoth"] = {level = 50, cons = 40, vida = 4000},
["Diglett"] = {level = 5, cons = 10, vida = 900},
["Dugtrio"] = {level = 35, cons = 50, vida = 3450},
["Meowth"] = {level = 12, cons = 20, vida = 950},
["Persian"] = {level = 25, cons = 50, vida = 4000},
["Psyduck"] = {level = 12, cons = 50, vida = 2000},
["Golduck"] = {level = 55, cons = 90, vida = 4000},
["Mankey"] = {level = 10, cons = 15, vida = 800},
["Primeape"] = {level = 45, cons = 70, vida = 2550},
["Growlithe"] = {level = 20, cons = 25, vida = 1000},
["Arcanine"] = {level = 80, cons = 80, vida = 6000},
["Poliwag"] = {level = 5, cons = 5, vida = 400},
["Poliwhirl"] = {level = 20, cons = 35, vida = 1800},
["Poliwrath"] = {level = 65, cons = 80, vida = 4400},
["Abra"] = {level = 15, cons = 15, vida = 800},
["Kadabra"] = {level = 50, cons = 45, vida = 4000},
["Alakazam"] = {level = 80, cons = 70, vida = 7000},
["Machop"] = {level = 18, cons = 15, vida = 425},
["Machoke"] = {level = 40, cons = 40, vida = 2850},
["Machamp"] = {level = 65, cons = 90, vida = 6100},
["Bellsprout"] = {level = 5, cons = 5, vida = 420},
["Weepinbell"] = {level = 18, cons = 28, vida = 1100},
["Victreebel"] = {level = 50, cons = 76, vida = 4000},
["Tentacool"] = {level = 12, cons = 24, vida = 725},
["Tentacruel"] = {level = 70, cons = 70, vida = 6000},
["Geodude"] = {level = 15, cons = 15, vida = 800},
["Graveler"] = {level = 40, cons = 45, vida = 3000},
["Golem"] = {level = 70, cons = 90, vida = 6500},
["Ponyta"] = {level = 20, cons = 18, vida = 800},
["Rapidash"] = {level = 60, cons = 58, vida = 6000},
["Slowpoke"] = {level = 12, cons = 20, vida = 1200},
["Slowbro"] = {level = 45, cons = 68, vida = 3000},
["Magnemite"] = {level = 15, cons = 15, vida = 450},
["Magneton"] = {level = 40, cons = 55, vida = 2000},
["Farfetchd"] = {level = 40, cons = 60, vida = 4000},
["Doduo"] = {level = 12, cons = 15, vida = 600},
["Dodrio"] = {level = 45, cons = 60, vida = 2650},
["Seel"] = {level = 20, cons = 25, vida = 1200},
["Dewgong"] = {level = 65, cons = 70, vida = 6000},
["Grimer"] = {level = 12, cons = 10, vida = 600},
["Muk"] = {level = 30, cons = 55, vida = 2400},
["Shellder"] = {level = 5, cons = 23, vida = 800},
["Cloyster"] = {level = 65, cons = 70, vida = 6000},
["Gastly"] = {level = 18, cons = 15, vida = 800},
["Haunter"] = {level = 45, cons = 45, vida = 3000},
["Gengar"] = {level = 80, cons = 90, vida = 8000},
["Onix"] = {level = 50, cons = 70, vida = 5300},
["Drowzee"] = {level = 22, cons = 30, vida = 1200},
["Hypno"] = {level = 50, cons = 70, vida = 4000},
["Krabby"] = {level = 5, cons = 12, vida = 500},
["Kingler"] = {level = 35, cons = 40, vida = 2750},
["Voltorb"] = {level = 14, cons = 11, vida = 800},
["Electrode"] = {level = 38, cons = 50, vida = 2000},
["Exeggcute"] = {level = 8, cons = 15, vida = 500},
["Exeggutor"] = {level = 48, cons = 50, vida = 3500},
["Cubone"] = {level = 18, cons = 20, vida = 900},
["Marowak"] = {level = 45, cons = 60, vida = 5000},
["Hitmonlee"] = {level = 60, cons = 100, vida = 8000},
["Hitmonchan"] = {level = 60, cons = 80, vida = 6000},
["Lickitung"] = {level = 45, cons = 50, vida = 2350},
["Koffing"] = {level = 15, cons = 20, vida = 700},
["Weezing"] = {level = 30, cons = 61, vida = 1250},
["Rhyhorn"] = {level = 35, cons = 25, vida = 2500},
["Rhydon"] = {level = 65, cons = 80, vida = 6000},
["Chansey"] = {level = 60, cons = 90, vida = 3500},
["Tangela"] = {level = 40, cons = 70, vida = 4000},
["Kangaskhan"] = {level = 60, cons = 110, vida = 8000},
["Horsea"] = {level = 5, cons = 5, vida = 300},
["Seadra"] = {level = 45, cons = 45, vida = 2500},
["Goldeen"] = {level = 10, cons = 5, vida = 300},
["Seaking"] = {level = 25, cons = 25, vida = 2000},
["Staryu"] = {level = 15, cons = 18, vida = 1200},
["Starmie"] = {level = 45, cons = 50, vida = 3000},
["Mr Mime"] = {level = 60, cons = 60, vida = 4000},
["Scyther"] = {level = 70, cons = 100, vida = 8000},
["Jynx"] = {level = 65, cons = 90, vida = 7000},
["Electabuzz"] = {level = 70, cons = 120, vida = 8000},
["Magmar"] = {level = 70, cons = 120, vida = 8000},
["Pinsir"] = {level = 42, cons = 50, vida = 3000},
["Tauros"] = {level = 40, cons = 30, vida = 2400},
["Magikarp"] = {level = 1, cons = 5, vida = 120},
["Gyarados"] = {level = 75, cons = 110, vida = 8000},
["Lapras"] = {level = 70, cons = 120, vida = 7000},
["Ditto"] = {level = 40, cons = 30, vida = 1200},
["Eevee"] = {level = 20, cons = 50, vida = 1500},
["Vaporeon"] = {level = 55, cons = 60, vida = 3500},
["Jolteon"] = {level = 55, cons = 60, vida = 4000},
["Flareon"] = {level = 55, cons = 60, vida = 2010},
["Porygon"] = {level = 45, cons = 44, vida = 4000},
["Omanyte"] = {level = 20, cons = 25, vida = 2000},
["Omastar"] = {level = 70, cons = 100, vida = 6000},
["Kabuto"] = {level = 20, cons = 35, vida = 3000},
["Kabutops"] = {level = 70, cons = 110, vida = 7500},
["Aerodactyl"] = {level = 100, cons = 150, vida = 13000},
["Snorlax"] = {level = 85, cons = 150, vida = 9000},
["Articuno"] = {level = 120, cons = 200, vida = 200000},
["Zapdos"] = {level = 120, cons = 200, vida = 200000},
["Moltres"] = {level = 120, cons = 200, vida = 200000},
["Dratini"] = {level = 10, cons = 35, vida = 1500},
["Dragonair"] = {level = 70, cons = 70, vida = 6000},
["Dragonite"] = {level = 100, cons = 160, vida = 17000},
["Mewtwo"] = {level = 100, cons = 175, vida = 100000},
["Mew"] = {level = 100, cons = 125, vida = 50000},
["Elder Charizard"] = {level = 100, cons = 120, vida = 15000},
["Crystal Onix"] = {level = 100, cons = 160, vida = 18000},
["Shiny Abra"] = {level = 100, cons = 110, vida = 10000},
["Shiny Arcanine"] = {level = 100, cons = 140, vida = 13000},
["Shiny Alakazam"] = {level = 100, cons = 125, vida = 12000},
["Shiny Beedrill"] = {level = 50, cons = 80, vida = 5000},
["Shiny Blastoise"] = {level = 100, cons = 120, vida = 15000},
["Shiny Butterfree"] = {level = 50, cons = 80, vida = 5000},
["Shiny Dratini"] = {level = 50, cons = 75, vida = 5000},
["Shiny Electabuzz"] = {level = 100, cons = 140, vida = 15000},
["Shiny Electrode"] = {level = 70, cons = 80, vida = 5000},
["Shiny Cubone"] = {level = 50, cons = 80, vida = 2500},
["Shiny Dragonair"] = {level = 90, cons = 150, vida = 15000},
["Shiny Dragonite"] = {level = 150, cons = 180, vida = 20000},
["Shiny Farfetchd"] = {level = 60, cons = 100, vida = 10000},
["Shiny Flareon"] = {level = 70, cons = 110, vida = 10000},
["Shiny Gengar"] = {level = 100, cons = 115, vida = 13000},
["Shiny Golbat"] = {level = 80, cons = 90, vida = 10000},
["Shiny Growlithe"] = {level = 40, cons = 70, vida = 8000},
["Shiny Grimer"] = {level = 30, cons = 50, vida = 5000},
["Shiny Gyarados"] = {level = 120, cons = 150, vida = 16000},
["Shiny Hitmonchan"] = {level = 100, cons = 90, vida = 9000},
["Shiny Hitmonlee"] = {level = 100, cons = 100, vida = 14000},
["Shiny Horsea"] = {level = 20, cons = 40, vida = 1000},
["Shiny Hypno"] = {level = 70, cons = 80, vida = 10000},
["Shiny Jolteon"] = {level = 70, cons = 80, vida = 10000},
["Shiny Jynx"] = {level = 100, cons = 90, vida = 12000},
["Shiny Krabby"] = {level = 20, cons = 30, vida = 1000},
["Shiny Kingler"] = {level = 60, cons = 60, vida = 6000},
["Shiny Magikarp"] = {level = 10, cons = 20, vida = 1000},
["Shiny Marowak"] = {level = 70, cons = 70, vida = 9000},
["Shiny Muk"] = {level = 60, cons = 60, vida = 8000},
["Shiny Oddish"] = {level = 15, cons = 25, vida = 1200},
["Shiny Paras"] = {level = 10, cons = 20, vida = 800},
["Shiny Parasect"] = {level = 50, cons = 80, vida = 5000},
["Shiny Pidgeot"] = {level = 85, cons = 90, vida = 9000},
["Shiny Pinsir"] = {level = 60, cons = 80, vida = 7000},
["Shiny Rattata"] = {level = 10, cons = 15, vida = 800},
["Shiny Raticate"] = {level = 35, cons = 40, vida = 5000},
["Shiny Raichu"] = {level = 70, cons = 80, vida = 9000},
["Shiny Seadra"] = {level = 70, cons = 70, vida = 8000},
["Shiny Scyther"] = {level = 100, cons = 110, vida = 10000},
["Shiny Snorlax"] = {level = 120, cons = 160, vida = 25000},
["Shiny Tangela"] = {level = 70, cons = 90, vida = 8000},
["Shiny Tentacool"] = {level = 30, cons = 60, vida = 2000},
["Shiny Tentacruel"] = {level = 100, cons = 110, vida = 11000},
["Shiny Vaporeon"] = {level = 70, cons = 80, vida = 8000},
["Shiny Venomoth"] = {level = 60, cons = 70, vida = 6500},
["Shiny Venonat"] = {level = 30, cons = 40, vida = 3000},
["Shiny Venusaur"] = {level = 100, cons = 160, vida = 15000},
["Shiny Voltorb"] = {level = 30, cons = 40, vida = 2000},
["Shiny Zubat"] = {level = 15, cons = 30, vida = 2000},
["Ampharos"] = {level = 80, cons = 140, vida = 9000},
["Ariados"] = {level = 40, cons = 140, vida = 3000},
["Azumarill"] = {level = 50, cons = 140, vida = 3000},
["Bayleef"] = {level = 40, cons = 140, vida = 6000},
["Bellossom"] = {level = 50, cons = 140, vida = 3000},
["Blissey"] = {level = 80, cons = 140, vida = 3000},
["Celebi"] = {level = 300, cons = 140, vida = 3000},
["Chikorita"] = {level = 20, cons = 140, vida = 3000},
["Chinchou"] = {level = 20, cons = 140, vida = 3000},
["Cleffa"] = {level = 5, cons = 140, vida = 3000},
["Corsola"] = {level = 50, cons = 140, vida = 3000},
["Crobat"] = {level = 50, cons = 140, vida = 5500},
["Croconaw"] = {level = 40, cons = 140, vida = 6000},
["Cyndaquil"] = {level = 20, cons = 140, vida = 3000},
["Delibird"] = {level = 50, cons = 140, vida = 5000},
["Donphan"] = {level = 50, cons = 140, vida = 6000},
["Dunsparce"] = {level = 25, cons = 140, vida = 3000},
["Elekid"] = {level = 20, cons = 140, vida = 3000},
["Entei"] = {level = 300, cons = 140, vida = 3000},
["Espeon"] = {level = 55, cons = 140, vida = 5500},
["Feraligatr"] = {level = 80, cons = 140, vida = 9000},
["Flaaffy"] = {level = 40, cons = 140, vida = 6000},
["Forretress"] ={level = 35, cons = 140, vida = 3000},
["Furret"] = {level = 35, cons = 140, vida = 5000},
["Gallade"] = {level = 80, cons = 140, vida = 9000},
["Girafarig"] = {level = 40, cons = 140, vida = 3000},
["Gligar"] = {level = 25, cons = 140, vida = 3000},
["Granbull"] = {level = 60, cons = 140, vida = 3000},
["Heracross"] = {level = 35, cons = 140, vida = 3000},
["Hitmontop"] = {level = 80, cons = 140, vida = 3000},
["Ho oh"] = {level = 30, cons = 140, vida = 3000},
["Hoothoot"] = {level = 10, cons = 140, vida = 2500},
["Hoppip"] = {level = 30, cons = 140, vida = 3000},
["Houndoom"] = {level = 30, cons = 140, vida = 3000},
["Houndor"] = {level = 30, cons = 140, vida = 3000},
["Igglybuff"] = {level = 30, cons = 140, vida = 3000},
["Jumpluff"] = {level = 30, cons = 140, vida = 3000},
["Kingdra"] = {level = 30, cons = 140, vida = 3000},
["Lanturn"] = {level = 30, cons = 140, vida = 3000},
["Larvitar"] = {level = 30, cons = 140, vida = 3000},
["Ledian"] = {level = 30, cons = 140, vida = 3000},
["Ledyba"] = {level = 30, cons = 140, vida = 3000},
["Lugia"] = {level = 30, cons = 140, vida = 3000},
["Magby"] = {level = 30, cons = 140, vida = 3000},
["Magcarbo"] = {level = 30, cons = 140, vida = 3000},
["Mantine"] = {level = 30, cons = 140, vida = 3000},
["Mareep"] = {level = 20, cons = 140, vida = 3000},
["Marill"] = {level = 30, cons = 140, vida = 3000},
["Meganium"] ={level = 80, cons = 140, vida = 9000},
["Miltank"] = {level = 30, cons = 140, vida = 5000},
["Misdreavus"] = {level = 30, cons = 140, vida = 3000},
["Murkrow"] = {level = 30, cons = 140, vida = 3000},
["Natu"] = {level = 30, cons = 140, vida = 3000},
["Noctowl"] = {level = 30, cons = 140, vida = 5000},
["Octillery"] ={level = 30, cons = 140, vida = 3000},
["Phanpy"] = {level = 30, cons = 140, vida = 3000},
["Pichu"] = {level = 30, cons = 140, vida = 3000},
["Piloswine"] ={level = 30, cons = 140, vida = 3000},
["Pineco"] = {level = 30, cons = 140, vida = 3000},
["Politoed"] ={level = 30, cons = 140, vida = 3000},
["Porygon2"] ={level = 30, cons = 140, vida = 3000},
["Pupitar"] = {level = 30, cons = 140, vida = 3000},
["Quaqsire"] ={level = 30, cons = 140, vida = 3000},
["Quilava"] ={level = 40, cons = 140, vida = 6000},
["Qwilfish"] = {level = 30, cons = 140, vida = 3000},
["Raikou"] ={level = 300, cons = 140, vida = 3000},
["Remoraid"] = {level = 30, cons = 140, vida = 3000},
["Scizor"] = {level = 100, cons = 140, vida = 3000},
["Shuckle"] ={level = 30, cons = 140, vida = 3000},
["Skarmory"] ={level = 30, cons = 140, vida = 3000},
["Skiploom"] = {level = 30, cons = 140, vida = 3000},
["Slowking"] = {level = 30, cons = 140, vida = 3000},
["Slugma"] ={level = 30, cons = 140, vida = 3000},
["Smeargle"] = {level = 30, cons = 140, vida = 3000},
["Smoochum"] = {level = 30, cons = 140, vida = 3000},
["Sneasel"] = {level = 30, cons = 140, vida = 3000},
["Sentret"] = {level = 25, cons = 140, vida = 2500},
["Snubbull"] = {level = 30, cons = 140, vida = 3000},
["Spinarak"] ={level = 30, cons = 140, vida = 3000},
["Stantler"] = {level = 30, cons = 140, vida = 3000},
["Steelix"] = {level = 80, cons = 140, vida = 3000},
["Sudowoodo"] ={level = 30, cons = 140, vida = 3000},
["Suicune"] = {level = 30, cons = 140, vida = 3000},
["Sunflora"] = {level = 30, cons = 140, vida = 3000},
["Sunkern"] = {level = 30, cons = 140, vida = 3000},
["Swinub"] ={level = 30, cons = 140, vida = 3000},
["Teddiursa"] ={level = 30, cons = 140, vida = 3000},
["Togepi"] = {level = 30, cons = 140, vida = 3000},
["Togetic"] ={level = 30, cons = 140, vida = 3000},
["Totodile"] = {level = 20, cons = 140, vida = 1000},
["Typhlosion"] ={level = 80, cons = 140, vida = 9000},
["Tyranitar"] = {level = 30, cons = 140, vida = 3000},
["Tyrogue"] = {level = 30, cons = 140, vida = 3000},
["Umbreon"] ={level = 30, cons = 140, vida = 3000},
["Ursaring"] = {level = 30, cons = 140, vida = 3000},
["Wobbuffet"] = {level = 30, cons = 140, vida = 3000},
["Wooper"] = {level = 30, cons = 140, vida = 3000},
["Xatu"] = {level = 30, cons = 140, vida = 3000},
["Yanma"] = {level = 30, cons = 140, vida = 3000},
["Giratina"] = {level = 1, cons = 250, vida = 15000},
["Palkia"] = {level = 1, cons = 251, vida = 15000},
["Rayquaza"] = {level = 1, cons = 251, vida = 15000},
["Primal Dialga"] = {level = 1, cons = 251, vida = 15000},
["Dialga"] = {level = 1, cons = 251, vida = 15000},
}
local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'}
local direction = {'4', '5', '6', '7'}
-- ridefly
local ridefly = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Moltres', 'Zapdos', 'Articuno', 'Mew', 'Mewtwo', 'Elder Charizard', 'Shiny Arcanine','Crystal Onix','Shiny Pidgeot','Shiny Venusaur','Crobat','Skarmory','Porygon2','Bayleef','Girafarig','Houndoom','Mareep','Meganium','Piloswine','Stantler','Steelix'}
local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Shiny Arcanine','Crystal Onix','Shiny Venusaur','Bayleef','Mareep','Girafarig','Houndoom','Meganium','Piloswine','Stantler','Steelix'}
local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo', 'Elder Charizard','Shiny Pidgeot','Crobat','Skarmory','Porygon2'}
local flys = {
[265] = {229, 2300, 350}, -- moltres
[283] = {230, 2100, 350}, -- artic
[199] = {224, 2600, 350}, -- zapdos
[9] = {232, 2200, 350}, -- 1000
[34] = {233, 2200, 350},-- two
[210] = {221, 1300, 350},-- nite
[80] = {222, 900, 350}, -- geot
[17] = {226, 800, 350}, -- fearow
[10] = {227, 1100, 350}, -- aero
[67] = {216, 1000, 350}, -- chari
[97] = {316, 600, 350}, -- porygon
[294] = {295, 600, 350}, -- elder zard
[297] = {178, 550, 350}, -- shiny geot
[544] = {636, 550, 350}, -- crobat
[604] = {656, 550, 350}, -- skarmory
[593] = {653, 550, 350}, -- porygon2
}
local rides = {
[93] = {128, 780, 350}, -- tauros
[114] = {129, 800, 350}, -- kyuubi
[220] = {130, 800, 350}, -- rapid
[16] = {131, 410, 350}, -- ponyta
[77] = {132, 400, 350}, -- rhyhorn
[88] = {12, 900, 350}, -- arcan
[493] = {492, 1000, 350}, -- shiny arca
[496] = {494, 420, 350}, -- shiny vneu
[292] = {293, 480, 350}, -- cristal onix
[248] = {126, 450, 350}, -- onix
[22] = {134, 390, 350}, -- venu
[120] = {133, 750, 350}, -- dodrio
[26] = {135, 420, 350}, -- doduo
[337] = {336, 420, 350}, -- shiny arcanine
[340] = {338,460,350}, -- shiny venu
[536] = {635,460,350}, -- bayleef
[558] = {641,460,350}, -- gyrafarig
[566] = {643,460,350}, -- Houndoom
[581] = {648,460,350}, -- Meganium
[590] = {652,460,350}, -- Piloswine
[613] = {658,460,350}, -- Stantler
[579] = {646,460,350}, -- marrep
[614] = {459,460,350}, -- steelix
}
local poke = {'Poliwag', 'Poliwhirl', 'Seaking', 'Dewgong', 'Blastoise', 'Tentacruel', 'Lapras', 'Gyarados', 'Omastar', 'Kabutops', 'Vaporeon', 'Staryu', 'Starmie', 'Goldeen', 'Seadra', 'Golduck', 'Squirtle', 'Wartortle', 'Tentacool', 'Snorlax', 'Poliwrath', 'Shiny Blastoise','Shiny Gyarados','Shiny Tentacool','Shiny Tentacruel','Shiny Vaporeon','Totodile','Croconaw','Feraligatr','Kingdra','Mantine','Azumarill','Marill','Octillery','Quaqsire','Wooper'}
local flie = {'4820-4825','4644-4655','6627-6638','4632-4643'}
local surfs = {
["Poliwag"] = {lookType=278, speed = 100},
["Poliwhirl"] = {lookType=137, speed = 150},
["Seaking"] = {lookType=269, speed = 140},
["Dewgong"] = {lookType=183, speed = 200},
["Blastoise"] = {lookType=184, speed = 220},
["Tentacruel"] = {lookType=185, speed = 210},
["Lapras"] = {lookType=186, speed = 250},
["Gyarados"] = {lookType=187, speed = 250},
["Omastar"] = {lookType=188, speed = 220},
["Kabutops"] = {lookType=189, speed = 220},
["Poliwrath"] = {lookType=190, speed = 210},
["Vaporeon"] = {lookType=191, speed = 200},
["Staryu"] = {lookType=266, speed = 110},
["Starmie"] = {lookType=267, speed = 140},
["Goldeen"] = {lookType=268, speed = 100},
["Seadra"] = {lookType=270, speed = 140},
["Golduck"] = {lookType=271, speed = 200},
["Squirtle"] = {lookType=273, speed = 140},
["Wartortle"] = {lookType=275, speed = 180},
["Tentacool"] = {lookType=277, speed = 120},
["Snorlax"] = {lookType=300, speed = 250},
["Shiny Blastoise"] = {lookType=205, speed = 350},
["Shiny Gyarados"] = {lookType = 225, speed = 380},
["Shiny Tentacool"] = {lookType = 347, speed = 150},
["Shiny Tentacruel"] = {lookType = 334, speed = 320},
["Shiny Vaporeon"] = {lookType = 308, speed = 300},
["Totodile"] = {lookType = 450, speed = 300},
["Croconaw"] = {lookType = 451, speed = 300},
["Kingdra"] = {lookType = 644, speed = 300},
["Mantine"] = {lookType = 645, speed = 300},
["Azumarill"] = {lookType = 634, speed = 300},
["Marill"] = {lookType = 647, speed = 300},
["Octillery"] = {lookType = 650, speed = 300},
["Quaqsire"] = {lookType = 654, speed = 300},
["Wooper"] = {lookType = 660, speed = 300},
["Feraligatr"] = {lookType = 640, speed = 300},
}
local bolas = {'2222', '2223', '2224'}
local ultra = {'2220', '2221', '2227'}
local etudao = 9506
local mind = 9507
local abili = 9509
-- ROCK SMASH
local rocksmash = {'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Poliwrath', 'Crystal Onix', 'Shiny Cubone','Electabuzz','Shiny Marowak','Shiny Snorlax','Donphan','Miltank','Steelix'}
local erockmash = 9502
local cdrocksmash = 0
-- ROCK SMASH
-- DIG
local digholes = {'468', '481', '483','383'}
local dig = {'Raticate', 'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros','Arcanine', 'Snorlax', 'Shiny Arcanine', 'Shiny Cubone','Crystal Onix','Shiny Growlithe','Kingler','Shiny Kingler','Shiny Marowak','Steelix'}
local edig = 9504
local cddig = 0
-- DIG
-- CUT
local cut = {'Charizard','Raticate', 'Bulbasaur', 'Ivysaur', 'Venusaur', 'Charmeleon', 'Sandshrew', 'Sandslash', 'Gloom', 'Vileplume', 'Paras', 'Parasect', 'Meowth', 'Persian', 'Bellsprout', 'Weepinbell', 'Victreebel', 'Farfetchd', 'Krabby', 'Kingler', 'Exeggutor', 'Cubone', 'Marowak', 'Tangela', 'Scyther', 'Pinsir','Shiny Beedrill','Shiny Farfetchd','Shiny Golbat','Shiny Kingler','Shiny Pinsir','Shiny Paras','Shiny Parasect','Shiny Scyther','Shiny Venusaur','Shiny Tangela','Ariados','Bayleef','Chikorita','Meganium'}
local ecut = 9503
local cdcut = 0
-- CUT
-- BLINK
local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Shiny Abra', 'Shiny Alakazam',}
local exhaustblink = 9501
local cdblink = 50
-- BLINK
-- LIGHT
local light = {'Abra', 'Kadabra', 'Alakazam', 'Magnemite', 'Magneton', 'Drowzee', 'Hypno', 'Voltorb', 'Electrode', 'Mrmime', 'Electabuzz', 'Jolteon', 'Porygon', 'Pikachu', 'Raichu', 'Shiny Electabuzz', 'Shiny Electrode','Shiny Alakazam','Shiny Hypno','Shiny Jolteon','Shiny Voltorb','Shiny Raichu','Ampharos'}
local exhautStorage = 9500
local time = 600
local cd = 17
-- LIGHT
function onUse(cid, item, frompos, item2, topos)
local storageAbilidade = getPlayerStorageValue(cid, 7778)
if getPlayerItemCount(cid, item2.itemid) >= 1 then
return false
end
if exhaustion.get(cid, etudao) then
doPlayerSendCancel(cid, "Please wait a few seconds before using order again!")
return true
end
if isMonster(item2.uid) and item2.uid ~= getCreatureSummons(cid)[1] and item2.uid ~= cid then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use order.")
return true
end
local summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if isMonster(item2.uid) == TRUE and summonName == "Ditto" then
if getPlayerLevel(cid) < pokes[summonName].level then
doPlayerSendCancel(cid,"You cannot transform in a pokemon that have a level above yours")
return true
end
if getCreatureName(item2.uid) == summonName then
doPlayerSendCancel(cid,"You are already a Ditto")
return true
end
local apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if apelido == nil then
apelido = summonName
end
doCreatureSay(cid, ""..apelido..", transform in ".. getCreatureName(item2.uid) .."!", 1)
local posDito = getCreaturePosition(getCreatureSummons(cid)[1])
doSendMagicEffect(posDito, 184)
doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(item2.uid), 50000)
return TRUE
end
if exhaustion.get(cid, mind) then
doPlayerSendCancel(cid, "Your pokemon is too exhausted from the last control, this ability has 2 minutes cooldown.")
return true
end
if isPlayer(getCreatureMaster(item2.uid)) then
doPlayerSendCancel(cid, "You cant control the mind of someone's else pokemon.")
return true
end
if not isInArray({"Alakazam","Haunter","Tentacruel", "Gengar", "Shiny Alakazam","Shiny Gengar","Shiny Tentacruel"}, summonName) then
doPlayerSendCancel(cid, "This pokemon cant control mind.")
return true
end
if getPlayerLevel(cid) < pokes[summonName].level then
doPlayerSendCancel(cid, "Você não tem level para usar control mind neste pokemon")
return true
end
exhaustion.set(cid, mind, 240)
doCreatureSay(getCreatureSummons(cid)[1], "CONTROL MIND!", TALKTYPE_MONSTER)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(item2.uid), 39)
registerCreatureEvent(item2.uid, "Controled")
doSendMagicEffect(getThingPos(item2.uid), 136)
doSendMagicEffect(getThingPos(item2.uid), 134)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 133)
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
doConvinceCreature(cid, item2.uid)
if getCreatureSpeed(item2.uid) == 0 then
doChangeSpeed(item2.uid, 180)
end
doCreatureSay(cid, ""..summonName..", control mind!", 1)
local cmed = item2.uid
local cmname = summonName
local cmpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if apelido == nil then
apelido = cmname
end
setCreatureName(cid,""..cmname.." cm",apelido,'Its belongs to '..getCreatureName(cid))
local cmzao = getCreatureSummons(cid)[1]
doTeleportThing(cmzao,cmpos,false)
setPlayerStorageValue(cid, 888, 1)
local function check(params)
if isCreature(params.cid) then
if getPlayerStorageValue(params.cid, 888) <= 0 then
return true
end
if not isCreature(cmed) then
local pkcmpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
local item = getPlayerSlotItem(cid, 8)
pokeNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
apelido = getItemAttribute(item.uid, "apelido")
if apelido == nil then
apelido = pokeNome
end
setCreatureName(cid,pokeNome,apelido,'Its belongs to '..getCreatureName(cid))
local pk = getCreatureSummons(cid)[1]
doTeleportThing(pk,pkcmpos,false)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
registerCreatureEvent(cid, "PlayerPokeDeath")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
setPlayerStorageValue(cid, 888, 0)
end
if params.rod == 60 then
local lifecmed = getCreatureMaxHealth(cmed) - getCreatureHealth(cmed)
local poscmed = getThingPos(cmed)
local cmeddir = getCreatureLookDir(cmed)
local namecmed = getCreatureName(cmed)
doRemoveCreature(getCreatureSummons(cid)[1])
local back = doSummonCreature(""..namecmed.."_s", poscmed)
if getCreatureSpeed(back) == 0 then
doChangeSpeed(back, 180)
end
doCreatureSetLookDir(back, cmeddir)
doCreatureAddHealth(back, -lifecmed)
local item = getPlayerSlotItem(cid, 8)
local mynewpos = getThingPos(getCreatureSummons(cid)[1])
doRemoveCreature(getCreatureSummons(cid)[1])
pokeNome = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if apelido == nil then
apelido = pokeNome
end
setCreatureName(cid,pokeNome,apelido,'Its belongs to '..getCreatureName(cid))
local pk = getCreatureSummons(cid)[1]
doTeleportThing(pk,mynewpos,false)
doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
registerCreatureEvent(cid, "PlayerPokeDeath")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
setPlayerStorageValue(cid, 888, 0)
else
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
end
end
end
for rod = 1, 60 do
addEvent(check, rod*500, {cid = cid, rod = rod})
end
return true
end
if item2.uid == cid then
if getPlayerStorageValue(cid, 888) >= 1 then
doPlayerSendCancel(cid, "You cant fly neither ride pokemons being controled.")
return true
end
if #getCreatureSummons(cid) == 0 and storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then
doPlayerSendCancel(cid, "You need a pokemon to use order.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if storageAbilidade <= 0 and getPlayerStorageValue(cid, 7778) <= 0 and not isInArray(ridefly, summonName) then
doPlayerSendCancel(cid, "You can't ride this pokemon nor fly with it.")
return true
end
if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
if getPlayerStorageValue(cid, 17001) <= 0 and storageAbilidade <= 0 and isInArray(ride, summonName) then
local pokemon = rides[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getCreatureSpeed(getCreatureSummons(cid)[1]) >= 1 then
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
end
local function ride(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.d then
if getPlayerStorageValue(cid, abili) > 0 then
return false;
end
doChangeSpeed(cid, -250)
doChangeSpeed(cid, pokemon[2])
setPlayerStorageValue(cid, abili, 1)
setPlayerStorageValue(cid, 17001, 1)
doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
else
dirh = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid))
if dirh == NORTHWEST then
if math.random(1,100) >= 51 then
dirh = NORTH
else
dirh = WEST
end
elseif dirh == SOUTHWEST then
if math.random(1,100) >= 51 then
dirh = SOUTH
else
dirh = WEST
end
elseif dirh == SOUTHEAST then
if math.random(1,100) >= 51 then
dirh = SOUTH
else
dirh = EAST
end
elseif dirh == NORTHEAST then
if math.random(1,100) >= 51 then
dirh = NORTH
else
dirh = EAST
end
end
local dirh = dirh
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
end
local function speed(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doCreatureSay(cid, ""..summonName..", let me ride you!", 1)
exhaustion.set(cid, etudao, 4)
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
distanc = 1
else
distanc = 0
end
local distance = distanc
for i=1,12 do
addEvent(ride, pokemon[3]*i, {cid = cid, d = distance})
addEvent(speed, ((pokemon[3]*12)+100), {cid = cid})
end
addEvent(setPlayerStorageValue,5000,cid, abili, 0)
return true
end
if getPlayerStorageValue(cid, 17001) >= 1 then
setPlayerStorageValue(cid, 17001, 0)
if getPlayerGroupId(cid) ~= 6 then
setPlayerGroupId(cid, 8)
end
doCreatureSetLookDir(cid, 2)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
doChangeSpeed(cid, 400*getPlayerGroupId(cid))
else
doChangeSpeed(cid, 250)
end
local item = getPlayerSlotItem(cid, 8)
doRemoveCondition(cid, CONDITION_OUTFIT)
pokeNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
summonName = getItemAttribute(item.uid, "apelido")
if summonName == nil then
summonName = pokeNome
end
doCreatureSay(cid, "" .. summonName..", let me get down!", 1)
setCreatureName(cid,pokeNome,summonName,'Its belongs to '..getCreatureName(cid))
local pk = getCreatureSummons(cid)[1]
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
return true
end
-- Fly Begin --
if getPlayerStorageValue(cid, 7778) == 4 then
if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then
doPlayerSendCancel(cid, "You can\'t stop flying at this place!")
return true
end
if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
doPlayerSendCancel(cid, "You can\'t stop flying above the water!")
return true
end
setPlayerStorageValue(cid, 7778, 0)
if getPlayerGroupId(cid) ~= 6 then
setPlayerGroupId(cid, 8)
end
doCreatureSetLookDir(cid, 2)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
doChangeSpeed(cid, 200*getPlayerGroupId(cid))
else
doChangeSpeed(cid, 250)
end
doRemoveCondition(cid, CONDITION_OUTFIT)
local item = getPlayerSlotItem(cid, 8)
--doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
local varNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
local varApelido = getItemAttribute(item.uid, "apelido")
local varSpecial = getItemAttribute(item.uid, "special")
if(varApelido == nil)then
varApelido = varNome
end
doCreatureSay(cid, "" .. varApelido..", let me get down!", 1)
setCreatureName(cid, varNome,varApelido ,varSpecial)
local pk = getCreatureSummons(cid)[1]
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, summonName) then
if storageAbilidade <= 0 then
local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if not isVip(cid) then
doPlayerSendTextMessage(cid, 22, "Voce Precisa Ser Vip Para fly.")
return false
end
local function fly(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.dd then
if getPlayerStorageValue(cid, abili) > 0 then
return false;
end
setPlayerStorageValue(cid, abili, 1)
doPlayerSendTextMessage(cid,27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower." )
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 7778, 4)
registerCreatureEvent(cid, "Flying")
doChangeSpeed(cid, -250)
doChangeSpeed(cid, pokemon[2])
doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
doRemoveCreature(getCreatureSummons(cid)[1])
else
dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid))
if dir == NORTHWEST then
if math.random(1,100) >= 51 then
dir = NORTH
else
dir = WEST
end
elseif dir == SOUTHWEST then
if math.random(1,100) >= 51 then
dir = SOUTH
else
dir = WEST
end
elseif dir == SOUTHEAST then
if math.random(1,100) >= 51 then
dir = SOUTH
else
dir = EAST
end
elseif dir == NORTHEAST then
if math.random(1,100) >= 51 then
dir = NORTH
else
dir = EAST
end
end
local dir = dir
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
end
local function speed(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
end
end
end
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doCreatureSay(cid, ""..summonName..", lets fly!", 1)
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
distancc = 1
else
distancc = 0
end
local distancee = distancc
for i=1,12 do
addEvent(fly, pokemon[3]*i, {cid = cid, dd = distancee})
addEvent(speed, ((pokemon[3]*12)+100), {cid = cid})
end
addEvent(setPlayerStorageValue,5000,cid, abili, 0)
return true
end
return true
end
-- Fly End --
end
-- Ride,Fly End --
-- ROCK SMASH
if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use rock smash.")
return true
end
if not isInArray(rocksmash, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use rock smash.")
return true
else
if exhaustion.get(cid, erocksmash) then
doPlayerSendCancel(cid, "Please wait a few seconds before using rock smash again!")
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
return true
end
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 100) >= 1 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
doSendMagicEffect(topos, 118)
doTransformItem(getTileItemById(topos, 1285).uid, 2257)
exhaustion.set(cid, erocksmash, cdrocksmash)
local function detrans(params)
doTransformItem(getTileItemById(topos, 2257).uid, 1285)
end
addEvent(detrans, 15*1000, {ciddd = cid})
doCreatureSay(getCreatureSummons(cid)[1], "ROCK SMASH!", TALKTYPE_MONSTER)
local function nmr(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
addEvent(nmr, 400, {cid = cid})
else
local badire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
if badire == NORTHWEST then
if math.random(1,100) >= 51 then
badire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = NORTH
else
badire = WEST
end
else
badire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = WEST
else
badire = NORTH
end
end
elseif badire == SOUTHWEST then
if math.random(1,100) >= 51 then
badire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = SOUTH
else
badire = WEST
end
else
badire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = WEST
else
badire = SOUTH
end
end
elseif badire == SOUTHEAST then
if math.random(1,100) >= 51 then
badire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = SOUTH
else
badire = EAST
end
else
badire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = EAST
else
badire = SOUTH
end
end
elseif badire == NORTHEAST then
if math.random(1,100) >= 51 then
badire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = NORTH
else
badire = EAST
end
else
badire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
badire = EAST
else
badire = NORTH
end
end
end
local badire = badire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", smash this rock!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
end
end
-- ROCK SMASH END
-- Surf Begin --
local brd = bordas[item2.itemid]
if brd ~= nil then
if getPlayerStorageValue(cid, 7778) == 3 then
coordenadas = bordas[item2.itemid]
oldPos = getThingPos(item2.uid)
newPos = { x = oldPos.x - coordenadas.x, y = oldPos.y - coordenadas.y, z = oldPos.z }
if (getDistanceBetween(getThingPos(cid), getThingPos(item2.uid)) > 1 ) or (not getClosestFreeTile(cid,oldPos)) then
return doPlayerSendCancel(cid,"You cannot stop surfing here")
end
if getPlayerGroupId(cid) ~= 6 then
setPlayerGroupId(cid, 8)
end
doCreatureSetLookDir(cid, 2)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
doChangeSpeed(cid, 200*getPlayerGroupId(cid))
else
doChangeSpeed(cid, 250)
end
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 7778, 0)
setPlayerStorageValue(cid, 17001, 0)
local item = getPlayerSlotItem(cid, 8)
--doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
local varNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
local varApelido = getItemAttribute(item.uid, "apelido")
local varSpecial = getItemAttribute(item.uid, "special")
moveAgua(cid,item2,true)
if(varApelido == nil)then
varApelido = varNome
end
doCreatureSay(cid, "" .. varApelido..", let me get out!", 1)
setCreatureName(cid, varNome, varApelido,varSpecial)
local pk = getCreatureSummons(cid)[1]
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(pk, "Exp")
setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if #getCreatureSummons(cid) == 0 then
return doPlayerSendCancel(cid,"You need a Pokemon for this")
end
local function doVoltaSpeed(speedPoke,velocidade)
if getCreatureName(speedPoke) ~= nil then
doChangeSpeed(speedPoke, velocidade)
end
end
if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(poke, summonName) then
if storageAbilidade <= 0 then
local pokemon = surfs[summonName]
if not isVip(cid) then
doPlayerSendTextMessage(cid, 22, "Voce Precisa Ser Vip Para Surf.")
return TRUE
end
local function surf(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
pokeSpeed = getCreatureSummons(params.cid)[1]
posicaoAid = getPosByDir(getCreaturePosition(pokeSpeed), getCreatureLookDirection(pokeSpeed), -1)
chaoAid = getTileThingByPos(posicaoAid)
if chaoAid ~= nil and getPlayerStorageValue(cid, 7800) <= 0 then
doItemSetAttribute(chaoAid.uid,"aid",9000)
doChangeSpeed(pokeSpeed, -getCreatureSpeed(pokeSpeed))
setPlayerStorageValue(cid, 7800, params.dd)
addEvent(doItemSetAttribute, 6000, chaoAid.uid,"aid",9000)
addEvent(doVoltaSpeed, 6000, pokeSpeed,getCreatureBaseSpeed(pokeSpeed))
addEvent(setPlayerStorageValue,6000,params.cid,7800,0)
end
else
local edire = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), params.topos)
doPlayerSendCancel(params.cid,getThingFromPos(params.topos).itemid)
if edire >= 0 and edire <= 7 then
if edire == NORTHWEST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = NORTH
end
end
elseif edire == SOUTHWEST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = SOUTH
end
end
elseif edire == SOUTHEAST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = SOUTH
end
end
elseif edire == NORTHEAST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = NORTH
end
end
end
local dir = edire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
end
local function speed(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doChangeSpeed(params.cid, getCreatureBaseSpeed(params.cid))
end
end
end
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doCreatureSay(cid, ""..summonName..", lets Surf!", 1)
exhaustion.set(cid, etudao, 4)
if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
distancc = 1
else
distancc = 0
end
local distancee = distancc
--for i=1,12 do
-- addEvent(surf, 150*i, {cid = cid, dd = item2.uid, topos = topos})
-- addEvent(speed, ((150*12)+100), {cid = cid})
--end
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
registerCreatureEvent(cid, "Surfing")
doChangeSpeed(cid, -250)
doChangeSpeed(cid, pokemon.speed)
exhaustion.set(cid, etudao, 4)
doSetCreatureOutfit(cid, {lookType = pokemon.lookType, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
doRemoveCreature(getCreatureSummons(cid)[1])
setPlayerStorageValue(cid, 7778, 3)
setPlayerStorageValue(cid, 17001, 3)
moveAgua(cid,item2,false)
return true
end
return true
end
end
-- Surf End --
-- CUT
if item2.itemid == 2767 and getPlayerStorageValue(cid, 63215) <= 0 then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use cut.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if not isInArray(cut, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use cut.")
return true
end
if isInArray(cut, summonName) then
if exhaustion.get(cid, ecut) then
doPlayerSendCancel(cid, "Please wait a few seconds before using cut again!")
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
return true
end
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 101) >= 1 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
doSendMagicEffect(topos, 141)
doTransformItem(getTileItemById(topos, 2767).uid, 6216)
exhaustion.set(cid, ecut, cdcut)
local function detrans(params)
doTransformItem(getTileItemById(topos, 6216).uid, 2767)
end
addEvent(detrans, 15*1000, {ciddd = cid})
doCreatureSay(getCreatureSummons(cid)[1], "CUT!", TALKTYPE_MONSTER)
local function nmr(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
addEvent(nmr, 400, {cid = cid})
else
adire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
if adire == NORTHWEST then
if math.random(1,100) >= 51 then
adire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = NORTH
else
adire = WEST
end
else
adire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = WEST
else
adire = NORTH
end
end
elseif adire == SOUTHWEST then
if math.random(1,100) >= 51 then
adire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = SOUTH
else
adire = WEST
end
else
adire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = WEST
else
adire = SOUTH
end
end
elseif adire == SOUTHEAST then
if math.random(1,100) >= 51 then
adire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = SOUTH
else
adire = EAST
end
else
adire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = EAST
else
adire = SOUTH
end
end
elseif adire == NORTHEAST then
if math.random(1,100) >= 51 then
adire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = NORTH
else
adire = EAST
end
else
adire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
adire = EAST
else
adire = NORTH
end
end
end
local adire = adire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", cut this bush!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
end
end
-- CUT END
-- DIG
if isInArray(digholes, item2.itemid) and getPlayerStorageValue(cid, 63215) <= 0 then
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use dig.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if not isInArray(dig, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use dig.")
return true
end
if isInArray(dig, summonName) then
if exhaustion.get(cid, edig) then
doPlayerSendCancel(cid, "Please wait a few seconds before using dig again!")
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
return true
end
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 99) >= 1 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
doSendMagicEffect(topos, 3)
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 99, 1)
doTransformItem(getTileItemById(topos, item2.itemid).uid, item2.itemid+1)
exhaustion.set(cid, edig, cddig)
local function detrans(params)
doTransformItem(getTileItemById(topos, item2.itemid+1).uid, item2.itemid)
if isCreature(getCreatureSummons(params.ciddd)[1]) then
setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 99, 0)
end
end
addEvent(detrans, 5500, {ciddd = cid})
doCreatureSay(getCreatureSummons(cid)[1], "DIG!", TALKTYPE_MONSTER)
local function nmr(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
addEvent(nmr, 400, {cid = cid})
else
local cdire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
if cdire == NORTHWEST then
if math.random(1,100) >= 51 then
cdire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = NORTH
else
cdire = WEST
end
else
cdire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = WEST
else
cdire = NORTH
end
end
elseif cdire == SOUTHWEST then
if math.random(1,100) >= 51 then
cdire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = SOUTH
else
cdire = WEST
end
else
cdire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = WEST
else
cdire = SOUTH
end
end
elseif cdire == SOUTHEAST then
if math.random(1,100) >= 51 then
cdire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = SOUTH
else
cdire = EAST
end
else
cdire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = EAST
else
cdire = SOUTH
end
end
elseif cdire == NORTHEAST then
if math.random(1,100) >= 51 then
cdire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = NORTH
else
cdire = EAST
end
else
cdire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
cdire = EAST
else
cdire = NORTH
end
end
end
local cdire = cdire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", open this hole!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
end
end
-- DIG END
-- BLINK
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 then
doPlayerSendCancel(cid, "You need a pokemon to use order.")
return true
end
if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
if isInArray(blink, summonName) then
if exhaustion.get(cid, exhaustblink) then
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
return true
end
local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if edire >= 0 and edire <= 7 then
if edire == NORTHWEST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = NORTH
end
end
elseif edire == SOUTHWEST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = WEST
end
else
edire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = WEST
else
edire = SOUTH
end
end
elseif edire == SOUTHEAST then
if math.random(1,100) >= 51 then
edire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = SOUTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = SOUTH
end
end
elseif edire == NORTHEAST then
if math.random(1,100) >= 51 then
edire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = NORTH
else
edire = EAST
end
else
edire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
edire = EAST
else
edire = NORTH
end
end
end
local edire = edire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SumPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SumPos.x))
local travely = math.abs((topos.y) - (SumPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk * travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
else
if not isWalkable(topos, cid, 0, 0) then
doPlayerSendCancel(cid, "Your pokemon cannot teleport there.")
return true
end
if getItemName(item2.uid) == "shallow water" then
doPlayerSendCancel(cid, "Your pokemon cannot teleport there.")
return true
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211)
doTeleportThing(getCreatureSummons(cid)[1], topos, false)
doSendMagicEffect(topos, 134)
doPlayerSay(cid, ""..summonName..", teleport there!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER)
exhaustion.set(cid, exhaustblink, cdblink)
return true
end
return true
end
end
--- BLINK END
-- LIGHT --
if isCreature(item2.uid) and getCreatureMaster(item2.uid) == cid and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 and item2.uid ~= cid then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
if summonName == "Ditto" and isMonster(item2.uid) == TRUE then
doCreatureSay(cid, "Ditto, reverse transformation!", 1)
local posDito = getCreaturePosition(getCreatureSummons(cid)[1])
doSendMagicEffect(posDito, 184)
doSetCreatureOutfit(getCreatureSummons(cid)[1], {lookType = 28, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
return TRUE
elseif not isInArray(light, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use flash.")
return TRUE
end
if isInArray(light, summonName) then
if not isMonster(item2.uid) and getCreatureMaster(item2.uid) ~= cid then
return doPlayerSendCancel(cid,"Please use flash on your pokemon.")
end
if exhaustion.get(cid, exhautStorage) then
doPlayerSendCancel(cid,"Please wait a few seconds before using flash again!")
return true
end
exhaustion.set(cid, exhautStorage, cd)
doPlayerSay(cid, ""..summonName..", use flash!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "FLASH!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 28)
doSetCreatureLight(getCreatureSummons(cid)[1], 8, 215, time*1000)
return true
end
end
-- LIGHT END --
-- surf Begin --
-- surf end --
if #getCreatureSummons(cid) == 0 then
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.")
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then
doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.")
return true
end
if getItemName(item2.uid) == "shallow water" then
doPlayerSendCancel(cid, "Your pokemon cannot move there.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
local bspd = getCreatureBaseSpeed(params.summons)
doChangeSpeed(summons, bspd)
end
addEvent(speeed, 600, {summons = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
setPlayerStorageValue(cid, etudao, -1)
return true
end
local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if dire >= 0 and dire <= 7 then
if dire == NORTHWEST then
if math.random(1,100) >= 51 then
dire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = NORTH
else
dire = WEST
end
else
dire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = WEST
else
dire = NORTH
end
end
elseif dire == SOUTHWEST then
if math.random(1,100) >= 51 then
dire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = SOUTH
else
dire = WEST
end
else
dire = WEST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = WEST
else
dire = SOUTH
end
end
elseif dire == SOUTHEAST then
if math.random(1,100) >= 51 then
dire = SOUTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = SOUTH
else
dire = EAST
end
else
dire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = EAST
else
dire = SOUTH
end
end
elseif dire == NORTHEAST then
if math.random(1,100) >= 51 then
dire = NORTH
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = NORTH
else
dire = EAST
end
else
dire = EAST
if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
dire = EAST
else
dire = NORTH
end
end
end
local dire = dire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
setPlayerStorageValue(cid, etudao, -1)
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 3000, {sum = getCreatureSummons(params.cid)[1]})
end
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SummonPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SummonPos.x))
local travely = math.abs((topos.y) - (SummonPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel-1 do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk*travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
return true
end
info
Grupo: Campones
Registrado: 19/02/11
Posts: 45
Reputação: +9
Char no Tibia: Darius Hunter
Meu order esta com bug alguem pode me ajudar???
modifiquei ele e agora n funciona
meu antigo
-- feito por Lukkas666 local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'} local direction = {'4', '5', '6', '7'} -- ridefly local ridefly = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Moltres', 'Zapdos', 'Articuno', 'Mew', 'Mewtwo', 'Gligar', 'Girafarig', 'Meganium', 'Porygon2', 'Stantler', 'Skarmory', 'Piloswine', 'Mareep', 'Houndor'} local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Girafarig', 'Meganium', 'Stantler', 'Piloswine', 'Mareep', 'Houndor'} local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo', 'Gligar', 'Porygon2', 'Skarmory'} local flys = { [265] = {229, 2300, 350}, -- moltres [283] = {230, 2100, 350}, -- artic [199] = {224, 2600, 350}, -- zapdos [9] = {232, 2200, 525}, -- 1000 [34] = {233, 2200, 525},-- two [210] = {221, 1300, 410},-- nite [80] = {222, 900, 375}, -- geot [17] = {226, 800, 400}, -- fearow [10] = {227, 1100, 410}, -- aero [67] = {216, 1000, 410}, -- chari [97] = {316, 600, 440}, -- porygon [559] = {662, 900, 440}, -- gligar [593] = {679, 900, 440}, -- porygon2 [604] = {682, 900, 440}, -- skarmory } local rides = { [93] = {128, 780, 400}, -- tauros [114] = {129, 800, 375}, -- ninetales [220] = {130, 800, 395}, -- rapid [16] = {131, 410, 500}, -- ponyta [77] = {132, 400, 510}, -- rhyhorn [88] = {12, 900, 390}, -- arcan [493] = {492, 1000, 360}, -- shiny arca [496] = {494, 420, 420}, -- shiny venu [292] = {293, 480, 430}, -- cristal onix [248] = {126, 450, 450}, -- onix [22] = {134, 390, 450}, -- venu [120] = {133, 750, 380}, -- dodrio [26] = {135, 420, 500}, -- doduo [558] = {667, 1000, 360}, -- girafarig [581] = {674, 1000, 360}, -- meganium [613] = {684, 1000, 360}, -- stantler [590] = {677, 900, 440}, -- piloswine [579] = {672, 900, 440}, -- mareep [567] = {669, 900, 440}, -- houndor } local bolas = {'2222', '2223', '2224'} local ultra = {'2220', '2221', '2227'} local etudao = 9506 local mind = 9507 -- ROCK SMASH local rocksmash = {'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Poliwrath'} local erockmash = 9502 local cdrocksmash = 2 -- ROCK SMASH -- DIG local digholes = {'468', '481', '483'} local dig = {'Raticate', 'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Donphan'} local edig = 9504 local cddig = 2 -- DIG -- CUT local cut = {'Raticate', 'Bulbasaur', 'Ivysaur', 'Venusaur', 'Charmeleon', 'Sandshrew', 'Sandslash', 'Gloom', 'Vileplume', 'Paras', 'Parasect', 'Meowth', 'Persian', 'Bellsprout', 'Weepinbell', 'Victreebel', 'Farfetchd', 'Krabby', 'Kingler', 'Exeggutor', 'Cubone', 'Marowak', 'Tangela', 'Scyther', 'Pinsir'} local ecut = 9503 local cdcut = 2 -- CUT -- BLINK local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Porygon2', 'Gallade'} local exhaustblink = 9501 local cdblink = 40 -- BLINK -- BLINK 2 local blink = {'Mew', 'Mewtwo'} local exhaustblink = 9501 local cdblink = 10 -- BLINK 2 -- LIGHT local light = {'Abra', 'Kadabra', 'Alakazam','Mew', 'Magnemite', 'Magneton', 'Drowzee', 'Hypno', 'Voltorb', 'Electrode', 'Mrmime', 'Electabuzz', 'Jolteon', 'Porygon', 'Pikachu', 'Raichu', 'Elekid', 'Ampharos', 'Flaaffy'} local exhautStorage = 9500 local time = 600 local cd = 17 -- LIGHT function onUse(cid, item, frompos, item2, topos) if getPlayerItemCount(cid, item2.itemid) >= 1 then return false end if isMonster(item2.uid) and item2.uid ~= getCreatureSummons(cid)[1] and item2.uid ~= cid then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if exhaustion.get(cid, mind) then doPlayerSendCancel(cid, "Seu pokemon é muito exausto do último controle,espere mais um tempo") return true end if isPlayer(getCreatureMaster(item2.uid)) then doPlayerSendCancel(cid, "Você não pode controlar a mente de pokemon de outra pessoa.") return true end if not isInArray({"Alakazam", "Tentacruel", "Gengar", "Girafarig"}, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon pode controlar mentes.") return true end exhaustion.set(cid, mind, 240) doCreatureSay(getCreatureSummons(cid)[1], "CONTROL MIND!", TALKTYPE_MONSTER) doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(item2.uid), 39) registerCreatureEvent(item2.uid, "Controled") doSendMagicEffect(getThingPos(item2.uid), 136) doSendMagicEffect(getThingPos(item2.uid), 134) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 133) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doConvinceCreature(cid, item2.uid) if getCreatureSpeed(item2.uid) == 0 then doChangeSpeed(item2.uid, 180) end doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", control "..string.lower(getCreatureName(item2.uid)).."'s mind!", 1) local cmed = item2.uid local cmname = getCreatureName(getCreatureSummons(cid)[1]) local cmpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local cmzao = doSummonCreature(""..cmname.." cm", cmpos) doConvinceCreature(cid, cmzao) setPlayerStorageValue(cid, 888, 1) local function check(params) if isCreature(params.cid) then if getPlayerStorageValue(params.cid, 888) <= 0 then return true end if not isCreature(cmed) then local pkcmpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local item = getPlayerSlotItem(cid, 8) local pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), pkcmpos) doConvinceCreature(cid, pk) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) setPlayerStorageValue(cid, 888, 0) end if params.rod == 20 then local lifecmed = getCreatureMaxHealth(cmed) - getCreatureHealth(cmed) local poscmed = getThingPos(cmed) local cmeddir = getCreatureLookDir(cmed) local namecmed = getCreatureName(cmed) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doSummonCreature(""..namecmed.." s", poscmed) if getCreatureSpeed(back) == 0 then doChangeSpeed(back, 180) end doCreatureSetLookDir(back, cmeddir) doCreatureAddHealth(back, -lifecmed) local item = getPlayerSlotItem(cid, 8) local mynewpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), mynewpos) doConvinceCreature(cid, pk) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) setPlayerStorageValue(cid, 888, 0) else doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220) end end end for rod = 1, 20 do addEvent(check, rod*500, {cid = cid, rod = rod}) end return true end if item2.uid == cid then if getPlayerStorageValue(cid, 888) >= 1 then doPlayerSendCancel(cid, "Você não pode voar nem pokemons passeio está sendo controlado.") return true end if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and not isInArray(ridefly, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Você não pode montar este pokemon nem voar com ele.") return true end if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end if getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and isInArray(ride, getCreatureName(getCreatureSummons(cid)[1])) then local pokemon = rides[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType] if getCreatureSpeed(getCreatureSummons(cid)[1]) >= 1 then doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end local function ride(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.d then doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon[2]) exhaustion.set(cid, etudao, 4) setPlayerStorageValue(cid, 17001, 1) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) else dirh = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid)) if dirh == NORTHWEST then if math.random(1,100) >= 51 then dirh = NORTH else dirh = WEST end elseif dirh == SOUTHWEST then if math.random(1,100) >= 51 then dirh = SOUTH else dirh = WEST end elseif dirh == SOUTHEAST then if math.random(1,100) >= 51 then dirh = SOUTH else dirh = EAST end elseif dirh == NORTHEAST then if math.random(1,100) >= 51 then dirh = NORTH else dirh = EAST end end local dirh = dirh if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) end end end end doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", let me ride you!", 1) exhaustion.set(cid, etudao, 4) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distanc = 1 else distanc = 0 end local distance = distanc for i=1,12 do addEvent(ride, pokemon[3]*i, {cid = cid, d = distance}) addEvent(speed, ((pokemon[3]*12)+100), {cid = cid}) end return true end if getPlayerStorageValue(cid, 17001) >= 1 then setPlayerStorageValue(cid, 17001, 0) if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 400*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPlayerSlotItem(cid, 8) doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1) doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end if getPlayerStorageValue(cid, 17000) >= 1 then if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "Você não pode parar de voar nesta altura!") return true end if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then doPlayerSendCancel(cid, "Você não pode parar de voar acima da água!") return true end if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) setPlayerStorageValue(cid, 17000, 0) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 200*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPlayerSlotItem(cid, 8) doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1) doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, getCreatureName(getCreatureSummons(cid)[1])) then if getPlayerStorageValue(cid, 17000) <= 0 then local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType] local function fly(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.dd then doPlayerSendTextMessage(cid,27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower." ) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 17000, 1) registerCreatureEvent(cid, "Flying") doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon[2]) exhaustion.set(cid, etudao, 4) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) doRemoveCreature(getCreatureSummons(cid)[1]) else dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid)) if dir == NORTHWEST then if math.random(1,100) >= 51 then dir = NORTH else dir = WEST end elseif dir == SOUTHWEST then if math.random(1,100) >= 51 then dir = SOUTH else dir = WEST end elseif dir == SOUTHEAST then if math.random(1,100) >= 51 then dir = SOUTH else dir = EAST end elseif dir == NORTHEAST then if math.random(1,100) >= 51 then dir = NORTH else dir = EAST end end local dir = dir if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) end end end end doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", lets fly!", 1) exhaustion.set(cid, etudao, 4) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distancc = 1 else distancc = 0 end local distancee = distancc for i=1,12 do addEvent(fly, pokemon[3]*i, {cid = cid, dd = distancee}) addEvent(speed, ((pokemon[3]*12)+100), {cid = cid}) end return true end return true end end -- ROCK SMASH if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon de usar Rock Smash.") return true end if not isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar Rock Smash.") return true end if isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, erocksmash) then doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar Rock Smash novamente!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 100) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 118) doTransformItem(getTileItemById(topos, 1285).uid, 2257) exhaustion.set(cid, erocksmash, cdrocksmash) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 100, 1) local function detrans(params) doTransformItem(getTileItemById(topos, 2257).uid, 1285) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 100, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "ROCK SMASH!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else local badire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if badire == NORTHWEST then if math.random(1,100) >= 51 then badire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = NORTH else badire = WEST end else badire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = WEST else badire = NORTH end end elseif badire == SOUTHWEST then if math.random(1,100) >= 51 then badire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = SOUTH else badire = WEST end else badire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = WEST else badire = SOUTH end end elseif badire == SOUTHEAST then if math.random(1,100) >= 51 then badire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = SOUTH else badire = EAST end else badire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = EAST else badire = SOUTH end end elseif badire == NORTHEAST then if math.random(1,100) >= 51 then badire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = NORTH else badire = EAST end else badire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = EAST else badire = NORTH end end end local badire = badire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", esmagar esse rock!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- ROCK SMASH END -- CUT if item2.itemid == 2767 and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon usar corte.") return true end if not isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar corte.") return true end if isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, ecut) then doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar o corte de novo!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 101) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 141) doTransformItem(getTileItemById(topos, 2767).uid, 6216) exhaustion.set(cid, ecut, cdcut) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 101, 1) local function detrans(params) doTransformItem(getTileItemById(topos, 6216).uid, 2767) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 101, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "CUT!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else adire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if adire == NORTHWEST then if math.random(1,100) >= 51 then adire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = NORTH else adire = WEST end else adire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = WEST else adire = NORTH end end elseif adire == SOUTHWEST then if math.random(1,100) >= 51 then adire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = SOUTH else adire = WEST end else adire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = WEST else adire = SOUTH end end elseif adire == SOUTHEAST then if math.random(1,100) >= 51 then adire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = SOUTH else adire = EAST end else adire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = EAST else adire = SOUTH end end elseif adire == NORTHEAST then if math.random(1,100) >= 51 then adire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = NORTH else adire = EAST end else adire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = EAST else adire = NORTH end end end local adire = adire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", cortar esse mato!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- CUT END -- DIG if isInArray(digholes, item2.itemid) and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon usar dig.") return true end if not isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar dig.") return true end if isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, edig) then doPlayerSendCancel(cid, "Por favor, aguarde alguns segundos antes de usar dig de novo!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 99) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 3) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 99, 1) doTransformItem(getTileItemById(topos, item2.itemid).uid, item2.itemid+1) exhaustion.set(cid, edig, cddig) local function detrans(params) doTransformItem(getTileItemById(topos, item2.itemid+1).uid, item2.itemid) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 99, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "DIG!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else local cdire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if cdire == NORTHWEST then if math.random(1,100) >= 51 then cdire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = NORTH else cdire = WEST end else cdire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = WEST else cdire = NORTH end end elseif cdire == SOUTHWEST then if math.random(1,100) >= 51 then cdire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = SOUTH else cdire = WEST end else cdire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = WEST else cdire = SOUTH end end elseif cdire == SOUTHEAST then if math.random(1,100) >= 51 then cdire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = SOUTH else cdire = EAST end else cdire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = EAST else cdire = SOUTH end end elseif cdire == NORTHEAST then if math.random(1,100) >= 51 then cdire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = NORTH else cdire = EAST end else cdire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = EAST else cdire = NORTH end end end local cdire = cdire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", abrir este buraco!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- DIG END -- BLINK if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then if isInArray(blink, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, exhaustblink) then if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) return true end local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if edire >= 0 and edire <= 7 then if edire == NORTHWEST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = NORTH end end elseif edire == SOUTHWEST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = SOUTH end end elseif edire == SOUTHEAST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = SOUTH end end elseif edire == NORTHEAST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = NORTH end end end local edire = edire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SumPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SumPos.x)) local travely = math.abs((topos.y) - (SumPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk * travel, {cid = cid}) exhaustion.set(cid, etudao, travel) else if not isWalkable(topos, cid, 0, 0) then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end if getItemName(item2.uid) == "shallow water" then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211) doTeleportThing(getCreatureSummons(cid)[1], topos, false) doSendMagicEffect(topos, 134) doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", teleport there!", 1) doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER) exhaustion.set(cid, exhaustblink, cdblink) return true end return true end end --- BLINK END -- BLINK 2 if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar ordem.") return true end if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 then if isInArray(blink2, getCreatureName(getCreatureSummons(cid)[1])) then if exhaustion.get(cid, exhaustblink2) then if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) return true end local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if edire >= 0 and edire <= 7 then if edire == NORTHWEST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = NORTH end end elseif edire == SOUTHWEST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = SOUTH end end elseif edire == SOUTHEAST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = SOUTH end end elseif edire == NORTHEAST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = NORTH end end end local edire = edire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SumPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SumPos.x)) local travely = math.abs((topos.y) - (SumPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk * travel, {cid = cid}) exhaustion.set(cid, etudao, travel) else if not isWalkable(topos, cid, 0, 0) then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end if getItemName(item2.uid) == "shallow water" then doPlayerSendCancel(cid, "Seu pokemon não pode teleport lá.") return true end doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211) doTeleportThing(getCreatureSummons(cid)[1], topos, false) doSendMagicEffect(topos, 134) doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", teleport there!", 1) doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER) exhaustion.set(cid, exhaustblink, cdblink) return true end return true end end --- BLINK2 END -- LIGHT -- if isCreature(item2.uid) and getCreatureMaster(item2.uid) == cid and getPlayerStorageValue(cid, 63215) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and item2.uid ~= cid then if not isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Este pokemon não pode usar flash.") return true end if isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then if not isMonster(item2.uid) and getCreatureMaster(item2.uid) ~= cid then return doPlayerSendCancel(cid,"Por favor use flash em seu pokemon.") end if exhaustion.get(cid, exhautStorage) then doPlayerSendCancel(cid,"Por favor, aguarde alguns segundos antes de usar o flash de novo!") return true end exhaustion.set(cid, exhautStorage, cd) doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use flash!", 1) doCreatureSay(getCreatureSummons(cid)[1], "FLASH!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 28) doSetCreatureLight(getCreatureSummons(cid)[1], 8, 215, time*1000) return true end end -- LIGHT END -- if #getCreatureSummons(cid) == 0 then return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then doPlayerSendCancel(cid, "Você não pode encomendar o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) setPlayerStorageValue(cid, etudao, -1) return true end local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if dire >= 0 and dire <= 7 then if dire == NORTHWEST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = NORTH end end elseif dire == SOUTHWEST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = SOUTH end end elseif dire == SOUTHEAST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = SOUTH end end elseif dire == NORTHEAST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = NORTH end end end local dire = dire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then setPlayerStorageValue(cid, etudao, -1) if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SummonPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SummonPos.x)) local travely = math.abs((topos.y) - (SummonPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel-1 do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk*travel, {cid = cid}) exhaustion.set(cid, etudao, travel) return true ende agora estou querendo colocar esse e não funfa
-- feito por brun123, editado por glugluguga -- Otimizado e adaptado por Lukkas666 local testeTmp = true local pokes = { ["Bulbasaur"] = {level = 20, cons = 40, vida = 1200}, ["Ivysaur"] = {level = 40, cons = 80, vida = 2600}, ["Venusaur"] = {level = 85, cons = 100, vida = 5200}, ["Charmander"] = {level = 20, cons = 30, vida = 970}, ["Charmeleon"] = {level = 40, cons = 70, vida = 2900}, ["Charizard"] = {level = 85, cons = 100, vida = 5200}, ["Squirtle"] = {level = 20, cons = 40, vida = 1350}, ["Wartortle"] = {level = 40, cons = 80, vida = 2800}, ["Blastoise"] = {level = 85, cons = 100, vida = 5900}, ["Caterpie"] = {level = 1, cons = 5, vida = 300}, ["Metapod"] = {level = 10, cons = 10, vida = 1100}, ["Butterfree"] = {level = 30, cons = 20, vida = 2000}, ["Weedle"] = {level = 1, cons = 5, vida = 325}, ["Kakuna"] = {level = 10, cons = 10, vida = 900}, ["Beedrill"] = {level = 30, cons = 20, vida = 1900}, ["Pidgey"] = {level = 1, cons = 5, vida = 380}, ["Pidgeotto"] = {level = 20, cons = 20, vida = 1400}, ["Pidgeot"] = {level = 65, cons = 70, vida = 3800}, ["Rattata"] = {level = 1, cons = 5, vida = 350}, ["Raticate"] = {level = 20, cons = 40, vida = 900}, ["Spearow"] = {level = 5, cons = 5, vida = 450}, ["Fearow"] = {level = 50, cons = 50, vida = 3300}, ["Ekans"] = {level = 12, cons = 10, vida = 600}, ["Arbok"] = {level = 30, cons = 40, vida = 2300}, ["Pikachu"] = {level = 20, cons = 30, vida = 900}, ["Raichu"] = {level = 50, cons = 60, vida = 3200}, ["Sandshrew"] = {level = 18, cons = 15, vida = 700}, ["Sandslash"] = {level = 55, cons = 60, vida = 3400}, ["Nidoran Female"] = {level = 10, cons = 5, vida = 600}, ["Nidorina"] = {level = 25, cons = 15, vida = 2000}, ["Nidoqueen"] = {level = 65, cons = 80, vida = 4200}, ["Nidoran Male"] = {level = 10, cons = 5, vida = 650}, ["Nidorino"] = {level = 25, cons = 15, vida = 2500}, ["Nidoking"] = {level = 65, cons = 80, vida = 4800}, ["Clefairy"] = {level = 10, cons = 15, vida = 600}, ["Clefable"] = {level = 35, cons = 70, vida = 2400}, ["Vulpix"] = {level = 20, cons = 15, vida = 680}, ["Ninetales"] = {level = 65, cons = 70, vida = 3400}, ["Jigglypuff"] = {level = 10, cons = 15, vida = 550}, ["Wigglytuff"] = {level = 42, cons = 60, vida = 2900}, ["Zubat"] = {level = 5, cons = 10, vida = 450}, ["Golbat"] = {level = 30, cons = 40, vida = 1900}, ["Oddish"] = {level = 5, cons = 5, vida = 340}, ["Gloom"] = {level = 18, cons = 15, vida = 1400}, ["Vileplume"] = {level = 50, cons = 50, vida = 3300}, ["Paras"] = {level = 1, cons = 5, vida = 850}, ["Parasect"] = {level = 50, cons = 35, vida = 3800}, ["Venonat"] = {level = 18, cons = 10, vida = 1500}, ["Venomoth"] = {level = 50, cons = 40, vida = 4000}, ["Diglett"] = {level = 5, cons = 10, vida = 900}, ["Dugtrio"] = {level = 35, cons = 50, vida = 3450}, ["Meowth"] = {level = 12, cons = 20, vida = 950}, ["Persian"] = {level = 25, cons = 50, vida = 4000}, ["Psyduck"] = {level = 12, cons = 50, vida = 2000}, ["Golduck"] = {level = 55, cons = 90, vida = 4000}, ["Mankey"] = {level = 10, cons = 15, vida = 800}, ["Primeape"] = {level = 45, cons = 70, vida = 2550}, ["Growlithe"] = {level = 20, cons = 25, vida = 1000}, ["Arcanine"] = {level = 80, cons = 80, vida = 6000}, ["Poliwag"] = {level = 5, cons = 5, vida = 400}, ["Poliwhirl"] = {level = 20, cons = 35, vida = 1800}, ["Poliwrath"] = {level = 65, cons = 80, vida = 4400}, ["Abra"] = {level = 15, cons = 15, vida = 800}, ["Kadabra"] = {level = 50, cons = 45, vida = 4000}, ["Alakazam"] = {level = 80, cons = 70, vida = 7000}, ["Machop"] = {level = 18, cons = 15, vida = 425}, ["Machoke"] = {level = 40, cons = 40, vida = 2850}, ["Machamp"] = {level = 65, cons = 90, vida = 6100}, ["Bellsprout"] = {level = 5, cons = 5, vida = 420}, ["Weepinbell"] = {level = 18, cons = 28, vida = 1100}, ["Victreebel"] = {level = 50, cons = 76, vida = 4000}, ["Tentacool"] = {level = 12, cons = 24, vida = 725}, ["Tentacruel"] = {level = 70, cons = 70, vida = 6000}, ["Geodude"] = {level = 15, cons = 15, vida = 800}, ["Graveler"] = {level = 40, cons = 45, vida = 3000}, ["Golem"] = {level = 70, cons = 90, vida = 6500}, ["Ponyta"] = {level = 20, cons = 18, vida = 800}, ["Rapidash"] = {level = 60, cons = 58, vida = 6000}, ["Slowpoke"] = {level = 12, cons = 20, vida = 1200}, ["Slowbro"] = {level = 45, cons = 68, vida = 3000}, ["Magnemite"] = {level = 15, cons = 15, vida = 450}, ["Magneton"] = {level = 40, cons = 55, vida = 2000}, ["Farfetchd"] = {level = 40, cons = 60, vida = 4000}, ["Doduo"] = {level = 12, cons = 15, vida = 600}, ["Dodrio"] = {level = 45, cons = 60, vida = 2650}, ["Seel"] = {level = 20, cons = 25, vida = 1200}, ["Dewgong"] = {level = 65, cons = 70, vida = 6000}, ["Grimer"] = {level = 12, cons = 10, vida = 600}, ["Muk"] = {level = 30, cons = 55, vida = 2400}, ["Shellder"] = {level = 5, cons = 23, vida = 800}, ["Cloyster"] = {level = 65, cons = 70, vida = 6000}, ["Gastly"] = {level = 18, cons = 15, vida = 800}, ["Haunter"] = {level = 45, cons = 45, vida = 3000}, ["Gengar"] = {level = 80, cons = 90, vida = 8000}, ["Onix"] = {level = 50, cons = 70, vida = 5300}, ["Drowzee"] = {level = 22, cons = 30, vida = 1200}, ["Hypno"] = {level = 50, cons = 70, vida = 4000}, ["Krabby"] = {level = 5, cons = 12, vida = 500}, ["Kingler"] = {level = 35, cons = 40, vida = 2750}, ["Voltorb"] = {level = 14, cons = 11, vida = 800}, ["Electrode"] = {level = 38, cons = 50, vida = 2000}, ["Exeggcute"] = {level = 8, cons = 15, vida = 500}, ["Exeggutor"] = {level = 48, cons = 50, vida = 3500}, ["Cubone"] = {level = 18, cons = 20, vida = 900}, ["Marowak"] = {level = 45, cons = 60, vida = 5000}, ["Hitmonlee"] = {level = 60, cons = 100, vida = 8000}, ["Hitmonchan"] = {level = 60, cons = 80, vida = 6000}, ["Lickitung"] = {level = 45, cons = 50, vida = 2350}, ["Koffing"] = {level = 15, cons = 20, vida = 700}, ["Weezing"] = {level = 30, cons = 61, vida = 1250}, ["Rhyhorn"] = {level = 35, cons = 25, vida = 2500}, ["Rhydon"] = {level = 65, cons = 80, vida = 6000}, ["Chansey"] = {level = 60, cons = 90, vida = 3500}, ["Tangela"] = {level = 40, cons = 70, vida = 4000}, ["Kangaskhan"] = {level = 60, cons = 110, vida = 8000}, ["Horsea"] = {level = 5, cons = 5, vida = 300}, ["Seadra"] = {level = 45, cons = 45, vida = 2500}, ["Goldeen"] = {level = 10, cons = 5, vida = 300}, ["Seaking"] = {level = 25, cons = 25, vida = 2000}, ["Staryu"] = {level = 15, cons = 18, vida = 1200}, ["Starmie"] = {level = 45, cons = 50, vida = 3000}, ["Mr Mime"] = {level = 60, cons = 60, vida = 4000}, ["Scyther"] = {level = 70, cons = 100, vida = 8000}, ["Jynx"] = {level = 65, cons = 90, vida = 7000}, ["Electabuzz"] = {level = 70, cons = 120, vida = 8000}, ["Magmar"] = {level = 70, cons = 120, vida = 8000}, ["Pinsir"] = {level = 42, cons = 50, vida = 3000}, ["Tauros"] = {level = 40, cons = 30, vida = 2400}, ["Magikarp"] = {level = 1, cons = 5, vida = 120}, ["Gyarados"] = {level = 75, cons = 110, vida = 8000}, ["Lapras"] = {level = 70, cons = 120, vida = 7000}, ["Ditto"] = {level = 40, cons = 30, vida = 1200}, ["Eevee"] = {level = 20, cons = 50, vida = 1500}, ["Vaporeon"] = {level = 55, cons = 60, vida = 3500}, ["Jolteon"] = {level = 55, cons = 60, vida = 4000}, ["Flareon"] = {level = 55, cons = 60, vida = 2010}, ["Porygon"] = {level = 45, cons = 44, vida = 4000}, ["Omanyte"] = {level = 20, cons = 25, vida = 2000}, ["Omastar"] = {level = 70, cons = 100, vida = 6000}, ["Kabuto"] = {level = 20, cons = 35, vida = 3000}, ["Kabutops"] = {level = 70, cons = 110, vida = 7500}, ["Aerodactyl"] = {level = 100, cons = 150, vida = 13000}, ["Snorlax"] = {level = 85, cons = 150, vida = 9000}, ["Articuno"] = {level = 120, cons = 200, vida = 200000}, ["Zapdos"] = {level = 120, cons = 200, vida = 200000}, ["Moltres"] = {level = 120, cons = 200, vida = 200000}, ["Dratini"] = {level = 10, cons = 35, vida = 1500}, ["Dragonair"] = {level = 70, cons = 70, vida = 6000}, ["Dragonite"] = {level = 100, cons = 160, vida = 17000}, ["Mewtwo"] = {level = 100, cons = 175, vida = 100000}, ["Mew"] = {level = 100, cons = 125, vida = 50000}, ["Elder Charizard"] = {level = 100, cons = 120, vida = 15000}, ["Crystal Onix"] = {level = 100, cons = 160, vida = 18000}, ["Shiny Abra"] = {level = 100, cons = 110, vida = 10000}, ["Shiny Arcanine"] = {level = 100, cons = 140, vida = 13000}, ["Shiny Alakazam"] = {level = 100, cons = 125, vida = 12000}, ["Shiny Beedrill"] = {level = 50, cons = 80, vida = 5000}, ["Shiny Blastoise"] = {level = 100, cons = 120, vida = 15000}, ["Shiny Butterfree"] = {level = 50, cons = 80, vida = 5000}, ["Shiny Dratini"] = {level = 50, cons = 75, vida = 5000}, ["Shiny Electabuzz"] = {level = 100, cons = 140, vida = 15000}, ["Shiny Electrode"] = {level = 70, cons = 80, vida = 5000}, ["Shiny Cubone"] = {level = 50, cons = 80, vida = 2500}, ["Shiny Dragonair"] = {level = 90, cons = 150, vida = 15000}, ["Shiny Dragonite"] = {level = 150, cons = 180, vida = 20000}, ["Shiny Farfetchd"] = {level = 60, cons = 100, vida = 10000}, ["Shiny Flareon"] = {level = 70, cons = 110, vida = 10000}, ["Shiny Gengar"] = {level = 100, cons = 115, vida = 13000}, ["Shiny Golbat"] = {level = 80, cons = 90, vida = 10000}, ["Shiny Growlithe"] = {level = 40, cons = 70, vida = 8000}, ["Shiny Grimer"] = {level = 30, cons = 50, vida = 5000}, ["Shiny Gyarados"] = {level = 120, cons = 150, vida = 16000}, ["Shiny Hitmonchan"] = {level = 100, cons = 90, vida = 9000}, ["Shiny Hitmonlee"] = {level = 100, cons = 100, vida = 14000}, ["Shiny Horsea"] = {level = 20, cons = 40, vida = 1000}, ["Shiny Hypno"] = {level = 70, cons = 80, vida = 10000}, ["Shiny Jolteon"] = {level = 70, cons = 80, vida = 10000}, ["Shiny Jynx"] = {level = 100, cons = 90, vida = 12000}, ["Shiny Krabby"] = {level = 20, cons = 30, vida = 1000}, ["Shiny Kingler"] = {level = 60, cons = 60, vida = 6000}, ["Shiny Magikarp"] = {level = 10, cons = 20, vida = 1000}, ["Shiny Marowak"] = {level = 70, cons = 70, vida = 9000}, ["Shiny Muk"] = {level = 60, cons = 60, vida = 8000}, ["Shiny Oddish"] = {level = 15, cons = 25, vida = 1200}, ["Shiny Paras"] = {level = 10, cons = 20, vida = 800}, ["Shiny Parasect"] = {level = 50, cons = 80, vida = 5000}, ["Shiny Pidgeot"] = {level = 85, cons = 90, vida = 9000}, ["Shiny Pinsir"] = {level = 60, cons = 80, vida = 7000}, ["Shiny Rattata"] = {level = 10, cons = 15, vida = 800}, ["Shiny Raticate"] = {level = 35, cons = 40, vida = 5000}, ["Shiny Raichu"] = {level = 70, cons = 80, vida = 9000}, ["Shiny Seadra"] = {level = 70, cons = 70, vida = 8000}, ["Shiny Scyther"] = {level = 100, cons = 110, vida = 10000}, ["Shiny Snorlax"] = {level = 120, cons = 160, vida = 25000}, ["Shiny Tangela"] = {level = 70, cons = 90, vida = 8000}, ["Shiny Tentacool"] = {level = 30, cons = 60, vida = 2000}, ["Shiny Tentacruel"] = {level = 100, cons = 110, vida = 11000}, ["Shiny Vaporeon"] = {level = 70, cons = 80, vida = 8000}, ["Shiny Venomoth"] = {level = 60, cons = 70, vida = 6500}, ["Shiny Venonat"] = {level = 30, cons = 40, vida = 3000}, ["Shiny Venusaur"] = {level = 100, cons = 160, vida = 15000}, ["Shiny Voltorb"] = {level = 30, cons = 40, vida = 2000}, ["Shiny Zubat"] = {level = 15, cons = 30, vida = 2000}, ["Ampharos"] = {level = 80, cons = 140, vida = 9000}, ["Ariados"] = {level = 40, cons = 140, vida = 3000}, ["Azumarill"] = {level = 50, cons = 140, vida = 3000}, ["Bayleef"] = {level = 40, cons = 140, vida = 6000}, ["Bellossom"] = {level = 50, cons = 140, vida = 3000}, ["Blissey"] = {level = 80, cons = 140, vida = 3000}, ["Celebi"] = {level = 300, cons = 140, vida = 3000}, ["Chikorita"] = {level = 20, cons = 140, vida = 3000}, ["Chinchou"] = {level = 20, cons = 140, vida = 3000}, ["Cleffa"] = {level = 5, cons = 140, vida = 3000}, ["Corsola"] = {level = 50, cons = 140, vida = 3000}, ["Crobat"] = {level = 50, cons = 140, vida = 5500}, ["Croconaw"] = {level = 40, cons = 140, vida = 6000}, ["Cyndaquil"] = {level = 20, cons = 140, vida = 3000}, ["Delibird"] = {level = 50, cons = 140, vida = 5000}, ["Donphan"] = {level = 50, cons = 140, vida = 6000}, ["Dunsparce"] = {level = 25, cons = 140, vida = 3000}, ["Elekid"] = {level = 20, cons = 140, vida = 3000}, ["Entei"] = {level = 300, cons = 140, vida = 3000}, ["Espeon"] = {level = 55, cons = 140, vida = 5500}, ["Feraligatr"] = {level = 80, cons = 140, vida = 9000}, ["Flaaffy"] = {level = 40, cons = 140, vida = 6000}, ["Forretress"] ={level = 35, cons = 140, vida = 3000}, ["Furret"] = {level = 35, cons = 140, vida = 5000}, ["Gallade"] = {level = 80, cons = 140, vida = 9000}, ["Girafarig"] = {level = 40, cons = 140, vida = 3000}, ["Gligar"] = {level = 25, cons = 140, vida = 3000}, ["Granbull"] = {level = 60, cons = 140, vida = 3000}, ["Heracross"] = {level = 35, cons = 140, vida = 3000}, ["Hitmontop"] = {level = 80, cons = 140, vida = 3000}, ["Ho oh"] = {level = 30, cons = 140, vida = 3000}, ["Hoothoot"] = {level = 10, cons = 140, vida = 2500}, ["Hoppip"] = {level = 30, cons = 140, vida = 3000}, ["Houndoom"] = {level = 30, cons = 140, vida = 3000}, ["Houndor"] = {level = 30, cons = 140, vida = 3000}, ["Igglybuff"] = {level = 30, cons = 140, vida = 3000}, ["Jumpluff"] = {level = 30, cons = 140, vida = 3000}, ["Kingdra"] = {level = 30, cons = 140, vida = 3000}, ["Lanturn"] = {level = 30, cons = 140, vida = 3000}, ["Larvitar"] = {level = 30, cons = 140, vida = 3000}, ["Ledian"] = {level = 30, cons = 140, vida = 3000}, ["Ledyba"] = {level = 30, cons = 140, vida = 3000}, ["Lugia"] = {level = 30, cons = 140, vida = 3000}, ["Magby"] = {level = 30, cons = 140, vida = 3000}, ["Magcarbo"] = {level = 30, cons = 140, vida = 3000}, ["Mantine"] = {level = 30, cons = 140, vida = 3000}, ["Mareep"] = {level = 20, cons = 140, vida = 3000}, ["Marill"] = {level = 30, cons = 140, vida = 3000}, ["Meganium"] ={level = 80, cons = 140, vida = 9000}, ["Miltank"] = {level = 30, cons = 140, vida = 5000}, ["Misdreavus"] = {level = 30, cons = 140, vida = 3000}, ["Murkrow"] = {level = 30, cons = 140, vida = 3000}, ["Natu"] = {level = 30, cons = 140, vida = 3000}, ["Noctowl"] = {level = 30, cons = 140, vida = 5000}, ["Octillery"] ={level = 30, cons = 140, vida = 3000}, ["Phanpy"] = {level = 30, cons = 140, vida = 3000}, ["Pichu"] = {level = 30, cons = 140, vida = 3000}, ["Piloswine"] ={level = 30, cons = 140, vida = 3000}, ["Pineco"] = {level = 30, cons = 140, vida = 3000}, ["Politoed"] ={level = 30, cons = 140, vida = 3000}, ["Porygon2"] ={level = 30, cons = 140, vida = 3000}, ["Pupitar"] = {level = 30, cons = 140, vida = 3000}, ["Quaqsire"] ={level = 30, cons = 140, vida = 3000}, ["Quilava"] ={level = 40, cons = 140, vida = 6000}, ["Qwilfish"] = {level = 30, cons = 140, vida = 3000}, ["Raikou"] ={level = 300, cons = 140, vida = 3000}, ["Remoraid"] = {level = 30, cons = 140, vida = 3000}, ["Scizor"] = {level = 100, cons = 140, vida = 3000}, ["Shuckle"] ={level = 30, cons = 140, vida = 3000}, ["Skarmory"] ={level = 30, cons = 140, vida = 3000}, ["Skiploom"] = {level = 30, cons = 140, vida = 3000}, ["Slowking"] = {level = 30, cons = 140, vida = 3000}, ["Slugma"] ={level = 30, cons = 140, vida = 3000}, ["Smeargle"] = {level = 30, cons = 140, vida = 3000}, ["Smoochum"] = {level = 30, cons = 140, vida = 3000}, ["Sneasel"] = {level = 30, cons = 140, vida = 3000}, ["Sentret"] = {level = 25, cons = 140, vida = 2500}, ["Snubbull"] = {level = 30, cons = 140, vida = 3000}, ["Spinarak"] ={level = 30, cons = 140, vida = 3000}, ["Stantler"] = {level = 30, cons = 140, vida = 3000}, ["Steelix"] = {level = 80, cons = 140, vida = 3000}, ["Sudowoodo"] ={level = 30, cons = 140, vida = 3000}, ["Suicune"] = {level = 30, cons = 140, vida = 3000}, ["Sunflora"] = {level = 30, cons = 140, vida = 3000}, ["Sunkern"] = {level = 30, cons = 140, vida = 3000}, ["Swinub"] ={level = 30, cons = 140, vida = 3000}, ["Teddiursa"] ={level = 30, cons = 140, vida = 3000}, ["Togepi"] = {level = 30, cons = 140, vida = 3000}, ["Togetic"] ={level = 30, cons = 140, vida = 3000}, ["Totodile"] = {level = 20, cons = 140, vida = 1000}, ["Typhlosion"] ={level = 80, cons = 140, vida = 9000}, ["Tyranitar"] = {level = 30, cons = 140, vida = 3000}, ["Tyrogue"] = {level = 30, cons = 140, vida = 3000}, ["Umbreon"] ={level = 30, cons = 140, vida = 3000}, ["Ursaring"] = {level = 30, cons = 140, vida = 3000}, ["Wobbuffet"] = {level = 30, cons = 140, vida = 3000}, ["Wooper"] = {level = 30, cons = 140, vida = 3000}, ["Xatu"] = {level = 30, cons = 140, vida = 3000}, ["Yanma"] = {level = 30, cons = 140, vida = 3000}, ["Giratina"] = {level = 1, cons = 250, vida = 15000}, ["Palkia"] = {level = 1, cons = 251, vida = 15000}, ["Rayquaza"] = {level = 1, cons = 251, vida = 15000}, ["Primal Dialga"] = {level = 1, cons = 251, vida = 15000}, ["Dialga"] = {level = 1, cons = 251, vida = 15000}, } local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'} local direction = {'4', '5', '6', '7'} -- ridefly local ridefly = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Moltres', 'Zapdos', 'Articuno', 'Mew', 'Mewtwo', 'Elder Charizard', 'Shiny Arcanine','Crystal Onix','Shiny Pidgeot','Shiny Venusaur','Crobat','Skarmory','Porygon2','Bayleef','Girafarig','Houndoom','Mareep','Meganium','Piloswine','Stantler','Steelix'} local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Shiny Arcanine','Crystal Onix','Shiny Venusaur','Bayleef','Mareep','Girafarig','Houndoom','Meganium','Piloswine','Stantler','Steelix'} local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo', 'Elder Charizard','Shiny Pidgeot','Crobat','Skarmory','Porygon2'} local flys = { [265] = {229, 2300, 350}, -- moltres [283] = {230, 2100, 350}, -- artic [199] = {224, 2600, 350}, -- zapdos [9] = {232, 2200, 350}, -- 1000 [34] = {233, 2200, 350},-- two [210] = {221, 1300, 350},-- nite [80] = {222, 900, 350}, -- geot [17] = {226, 800, 350}, -- fearow [10] = {227, 1100, 350}, -- aero [67] = {216, 1000, 350}, -- chari [97] = {316, 600, 350}, -- porygon [294] = {295, 600, 350}, -- elder zard [297] = {178, 550, 350}, -- shiny geot [544] = {636, 550, 350}, -- crobat [604] = {656, 550, 350}, -- skarmory [593] = {653, 550, 350}, -- porygon2 } local rides = { [93] = {128, 780, 350}, -- tauros [114] = {129, 800, 350}, -- kyuubi [220] = {130, 800, 350}, -- rapid [16] = {131, 410, 350}, -- ponyta [77] = {132, 400, 350}, -- rhyhorn [88] = {12, 900, 350}, -- arcan [493] = {492, 1000, 350}, -- shiny arca [496] = {494, 420, 350}, -- shiny vneu [292] = {293, 480, 350}, -- cristal onix [248] = {126, 450, 350}, -- onix [22] = {134, 390, 350}, -- venu [120] = {133, 750, 350}, -- dodrio [26] = {135, 420, 350}, -- doduo [337] = {336, 420, 350}, -- shiny arcanine [340] = {338,460,350}, -- shiny venu [536] = {635,460,350}, -- bayleef [558] = {641,460,350}, -- gyrafarig [566] = {643,460,350}, -- Houndoom [581] = {648,460,350}, -- Meganium [590] = {652,460,350}, -- Piloswine [613] = {658,460,350}, -- Stantler [579] = {646,460,350}, -- marrep [614] = {459,460,350}, -- steelix } local poke = {'Poliwag', 'Poliwhirl', 'Seaking', 'Dewgong', 'Blastoise', 'Tentacruel', 'Lapras', 'Gyarados', 'Omastar', 'Kabutops', 'Vaporeon', 'Staryu', 'Starmie', 'Goldeen', 'Seadra', 'Golduck', 'Squirtle', 'Wartortle', 'Tentacool', 'Snorlax', 'Poliwrath', 'Shiny Blastoise','Shiny Gyarados','Shiny Tentacool','Shiny Tentacruel','Shiny Vaporeon','Totodile','Croconaw','Feraligatr','Kingdra','Mantine','Azumarill','Marill','Octillery','Quaqsire','Wooper'} local flie = {'4820-4825','4644-4655','6627-6638','4632-4643'} local surfs = { ["Poliwag"] = {lookType=278, speed = 100}, ["Poliwhirl"] = {lookType=137, speed = 150}, ["Seaking"] = {lookType=269, speed = 140}, ["Dewgong"] = {lookType=183, speed = 200}, ["Blastoise"] = {lookType=184, speed = 220}, ["Tentacruel"] = {lookType=185, speed = 210}, ["Lapras"] = {lookType=186, speed = 250}, ["Gyarados"] = {lookType=187, speed = 250}, ["Omastar"] = {lookType=188, speed = 220}, ["Kabutops"] = {lookType=189, speed = 220}, ["Poliwrath"] = {lookType=190, speed = 210}, ["Vaporeon"] = {lookType=191, speed = 200}, ["Staryu"] = {lookType=266, speed = 110}, ["Starmie"] = {lookType=267, speed = 140}, ["Goldeen"] = {lookType=268, speed = 100}, ["Seadra"] = {lookType=270, speed = 140}, ["Golduck"] = {lookType=271, speed = 200}, ["Squirtle"] = {lookType=273, speed = 140}, ["Wartortle"] = {lookType=275, speed = 180}, ["Tentacool"] = {lookType=277, speed = 120}, ["Snorlax"] = {lookType=300, speed = 250}, ["Shiny Blastoise"] = {lookType=205, speed = 350}, ["Shiny Gyarados"] = {lookType = 225, speed = 380}, ["Shiny Tentacool"] = {lookType = 347, speed = 150}, ["Shiny Tentacruel"] = {lookType = 334, speed = 320}, ["Shiny Vaporeon"] = {lookType = 308, speed = 300}, ["Totodile"] = {lookType = 450, speed = 300}, ["Croconaw"] = {lookType = 451, speed = 300}, ["Kingdra"] = {lookType = 644, speed = 300}, ["Mantine"] = {lookType = 645, speed = 300}, ["Azumarill"] = {lookType = 634, speed = 300}, ["Marill"] = {lookType = 647, speed = 300}, ["Octillery"] = {lookType = 650, speed = 300}, ["Quaqsire"] = {lookType = 654, speed = 300}, ["Wooper"] = {lookType = 660, speed = 300}, ["Feraligatr"] = {lookType = 640, speed = 300}, } local bolas = {'2222', '2223', '2224'} local ultra = {'2220', '2221', '2227'} local etudao = 9506 local mind = 9507 local abili = 9509 -- ROCK SMASH local rocksmash = {'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Poliwrath', 'Crystal Onix', 'Shiny Cubone','Electabuzz','Shiny Marowak','Shiny Snorlax','Donphan','Miltank','Steelix'} local erockmash = 9502 local cdrocksmash = 0 -- ROCK SMASH -- DIG local digholes = {'468', '481', '483','383'} local dig = {'Raticate', 'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros','Arcanine', 'Snorlax', 'Shiny Arcanine', 'Shiny Cubone','Crystal Onix','Shiny Growlithe','Kingler','Shiny Kingler','Shiny Marowak','Steelix'} local edig = 9504 local cddig = 0 -- DIG -- CUT local cut = {'Charizard','Raticate', 'Bulbasaur', 'Ivysaur', 'Venusaur', 'Charmeleon', 'Sandshrew', 'Sandslash', 'Gloom', 'Vileplume', 'Paras', 'Parasect', 'Meowth', 'Persian', 'Bellsprout', 'Weepinbell', 'Victreebel', 'Farfetchd', 'Krabby', 'Kingler', 'Exeggutor', 'Cubone', 'Marowak', 'Tangela', 'Scyther', 'Pinsir','Shiny Beedrill','Shiny Farfetchd','Shiny Golbat','Shiny Kingler','Shiny Pinsir','Shiny Paras','Shiny Parasect','Shiny Scyther','Shiny Venusaur','Shiny Tangela','Ariados','Bayleef','Chikorita','Meganium'} local ecut = 9503 local cdcut = 0 -- CUT -- BLINK local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Shiny Abra', 'Shiny Alakazam',} local exhaustblink = 9501 local cdblink = 50 -- BLINK -- LIGHT local light = {'Abra', 'Kadabra', 'Alakazam', 'Magnemite', 'Magneton', 'Drowzee', 'Hypno', 'Voltorb', 'Electrode', 'Mrmime', 'Electabuzz', 'Jolteon', 'Porygon', 'Pikachu', 'Raichu', 'Shiny Electabuzz', 'Shiny Electrode','Shiny Alakazam','Shiny Hypno','Shiny Jolteon','Shiny Voltorb','Shiny Raichu','Ampharos'} local exhautStorage = 9500 local time = 600 local cd = 17 -- LIGHT function onUse(cid, item, frompos, item2, topos) local storageAbilidade = getPlayerStorageValue(cid, 7778) if getPlayerItemCount(cid, item2.itemid) >= 1 then return false end if exhaustion.get(cid, etudao) then doPlayerSendCancel(cid, "Please wait a few seconds before using order again!") return true end if isMonster(item2.uid) and item2.uid ~= getCreatureSummons(cid)[1] and item2.uid ~= cid then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "You need a pokemon to use order.") return true end local summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if isMonster(item2.uid) == TRUE and summonName == "Ditto" then if getPlayerLevel(cid) < pokes[summonName].level then doPlayerSendCancel(cid,"You cannot transform in a pokemon that have a level above yours") return true end if getCreatureName(item2.uid) == summonName then doPlayerSendCancel(cid,"You are already a Ditto") return true end local apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if apelido == nil then apelido = summonName end doCreatureSay(cid, ""..apelido..", transform in ".. getCreatureName(item2.uid) .."!", 1) local posDito = getCreaturePosition(getCreatureSummons(cid)[1]) doSendMagicEffect(posDito, 184) doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(item2.uid), 50000) return TRUE end if exhaustion.get(cid, mind) then doPlayerSendCancel(cid, "Your pokemon is too exhausted from the last control, this ability has 2 minutes cooldown.") return true end if isPlayer(getCreatureMaster(item2.uid)) then doPlayerSendCancel(cid, "You cant control the mind of someone's else pokemon.") return true end if not isInArray({"Alakazam","Haunter","Tentacruel", "Gengar", "Shiny Alakazam","Shiny Gengar","Shiny Tentacruel"}, summonName) then doPlayerSendCancel(cid, "This pokemon cant control mind.") return true end if getPlayerLevel(cid) < pokes[summonName].level then doPlayerSendCancel(cid, "Você não tem level para usar control mind neste pokemon") return true end exhaustion.set(cid, mind, 240) doCreatureSay(getCreatureSummons(cid)[1], "CONTROL MIND!", TALKTYPE_MONSTER) doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(item2.uid), 39) registerCreatureEvent(item2.uid, "Controled") doSendMagicEffect(getThingPos(item2.uid), 136) doSendMagicEffect(getThingPos(item2.uid), 134) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 133) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doConvinceCreature(cid, item2.uid) if getCreatureSpeed(item2.uid) == 0 then doChangeSpeed(item2.uid, 180) end doCreatureSay(cid, ""..summonName..", control mind!", 1) local cmed = item2.uid local cmname = summonName local cmpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if apelido == nil then apelido = cmname end setCreatureName(cid,""..cmname.." cm",apelido,'Its belongs to '..getCreatureName(cid)) local cmzao = getCreatureSummons(cid)[1] doTeleportThing(cmzao,cmpos,false) setPlayerStorageValue(cid, 888, 1) local function check(params) if isCreature(params.cid) then if getPlayerStorageValue(params.cid, 888) <= 0 then return true end if not isCreature(cmed) then local pkcmpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local item = getPlayerSlotItem(cid, 8) pokeNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.") apelido = getItemAttribute(item.uid, "apelido") if apelido == nil then apelido = pokeNome end setCreatureName(cid,pokeNome,apelido,'Its belongs to '..getCreatureName(cid)) local pk = getCreatureSummons(cid)[1] doTeleportThing(pk,pkcmpos,false) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) setPlayerStorageValue(cid, 888, 0) end if params.rod == 60 then local lifecmed = getCreatureMaxHealth(cmed) - getCreatureHealth(cmed) local poscmed = getThingPos(cmed) local cmeddir = getCreatureLookDir(cmed) local namecmed = getCreatureName(cmed) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doSummonCreature(""..namecmed.."_s", poscmed) if getCreatureSpeed(back) == 0 then doChangeSpeed(back, 180) end doCreatureSetLookDir(back, cmeddir) doCreatureAddHealth(back, -lifecmed) local item = getPlayerSlotItem(cid, 8) local mynewpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) pokeNome = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if apelido == nil then apelido = pokeNome end setCreatureName(cid,pokeNome,apelido,'Its belongs to '..getCreatureName(cid)) local pk = getCreatureSummons(cid)[1] doTeleportThing(pk,mynewpos,false) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") registerCreatureEvent(cid, "PlayerPokeDeath") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) setPlayerStorageValue(cid, 888, 0) else doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220) end end end for rod = 1, 60 do addEvent(check, rod*500, {cid = cid, rod = rod}) end return true end if item2.uid == cid then if getPlayerStorageValue(cid, 888) >= 1 then doPlayerSendCancel(cid, "You cant fly neither ride pokemons being controled.") return true end if #getCreatureSummons(cid) == 0 and storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then doPlayerSendCancel(cid, "You need a pokemon to use order.") return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if storageAbilidade <= 0 and getPlayerStorageValue(cid, 7778) <= 0 and not isInArray(ridefly, summonName) then doPlayerSendCancel(cid, "You can't ride this pokemon nor fly with it.") return true end if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end if getPlayerStorageValue(cid, 17001) <= 0 and storageAbilidade <= 0 and isInArray(ride, summonName) then local pokemon = rides[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType] if getCreatureSpeed(getCreatureSummons(cid)[1]) >= 1 then doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end local function ride(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.d then if getPlayerStorageValue(cid, abili) > 0 then return false; end doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon[2]) setPlayerStorageValue(cid, abili, 1) setPlayerStorageValue(cid, 17001, 1) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) else dirh = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid)) if dirh == NORTHWEST then if math.random(1,100) >= 51 then dirh = NORTH else dirh = WEST end elseif dirh == SOUTHWEST then if math.random(1,100) >= 51 then dirh = SOUTH else dirh = WEST end elseif dirh == SOUTHEAST then if math.random(1,100) >= 51 then dirh = SOUTH else dirh = EAST end elseif dirh == NORTHEAST then if math.random(1,100) >= 51 then dirh = NORTH else dirh = EAST end end local dirh = dirh if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) end end end end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doCreatureSay(cid, ""..summonName..", let me ride you!", 1) exhaustion.set(cid, etudao, 4) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distanc = 1 else distanc = 0 end local distance = distanc for i=1,12 do addEvent(ride, pokemon[3]*i, {cid = cid, d = distance}) addEvent(speed, ((pokemon[3]*12)+100), {cid = cid}) end addEvent(setPlayerStorageValue,5000,cid, abili, 0) return true end if getPlayerStorageValue(cid, 17001) >= 1 then setPlayerStorageValue(cid, 17001, 0) if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 400*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end local item = getPlayerSlotItem(cid, 8) doRemoveCondition(cid, CONDITION_OUTFIT) pokeNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.") summonName = getItemAttribute(item.uid, "apelido") if summonName == nil then summonName = pokeNome end doCreatureSay(cid, "" .. summonName..", let me get down!", 1) setCreatureName(cid,pokeNome,summonName,'Its belongs to '..getCreatureName(cid)) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end -- Fly Begin -- if getPlayerStorageValue(cid, 7778) == 4 then if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t stop flying at this place!") return true end if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then doPlayerSendCancel(cid, "You can\'t stop flying above the water!") return true end setPlayerStorageValue(cid, 7778, 0) if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 200*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end doRemoveCondition(cid, CONDITION_OUTFIT) local item = getPlayerSlotItem(cid, 8) --doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")) local varNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.") local varApelido = getItemAttribute(item.uid, "apelido") local varSpecial = getItemAttribute(item.uid, "special") if(varApelido == nil)then varApelido = varNome end doCreatureSay(cid, "" .. varApelido..", let me get down!", 1) setCreatureName(cid, varNome,varApelido ,varSpecial) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, summonName) then if storageAbilidade <= 0 then local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType] if not isVip(cid) then doPlayerSendTextMessage(cid, 22, "Voce Precisa Ser Vip Para fly.") return false end local function fly(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.dd then if getPlayerStorageValue(cid, abili) > 0 then return false; end setPlayerStorageValue(cid, abili, 1) doPlayerSendTextMessage(cid,27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower." ) setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 7778, 4) registerCreatureEvent(cid, "Flying") doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon[2]) doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) doRemoveCreature(getCreatureSummons(cid)[1]) else dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid)) if dir == NORTHWEST then if math.random(1,100) >= 51 then dir = NORTH else dir = WEST end elseif dir == SOUTHWEST then if math.random(1,100) >= 51 then dir = SOUTH else dir = WEST end elseif dir == SOUTHEAST then if math.random(1,100) >= 51 then dir = SOUTH else dir = EAST end elseif dir == NORTHEAST then if math.random(1,100) >= 51 then dir = NORTH else dir = EAST end end local dir = dir if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1])) end end end end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doCreatureSay(cid, ""..summonName..", lets fly!", 1) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distancc = 1 else distancc = 0 end local distancee = distancc for i=1,12 do addEvent(fly, pokemon[3]*i, {cid = cid, dd = distancee}) addEvent(speed, ((pokemon[3]*12)+100), {cid = cid}) end addEvent(setPlayerStorageValue,5000,cid, abili, 0) return true end return true end -- Fly End -- end -- Ride,Fly End -- -- ROCK SMASH if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "You need a pokemon to use rock smash.") return true end if not isInArray(rocksmash, summonName) then doPlayerSendCancel(cid, "This pokemon can't use rock smash.") return true else if exhaustion.get(cid, erocksmash) then doPlayerSendCancel(cid, "Please wait a few seconds before using rock smash again!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 100) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 118) doTransformItem(getTileItemById(topos, 1285).uid, 2257) exhaustion.set(cid, erocksmash, cdrocksmash) local function detrans(params) doTransformItem(getTileItemById(topos, 2257).uid, 1285) end addEvent(detrans, 15*1000, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "ROCK SMASH!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else local badire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if badire == NORTHWEST then if math.random(1,100) >= 51 then badire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = NORTH else badire = WEST end else badire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = WEST else badire = NORTH end end elseif badire == SOUTHWEST then if math.random(1,100) >= 51 then badire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = SOUTH else badire = WEST end else badire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = WEST else badire = SOUTH end end elseif badire == SOUTHEAST then if math.random(1,100) >= 51 then badire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = SOUTH else badire = EAST end else badire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = EAST else badire = SOUTH end end elseif badire == NORTHEAST then if math.random(1,100) >= 51 then badire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = NORTH else badire = EAST end else badire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then badire = EAST else badire = NORTH end end end local badire = badire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", smash this rock!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- ROCK SMASH END -- Surf Begin -- local brd = bordas[item2.itemid] if brd ~= nil then if getPlayerStorageValue(cid, 7778) == 3 then coordenadas = bordas[item2.itemid] oldPos = getThingPos(item2.uid) newPos = { x = oldPos.x - coordenadas.x, y = oldPos.y - coordenadas.y, z = oldPos.z } if (getDistanceBetween(getThingPos(cid), getThingPos(item2.uid)) > 1 ) or (not getClosestFreeTile(cid,oldPos)) then return doPlayerSendCancel(cid,"You cannot stop surfing here") end if getPlayerGroupId(cid) ~= 6 then setPlayerGroupId(cid, 8) end doCreatureSetLookDir(cid, 2) doChangeSpeed(cid, -(getCreatureSpeed(cid))) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then doChangeSpeed(cid, 200*getPlayerGroupId(cid)) else doChangeSpeed(cid, 250) end doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 7778, 0) setPlayerStorageValue(cid, 17001, 0) local item = getPlayerSlotItem(cid, 8) --doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")) local varNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.") local varApelido = getItemAttribute(item.uid, "apelido") local varSpecial = getItemAttribute(item.uid, "special") moveAgua(cid,item2,true) if(varApelido == nil)then varApelido = varNome end doCreatureSay(cid, "" .. varApelido..", let me get out!", 1) setCreatureName(cid, varNome, varApelido,varSpecial) local pk = getCreatureSummons(cid)[1] registerCreatureEvent(cid, "PlayerPokeDeath") registerCreatureEvent(pk, "DiePoke") registerCreatureEvent(pk, "Exp") setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209))) doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209))) return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid,"You need a Pokemon for this") end local function doVoltaSpeed(speedPoke,velocidade) if getCreatureName(speedPoke) ~= nil then doChangeSpeed(speedPoke, velocidade) end end if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(poke, summonName) then if storageAbilidade <= 0 then local pokemon = surfs[summonName] if not isVip(cid) then doPlayerSendTextMessage(cid, 22, "Voce Precisa Ser Vip Para Surf.") return TRUE end local function surf(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then pokeSpeed = getCreatureSummons(params.cid)[1] posicaoAid = getPosByDir(getCreaturePosition(pokeSpeed), getCreatureLookDirection(pokeSpeed), -1) chaoAid = getTileThingByPos(posicaoAid) if chaoAid ~= nil and getPlayerStorageValue(cid, 7800) <= 0 then doItemSetAttribute(chaoAid.uid,"aid",9000) doChangeSpeed(pokeSpeed, -getCreatureSpeed(pokeSpeed)) setPlayerStorageValue(cid, 7800, params.dd) addEvent(doItemSetAttribute, 6000, chaoAid.uid,"aid",9000) addEvent(doVoltaSpeed, 6000, pokeSpeed,getCreatureBaseSpeed(pokeSpeed)) addEvent(setPlayerStorageValue,6000,params.cid,7800,0) end else local edire = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), params.topos) doPlayerSendCancel(params.cid,getThingFromPos(params.topos).itemid) if edire >= 0 and edire <= 7 then if edire == NORTHWEST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = NORTH end end elseif edire == SOUTHWEST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = SOUTH end end elseif edire == SOUTHEAST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = SOUTH end end elseif edire == NORTHEAST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = NORTH end end end local dir = edire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end end local function speed(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doChangeSpeed(params.cid, getCreatureBaseSpeed(params.cid)) end end end end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doCreatureSay(cid, ""..summonName..", lets Surf!", 1) exhaustion.set(cid, etudao, 4) if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then distancc = 1 else distancc = 0 end local distancee = distancc --for i=1,12 do -- addEvent(surf, 150*i, {cid = cid, dd = item2.uid, topos = topos}) -- addEvent(speed, ((150*12)+100), {cid = cid}) --end setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1])) setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1])) registerCreatureEvent(cid, "Surfing") doChangeSpeed(cid, -250) doChangeSpeed(cid, pokemon.speed) exhaustion.set(cid, etudao, 4) doSetCreatureOutfit(cid, {lookType = pokemon.lookType, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 7778, 3) setPlayerStorageValue(cid, 17001, 3) moveAgua(cid,item2,false) return true end return true end end -- Surf End -- -- CUT if item2.itemid == 2767 and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "You need a pokemon to use cut.") return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if not isInArray(cut, summonName) then doPlayerSendCancel(cid, "This pokemon can't use cut.") return true end if isInArray(cut, summonName) then if exhaustion.get(cid, ecut) then doPlayerSendCancel(cid, "Please wait a few seconds before using cut again!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 101) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 141) doTransformItem(getTileItemById(topos, 2767).uid, 6216) exhaustion.set(cid, ecut, cdcut) local function detrans(params) doTransformItem(getTileItemById(topos, 6216).uid, 2767) end addEvent(detrans, 15*1000, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "CUT!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else adire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if adire == NORTHWEST then if math.random(1,100) >= 51 then adire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = NORTH else adire = WEST end else adire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = WEST else adire = NORTH end end elseif adire == SOUTHWEST then if math.random(1,100) >= 51 then adire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = SOUTH else adire = WEST end else adire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = WEST else adire = SOUTH end end elseif adire == SOUTHEAST then if math.random(1,100) >= 51 then adire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = SOUTH else adire = EAST end else adire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = EAST else adire = SOUTH end end elseif adire == NORTHEAST then if math.random(1,100) >= 51 then adire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = NORTH else adire = EAST end else adire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then adire = EAST else adire = NORTH end end end local adire = adire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doPlayerSay(cid, ""..summonName..", cut this bush!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- CUT END -- DIG if isInArray(digholes, item2.itemid) and getPlayerStorageValue(cid, 63215) <= 0 then if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "You need a pokemon to use dig.") return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if not isInArray(dig, summonName) then doPlayerSendCancel(cid, "This pokemon can't use dig.") return true end if isInArray(dig, summonName) then if exhaustion.get(cid, edig) then doPlayerSendCancel(cid, "Please wait a few seconds before using dig again!") return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then return true end doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) local function tocut(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then return true end if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 99) >= 1 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then doSendMagicEffect(topos, 3) setPlayerStorageValue(getCreatureSummons(params.cid)[1], 99, 1) doTransformItem(getTileItemById(topos, item2.itemid).uid, item2.itemid+1) exhaustion.set(cid, edig, cddig) local function detrans(params) doTransformItem(getTileItemById(topos, item2.itemid+1).uid, item2.itemid) if isCreature(getCreatureSummons(params.ciddd)[1]) then setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 99, 0) end end addEvent(detrans, 5500, {ciddd = cid}) doCreatureSay(getCreatureSummons(cid)[1], "DIG!", TALKTYPE_MONSTER) local function nmr(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) end end end end addEvent(nmr, 400, {cid = cid}) else local cdire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos) if cdire == NORTHWEST then if math.random(1,100) >= 51 then cdire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = NORTH else cdire = WEST end else cdire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = WEST else cdire = NORTH end end elseif cdire == SOUTHWEST then if math.random(1,100) >= 51 then cdire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = SOUTH else cdire = WEST end else cdire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = WEST else cdire = SOUTH end end elseif cdire == SOUTHEAST then if math.random(1,100) >= 51 then cdire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = SOUTH else cdire = EAST end else cdire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = EAST else cdire = SOUTH end end elseif cdire == NORTHEAST then if math.random(1,100) >= 51 then cdire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = NORTH else cdire = EAST end else cdire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then cdire = EAST else cdire = NORTH end end end local cdire = cdire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doPlayerSay(cid, ""..summonName..", open this hole!", 1) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) temk = 1000 -(2.3 * speed) addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos}) end return true end end -- DIG END -- BLINK if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 then doPlayerSendCancel(cid, "You need a pokemon to use order.") return true end if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end if isInArray(blink, summonName) then if exhaustion.get(cid, exhaustblink) then if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.") return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doPlayerSay(cid, ""..summonName..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) return true end local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if edire >= 0 and edire <= 7 then if edire == NORTHWEST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = NORTH end end elseif edire == SOUTHWEST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = WEST end else edire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = WEST else edire = SOUTH end end elseif edire == SOUTHEAST then if math.random(1,100) >= 51 then edire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = SOUTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = SOUTH end end elseif edire == NORTHEAST then if math.random(1,100) >= 51 then edire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = NORTH else edire = EAST end else edire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then edire = EAST else edire = NORTH end end end local edire = edire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SumPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SumPos.x)) local travely = math.abs((topos.y) - (SumPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk * travel, {cid = cid}) exhaustion.set(cid, etudao, travel) else if not isWalkable(topos, cid, 0, 0) then doPlayerSendCancel(cid, "Your pokemon cannot teleport there.") return true end if getItemName(item2.uid) == "shallow water" then doPlayerSendCancel(cid, "Your pokemon cannot teleport there.") return true end doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211) doTeleportThing(getCreatureSummons(cid)[1], topos, false) doSendMagicEffect(topos, 134) doPlayerSay(cid, ""..summonName..", teleport there!", 1) doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER) exhaustion.set(cid, exhaustblink, cdblink) return true end return true end end --- BLINK END -- LIGHT -- if isCreature(item2.uid) and getCreatureMaster(item2.uid) == cid and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 and item2.uid ~= cid then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end if summonName == "Ditto" and isMonster(item2.uid) == TRUE then doCreatureSay(cid, "Ditto, reverse transformation!", 1) local posDito = getCreaturePosition(getCreatureSummons(cid)[1]) doSendMagicEffect(posDito, 184) doSetCreatureOutfit(getCreatureSummons(cid)[1], {lookType = 28, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1) return TRUE elseif not isInArray(light, summonName) then doPlayerSendCancel(cid, "This pokemon can't use flash.") return TRUE end if isInArray(light, summonName) then if not isMonster(item2.uid) and getCreatureMaster(item2.uid) ~= cid then return doPlayerSendCancel(cid,"Please use flash on your pokemon.") end if exhaustion.get(cid, exhautStorage) then doPlayerSendCancel(cid,"Please wait a few seconds before using flash again!") return true end exhaustion.set(cid, exhautStorage, cd) doPlayerSay(cid, ""..summonName..", use flash!", 1) doCreatureSay(getCreatureSummons(cid)[1], "FLASH!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 28) doSetCreatureLight(getCreatureSummons(cid)[1], 8, 215, time*1000) return true end end -- LIGHT END -- -- surf Begin -- -- surf end -- if #getCreatureSummons(cid) == 0 then return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.") return true end if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.") return true end if getItemName(item2.uid) == "shallow water" then doPlayerSendCancel(cid, "Your pokemon cannot move there.") return true end summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido") if summonName == nil then summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.") end doPlayerSay(cid, ""..summonName..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) local bspd = getCreatureBaseSpeed(params.summons) doChangeSpeed(summons, bspd) end addEvent(speeed, 600, {summons = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) setPlayerStorageValue(cid, etudao, -1) return true end local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if dire >= 0 and dire <= 7 then if dire == NORTHWEST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = NORTH end end elseif dire == SOUTHWEST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = SOUTH end end elseif dire == SOUTHEAST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = SOUTH end end elseif dire == NORTHEAST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = NORTH end end end local dire = dire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then setPlayerStorageValue(cid, etudao, -1) if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 3000, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SummonPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SummonPos.x)) local travely = math.abs((topos.y) - (SummonPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel-1 do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk*travel, {cid = cid}) exhaustion.set(cid, etudao, travel) return true endhelp ai povo e ajudem nesse aqui tbm
http://www.xtibia.com/forum/topic/172913-erro-no-goback/page__fromsearch__1