Ir para conteúdo

Featured Replies

Postado

Gostaria de um script, que ao logar pela primeira vez o player recebe um amuleto no slot e ele não pode removê-lo.

Ao upar de level esse amuleto é trocado por outro, que não pode remover.

Ao upar novamente ele é trocado e assim por diante.

Não sei se é fácil ou se é um desafio, mas estou a procura desse script desde o ano passado, dou 2REP+ pra quem conseguir me ajudar.

  • Respostas 13
  • Visualizações 720
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local amuletos = {        [1] = 2130,        [2] = 2131,        [3] = 2132,        [4] = 2133,        [5] = 2135,        [6] = 2136,     }       function onLogin(cid)        if getPlayerLastLoginSaved

Postado

Cria um dois itens no otb que tenham a opção de não ser móvel. Anote os ids deles, e depois crie os itens no xml com as respectivas informações dos amuletos que você quiser.

 

Depois instale esse script:

 

local amuleto1 = 2170
local amuleto2 = 2171
 
function onLogin(cid)
   if getPlayerLastLoginSaved(cid) < 1 then
      doPlayerAddItem(cid, amuleto1)
   end
   
   if getPlayerItemCount(cid, amuleto1) > 0 then
      registerCreatureEvent(cid, "AmuletoChange")
   end
 
   return true
end
 
function onAdvance(cid, skill, oldlevel, newlevel)
   if skill == 8 and getPlayerItemCount(cid, amuleto1) > 0 then
      doPlayerRemoveItem(cid, amuleto1)
      doPlayerAddItem(cid, amuleto2)
   end
 
   return true
end

 

<event type = "login" name = "LoginAmuleto" event = "script" value = "Amuletos.lua" />
<event type = "advance" name = "AmuletoChange" event = "script" value = "Amuletos.lua" />

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Postado
  • Autor

mas no caso são 40 amuletos, como funciona pra adicionar mais no script?

 

--

 

Não consigo dat editor pra versão que eu uso: 9.44

Tem como fazer um script pra não poder remover o item?

eu tentei esse mas não consegui desenvolver ele:

function onDeEquip(cid, target, item, targetItem)
local itemsnoMove = {2173}
if (isInArray(itemsnoMove, item.itemid)) then
doPlayerSendCancel (cid, "You can't move this item.")
return false
end
return true
end
Postado
local amuleto1 = 21..
local amuleto2 = 21..
local amuleto3 = 21..
local amuleto4 = 21..
local amuleto5 = 21..
local amuleto6 = 21..
local amuleto7 = 21..
local amuleto8 = 21..
local amuleto9 = 21..
local amuleto10 = 21..

function onLogin(cid)
   if getPlayerLastLoginSaved(cid) < 1 then
      doPlayerAddItem(cid, amuleto1)
   end
   
   if getPlayerItemCount(cid, amuleto1) > 0 then
      registerCreatureEvent(cid, "AmuletoChange")
   end
 
   return true
end
 
function onAdvance(cid, skill, oldlevel, newlevel)
   if skill == 8 and getPlayerItemCount(cid, amuleto1) > 0 then
      doPlayerRemoveItem(cid, amuleto1)
      doPlayerAddItem(cid, amuleto2)
      doPlayerRemoveItem(cid, amuleto2)
      doPlayerAddItem(cid, amuleto3)
      doPlayerRemoveItem(cid, amuleto3)
" vai colocando todos os amuletos"
   end
 
   return true
end

Troca os IDS

e Colocando

      doPlayerRemoveItem

      doPlayerAddItem

 

é assim MaXwEllDeN ?

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

Postado
local amuleto1 = 21..
local amuleto2 = 21..
local amuleto3 = 21..
local amuleto4 = 21..
local amuleto5 = 21..
local amuleto6 = 21..
local amuleto7 = 21..
local amuleto8 = 21..
local amuleto9 = 21..
local amuleto10 = 21..

function onLogin(cid)
   if getPlayerLastLoginSaved(cid) < 1 then
      doPlayerAddItem(cid, amuleto1)
   end
   
   if getPlayerItemCount(cid, amuleto1) > 0 then
      registerCreatureEvent(cid, "AmuletoChange")
   end
 
   return true
end
 
function onAdvance(cid, skill, oldlevel, newlevel)
   if skill == 8 and getPlayerItemCount(cid, amuleto1) > 0 then
      doPlayerRemoveItem(cid, amuleto1)
      doPlayerAddItem(cid, amuleto2)
      doPlayerRemoveItem(cid, amuleto2)
      doPlayerAddItem(cid, amuleto3)
      doPlayerRemoveItem(cid, amuleto3)
" vai colocando todos os amuletos"
   end
 
   return true
end

Troca os IDS

e Colocando

      doPlayerRemoveItem

      doPlayerAddItem

 

é assim MaXwEllDeN ?

 

 

Não, não seria assim, se você ler o que está acontecendo ai, ele adiciona todos amuletos e remove NO MESMO INSTANTE. Ou seja, o player só ficaria com o último amuleto, SEMPRE, toda vez que ele upasse ele ia receber todos os amuletos, e remover todos, menos o último.

 

@Daniel

Ah, todo level vai ser um amuleto diferente? Então faz assim:

local amuletos = {2170, 2171, 2172, 2173, 2174, 2175}
 
function onLogin(cid)
   if getPlayerLastLoginSaved(cid) < 1 then
      doPlayerAddItem(cid, amuletos[1])
   end
   
   if getPlayerItemCount(cid, amuleto1) > 0 then
      registerCreatureEvent(cid, "AmuletoChange")
   end
 
   return true
end
 
function onAdvance(cid, skill, oldlevel, newlevel)
   if skill == 8 then 
      for index, id in ipairs(amuletos) do
         if getPlayerItemCount(cid, id) > 0 and amuletos[index + 1] then
            doPlayerRemoveItem(cid, id)
            doPlayerAddItem(cid, amuleto[index + 1])
            break
         end
      end
   end
 
   return true
end
local amuletos = {2170, 2171, 2172, 2173, 2174, 2175}

Nessa tabela você vai adicionando o id dos amuletos, na ordem que eles vão ser trocados.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo