Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] FERREIRO , CRIANDO INTENS SCRIPT !


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

iz1dzc.png

 

 Por os farms dentro da primeira caixa ! e o item quando for criado ir para 2° caixa !

 

Alguem pode criar essa script pra mim ou se ja tiver me passar por favor ? e me ensinar como editar !

 

Descupa erro ali na imagem " bitão" certo é botão!

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

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

Boa noite.

Após vários testes e correções de bugs, e é claro, estudar algumas tags.

 

Segue abaixo seu script:

 

Em actions.xml adicione a seguinte tag:

<action actionid="XXXXX" script="ferreiro.lua"/>

Registre a actionID de acordo com a alavanca registrada no MapEditor.

Lembre-se de adicionar alguma actiondID nos caixotes para que não possam ser arrastados, pois adicionei uma parte no script pelo qual só funciona se o caixote estiver no lugar, mas vale a pena deixá-los fixo.

 

Agora crie o arquivo "ferreiro.lua" na pasta script e cole o seguinte código:

local boxid = XXXX -- ID da Caixa que receberá os itens
local box1 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da Caixa de Combinação
local box2 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da Caixa Final
local item1, item2 = XXXX, XXXX -- ID do ITEM1, ID do ITEM2
local reward = XXXX -- ID do Item Recompensa

function onUse(cid, item, fromPosition, itemEx, toPosition)

    local container, container2 = getTileItemById(box1, boxid), getTileItemById(box2, boxid)
    if container.uid > 0 then
        if container2.uid > 0 then
            if getContainerItem(container.uid, 0).uid >= 1 then
            
                if getContainerItem(container.uid, 0).itemid == item1 then
                    if getContainerItem(container.uid, 1).itemid == item2 then
                        doRemoveItem(getContainerItem(container.uid, 0).uid, 1)
                        doRemoveItem(getContainerItem(container.uid, 0).uid, 1)
                        doAddContainerItem(getThingFromPos(box2).uid, reward)
                        doPlayerSendTextMessage(cid, 4, "Parabéns pela combinação.")
                        return false
                    else
                        doPlayerSendCancel(cid, "Você precisa de um "..getItemNameById(item2).." no segundo slot para combinar.")
                    return true
                    end
                else
                    doPlayerSendCancel(cid, "Você precisa de um "..getItemNameById(item1).." no primeiro slot para combinar.")
                return true
                end

            else
                doPlayerSendCancel(cid, "Não há itens no caixote.")
            end
        else
            doPlayerSendCancel(cid, "O caixote de premiação não está no lugar correto.")
        end
    else
        doPlayerSendCancel(cid, "O caixote não está no lugar correto.")
    end
    
    return true
end

Lembre-se de configurar a parte inicial do script.

 

Testei e funcionou perfeitamente comigo.

Teste e poste o resultado.

 

Boa sorte.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

muito bom Adriano SwaTT, continue o bom trabalho  (y)  ^^

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

muito bom Adriano SwaTT, continue o bom trabalho  (y)  ^^

Muito obrigado..

Andei sumido por uns dias, maior correria por aqui, aí para não enferrujar ainda mais me lancei um desafio de procurar um pedido de script e fazê-lo por completo.

Me deparei com este, que é um modelo de script pelo qual nunca havia feito, de identificar mais de um item dentro de container e depois removê-los ainda.

Comigo o script funcionou perfeitamente, tomara que funcione com o dono do tópico.

 

Abraços e mais uma vez obrigado pela consideração, vem fazendo um ótimo trabalho.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Muito bom :O:) Vou testar se pegar eu mando pm , ganhou meu rep+ :)

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

Muito bom :O:) Vou testar se pegar eu mando pm , ganhou meu rep+ :)

Certo, teste e me avise se funcionou.

Comigo funcionou perfeitamente.

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

explica isso aqui 

 

local boxid = XXXX -- ID da Caixa que receberá os itens
local box1 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da Caixa de Combinação
local box2 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da Caixa Final
local item1, item2 = XXXX, XXXX -- ID do ITEM1, ID do ITEM2
local reward = XXXX -- ID do Item Recompensa

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

Boa adriano, porém dava pra fazer uma tabelinha tipo assim

 

local combine = {

      {items = {2155, 2153, 2100}, = combination = {2150}}
     },
}[
/code]

 

Depois só tacar o for pra ir removendo os items :)

 

Porém, ótimo trabalho.

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites

explica isso aqui 

 

local boxid = XXXX -- ID da Caixa que receberá os itens

local box1 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da Caixa de Combinação

local box2 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da Caixa Final

local item1, item2 = XXXX, XXXX -- ID do ITEM1, ID do ITEM2

local reward = XXXX -- ID do Item Recompensa

local boxid = XXXX -- Aqui é a ID do CONTAINER que ficará no chão, onde colocará os itens.

local box1 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada do CONTAINER onde os itens que serão combinados estarão.

local box2 = {x=000, y=000, z=0, stackpos=1}  -- Coordenada da CONTAINER onde o item final aparecerá após a combinação.

local item1, item2 = XXXX, XXXX -- ID do ITEM1, ID do ITEM2 (os itens que serão combinado) Ex: 2160, 3450 (coloque a ID do Item)

local reward = XXXX -- ID do Item Recompensa

 

 

Boa adriano, porém dava pra fazer uma tabelinha tipo assim:

