Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, eu gostaria de um script que tirasse um tanto de um item X para fazer uma aposta e poder ganhar um item random, (4items)...

Alguem sabe algum script???

Editado por Copi (veja o histórico de edições)
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: "OTServScriptingActions e TalkActions"
Para: "OTServSuporte OTServSuporte de Scripts"

Link para o post
Compartilhar em outros sites

Pode ser em uma alavanca ??

Ou voce prefere talkation ?

 

Explica ai.

 

@EDIT

 

Bom, se for tipo numa alavanca, eu fiz um codigo simples aqui, e deve resolver.

local config = {
      [0] = { item = 2160 , count = 10 }   ,
      [1] = { item = 2160 , count = 10 }   ,
      [2] = { item = 2160 , count = 10 }   ,
      [3] = { item = 2160 , count = 10 }   ,
      [4] = { removeItem = 2160 , count = 1 } 
}

function onUse(cid, item, frompos, item2, topos)
         if(doPlayerRemoveItem(cid, config[4].removeItem, config[4].count)) then
            doPlayerSendTextMessage(cid,22,"Aposta realizada! Aguarde o resultado!")
            local sort = config[math.random(0, #config -1)]
            doPlayerAddItem(uid, config[sort].item, config[sort].count)
         else
            doPlayerSendTextMessage(cid,22,"Você não possui dinheiro suficiente para fazer a aposta!")    
            end     
return true
end

Só mudar os ID dos items, e a quantidade que vai ganhar, e o id e qnt do item que vai retirar do player.

Depois, adicionar action id na alavanca no RME e adicionar uma linha no actions.xml.

 

Essas apostas podem ser feitas várias vezes. E é muito simples.

 

Se possível +REP

-GstavoLiber

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

Era essa mesmo, deu erro amigo..

[Error - Action Interface] 
[1/4/2014 13:8:35] data/actions/scripts/surprise2.lua:onUse
[1/4/2014 13:8:35] Description: 
[1/4/2014 13:8:35] data/actions/scripts/surprise2.lua:13: attempt to index field '?' (a nil value)
[1/4/2014 13:8:35] stack traceback:
[1/4/2014 13:8:35] data/actions/scripts/surprise2.lua:13: in function <data/actions/scripts/surprise2.lua:9>
Link para o post
Compartilhar em outros sites

Substitui por esse:

local config = {
      [1] = { item = 2160 , count = 10 }   ,
      [2] = { item = 2160 , count = 10 }   ,
      [3] = { item = 2160 , count = 10 }   ,
      [4] = { item = 2160 , count = 10 }   ,
      [5] = { removeItem = 2160 , count = 1 } 
}

function onUse(cid, item, frompos, item2, topos)
         if(doPlayerRemoveItem(cid, config[4].removeItem, config[4].count)) then
            doPlayerSendTextMessage(cid,22,"Aposta realizada! Aguarde o resultado!")
            local sort = config[math.random(1, #config -1)]
            doPlayerAddItem(uid, config[sort].item, config[sort].count)
         else
            doPlayerSendTextMessage(cid,22,"Você não possui dinheiro suficiente para fazer a aposta!")    
            end     
return true
end
Link para o post
Compartilhar em outros sites

Mesmo erro, 

 
[1/4/2014 17:3:1] [Error - Action Interface] 
[1/4/2014 17:3:1] data/actions/scripts/surprise2.lua:onUse
[1/4/2014 17:3:1] Description: 
[1/4/2014 17:3:1] data/actions/scripts/surprise2.lua:13: attempt to index field '?' (a nil value)
[1/4/2014 17:3:1] stack traceback:
[1/4/2014 17:3:1] data/actions/scripts/surprise2.lua:13: in function <data/actions/scripts/surprise2.lua:9>
Link para o post
Compartilhar em outros sites

Bom, desculpe pela demora, tenho faculdade a noite, e trabalho durante o dia, aqui vai:

 

Já testei e funcionou.

Na alavanca, muda o número que você pois em action para 0, e coloque o numero que tinha antes em actionid, poe em uniqueid, depois salva o mapa.

Ai, na actions.xml, mude a tag que tinha antes para:

<action uniqueid="NUMERO" script="nomeDoArquivo.lua"/>

Agora, nos scripts, mude o que vc tinha para:

local config = {
      [1] = { item = 2470 }   ,
      [2] = { item = 2466 }   ,
      [3] = { item = 2471 }   ,
      [4] = { item = 2160 }   ,
      [5] = { removeItem = 2160 , count = 1 }
}

function onUse(cid, item, frompos, item2, topos)
         local own = getPlayerItemCount(cid, config[5].removeItem)
         if item.uid == 8787 then  -- uniqid que vai na alavanca
            if(own > 0) then
               doPlayerRemoveItem(cid, config[5].removeItem, config[5].count)
               doPlayerSendTextMessage(cid,22,"Aposta realizada! Aguarde o resultado!")
               local sort = config[math.random(1, #config -1)].item
               if(sort == 2160) then
                 item_uid = doPlayerAddItem(cid, sort, 10)  -- 10 é quantidade de item se for crystal coin
                 doPlayerSendTextMessage(cid,22,"Você recebeu seu prêmio !")
                 return true
                 else
                     item_uid = doPlayerAddItem(cid, sort, 1)  -- 1 é a quantidade do item normal (n empilhavel)
                     doPlayerSendTextMessage(cid,22,"Você recebeu seu prêmio !")
                     return true
                     end
            else
                doPlayerSendTextMessage(cid,22,"Você não possui dinheiro suficiente para fazer a aposta!")
                return false
            end
         end     
end

Espero ter ajudado, foi dificil portanto se possível contribui com um +REP =)

 

-GstavoLiber

Editado por GstavoLiber (veja o histórico de edições)
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