Ir para conteúdo
  • 0

(Ajuda) PDA


BrunoMaciel

Pergunta

Bom estou precisando de uma ajuda e mais um duvida em si.

 

Primeiro queria saber onde que mudo o premio da golden arena??

 

Segundo queria saber onde que fica o ID da arvore no sistema de headbutt sistem??

 

OBS: o headbutt system queria sabe onde que posso troca a ID da arvore do sistema.

 

OBS 2: o server e PDA 

 

Quem puder da uma ajuda!!

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
12 horas atrás, BrunoMaciel disse:
Versão do Servidor: TFS - 0.3.4
Tipo de Script: actions
Código:
  Ocultar conteúdo



 

Bom estou precisando de uma ajuda e mais um duvida em si.

 

Primeiro queria saber onde que mudo o premio da golden arena??

 

Segundo queria saber onde que fica o ID da arvore no sistema de headbutt sistem??

 

OBS: o headbutt system queria sabe onde que posso troca a ID da arvore do sistema.

 

OBS 2: o server e PDA 

 

Quem puder da uma ajuda!!

Id  aqui é 2707

image.png.d645a512f10d06fe68cfab184e974fd4.png

 

 

Esta no projeto 1.9 pokextibiano tbm?

 

Link para o comentário
Compartilhar em outros sites

  • 0
11 minutos atrás, mister17 disse:

Id  aqui é 2707

image.png.d645a512f10d06fe68cfab184e974fd4.png

 

 

Esta no projeto 1.9 pokextibiano tbm?

 

E um projeto PDA que ja tenho algum tempo ja mais eu queria sabe da script do headbutt onde que eu posso muda ou encontra a ID da arvore na script onde que fica eu queria muda de arvore do headbutt porem nao sei na script onde muda de ID nao sei a linha que fica a ID 

Link para o comentário
Compartilhar em outros sites

  • 0
Agora, BrunoMaciel disse:

E um projeto PDA que ja tenho algum tempo ja mais eu queria sabe da script do headbutt onde que eu posso muda ou encontra a ID da arvore na script onde que fica eu queria muda de arvore do headbutt porem nao sei na script onde muda de ID nao sei a linha que fica a ID 

Entendi, tem aquele problema dependendo da versão é aquela arvore escura

Link para o comentário
Compartilhar em outros sites

  • 0
53 minutos atrás, mister17 disse:

Entendi, tem aquele problema dependendo da versão é aquela arvore escura

Bom meu sistema tava funcionando porem mudei de arvore agora quero troca de arvore no sistema !!

Link para o comentário
Compartilhar em outros sites

  • 0
43 minutos atrás, Kal El disse:

em actions/order, procura por headbut..

o id é: 12591, so mudar pra outro

Valeuu mano ^^

 

Sabe como resolver esse BUG?

 

BUG

Spoiler

[10/01/2020 14:42:55] [Error - Action Interface] 
[10/01/2020 14:42:55] In a timer event called from: 
[10/01/2020 14:42:55] data/actions/scripts/order.lua:onUse
[10/01/2020 14:42:55] Description: 
[10/01/2020 14:42:55] data/lib/order.lua:248: bad argument #1 to 'random' (interval is empty)
[10/01/2020 14:42:55] stack traceback:
[10/01/2020 14:42:55]     [C]: in function 'random'
[10/01/2020 14:42:55]     data/lib/order.lua:248: in function <data/lib/order.lua:206>

 

SCRIPT Actions(Order)

Spoiler

local skills = specialabilities
local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}
local storages = {17000, 63215, 17001, 13008, 5700}   --alterado v1.9 \/
local unfix = {x = 1, y = 1, z = 1}

local txt = {
["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},
["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},
["move"] = {"move!", "move there!", "go there!", "walk there!"},
["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},
["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},
["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},
["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},
["fly"] = {"let's fly!", "let me get on you!"} ,
["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},
["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, 
["levitate_fly"] = {"let's levitate!", "let me get on you!", "let's scary someone!"},  --alterado v1.8
}

function onUse(cid, item, frompos, item2, topos)
    local checkpos = topos
    checkpos.stackpos = 0
    
    if getPlayerStorageValue(cid, 75846) >= 1 then return true end --alterado v1.9

    if getTileThingByPos(checkpos).uid <= 0 then return true end

--------SKETCH---------------
  local lockedpokes = {"Mew", "Mewtwo", "Unown Legion", "Entei", "Raikou", "Suicune", "Zapdos", "Moltres", "Articuno", "Rocket Team", "Unown", "Lugia", "Celebi", "Ho-oh", "Mew_", "Mewtwo_"}
if isPlayer(cid) and #getCreatureSummons(cid) > 0 and getCreatureName(getCreatureSummons(cid)[1]) == "Smeargle" and getPlayerStorageValue(getCreatureSummons(cid)[1], 18554) > 0 then
  if isMonster(item2.uid) and isInArray(lockedpokes, getCreatureName(item2.uid)) then
    doPlayerSendTextMessage(cid, 20, "You can't copy this move.")
    return true
    end
  local lockedcds = {"Divine Punishment", "Unown Rush", "Unown Help", "Mysterious Power", "Power Wave", "Shredder Team", "Double Team", "Team Slice", "Ancient Fury", "Camouflage", "Future Sight", "Acid Armor", "Rollout", "Flame Wheel", "Elemental Hands", "Super Vines", "ExplodeAll", "Aerial Ace", "Stampage", "Iron Defense", "Minimize", "Team Claw", ""}
  for x=1, 8 do
    table.insert(lockedcds, "Sketch "..x)
    end
  local canShiny = true
  local smeargle = getCreatureSummons(cid)[1]
  local tocopy = item2.uid
  local selfball = getPlayerSlotItem(cid, 8).uid
  if (isShinyName(getCreatureName(item2.uid)) and canShiny) or not isShinyName(getCreatureName(item2.uid)) then
    if getPlayerStorageValue(smeargle, 18554) then
for x=1, 8 do
if getPlayerStorageValue(smeargle, 18554) == x and movestable[getCreatureName(tocopy)] and movestable[getCreatureName(tocopy)]["move"..(x)] and not isInArray(lockedcds, movestable[getCreatureName(tocopy)]["move"..(x)].name) then
if not smeargleHaveSpell(cid, movestable[getCreatureName(tocopy)]["move"..(x)].name) then
doItemSetAttribute(selfball, "skt"..(x), getCreatureName(tocopy))        
else
doPlayerSendTextMessage(cid, 20, "You smeargle already have this move.")
end
end
end
     setPlayerStorageValue(smeargle, 18554, -1) 
    end
    doUpdateMoves(cid)
    return true
  else
    doPlayerSendTextMessage(cid, 20, "You can't copy moves of shinyes pokemons.")
  end
  end

--------END FLY/RIDE --------
if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then

    if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then
        doPlayerSendCancel(cid, "You can\'t stop flying at this height!")
        return true
    end

    local item = getPlayerSlotItem(cid, ?
    local pokemon = getItemAttribute(item.uid, "poke")
    local x = pokes[pokemon]

        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

    doSummonMonster(cid, pokemon)

    local pk = getCreatureSummons(cid)[1]

        if not isCreature(pk) then
            pk = doCreateMonster(pokemon, backupPos)
            if not isCreature(pk) then
                doPlayerSendCancel(cid, "You can't stop flying/riding here.")
            return true
            end
            doConvinceCreature(cid, pk)
        end
                
         local pb = getPlayerSlotItem(cid, 8).uid
    local flyAdd = flysAddon[getItemAttribute (pb, "addon")]
    local rideAdd = ridesAddon[getItemAttribute (pb, "addon")]
    
    if flyAdd then
        if getItemAttribute(pb, "addon") > 1 then
            doSetCreatureOutfit(pk, {lookType = getItemAttribute (pb, "addon")}, -1)
        end
    elseif rideAdd then
        if getItemAttribute(pb, "addon") > 1 then
            doSetCreatureOutfit(pk, {lookType = getItemAttribute (pb, "addon")}, -1)
        end
    end
          
    doTeleportThing(pk, getThingPos(cid), false)
    doCreatureSetLookDir(pk, getCreatureLookDir(cid))

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

    doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)
    
    doRegainSpeed(cid)
    
    doRemoveCondition(cid, CONDITION_OUTFIT)
    setPlayerStorageValue(cid, 17000, -1)
    setPlayerStorageValue(cid, 17001, -1)
    
    if useOTClient then
       doUpdateMoves(cid)
       doPlayerSendCancel(cid, '12//,show') --alterado aki
    end

return true
end
-----------------------------
local player = getRecorderPlayer(topos)                        --alterado v1.8 \/
-------- DUEL SYSTEM ------------------------
if isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) <= -1 and getPlayerStorageValue(player, 52480) <= -1 then  
if getPlayerStorageValue(cid, 52480) <= -1 or (getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1) then                  
---
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
if #getCreatureSummons(cid) < 1 then
return doPlayerSendTextMessage(cid, 20, "You need a pokemon to invit someone to duel!")
end
--- 
if getPlayerStorageValue(cid, 52480) <= -1 then
   doPlayerSetVocation(cid, 7) 
   openChannelDialog(cid)   
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(cid, 6598754, 5)           
   setPlayerStorageValue(cid, 52482, getCreatureName(cid)..",")                      
   setPlayerStorageValue(cid, 52483, getCreatureName(player)..",") 
   doCreatureSetSkullType(cid, 2)
   doSendAnimatedText(getThingPosWithDebug(cid), "FIRST TEAM", 215)
   return true
elseif getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1 then 
   local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",")
   local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",")
   
   if (#t1 >= getPlayerStorageValue(cid, 52480) and #t2 >= getPlayerStorageValue(cid, 52480)) or (isInArray(t1, getCreatureName(player)) or isInArray(t2, getCreatureName(player))) then 
   return true 
   end
   
   local sto2, sto3, name = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483), getCreatureName(player)
   if getPlayerStorageValue(cid, 52480) == 2 then
      setPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversario 
      doSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)  
   elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 < 3 then
      setPlayerStorageValue(cid, 52482, sto2.. name..",") --time aliado
      doSendAnimatedText(getThingPosWithDebug(player), "FIRST TEAM", 215)
   elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 >= 3 then
      setPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversario 
      doSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)  
   end  
     
   setPlayerStorageValue(player, 52481, getPlayerStorageValue(cid, 52481))
   setPlayerStorageValue(player, 52485, getCreatureName(cid))
   
   local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481) 
   
   local str = {}
   table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n")
   table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.")     --alterado aki

   doPlayerSendTextMessage(player, 20, table.concat(str))
   return true
end
end
---   
elseif isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) == 5 and getPlayerStorageValue(player, 52481) >= 1 then

local t1 = string.explode(getPlayerStorageValue(player, 52482), ",")
local t2 = string.explode(getPlayerStorageValue(player, 52483), ",")
---
if not isInArray(t1, getCreatureName(cid)) and not isInArray(t2, getCreatureName(cid)) then
return true
end
---
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
local pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true) 
if #pokes < getPlayerStorageValue(player, 52481) then
return doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!")
end
if getPlayerStorageValue(cid, 52482) ~= -1 then
return doPlayerSendTextMessage(cid, 20, "You already invit someone to duel!")
end 
if #getCreatureSummons(cid) < 1 then
return doPlayerSendTextMessage(cid, 20, "You need a pokemon to accept a duel!")
end
---  
   setPlayerStorageValue(cid, 52480, getPlayerStorageValue(player, 52480))
   setPlayerStorageValue(player, 52484, getPlayerStorageValue(player, 52484)-1)
   if getPlayerStorageValue(player, 52484) == 0 then   
      for a = 1, #t1 do
          local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a])
          if not isCreature(pid) or getPlayerStorageValue(pid, 52480) <= -1 then
             removeFromTableDuel(player, t1[a])
          else
             doCreatureSetSkullType(pid, 1)
          end
          if not isCreature(sid) or getPlayerStorageValue(sid, 52480) <= -1 then
             removeFromTableDuel(player, t2[a])
          else
             doCreatureSetSkullType(sid, 1)
          end
      end
      beginDuel(player, 6)
   else
      doCreatureSetSkullType(cid, 2)
   end
   doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)
   return true
   
elseif isPlayer(player) and player == cid and getPlayerStorageValue(player, 52480) >= 1 then
   doEndDuel(cid, true)
   return true
end
------------------------------------------------------------------------------------

if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end
if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end
markLP(getCreatureSummons(cid)[1], -1)

local marked = getMarkedPos(getCreatureSummons(cid)[1])    --alterado v1.8 \/

if type(marked) == "table" and marked.x == topos.x and marked.y == topos.y then
return true
end

local thisball = getPlayerSlotItem(cid, ?
local mysum = getCreatureSummons(cid)[1]
local sid = mysum or cid
local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1

    markPos(mysum, topos)
    markOwnerPos(mysum, getThingPos(cid))

-------- ROCK SMASH ---------
if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then

    doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1)
    addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------

-------- HEADBUTT -----------
if item2.itemid == 2705 and getPokemonLevel(mysum) >= 15 then  --alterado v1.6
                  
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)
addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------

-------- CUT ----------------
if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then

    doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1)
    addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------

-------- TRANSFORM ----------                                                                                  --alterado v1.7
if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then
    if item2.uid == mysum then                                                                 --edited
        if isTransformed(mysum) then
            deTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))
            markPos(mysum, unfix)
            doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)
            if useKpdoDlls then
               doUpdateMoves(cid) --alterado v1.9
            end
        return true
        end
    doPlayerSendCancel(cid, "Your ditto is not transformed.")
    markPos(mysum, unfix)
    return true
    end

    if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then    --edited transform for shiny ditto
        doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")
        markPos(mysum, unfix)
    return true
    end

    if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then
        doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")
        markPos(mysum, unfix)
    return true
    end

    local cd = getCD(thisball.uid, "trans", 30)

    if cd > 0 then
    doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")
    return true
    end

    if getHappiness(mysum) <= 50 then
        doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)
        markPos(mysum, unfix)
    return true
    end

    local turn = getItemAttribute(thisball.uid, "transTurn")

        if not turn or turn > 10 then
            doItemSetAttribute(thisball.uid, "transTurn", 0)
        else
            doItemSetAttribute(thisball.uid, "transTurn",  turn + 1)
        end

    local time = 140 + 2 * getPokemonLevel(mysum)

    turn = getItemAttribute(thisball.uid, "transTurn")

    markPos(mysum, unfix)
    setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))
    doSetCreatureOutfit(mysum, {lookType = getPokemonXMLOutfit(getCreatureName(item2.uid))}, -1)  --alterado v1.8
    addEvent(deTransform, time * 1000, mysum, turn)
    doSendMagicEffect(getThingPos(mysum), 184)
    doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)
    local name = getCreatureName(item2.uid)
    setCD(thisball.uid, "trans", 30)
    doItemSetAttribute(thisball.uid, "transBegin", os.clock())
    doSetItemAttribute(thisball.uid, "transLeft", time)
    doSetItemAttribute(thisball.uid, "transOutfit", getPokemonXMLOutfit(getCreatureName(item2.uid)))  --alterado v1.8
    doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))
    doFaceCreature(mysum, getThingPos(item2.uid))
    doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)
    
    if useKpdoDlls then
        doUpdateMoves(cid)  --alterado v1.6
    end

if dittoCopiesStatusToo then
   setPlayerStorageValue(mysum, 1001, dittoBonus*getOffense(item2.uid))
   setPlayerStorageValue(mysum, 1002, dittoBonus*getDefense(item2.uid))
   setPlayerStorageValue(mysum, 1003, getSpeed(item2.uid))
   setPlayerStorageValue(mysum, 1004, dittoBonus*getVitality(item2.uid))
   setPlayerStorageValue(mysum, 1005, dittoBonus*getSpecialAttack(item2.uid))
   ------------------
   local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
   local vit = (getVitality(mysum) * getMasterLevel(mysum)) / 100
   setCreatureMaxHealth(mysum, ( vit * HPperVITsummon ))   --alterado v1.6
   doCreatureAddHealth(mysum, pct * vit * HPperVITsummon)
end

return true
end
-----------------------------

-------- LIGHT --------------
if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then

    markPos(mysum, unfix)

    if not isInArray(skills["light"], getPokemonName(item2.uid)) then
    doPlayerSendCancel(cid, "Your pokemon can't use flash.")
    return true
    end
    
    local cd = getCD(thisball.uid, "light", 30)

    if cd > 0 then
    doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")
    return true
    end

    doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)
    doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)
    doSendMagicEffect(getThingPos(mysum), 28)

    local size = 5
        size = size + math.floor(getSpecialAttack(mysum) / 60)
        size = size + math.ceil(getPokemonLevel(mysum) / 60)

        if size > 11 then
            size = 11
        end

    doSetCreatureLight(mysum, size, 215, 600*1000)

    local delay = math.floor(30 - getPokemonLevel(mysum) / 4)
        if delay > 0 then
        setCD(thisball.uid, "light", delay)
        end

return true
end  
-----------------------------


-------- DIG ----------------
if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then

    doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)
    addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------


-------- BLINK / MOVE -------
if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then

    local cd = getCD(thisball.uid, "blink", 30)
    
    if getPlayerStorageValue(mysum, 2365487) ==  1 then
    return true                  --alterado v1.4
    end
    
    if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then

        doPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")")
        doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
        addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)

    return true
    end

    local CD = isShinyName(getCreatureName(mysum)) and 20 or 30   --edited blink

    markPos(mysum, topos)
    markOwnerPos(mysum, getThingPos(cid))
    setCD(thisball.uid, "blink", CD)
    doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)
    doSendDistanceShoot(getThingPos(mysum), topos, 39)
    doSendMagicEffect(getThingPos(mysum), 211)
    doTeleportThing(mysum, topos, false)
    doSendMagicEffect(topos, 134)
    doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)
    goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid)))  --edited blink

return true
end
-----------------------------  


----START FLY or RIDE or LEVITATE ---------
if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then
                                                                                                           --alterado v1.8 >>
    if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then 
       return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!")   --alterado v1.7
    end
    
    if #getCreatureSummons(cid) > 1 then         --alterado v1.9
       return doPlayerSendCancel(cid, "You can't do it right now!")
    end
    
    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
    end   

    if getPlayerStorageValue(cid, 5700) >= 1 then   --alterado v1.9
       doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") 
       return true
    end                                                                 
    
    if getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then       
       return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")                          --alterado v1.8
    end
    
    local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
    doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)
                                                       
    if isInArray(skills["fly"], getPokemonName(mysum)) then
       doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)
       addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))
    elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) then
       doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1)   --alterado v1.8
       addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))
    else
       doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)
       addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))
    end

return true
end
-----------------------------
----------------------------------Control Mind--------------------------------------------   alterado v1.5
if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then
   if not isCreature(item2.uid) then
   return true
   end

   if isSleeping(mysum) then
      return doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ")
   end

   if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then
      return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")
   end
  
   if #getCreatureSummons(cid) == 2 then
      return doPlayerSendCancel(cid, "You only can control one Pokemon!")
   end

   local cd = getCD(thisball.uid, "control", 120)
   
   if cd > 0 then
      doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")
      return true
   end
   
   if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) then
      return doPlayerSendCancel(cid, "Your pokemon can't control this mind!")
   end
   
   if getPlayerStorageValue(cid, 22545) >= 1 then       --alterado v1.7
      return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
   end
   
local cmed = item2.uid
setCD(thisball.uid, "control", 120) 
local gender = getPokemonGender(cmed)
doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)
--------------
setPlayerStorageValue(cid, 212124, 1)
doConvinceCreature(cid, cmed) 
setPlayerStorageValue(cmed, 212123, 1) 
doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)

local cmname = getCreatureName(mysum)
local cmpos = getThingPos(mysum)
local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))
doItemSetAttribute(thisball.uid, "hp", pokelife)
doRemoveCreature(mysum)
local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
doConvinceCreature(cid, cmzao)
setPlayerStorageValue(cid, 888, 1)
if useKpdoDlls then
   doUpdateMoves(cid)
end

local function check(cid, controled, rod)
if isCreature(cid) then
ball2 = getPlayerSlotItem(cid, ?
   if getPlayerStorageValue(cid, 888) <= 0 then
   return true
   end
   if not isCreature(controled) then
      setPlayerStorageValue(cid, 212124, 0)
      local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2] 
      local pkcmpos = getThingPos(sum)
      doRemoveCreature(sum)
      local item = getPlayerSlotItem(cid, ?
      local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)
      doConvinceCreature(cid, pk)
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)
      setPlayerStorageValue(cid, 888, -1)  --alterado v1.7
      cleanCMcds(item.uid)
      registerCreatureEvent(pk, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
      return true
   end
   
   if rod <= 0 then
      --Pokemon controlado
      local cmed2 = getCreatureSummons(cid)[1]
      local poscmed = getThingPos(cmed2)
      local cmeddir = getCreatureLookDir(cmed2)
      local namecmed = getCreatureName(cmed2)
      local gender = getPokemonGender(cmed2)
      local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
      doRemoveCreature(getCreatureSummons(cid)[1])
      local back = doCreateMonster(namecmed, poscmed)
      addEvent(doCreatureSetSkullType, 150, back, gender)
      doWildAttackPlayer(back, cid)
      doCreatureSetLookDir(back, cmeddir)
      addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
    
      -- pokemon controlador    
      local mynewpos = getThingPos(getCreatureSummons(cid)[1])
      doRemoveCreature(getCreatureSummons(cid)[1])
      local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos) 
      doConvinceCreature(cid, pk2)
      addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)
      setPlayerStorageValue(cid, 888, -1) --alterado v1.7
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      setPlayerStorageValue(cid, 212124, 0)
      cleanCMcds(ball2.uid)
      registerCreatureEvent(pk2, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
   else
       if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)
       else 
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
       end
   end
end
addEvent(check, 500, cid, controled, rod-1)
end

check(cid, cmed, 40) 
return true
end
---------------------------------------------------------------------
-------- MOVE / END ---------
    
    local onlyWater = false

    if isWater(getTileThingByPos(checkpos).itemid) then
        onlyWater = true
        for checkwater = 0, 7 do
            if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then
                onlyWater = false
            end
        end
    end

    if onlyWater then
        doPlayerSendCancel(cid, "Destination is not reachable.")
    return true
    end

    doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
    
    if isCreature(getCreatureTarget(cid)) then
       goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)           
    else
       addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)                 
    end    
-----------------------------

return true
end

 

 E sabe onde fica o ID e qual script fica o premio da golden arena??

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

  • 0
2 horas atrás, FlamesAdmin disse:

precisa mudar no order.lua da lib também

Eu arrumei la porem da esse BUG

Spoiler

[10/01/2020 18:31:24] [Error - Action Interface] 
[10/01/2020 18:31:24] In a timer event called from: 
[10/01/2020 18:31:24] data/actions/scripts/order.lua:onUse
[10/01/2020 18:31:24] Description: 
[10/01/2020 18:31:24] data/lib/order.lua:248: bad argument #1 to 'random' (interval is empty)
[10/01/2020 18:31:24] stack traceback:
[10/01/2020 18:31:24]     [C]: in function 'random'
[10/01/2020 18:31:24]     data/lib/order.lua:248: in function <data/lib/order.lua:206>

 Order(Lib)

Spoiler

function doPushCreatureTo(uid, direction, distance, speed)   --//doPushCreature(creature,getPlayerLookDir(cid))
-- Desenvolvido por Dokmos 30/01/2009
-- Apoio Dinastias
local pos = getThingPos(uid)
local PARAM = {{1}, {500}}
local DIRECTION = {
{{0,0},{6,7},{1,3}}, {{1,1},{5,7},{0,2}}, {{2,2},{4,5},{1,3}}, {{3,3},{4,6},{0,2}},
{{4,4},{2,3}}, {{5,5}, {1,2}}, {{6,6},{0,1}}, {{7,7},{0,3}}
}
table.insert(PARAM[1], distance)
table.insert(PARAM[2], speed)

        for dvar = 1, #DIRECTION[direction+1] do
        rand = math.random(2)
        d = DIRECTION[direction+1][dvar][rand]
        dir = {x = (math.fmod(d,2)*(-(d-2))+math.floor(d/4)*math.fmod(d,2)*d-math.floor(d/4)), y = (((d-1)*(d-1-(d-1)*math.abs(d-2))*(1-math.floor(d/4)))-(math.floor(d/4)*(math.floor(d/6)*2-1)))}
        newtile = {x = (pos.x+dir.x), y = (pos.y+dir.y), z = pos.z}
                if  (getTileThingByPos(newtile).uid ~= 0) and (hasProperty(getTileThingByPos(newtile).uid,3) == FALSE) and (queryTileAddThing(uid,newtile) == 1) then break end
        rand = (math.fmod(rand,2)+1)
        d = DIRECTION[direction+1][dvar][rand]
        dir = {x = (math.fmod(d,2)*(-(d-2))+math.floor(d/4)*math.fmod(d,2)*d-math.floor(d/4)), y = (((d-1)*(d-1-(d-1)*math.abs(d-2))*(1-math.floor(d/4)))-(math.floor(d/4)*(math.floor(d/6)*2-1)))}
        newtile = {x = (pos.x+dir.x), y = (pos.y+dir.y), z = pos.z}
                if  (getTileThingByPos(newtile).uid ~= 0) and (hasProperty(getTileThingByPos(newtile).uid,3) == FALSE) and (queryTileAddThing(uid,newtile) == 1) then break end
                if (dvar == #DIRECTION[direction+1]) then
                newtile = pos
                end
        end
        
        doTeleportThing(uid, newtile, true)
        if (PARAM[1][#PARAM[1]] > 1) then
        addEvent(doPushCreature, PARAM[2][#PARAM[2]], uid, direction, (distance-1), speed)
        end     
end
--///////////////////////////////////////////////////////////////////////////////////////////////////////--
local dirpref = {
[1] =  {[NORTH] = {[1] = {NORTH}, [2] = {EAST, WEST}, [3] = {NORTHEAST, NORTHWEST}},
    [EAST] = {[1] = {EAST}, [2] = {NORTH, SOUTH}, [3] = {NORTHEAST, SOUTHEAST}},
    [SOUTH] = {[1] = {SOUTH}, [2] = {EAST, WEST}, [3] = {SOUTHEAST, SOUTHWEST}},
    [WEST] = {[1] = {WEST}, [2] = {SOUTH, NORTH}, [3] = {NORTHWEST, SOUTHWEST}},
    [NORTHEAST] = {[1] = {NORTH, EAST}, [2] = {NORTHEAST}, [3] = {SOUTH, WEST}},
    [SOUTHEAST] = {[1] = {SOUTH, EAST}, [2] = {SOUTHEAST}, [3] = {NORTH, WEST}},
    [SOUTHWEST] = {[1] = {SOUTH, WEST}, [2] = {SOUTHWEST}, [3] = {NORTH, EAST}},
    [NORTHWEST] = {[1] = {NORTH, WEST}, [2] = {NORTHWEST}, [3] = {EAST, SOUTH}}},
[2] =  {[NORTH] = {[1] = {NORTH}, [2] = {WEST, EAST}, [3] = {NORTHWEST, NORTHEAST}},
    [EAST] = {[1] = {EAST}, [2] = {SOUTH, NORTH}, [3] = {SOUTHEAST, NORTHEAST}},
    [SOUTH] = {[1] = {SOUTH}, [2] = {WEST, EAST}, [3] = {SOUTHWEST, SOUTHEAST}},
    [WEST] = {[1] = {WEST}, [2] = {NORTH, SOUTH}, [3] = {SOUTHWEST, NORTHWEST}},
    [NORTHEAST] = {[1] = {EAST, NORTH}, [2] = {NORTHEAST}, [3] = {WEST, SOUTH}},
    [SOUTHEAST] = {[1] = {EAST, SOUTH}, [2] = {SOUTHEAST}, [3] = {WEST, NORTH}},
    [SOUTHWEST] = {[1] = {WEST, SOUTH}, [2] = {SOUTHWEST}, [3] = {EAST, NORTH}},
    [NORTHWEST] = {[1] = {WEST, NORTH}, [2] = {NORTHWEST}, [3] = {SOUTH, EAST}}},
}

function doPushCreature(uid,direction,distance,time)
   if isCreature(uid) == TRUE then
      local rand = (2*math.random(0,1))-1
      local rand2 = math.random(-1,0)
      if direction == 0 then
         signal = {0,rand,-rand,rand,-rand,0,-1,-1,-1,0,0,0}
      elseif direction == 1 then
         signal = {1,1,1,0,0,0,0,rand,-rand,rand,-rand,0}
      elseif direction == 2 then
         signal = {0,rand,-rand,rand,-rand,0,1,1,1,0,0,0}
      elseif direction == 3 then
         signal = {-1,-1,-1,0,0,0,0,rand,-rand,rand,-rand,0}
      elseif direction == 4 then
         signal = {-1,rand2,(-rand2)-1,0,1,rand2+1,rand2,0}
      elseif direction == 5 then
         signal = {1,-rand2,-((-rand2)-1),0,1,rand2+1,rand2,0}
      elseif direction == 6 then
         signal = {-1,rand2,(-rand2)-1,0,-1,(-rand2)-1,rand2,0}
      else
         signal = {1,-rand2,-((-rand2)-1),0,-1,(-rand2)-1,rand2,0}
      end
      local pos = getThingPos(uid)
      nsig = #signal
      nvar = 0

      repeat
         nvar = nvar+1
         newpos = {x=pos.x+(signal[nvar]),y=pos.y+(signal[(nsig/2)+nvar]),z=pos.z}
         newtile = {x=newpos.x,y=newpos.y,z=newpos.z,stackpos=0}
      until getTileThingByPos(newtile).uid ~= 0 and hasProperty(getTileThingByPos(newtile).uid,3) == FALSE and canWalkOnPos(newtile, true, false, true, true, false) and queryTileAddThing(uid,newpos) == 1 or nvar == (nsig/2)
                                                                                                                   --alterado v1.5
      if distance == nil or distance == 1 then
         doTeleportThing(uid,newpos,TRUE)   
      else
         distance = distance-1
         doTeleportThing(uid,newpos,TRUE)
         if time ~= nil then
            addEvent(doPushCreature,time,uid,direction,distance,time)
         else
            addEvent(doPushCreature,500,uid,direction,distance,500)
         end       
      end
   end  
end

function doComparePosition(pos1, pos2)
    if pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z then
    return true
    end
return false
end

function walkTo(cid, direction, finalp, useExtraMoveOrder)
    if not isCreature(cid) then return true end

    doChangeSpeed(cid, 5)
    local x = getThingPos(cid)
    local ratedelaywalk = 1
    local finalpos = {x = finalp.x, y = finalp.y, z = finalp.z}

        if not canWalkOnPos(finalpos, false, false, true, true, true) then
            finalpos = getClosestFreeTile(cid, finalpos)
        end

        if not finalpos then
        return false
        end

    local dir = getDirectionToWalk(cid, finalpos, 2, 0, 0, false, true, 300)
    if dir and tonumber(dir) ~= nil and tonumber(dir) >= 0 and tonumber(dir) <= 7 then
        if dir >= 4 then
            ratedelaywalk = 0.4
        end
        doPushCreature(cid, dir, 1, getNextStepDelay(cid, dir) * ratedelaywalk)
        return getNextStepDelay(cid, dir) * ratedelaywalk
    elseif useExtraMoveOrder then

local random = math.random(1, 2)

    for ta = 1, 3 do
        for tb = 1, #dirpref[random][direction][ta] do
            local y = getPosByDir(getThingPos(cid), dirpref[random][direction][ta][tb])
            local w = getCreatureLP(cid)
            local z = getDirectionTo(y, getThingPos(cid)) -- direção q vai marcar
            local j = getDirectionTo(getThingPos(cid), y) -- direção q ele vai
            if canWalkOnPos(y, true, false, true, true, true) and w ~= j then
                if dirpref[random][direction][ta][tb] >= 4 then
                    ratedelaywalk = 0.5
                end
                doPushCreature(cid, dirpref[random][direction][ta][tb], 1, getNextStepDelay(cid, dirpref[random][direction][ta][tb]) * ratedelaywalk)
                markLP(cid, z)
            return getNextStepDelay(cid, dirpref[random][direction][ta][tb]) * ratedelaywalk
            end
        end
    end
    end
return false
end

function getCreatureLP(cid)
return getPlayerStorageValue(cid, 197)
end

function markLP(cid, dir)
setPlayerStorageValue(cid, 197, dir)
end

function markPos(sid, pos)
if not isCreature(sid) then return end
setPlayerStorageValue(sid, 145, pos.x)
setPlayerStorageValue(sid, 146, pos.y)
setPlayerStorageValue(sid, 147, pos.z)
end

function markFlyingPos(sid, pos)
if not isCreature(sid) then return end
setPlayerStorageValue(sid, 33145, pos.x)
setPlayerStorageValue(sid, 33146, pos.y)
setPlayerStorageValue(sid, 33147, pos.z)
end

function getFlyingMarkedPos(sid)
if not isCreature(sid) then return end
local xx = getPlayerStorageValue(sid, 33145)
local yy = getPlayerStorageValue(sid, 33146)
local zz = getPlayerStorageValue(sid, 33147)
return {x = xx, y = yy, z = zz, stackpos = 0}
end

function getMarkedPos(sid)
if not isCreature(sid) then return end
local xx = getPlayerStorageValue(sid, 145)
local yy = getPlayerStorageValue(sid, 146)
local zz = getPlayerStorageValue(sid, 147)
return {x = xx, y = yy, z = zz}
end

function getOwnerPos(sid)
if not isCreature(sid) then return end
local xx = getPlayerStorageValue(sid, 148)
local yy = getPlayerStorageValue(sid, 149)
local zz = getPlayerStorageValue(sid, 150)
return {x = xx, y = yy, z = zz}
end

function markOwnerPos(sid, pos)
if not isCreature(sid) then return end
setPlayerStorageValue(sid, 148, pos.x)
setPlayerStorageValue(sid, 149, pos.y)
setPlayerStorageValue(sid, 150, pos.z)
end

function recheck(sid, skill, pos)
    if not isCreature(sid) or not isCreature(getCreatureMaster(sid)) then return end
    local cid = getCreatureMaster(sid)

    if skill == "cut" then

        local item = getTileItemById(pos, 2767)
        doCreatureSay(sid, "CUT!", TALKTYPE_MONSTER)
        markPos(sid, {x=1,y=1,z=7})
        doFaceCreature(sid, pos)
        doSendMagicEffect(getThingPos(item.uid), 141)
        doTransformItem(item.uid, 6216)
            local function growBush()
            doTransformItem(getTileItemById(pos, 6216).uid, 2767)
            end
        addEvent(growBush, intervalToRegrowBushAndStones * 1000)

    elseif skill == "rock smash" then

        local item = getTileItemById(pos, 1285)
        doCreatureSay(sid, "ROCK SMASH!", TALKTYPE_MONSTER)
        markPos(sid, {x=1,y=1,z=7})
        doFaceCreature(sid, pos)
        doSendMagicEffect(getThingPos(item.uid), 118)
        doTransformItem(item.uid, 3610)
            local function growRock()
            doTransformItem(getTileItemById(pos, 3610).uid, 1285)
            end
        addEvent(growRock, intervalToRegrowBushAndStones * 1000)
        
    elseif skill == "headbutt" then  --alterado v1.6
    
    local master = getCreatureMaster(sid)
    local array = {}                           
    local lvl = {1, 10, 20, 30, 40, 50} --lvls

    for i = 1, #lvl do
        if getPlayerLevel(master) <= lvl then
           array = headbutt[lvl]
           break
        end
    end 
    local rand = array[math.random(#array)]
    for j = 1, rand[2] do
        local poke = doCreateMonster(rand[1], getClosestFreeTile(sid, pos))
        doSetMonsterPassive(poke)               
        doWildAttackPlayer(poke, master) 
    end
    local item = getTileItemById(pos, 2705)    --id do item   arvore normal
    doCreatureSay(sid, "HEADBUTT!", TALKTYPE_MONSTER)
    markPos(sid, {x=1,y=1,z=7})
    doFaceCreature(sid, pos)
    doSendMagicEffect(getThingPos(item.uid), 118)
    doTransformItem(item.uid, 2704)  --id do item   arvore quebrada
    local function growHead()
          doTransformItem(getTileItemById(pos, 12592).uid, 12591) --id do item  arvore quebrada, arvore normal
    end
    addEvent(growHead, choose(5, 10, 15, 20) * 60 * 1000)   --o tempo pra arvore voltar ao normal varia de 5-20min
    
    elseif skill == "dig" then

        local item = getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})
        doCreatureSay(sid, "DIG!", TALKTYPE_MONSTER)
        markPos(sid, {x=1,y=1,z=7})
        doFaceCreature(sid, pos)
        doSendMagicEffect(getThingPos(item.uid), 3)
        doTransformItem(item.uid, item.itemid+1)
            local function closeHole()
            doTransformItem(getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).uid, item.itemid)
            end
        addEvent(closeHole, intervalToRegrowBushAndStones * 1000)
    
    elseif skill == "fly" then

        local pb = getPlayerSlotItem(cid, 8).uid
        
        if getItemAttribute(pb, "addon") < 1 then
            doSetCreatureOutfit(cid, {lookType = flys[getPokemonName(getCreatureSummons(cid)[1])][1] + 351}, -1)
        else
            doSetCreatureOutfit(cid, {lookType = flysAddon[getItemAttribute (pb, "addon")][1]}, -1)
        end
   
        --if not isPremium(cid) then
        --doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
        --return true
        --end
        local pokemon = flys[getPokemonName(getCreatureSummons(cid)[1])]
        doPlayerSendTextMessage(cid, 27, "Type \"up\" or \"h1\" to fly/levitate higher and \"down\" or \"h2\" to fly/levitate lower.") --alterado v1.8
        doChangeSpeed(cid, -getCreatureSpeed(cid))
        local speed = 500 + PlayerSpeed/5 + getSpeed(sid) * 6 * speedRate
        doChangeSpeed(cid, speed)
        setPlayerStorageValue(cid, 54844, speed)
        doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)
        doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
        doRemoveCreature(getCreatureSummons(cid)[1])
        setPlayerStorageValue(cid, 17000, 1)
        if getCreatureOutfit(cid).lookType == 667 or getCreatureOutfit(cid).lookType == 999 then
           markPosEff(cid, getThingPos(cid))
           sendMovementEffect(cid, 136, getThingPos(cid))     --edited efeito quando anda com o porygon
        end
        local item = getPlayerSlotItem(cid, ?
        if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) <= 0 then  
           sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])              --alterado v1.8
        end
        
        if useOTClient then
           doPlayerSendCancel(cid, '12//,hide') --alterado v1.8
        end
        
    return true

    elseif skill == "ride" then
        
        local pb = getPlayerSlotItem(cid, 8).uid
        
        if getItemAttribute(pb, "addon") < 1 then
            doSetCreatureOutfit(cid, {lookType = rides[getPokemonName(getCreatureSummons(cid)[1])][1] + 351}, -1)
        else
            doSetCreatureOutfit(cid, {lookType = ridesAddon[getItemAttribute (pb, "addon")][1]}, -1)
        end
            
        local pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])]
        doChangeSpeed(cid, -getCreatureSpeed(cid))
        local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRate
        doChangeSpeed(cid, speed)
        setPlayerStorageValue(cid, 54844, speed)
        doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)
        doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
        doRemoveCreature(getCreatureSummons(cid)[1])
        setPlayerStorageValue(cid, 17001, 1)
        local item = getPlayerSlotItem(cid, ?
        if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) <= 0 then   
           sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8
        end
        
        if useOTClient then
           doPlayerSendCancel(cid, '12//,hide') --alterado v1.8
        end

    return true
    end

    if getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y or isCreature(getCreatureTarget(getCreatureMaster(sid))) then
        doRegainSpeed(sid)
        markPos(sid, {x=1,y=1,z=7})
    return true
    end

    addEvent(recheck, 120, sid)
end

function goThere(sid, thepos, skill, target, rept)
    if not isCreature(sid) or not isCreature(getCreatureMaster(sid)) then return true end
    if getCreatureNoMove(sid) or isSleeping(sid) or isParalyze(sid) then return true end            --alterado v1.6
    if thepos.x ~= getMarkedPos(sid).x or thepos.y ~= getMarkedPos(sid).y then return true end
    if isCreature(getCreatureTarget(getCreatureMaster(sid))) and target == false or (rept and rept <= 0) then
        doRegainSpeed(sid)
        markPos(sid, {x=1,y=1,z=7})
    return true
    end    

if (skill == "ride" or skill == "fly") and getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 then

    local currentPos = getThingPos(getCreatureMaster(sid))
    local summonPos = getThingPos(sid)
    local masterPos = getCreatureLastPosition(sid)

    if (getThingPos(sid).x == getThingPos(getCreatureMaster(sid)).x and getThingPos(sid).y == getThingPos(getCreatureMaster(sid)).y) or (currentPos.x == masterPos.x and currentPos.y == masterPos.y) then
    recheck(sid, skill, thepos)
    return true
    end

    if currentPos.x == thepos.x and currentPos.y == thepos.y then
        if getDirectionTo(getThingPos(sid), getThingPos(getCreatureMaster(sid))) <= 3 then
            doRegainSpeed(sid)
            local ndelay = getNextStepDelay(sid, 0)
            doTeleportThing(sid, thepos, true)
            doChangeSpeed(sid, -getCreatureSpeed(sid))
            markPos(sid, getThingPos(getCreatureMaster(sid)))
            addEvent(goThere, ndelay, sid, getMarkedPos(sid), skill, target)
        else
            doChangeSpeed(sid, - getCreatureSpeed(sid))
            doRegainSpeed(sid)
            markPos(sid, getThingPos(getCreatureMaster(sid)))
            local x = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly")
            doChangeSpeed(sid, - getCreatureSpeed(sid))
            addEvent(goThere, x, sid, getMarkedPos(sid), skill, target)
            end
    return true
    else
        markPos(sid, getThingPos(getCreatureMaster(sid)))
        doChangeSpeed(sid, - getCreatureSpeed(sid))
        doRegainSpeed(sid)
        local ndelay = getNextStepDelay(sid, 0)
            if getDirectionTo(getThingPos(sid), getMarkedPos(sid)) >= 4 then
                local x = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly")
            else
                doTeleportThing(sid, getPosByDir(getThingPos(sid), getDirectionTo(getThingPos(sid), getMarkedPos(sid))))
            end
        doChangeSpeed(sid, - getCreatureSpeed(sid))
        addEvent(goThere, x and x or ndelay, sid, getMarkedPos(sid), skill, target)
    return true
    end

