Ir para conteúdo
Entre para seguir isso  
ravelont

Soft Boots - Recarregando 'On Use'.

Recommended Posts

ravelont    3
ravelont

Soft Boots - Recarregando 'On Use'.

Procurei aqui e não achei esse script para download, então resolvi fazer.

 

O script funciona da seguinte forma: você da use na velha Soft Boots e aparece uma nova, removendo 10k do personagem.

 

Apesar do script não está bem estruturado, estando cheio de gambiarras, é um dos meus primeiros scripts, então tenho um desconto né? kkk

 

Nome: Soft Boots - Recarregando 'On Use'.

Autor: Ravelont

Versão Testada: T.F.S 0.3.6 8.54

Comentários: Recarregando sua Soft Boots dando use.

 

Instalando o Script:

1º: Va em \data\actions\scripts\ e crie um arquivo chamado soft.lua e adicione isto:

 

 

-- Soft Boots Script by Ravelont
function onUse(cid, item, fromPosition, itemEx, toPosition)

-- Itens configuravéis.
local t = {money = 10000, item = 10021, newitem = 2640}

 if getPlayerItemCount(cid,t.item,1) then
 if PlayerRemoveMoney(cid,t.money) then
   doPlayerRemoveItem(cid,t.item,1)
   doPlayerAddItem(cid,t.newitem,1)	
   doSendMagicEffect(fromPosition, CONST_ME_POFF)
   doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got a brand new pair of soft boots.")
 else
   doPlayerSendCancel(cid, "Sorry, is not possible.")
 end
 else
   doPlayerSendCancel(cid, "Sorry, you need a " .. t.money .. " gold pieces.")
 end
 end
return true
end

2º: Vá em \data\actions\actions.xml e adicione essa tag:

<action itemid="10021" script="soft.lua" />

 

3º: Agora é só curtir o seu novo script! :)

Editado por ravelont
Formatação

Compartilhar este post


Link para o post
Flatronez    1
Flatronez

Movido.

aprovado.png

Compartilhar este post


Link para o post
Half Blood    0
Half Blood

Cara, só algumas dicas... Não tou criticando nem nada, na verdade tive a msm ideia, mas era por troca equivalente...

 

1. - (local money = 1) ~> Não precisaria desta linha, poderia ser configurado e explicado já na hora de tira nas funções. Isso diminuiria um pouco o script...

 

2. - (if getPlayerItemCount(cid,2160,money) and getPlayerItemCount(cid,10021,1) then) ~> Seria melhor se botasse getPlayerMoney, pq ai pegaria o dinheiro todo do cara, independente do tipo de moeda. Se for akele cara q gosta de quantidade e tiver com 100 platinum coins, axo eu q não iria contar, pq pegou o item 2160(c.coin), e o platinum coin é 2152...

 

3. - (doPlayerRemoveItem(cid,10021,1)) ~> Nunca utiliza esse ai pq c o player botar o item no chão e der use, qdo fizer a verificação n vai achar esse item ai no inventario do player. Nessa situação sua, estah correta, pq vc fez a verificação se o player tem o item antes, mas c botasse soh o doRemoveItem, nao precisaria colocar a verificação antes.

 

4. - (<action itemid="2640" script="soft.lua" />) ~> dá a intender q qdo der use no item 2640(soft boots original) vai ocorrer a action, e c qdo der use na soft e n tiver o worn soft boots, n vai aconteer nada, seria melhor botar o id da worn soft boots e deixar o script assim:

 

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

if item.itemid == 10021 then

if getPlayerMoney(cid) >= 10000 then

doPlayerRemoveMoney(cid,10000)

doRemoveItem(item.uid,1)

doPlayerAddItem(cid,6132,1)

doSendMagicEffect(fromPosition, 2)

else

doPlayerSendCancel(cid,"Sorry, is not possible")

end

end

return true

end

 

E a tag:

 

<action itemid="10021" event="script" value="soft.lua" />

 

Assim eu acho que o script ficou mais fácil de entender, pelo menos para mim...

Vlw, ficou ótimo pra iniciante, soh tente acrescentar essas dicas ao seu acervo...

Compartilhar este post


Link para o post
ravelont    3
ravelont

Eu errei a id da tag actions.xml obrigado por me corrigir, é sou iniciante, estou com um pouco de falta de estrutura no scripts a variavel eu coloquei pois como disponibilizei o script para download, vai facilitar para quem quiser pegar, mas muito obrigado levei todas as suas idéias em consideração.

Compartilhar este post


Link para o post
josejunior23    2
josejunior23
local config = { 
   price = 10000, -- 10.000 gold coins = 10k 
   oldSoftId = 3434, -- id da soft boots antiga 
   newSoftId = 2640 -- id da nova softboots 
} 

function onUse(cid, item, fromPosition, itemEx, toPosition) 
   if getPlayerItemCount(cid, config.OldSoftId) < 1 then 
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, it\'s not possible.") 
       return TRUE 
   end     

   if doPlayerRemoveMoney(cid, config.price) == TRUE then 
       doPlayerRemoveItem(cid, config.oldSoftId, 1) 
       doPlayerAddItem(cid, config.NewSoftId, 1)  
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got a brand new pair of soft boots.") 
   else 
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you don\'t have enough money.") 
   end 
   return TRUE 
end 

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×