Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Opa, eae!

 

Gostaria de pedir esse move de Poketibia, segue:

 

Quando usado, ele solta o efeito "15" em área aleatórias "doSurf1 e doSurf2 = createCombatArea", os Pokemons que estiverem pertos dessa área, são puxados para perto do Poke que soltou o CD e ficam com "Silence".

 

REP+ para quem ajudar!

Obrigado!

 

 

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingGeral"

Para: "OTServSuporte OTServSuporte de Servidores Derivados"

Link para o post
Compartilhar em outros sites

Tipo assim?

elseif spell == "Eruption" then
    local testArea = {
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, 
        {0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 
    }
    local ret = {}
    ret.id = 0
    ret.cd = 5                --Duração do silence, em segundos.
    ret.check = 0
    ret.eff = 39              --Efeito do silence.
    ret.cond = "Silence"
    local config = {
        effect = 15,
        Pull = function(cid)
            local area = getPosfromArea(cid, testArea)
            for i = 1, #area do
                local pid = getTopCreature(area[i]).uid
                if ehMonstro(pid) then
                    doTeleportThing(pid, getClosestFreeTile(cid, getThingPos(cid)))
                    ret.id = pid
                    ret.check = getPlayerStorageValue(pid, conds[ret.cond])
                    doCondition2(ret)
                end
            end
        end,
    }
    config.Pull(cid)
    doMoveInArea2(cid, config.effect, doSurf1, FIREDAMAGE, 0, 0, spell)
    addEvent(doDanoWithProtect, math.random(100, 400), cid, FIREDAMAGE, getThingPos(cid), doSurf2, -min, -max, 0)
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Testarei.

 

#Erro:

[17/04/2015 22:56:35] [Error - TalkAction Interface] 

[17/04/2015 22:56:35] data/talkactions/scripts/move1.lua:onSay
[17/04/2015 22:56:35] Description: 
[17/04/2015 22:56:35] data/lib/032-position.lua:158: bad argument #1 to 'getn' (table expected, got number)
[17/04/2015 22:56:35] stack traceback:
[17/04/2015 22:56:35] [C]: in function 'getn'
[17/04/2015 22:56:35] data/lib/032-position.lua:158: in function 'getPosfromArea'
[17/04/2015 22:56:35] data/lib/pokemon moves.lua:3220: in function '?'
[17/04/2015 22:56:35] data/lib/pokemon moves.lua:3232: in function 'docastspell'
[17/04/2015 22:56:35] data/talkactions/scripts/move1.lua:208: in function <data/talkactions/scripts/move1.lua:20>

Editado por FlamesAdmin (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 Deu varios erros e uma travada sinistra, mais soltou a spell. Uma coisa, sumonei um Wild, e soltei o move, e vi que o wild andou só 1 sqm pra perto do meu Poke, se tivesse como, queria que puxasse ao redor do meu Poke se for possivel.Tipo, ficasse assim\/:

Wild Wild Wild

Wild Meu Wild

Wild Wild Wild

[17/04/2015 23:38:02] [Error - TalkAction Interface] 
[17/04/2015 23:38:02] data/talkactions/scripts/move1.lua:onSay
[17/04/2015 23:38:02] Description: 
[17/04/2015 23:38:02] (luaGetCreatureName) Creature not found
Link para o post
Compartilhar em outros sites

Ué, que estranho. Você alterou alguma coisa no código? Testei aqui e funcionou perfeitamente. o.O

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Será que é por causa do meu move1.lua não ?Pq coloquei Ditto Syse Smeargle Sys no server e modificou umas coisas lá.

Editado por FlamesAdmin (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Se possível, poste o move1.lua. Em todos os testes do ataque, deu o mesmo erro? E só neste ataque?

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Sim, o mesmo erro do move1.lua. Sim, apenas no Eruption.

 

Move1.lua:

local msgs = {"use ", ""}

 
function doAlertReady(cid, id, movename, n, cd)
if not isCreature(cid) then return true end
local myball = getPlayerSlotItem(cid, 8)
if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
return true
end
local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
if not p or #p <= 0 then return true end
for a = 1, #p do
if getItemAttribute(p[a], cd) == "cd:"..id.."" then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
return true
end
end
end
 
function onSay(cid, words, param, channel)
 
 
if param ~= "" then return true end
if string.len(words) > 3 then return true end
 
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de um Pokémon para usar magias.")
return 0
end
                      --alterado v1.5
local mypoke = getCreatureSummons(cid)[1]
 
if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
if getCreatureName(mypoke) == "Evolution" then return true end
 
    if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
       name = getPlayerStorageValue(mypoke, 1010)   --edited
    else
       name = getCreatureName(mypoke)
    end  
 
    --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)
 
local it = string.sub(words, 2, 3)
local idd = getPlayerSlotItem(cid, 8).uid
local move = getCreatureName(mypoke) == "Smeargle" and getItemAttribute(idd, "skt1") and movestable[getItemAttribute(idd, "skt1")].move1 or movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
   cdzin = "cm_move"..it..""
else
   cdzin = "move"..it..""       --alterado v1.5
end
 
if it == "2" then
    if getItemAttribute(idd, "skt2") then  
  move = movestable[getItemAttribute(idd, "skt2")].move2
  else
        move = movestable[name].move2
        end
 elseif it == "3" then
    if getItemAttribute(idd, "skt3") then  
  move = movestable[getItemAttribute(idd, "skt3")].move3
  else
        move = movestable[name].move3
        end  
 elseif it == "4" then
    if getItemAttribute(idd, "skt4") then  
  move = movestable[getItemAttribute(idd, "skt4")].move4
  else
        move = movestable[name].move4
        end 
 elseif it == "4" then
    if getItemAttribute(idd, "skt4") then  
  move = movestable[getItemAttribute(idd, "skt4")].move4
  else
        move = movestable[name].move4
        end 
 elseif it == "5" then
    if getItemAttribute(idd, "skt5") then  
  move = movestable[getItemAttribute(idd, "skt5")].move5
  else
        move = movestable[name].move5
        end 
 elseif it == "6" then
    if getItemAttribute(idd, "skt6") then  
  move = movestable[getItemAttribute(idd, "skt6")].move6
  else
        move = movestable[name].move6
        end 
 elseif it == "7" then
    if getItemAttribute(idd, "skt7") then  
  move = movestable[getItemAttribute(idd, "skt7")].move7
  else
        move = movestable[name].move7
        end 
 elseif it == "8" then
    if getItemAttribute(idd, "skt8") then  
  move = movestable[getItemAttribute(idd, "skt8")].move8
  else
        move = movestable[name].move8
        end 
 elseif it == "9" then
  move = movestable[name].move9
 elseif it == "10" then
  move = movestable[name].move10
 elseif it == "11" then
  move = movestable[name].move11
 elseif it == "12" then
  move = movestable[name].move12
 elseif it == "13" then
  move = movestable[name].move13
 end 
 
if not move then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu Pokémon não tem essa magia.")
return true
end
 
if getPlayerLevel(cid) < move.level then
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de level "..move.level.." para usar essa magia.")
  return true
    end
 
if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa esperar "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." segundos para usar "..move.name.." denovo.")
return true
end
 
if getTileInfo(getThingPos(mypoke)).protection then
doPlayerSendCancel(cid, "Você não pode atacar em Protection Zone.")
return true
end
 
if getPlayerStorageValue(mypoke, 3894) >= 1 then
    return doPlayerSendCancel(cid, "Você não pode fazer isso agora.") --alterado v1.3
    end
                             --alterado v1.6                  
if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then       
   doPlayerSendCancel(cid, "Você precisa usar Shredder Team para usar isso!")
    return true
    end
                                                                     --alterado v1.7 \/\/\/
if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then 
   local target = getCreatureTarget(cid)                                                                                       
   if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then 
      if isCreature(getMasterTarget(target)) then   --alterado v1.6                                                                   
         doSendMagicEffect(getThingPos(target), 211)
         doSendAnimatedText(getThingPos(target), "TOO BAD", 215)                                
         doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
         doSendMagicEffect(getThingPos(target), 211)
         doFaceCreature(target, getThingPos(mypoke))    
         return true       --alterado v1.6
      end
   end
end
 
 
if move.target == 1 then
 
if not isCreature(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem alvo.")
return 0
end
 
if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
return 0
end
 
if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
return 0
end
 
if not isCreature(getCreatureSummons(cid)[1]) then
return true
end
 
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ataque algum alvo para usar isso.")
return 0
end
 
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
end
 
local newid = 0
 
        if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode atacar agora.")
return 0
else
newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
end
 
doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
 
    local summons = getCreatureSummons(cid) --alterado v1.6
 
addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
 
for i = 2, #summons do
       if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then
          docastspell(summons, move.name)        --alterado v1.6
       end
    end 
 
    docastspell(mypoke, move.name)
doCreatureAddCondition(cid, playerexhaust)
 
if useKpdoDlls then
doUpdateCooldowns(cid)
end
 
return 0
end

Editado por FlamesAdmin (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 10 months later...
Em 17/04/2015 22:45:19, zipter98 disse:

Tipo assim?

 


elseif spell == "Eruption" then
    local testArea = {
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, 
        {0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 
    }
    local ret = {}
    ret.id = 0
    ret.cd = 5                --Duração do silence, em segundos.
    ret.check = 0
    ret.eff = 39              --Efeito do silence.
    ret.cond = "Silence"
    local config = {
        effect = 15,
        Pull = function(cid)
            local area = getPosfromArea(cid, testArea)
            for i = 1, #area do
                local pid = getTopCreature(area[i]).uid
                if ehMonstro(pid) then
                    doTeleportThing(pid, getClosestFreeTile(cid, getThingPos(cid)))
                    ret.id = pid
                    ret.check = getPlayerStorageValue(pid, conds[ret.cond])
                    doCondition2(ret)
                end
            end
        end,
    }
    config.Pull(cid)
    doMoveInArea2(cid, config.effect, doSurf1, FIREDAMAGE, 0, 0, spell)
    addEvent(doDanoWithProtect, math.random(100, 400), cid, FIREDAMAGE, getThingPos(cid), doSurf2, -min, -max, 0)

Zipter, vc teria o script do eruption normal man ?? to procurando no forum inteiro e nao acho algum que realmente puxe os pokes ...

 

 

 

Link para o post
Compartilhar em outros sites
  • 1 year later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo