Postado Julho 27, 2013 11 anos 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. Ot Design: https://discord.gg/VgtVRNmCD7
Postado Julho 27, 2013 11 anos 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 -
Postado Julho 27, 2013 11 anos 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 Ot Design: https://discord.gg/VgtVRNmCD7
Postado Julho 27, 2013 11 anos 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 Julho 27, 2013 11 anos por TonyHalk (veja o histórico de edições) Contato : under12451 (Skype) Meus Tutoriais O Que é DDoS ? como se Proteger Por Tony Criando Servidor Poketibia Sistemas de Vips com [VIP] No Nome Cyclops - Mistrock - 100% AFK Como Editar um NPC 8.6 [ Itens e Preços] Editando Swords 8.6 Como Editar um NPC 8.6 [VENDA]
Postado Julho 27, 2013 11 anos 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 -
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.