local combine = {

      {items = {2155, 2153, 2100}, = combination = {2150}}

     }, }

 

Depois só tacar o for pra ir removendo os items :)

Porém, ótimo trabalho.

Até dava, vi uma base do MaxWellden, mas só que achei um pouco desnecessário, ele iria checar todos os itens da BOX e criar uma tabela, acho que não precisa de tudo isso, serão usado apenas 2 itens e um item final.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

veja se estou como estou fasendo pq esta dando tudo errado kkk ajuda ae 

 

veyk5d.png2117wcl.png

15a938.png

x39541.png

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

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

O erro que está acusando na distro e porque o arquivo "ferreiro.lua" não está na pasta ou está com alguma letra escrita errada em seu nome, fazendo com que o script não seja encontrado pelo launcher.

Confira se na sua pasta "data/actions/scripts" tem o arquivo ferreiro.lua, escrito exatamente assim.

 

E por você colocar um objeto de madeira abaixo dos caixotes, agora o stackpos de ambos passará de 1 para 2, ficando assim:

local box1 = {x=1035, y=995, z=7, stackpos=2}  -- Coordenada da Caixa de Combinação
local box2 = {x=1037, y=995, z=7, stackpos=2}  -- Coordenada da Caixa Final

 

E por motivo das caixas serem diferentes, precisamos declarar a id de ambas.

Sendo a primeira o boxid1 e a segunda (de presente, baú tesouro) o boxid2.

O script ficará basicamente assim:

 

local boxid1 = 25666 -- ID da Caixa que receberá os itens
local boxid2 = XXXX -- ID da Caixa que receberá o PREMIO
local box1 = {x=1035, y=995, z=7, stackpos=2}  -- Coordenada da Caixa de Combinação
local box2 = {x=1037, y=995, z=7, stackpos=2}  -- Coordenada da Caixa Final
local item1, item2 = 8980, 5944 -- ID do ITEM1, ID do ITEM2
local reward = 8932 -- ID do Item Recompensa

function onUse(cid, item, fromPosition, itemEx, toPosition)

    local container, container2 = getTileItemById(box1, boxid1), getTileItemById(box2, boxid2)
    if container.uid > 0 then
        if container2.uid > 0 then
            if getContainerItem(container.uid, 0).uid >= 1 then
            
                if getContainerItem(container.uid, 0).itemid == item1 then
                    if getContainerItem(container.uid, 1).itemid == item2 then
                        doRemoveItem(getContainerItem(container.uid, 0).uid, 1)
                        doRemoveItem(getContainerItem(container.uid, 0).uid, 1)
                        doAddContainerItem(getThingFromPos(box2).uid, reward)
                        doPlayerSendTextMessage(cid, 4, "Parabéns pela combinação.")
                        return false
                    else
                        doPlayerSendCancel(cid, "Você precisa de um "..getItemNameById(item2).." no segundo slot para combinar.")
                    return true
                    end
                else
                    doPlayerSendCancel(cid, "Você precisa de um "..getItemNameById(item1).." no primeiro slot para combinar.")
                return true
                end

            else
                doPlayerSendCancel(cid, "Não há itens no caixote.")
            end
        else
            doPlayerSendCancel(cid, "O caixote de premiação não está no lugar correto.")
        end
    else
        doPlayerSendCancel(cid, "O caixote não está no lugar correto.")
    end
    
    return true
end

Falta só por a ID da caixa de tesouro na segunda linha do script, substituindo os XXXX e arrumar o nome do arquivo na pasta.

 

Pronto.

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Exatamente, porque os outros arquivos são "LUA" e não estão mostrando .lua diretamente no nome, então seu arquivo está assim:

ferreiro.lua.lua

Renomeie para "ferreiro" que ficará certo.

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Agora crie o arquivo "ferreiro.lua"


Amigo, quando o membro pediu para você criar um arquivo ferreiro.lua, ele quis dizer que é pra você criar um arquivo com a extensão lua e nomear o mesmo para ferreiro. Nomear um arquivo já com a extensão Lua para .lua vai ocasionar esse tipo de erro no reconhecimento da localização do arquivo, pois ele ficará como .lua.lua em vez de somente .lua.

@Nildson

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

agora entendi ! vou testar !


Ta disendo que o caixote nao está no lugar certo !

 

Malz Duopost !

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

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

O caixote de premiação ou o caixote de por itens?

Confira se as coordenadas estão corretas no script com a do Caixote InGame.

E também, confira se as IDs dos caixotes estão corretas no SCRIPT, pois pelo que vi o Caixote 1 está com a ID 25666, o que acho que está incorreta pois dependendo da sua versão vai até 20000 (vinte mil).

Da look inGame em ambos caixotes e coloque a ID correta no script.

 

Por último, caso o erro persista, se nada acima resolver, mude os stackpos de ambos caixotes para 1 no script e teste.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

tava dando essa id pq eu tava apertando na alavanca manow ! seguinte jaja testo negosso do bau das 20000 e tals e te falo ok ^^ 

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

Seguinte, é a ID do baú (id do item) que coloca e não a ActionID.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

vei por favor tem como c por os prints de como ficou ai no seu tipo tudo editadinho print por print para mim por pf dou outro rep !

Projeto em desenvolvimento ↓

u3pcnEH.png

Link para o post
Compartilhar em outros sites

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