Postado Abril 15, 2021 4 anos Salve! Estou com um projeto e para ajudar os players a progredirem mais facilmente pensei em fazer um script de uma box que da itens. Funcionaria da seguinte maneira: Ao criar o char e entrar no server pela primeira vez a box já vai estar na sua bolsa. Até essa parte tudo bem, até porque ela faz parte de outra script. kkk... Bom, agora sim, esse script deve fazer com que eu só consiga usar essa box quando eu atingir o lvl 15. Ao clicar nessa box eu irei ganhar vários itens, e um deles será outra box que eu só vou poder abrir no lvl 30. Ao clicar nessa box eu irei ganhar vários itens e outra box que eu só vou poder abrir no lvl 60. Ao abrir essa box eu irei ganha vários itens e fim. Acabou por aí. Alguém consegue me ajudar a fazer esse script? Estou usando como base um servidor DxP
Postado Abril 17, 2021 4 anos Não prefere um script que ao player alcançar determinado level ele receba tal item ? Iria ter de criar apenas 3 scripts, do seu modo iria ter de usar 3 itens para as box.
Postado Abril 17, 2021 4 anos Autor 13 minutos atrás, WhiteBubble disse: Não prefere um script que ao player alcançar determinado level ele receba tal item ? Iria ter de criar apenas 3 scripts, do seu modo iria ter de usar 3 itens para as box. Eu pensei nisso e até já tenho um sistema assim, mas eu queria mudar e deixar do jeito que eu falei porque desse modo o player ao entrar no server já vai ver o item. Com isso ele vai se sentir motivado para upar, para descobrir o que tem ali dentro. Ele vai saber que ao atingir um determinado level ele irá ganhar uma recompensa. Isso da um objetivo para o player. Entendeu? Mas eu não estou conseguindo fazer, pode me ajudar?
Postado Abril 18, 2021 4 anos Solução Desculpa a demora pra fazer, eu estava muito ocupado com meu servidor, mas te respondendo, segue abaixo o pedido. Em actions, scripts crie um arquivo com nome "boxlvl25.lua" e adicione dentro: Spoiler function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) < 25 then -- Level necessario pra abrir a box doPlayerSendTextMessage(cid, 27, "Voce precisa de level 25 ou mais para abrir essa box") return true elseif getPlayerLevel(cid) >= 25 then -- Level necessario pra abrir a box boxstatus = getPlayerStorageValue(cid,55931)-- Alterar o id "55931" pra cada box, pode ser qualquer numero. if boxstatus == -1 then else doPlayerSendCancel(cid,"Voce ja abriu essa box ou nao tem level necessario.") return true end doPlayerAddItem(cid, 2160, 1) -- cid, id_do_item, quantidade doPlayerAddItem(cid, 2160, 1) doSendAnimatedText(getCreaturePosition(cid), "!.Parabens.!", 200) setPlayerStorageValue(cid, 55931,1) -- Alterar o id "55931" para o numero que colocou acima. doRemoveItem(item.uid, 1) return true end end Agora em actions.xml adicione: <action itemid="id_da_box" event="script" value="boxlvl25.lua"/> Explicando o script, cada box que for criar você vai ter que alterar o storage por um valor diferente, no exemplo ai ta "55931" então na proxima box vai ter que ser "55932" ou qualquer outro numero, assim por diante, esse metodo e para o player não ficar criando varios personagens pra pegar a box e usar em um personagem só. Para mudar o level que vai usar a box é em: getPlayerLevel(cid) < 25 , onde ta 25 é o level necessario e abaixo tem mais um getPlayerlevel que tambem deve ser alterado. Agora pra adicionar os itens que vai ganhar você altera nessa parte doPlayerAddItem(cid, 2160, 1) Onde esta 2160 é o id do item que vai ganhar e o 1 logo após é a quantidade se quiser adicionar mais itens é só copiar esse pedaço e adicionar abaixo dessa maneira: doPlayerAddItem(cid, 2159, 1) doPlayerAddItem(cid, 2162, 1) doPlayerAddItem(cid, 2160, 1) Qualquer duvida só perguntar. Editado Abril 18, 2021 4 anos por WhiteBubble (veja o histórico de edições)
Postado Abril 18, 2021 4 anos Autor 27 minutos atrás, WhiteBubble disse: Desculpa a demora pra fazer, eu estava muito ocupado com meu servidor, mas te respondendo, segue abaixo o pedido. Em actions, scripts crie um arquivo com nome "boxlvl25.lua" e adicione dentro: Ocultar conteúdo function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) < 25 then -- Level necessario pra abrir a box doPlayerSendTextMessage(cid, 27, "Voce precisa de level 25 ou mais para abrir essa box") return true elseif getPlayerLevel(cid) >= 25 then -- Level necessario pra abrir a box boxstatus = getPlayerStorageValue(cid,55931)-- Alterar o id "55931" pra cada box, pode ser qualquer numero. if boxstatus == -1 then else doPlayerSendCancel(cid,"Voce ja abriu essa box ou nao tem level necessario.") return true end doPlayerAddItem(cid, 2160, 1) -- cid, id_do_item, quantidade doPlayerAddItem(cid, 2160, 1) doSendAnimatedText(getCreaturePosition(cid), "!.Parabens.!", 200) setPlayerStorageValue(cid, 55931,1) -- Alterar o id "55931" para o numero que colocou acima. doRemoveItem(item.uid, 1) return true end end Agora em actions.xml adicione: <action itemid="id_da_box" event="script" value="boxlvl25.lua"/> Explicando o script, cada box que for criar você vai ter que alterar o storage por um valor diferente, no exemplo ai ta "55931" então na proxima box vai ter que ser "55932" ou qualquer outro numero, assim por diante, esse metodo e para o player não ficar criando varios personagens pra pegar a box e usar em um personagem só. Para mudar o level que vai usar a box é em: getPlayerLevel(cid) < 25 , onde ta 25 é o level necessario e abaixo tem mais um getPlayerlevel que tambem deve ser alterado. Agora pra adicionar os itens que vai ganhar você altera nessa parte doPlayerAddItem(cid, 2160, 1) Onde esta 2160 é o id do item que vai ganhar e o 1 logo após é a quantidade se quiser adicionar mais itens é só copiar esse pedaço e adicionar abaixo dessa maneira: doPlayerAddItem(cid, 2159, 1) doPlayerAddItem(cid, 2162, 1) doPlayerAddItem(cid, 2160, 1) Qualquer duvida só perguntar. Funcionou perfeitamente, muito obrigado, de coração mesmo. Só preciso colocar como item único agora. Vlww
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.