addEvent(recheck, 350, sid, skill, thepos)
return true
end

if getThingPos(sid).x == getMarkedPos(sid).x and getThingPos(sid).y == getMarkedPos(sid).y then
    if isCreature(getCreatureTarget(sid)) then
    doFaceCreature(sid, getThingPos(getCreatureTarget(sid)))
    end
    if skill == "blink" then
       doChangeSpeed(sid, - getCreatureSpeed(sid))   --edited blink
    end
addEvent(recheck, 350, sid, skill, thepos)
return true
end

if (getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y) and isCreature(getCreatureTarget(getCreatureMaster(sid))) == false and skill == "move" then
doRegainSpeed(sid)
markPos(sid, {x=1,y=1,z=7})
return true
end

doRegainSpeed(sid)

local holeid = thepos
holeid.stackpos = 0
holeid = getTileThingByPos(holeid).itemid

if getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 and (not isWalkable(getPosByDir(getThingPos(sid), getDirectionTo(getThingPos(sid), getMarkedPos(sid))), true, false, false, true) or isInArray(specialabilities["digholes"], holeid)) then
    if isGhostPokemon(sid) and getPlayerStorageValue(getCreatureMaster(sid), 990) <= 0 then
        local todir = getDirectionTo(getThingPos(sid), getMarkedPos(sid))
        if todir <= 3 then
            doTeleportThing(sid, getMarkedPos(sid), true)
        else
            local gotopos = getPosByDir(getThingPos(sid), dirpref[math.random(1, 2)][todir][1][math.random(1, 2)])
            doTeleportThing(sid, gotopos, true)
            addEvent(goThere, getNextStepDelay(sid, 0), sid, getMarkedPos(sid), skill, target)
            return true
        end
    end
doFaceCreature(sid, getMarkedPos(sid))
addEvent(recheck, 180, sid, skill, thepos)
doChangeSpeed(sid, - getCreatureSpeed(sid))
return true
end    

local ret = 0
    if getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 then
        ret = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly" or isGhostPokemon(sid))
        if not tonumber(ret) then
            doFaceCreature(sid, getMarkedPos(sid))
            addEvent(recheck, 180, sid, skill, thepos)
            doChangeSpeed(sid, - getCreatureSpeed(sid))
        return true
        end
    else                                                                                                                          --alterado 
        ret = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly" or not isGhostPokemon(sid))-- and isSightClear(getThingPos(sid), getMarkedPos(sid), false)))
    end

if not tonumber(ret) then
doPlayerSendCancel(getCreatureMaster(sid), "Destination is not reachable.")
markPos(sid, {x=1,y=1,z=7})
return true
end

doChangeSpeed(sid, - getCreatureSpeed(sid))
addEvent(goThere, tonumber(ret), sid, getMarkedPos(sid), skill, target, rept and rept - 1 or 22)
end

Ja editei tanto ID arvore normal quanto ID dela quebrada porem da esse BUG !!!

Link para o comentário
Compartilhar em outros sites

  • 0
59 minutos atrás, FlamesAdmin disse:

local function growHead()
          doTransformItem(getTileItemById(pos, 12592).uid, 12591) --id do item  arvore quebrada, arvore normal
    end

 

Editei coloquei tudo certo da esse ERRO nao sei oque e o mesmo ERRO !!!

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...