Ir para conteúdo
  • 0

Maquina difusora de helds


Xruan10x

Pergunta

Eae galera blz?

Bom é o seguinte estou tentando usar um script postado aqui no forum, só q esta dando um erro na minha distro.

o script é esse:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

local ball_slot, price = 12355, 1000                                      --ID do slot em que a pokebola fica; Preço p/ remover o held item.                                                    

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local ball_pos = toPosition
    ball_pos.x = ball_pos.x + 1
    
    local ball_slot = getTileItemById(ball_pos, ball_slot).uid
    local pokeball = getContainerItem(ball_slot, 0).uid
    
    if pokeball <= 0 or not getItemAttribute(pokeball, "poke") then
        doPlayerSendCancel(cid, "You must put on the pokeball slot a valid pokeball.")
        return true
    end
    
    local held_item = {}
    
    for itemid, held_info in pairs(heldTable) do
        local attr = getItemAttribute(pokeball, held_info.attribute)
        
        if attr and attr == held_info.ident then
            table.insert(held_item, itemid)
        end
    end
    
    if #held_item == 0 then
        doPlayerSendCancel(cid, "Your pokemon does not have a held item.")
        return true
    elseif getPlayerMoney(cid) < price then
        doPlayerSendCancel(cid, "You need more "..price - getPlayerMoney(cid).." gold to remove your pokemon's held item(s).")
        return true
    end
    
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You removed your pokeball's held item(s) for the price of "..price.." gold.")
    doPlayerRemoveMoney(cid, price)
    for i = 1, #held_item do
        doPlayerAddItem(cid, held_item, 1)
        doItemSetAttribute(pokeball, heldTable[held_item].attribute, nil)
    end
    return true
end

-------------------------------------------------------------------------------------------------------------------------------------------

OBS:Tentei por em spoiler mas n consegui, me desculpem pela má organização xD

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
6 horas atrás, Night Wolf disse:

q erro na distro? q versão vc usa? pra q versão é o script? 

Uso server do Nextbr PDA 2015 - TFS 0.3.6.

O erro é o seguinte quando eu vou tentar usar a maquina aparece uma msg falando:

You must put on the pokeball slot a valid pokeball.

 

Eu removi essa função aqui numa tentativa de fazer o script funcionar:

    if pokeball <= 0 or not getItemAttribute(pokeball, "poke") then
        doPlayerSendCancel(cid, "You must put on the pokeball slot a valid pokeball.")
        return true
    end

----------------------------------------------------------------

Só q da esse erro aqui na distro:

[11/06/2016 08:37:14] [Error - Action Interface] 

[11/06/2016 08:37:14] data/actions/scripts/helddifuser.lua:onUse

[11/06/2016 08:37:14] Description: 

[11/06/2016 08:37:14] data/actions/scripts/helddifuser.lua:12: bad argument #1 to 'pairs' (table expected, got nil)

[11/06/2016 08:37:14] stack traceback:

[11/06/2016 08:37:14]     [C]: in function 'pairs'

[11/06/2016 08:37:14]     data/actions/scripts/helddifuser.lua:12: in function <data/actions/scripts/helddifuser.lua:3>

 

 

Editado por Xruan10x
Adicionando mais informações.
Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, Night Wolf disse:

tem certeza q esse é o script completo? tá faltando e sobrando coisa aí... parece q vc tentou editar ele e arrancou coisa que precisava e botou coisa que não precisava.

Eu achei ele aqui no fórum, foi feito pelo zipter98 em um outro tópico com o mesmo titulo, no caso eu só copiei o código e tentei usá-lo no meu server.

No caso a maquina seria igual a de boost, o slot do pokemon ficaria sempre a direita e o botão que ativa a maquina ficaria sempre ao lado do lugar de por o slot da pokeball, a unica diferenca dela pra maquina de boost é que não teria o lugar pra por a stone que no caso fica na esquerda.

Existe uma possibilidade de vc conseguir criar essa script pra mim?;(:

Editado por Xruan10x
Adicionando mais informações.
Link para o comentário
Compartilhar em outros sites

  • 0
15 horas atrás, Night Wolf disse:

me passa o link do tópico, tá muito estranho esse script.. parece que faltam um monte de informações, inclusive a própria tabela que ele vai iterar no for.

 

Link para o comentário
Compartilhar em outros sites

  • 0

Se você usa o sistema de held itens do Gabrielbsales, mova a tabela heldTable de HeldSystem.lua (data/actions/scripts) para um arquivo qualquer de data/lib.

tá isso no comentário do zipter.. o erro q tá dando é q vc não tem a tabela heldTable;

Link para o comentário
Compartilhar em outros sites

  • 0

Movi a tabela e agora quando dou use na maquina da esse erro:


[20/06/2016 11:20:04] [Error - Action Interface] 
[20/06/2016 11:20:04] data/actions/scripts/helddifuser.lua:onUse
[20/06/2016 11:20:04] Description: 
[20/06/2016 11:20:04] (luaGetItemAttribute) Item not found

 

E no jogo aparece "Your pokemon does not have a held item." só que ele tem.

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

  • 0
Em 14/06/2016 at 09:18, Night Wolf disse:

Se você usa o sistema de held itens do Gabrielbsales, mova a tabela heldTable de HeldSystem.lua (data/actions/scripts) para um arquivo qualquer de data/lib.

 

tá isso no comentário do zipter.. o erro q tá dando é q vc não tem a tabela heldTable;

Man me ajuda... como vou mover meu held system??? eu to aqui com outro tipo diferente de script.

 

 Server\data\actions\scripts\held1.lua

 

Spoiler

local card_id = {15559, 15566, 15573, 15580, 15587, 15594, 15601, 15608, 15615, 15622, 15629, 15636} -- joga os id dos card aqui

function onUse(cid, item, frompos, item2, topos)

local level = 10 -- level

if item.itemid == 17143 then -- id da box

if getPlayerLevel(cid) >= level then

local w = math.random (1,#card_id)

doPlayerAddItem(cid, card_id[w])

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Vc Abriu Held Misterioso T1 e ganhou >>> ["..getItemNameById(card_id[w]).."] <<<")

doRemoveItem(item.uid, 1)

else

doPlayerSendCancel(cid,"You must be at least level "..level.."")

end return true end  end

 

vou ter que mover todos??? held 1, held 2, held 3... held 7 para a lib?

 

Obs > desculpe reviver o topico

Link para o comentário
Compartilhar em outros sites

  • 0
Em 07/04/2017 at 08:30, tataboy67 disse:

Man me ajuda... como vou mover meu held system??? eu to aqui com outro tipo diferente de script.

 

 Server\data\actions\scripts\held1.lua

 

  Mostrar conteúdo oculto

local card_id = {15559, 15566, 15573, 15580, 15587, 15594, 15601, 15608, 15615, 15622, 15629, 15636} -- joga os id dos card aqui

function onUse(cid, item, frompos, item2, topos)

local level = 10 -- level

if item.itemid == 17143 then -- id da box

if getPlayerLevel(cid) >= level then

local w = math.random (1,#card_id)

doPlayerAddItem(cid, card_id[w])

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Vc Abriu Held Misterioso T1 e ganhou >>> ["..getItemNameById(card_id[w]).."] <<<")

doRemoveItem(item.uid, 1)

else

doPlayerSendCancel(cid,"You must be at least level "..level.."")

end return true end  end

 

vou ter que mover todos??? held 1, held 2, held 3... held 7 para a lib?

 

Obs > desculpe reviver o topico

UPP

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...