GniusP 30 Postado Outubro 21, 2019 Share Postado Outubro 21, 2019 Pessoal, preciso de uma script que o player usa alavanca e fica com 200 de vida, e se usar outra alavanca, ele fique com a vida que estava antes Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Outubro 22, 2019 Share Postado Outubro 22, 2019 Vai em data/actions/scripts e crie um arquivo chamado alavanca_hp.lua (ou algum nome que preferir) e adicione o seguinte código dentro: function onUse(cid, item, frompos, item2, topos) local hp_antigo = getCreatureHealth(cid) + 200 -- Pega a vida atual do player antes de clicar na alavanca local hp_alavanca = math.floor(200 - getCreatureHealth(cid)) -- HP que o jogador terá ao clicar na alavanca if item.itemid == 1945 or item.itemid == 1946 then -- Aqui o ID da alavanca que clica para ficar com 200 de vida if getCreatureHealth(cid) > 200 or getCreatureMaxHealth(cid) > 200 then -- Verifica se tem mais de 200 de vida ou se a vida máxima é maior que 200 if getPlayerStorageValue(cid, 45000) == -1 then -- Verifica se o player não tem a storage ao clicar na alavanca doCreatureAddHealth(cid, hp_alavanca) -- Deixa o HP do player com 200 de vida doSendMagicEffect(getThingPos(cid), 27) -- Efeito ao clicar na alavanca setPlayerStorageValue(cid, 45000, 1) -- Adiciona a Storage return true else doPlayerSendTextMessage(cid, 27, "Você não pode usar a alavanca com" ..hp_alavanca.. " ou menos de vida!") return true end else doPlayerSendTextMessage(cid, 27, "Você não pode clicar na alavanca porque tem 200 ou menos de vida.") return true end return true end if item.itemid == 12176 then -- Aqui é o ID da 2º alavanca, que reseta o HP do player como estava antes if getPlayerStorageValue(cid, 45000) == 1 then -- Verifica se tem storage doCreatureAddHealth(cid, hp_antigo) -- adiciona o novo HP ao player doSendMagicEffect(getThingPos(cid), 29) -- efeito doPlayerSendTextMessage(cid, 27, "Seu HP foi restaurado para "..hp_antigo.. " de vida.") setPlayerStorageValue(cid, 45000, -1) -- Remove a storage para voltar a clicar novamente return true end end end Agora vai em data/actions/actions.xml e adicione a tag: <action itemid="1945;12176" script="alavanca_hp.lua" /> <!-- Lembrando que tem que colocar os id das 2 alavancas, só substituir ali pelos seus id --> E vai em data/npc/scripts/heal.lua (ou o arquivo.lua que cura os pokémons ao falar com a Nurse) e adicione o seguinte código dentro da função onCreatureDisappear(cid, pos) if getPlayerStorageValue(cid, 45000) then setPlayerStorageValue(cid, 45000, -1) return true end Lembrando que esse código é para o caso do player clicar na alavanca que tira vida, mas não clicar na que recupera, então ao falar com a Nurse, ele perde a storage para conseguir clicar na alavanca novamente. Eu não consegui testar muito, pois estou com pouco tempo, mas testei e está ficando sempre com 200 de vida ao clicar na alavanca, mas não testei direito se ele recupera a quantidade de vida exata que estava antes de clicar na alavanca que tira vida. Teste e me diga se é isso que quer. GniusP reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Outubro 21, 2019 Share Postado Outubro 21, 2019 41 minutos atrás, GniusP disse: Versão do Servidor: TFS - 0.3.5 Tipo de Script: actions Código: Ocultar conteúdo Pessoal, preciso de uma script que o player usa alavanca e fica com 200 de vida, e se usar outra alavanca, ele fique com a vida que estava antes Se ele usar a alavanca que restaura a vida primeiro é para acontecer algo? E essa ação será sempre, ou somente 1 vez? Link para o comentário Compartilhar em outros sites More sharing options...
0 GniusP 30 Postado Outubro 21, 2019 Autor Share Postado Outubro 21, 2019 Agora, Yan18 disse: Se ele usar a alavanca que restaura a vida primeiro é para acontecer algo? E essa ação será sempre, ou somente 1 vez? Não, e poderá usar sempre... Por exemplo: Usei a alavanca que deixa minha vida em 200 Ai eu usei a alavanca que deixa a vida que estava antes de usar a alavanca que deixa a vida 200 E se eu não usar a alavanca que deixa 200, e usar essa que deixa a vida normal, não acontecerá nada Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Outubro 21, 2019 Share Postado Outubro 21, 2019 3 minutos atrás, GniusP disse: Não, e poderá usar sempre... Por exemplo: Usei a alavanca que deixa minha vida em 200 Ai eu usei a alavanca que deixa a vida que estava antes de usar a alavanca que deixa a vida 200 E se eu não usar a alavanca que deixa 200, e usar essa que deixa a vida normal, não acontecerá nada Seu servidor é tibia ou poketibia? E qual a versão do TFS? Link para o comentário Compartilhar em outros sites More sharing options...
0 GniusP 30 Postado Outubro 21, 2019 Autor Share Postado Outubro 21, 2019 Agora, Yan18 disse: Seu servidor é tibia ou poketibia? E qual a versão do TFS? Poketibia, versão 0.3.6 Link para o comentário Compartilhar em outros sites More sharing options...
0 GniusP 30 Postado Outubro 22, 2019 Autor Share Postado Outubro 22, 2019 16 horas atrás, Yan18 disse: Vai em data/actions/scripts e crie um arquivo chamado alavanca_hp.lua (ou algum nome que preferir) e adicione o seguinte código dentro: function onUse(cid, item, frompos, item2, topos) local hp_antigo = getCreatureHealth(cid) + 200 -- Pega a vida atual do player antes de clicar na alavanca local hp_alavanca = math.floor(200 - getCreatureHealth(cid)) -- HP que o jogador terá ao clicar na alavanca if item.itemid == 1945 or item.itemid == 1946 then -- Aqui o ID da alavanca que clica para ficar com 200 de vida if getCreatureHealth(cid) > 200 or getCreatureMaxHealth(cid) > 200 then -- Verifica se tem mais de 200 de vida ou se a vida máxima é maior que 200 if getPlayerStorageValue(cid, 45000) == -1 then -- Verifica se o player não tem a storage ao clicar na alavanca doCreatureAddHealth(cid, hp_alavanca) -- Deixa o HP do player com 200 de vida doSendMagicEffect(getThingPos(cid), 27) -- Efeito ao clicar na alavanca setPlayerStorageValue(cid, 45000, 1) -- Adiciona a Storage return true else doPlayerSendTextMessage(cid, 27, "Você não pode usar a alavanca com" ..hp_alavanca.. " ou menos de vida!") return true end else doPlayerSendTextMessage(cid, 27, "Você não pode clicar na alavanca porque tem 200 ou menos de vida.") return true end return true end if item.itemid == 12176 then -- Aqui é o ID da 2º alavanca, que reseta o HP do player como estava antes if getPlayerStorageValue(cid, 45000) == 1 then -- Verifica se tem storage doCreatureAddHealth(cid, hp_antigo) -- adiciona o novo HP ao player doSendMagicEffect(getThingPos(cid), 29) -- efeito doPlayerSendTextMessage(cid, 27, "Seu HP foi restaurado para "..hp_antigo.. " de vida.") setPlayerStorageValue(cid, 45000, -1) -- Remove a storage para voltar a clicar novamente return true end end end Agora vai em data/actions/actions.xml e adicione a tag: <action itemid="1945;12176" script="alavanca_hp.lua" /> <!-- Lembrando que tem que colocar os id das 2 alavancas, só substituir ali pelos seus id --> E vai em data/npc/scripts/heal.lua (ou o arquivo.lua que cura os pokémons ao falar com a Nurse) e adicione o seguinte código dentro da função onCreatureDisappear(cid, pos) if getPlayerStorageValue(cid, 45000) then setPlayerStorageValue(cid, 45000, -1) return true end Lembrando que esse código é para o caso do player clicar na alavanca que tira vida, mas não clicar na que recupera, então ao falar com a Nurse, ele perde a storage para conseguir clicar na alavanca novamente. Eu não consegui testar muito, pois estou com pouco tempo, mas testei e está ficando sempre com 200 de vida ao clicar na alavanca, mas não testei direito se ele recupera a quantidade de vida exata que estava antes de clicar na alavanca que tira vida. Teste e me diga se é isso que quer. Obrigado mano Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Outubro 23, 2019 Share Postado Outubro 23, 2019 5 horas atrás, GniusP disse: Obrigado mano De nada! Está funcionando certinho? Era isso que queria? Link para o comentário Compartilhar em outros sites More sharing options...
0 GniusP 30 Postado Outubro 23, 2019 Autor Share Postado Outubro 23, 2019 1 hora atrás, Yan18 disse: De nada! Está funcionando certinho? Era isso que queria? Simm Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Outubro 23, 2019 Share Postado Outubro 23, 2019 21 minutos atrás, GniusP disse: Simm Show! Link para o comentário Compartilhar em outros sites More sharing options...
0 Diretor Yan Liima 577 Postado Outubro 23, 2019 Diretor Share Postado Outubro 23, 2019 A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
GniusP 30
Pessoal, preciso de uma script que o player usa alavanca e fica com 200 de vida, e se usar outra alavanca, ele fique com a vida que estava antes
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados