Postado Junho 17, 2017 7 anos Olá novamente pessoas, Recentemente (ontém e.e) eu adicionei uma stone ao server, peguei como base o script de uma stone que já funcionava antes e, deu certo... Quase. Acontece assim: A stone funciona, evolui o poke normalmente, remove o item da bag após uso e o poke aparece na ball... Tudo ok, certo? O problema é: O poke vem com 130 de HP ;-; Ele volta ao normal se morrer uma vez ou voltar p ball e for posto p fora novamente, mas acho meio chato isso, por dois motivos: 1°. A felicidade do pokémon é totalmente zerada, e no meu servidor, pokémon triste = pokémon fraco; 2°. É chato para o player ter que, sempre que evoluir um poke com esta stone, ficar colocando o poke de volta na ball. Quando usa a stone, aparece o seguinte erro: [Error - Action Interface] attempt to index local 'getShinyPokeballs' (a nil value) Não entendi este erro, sei que fala sobre um valor nulo, mas não sei o que significa. Obs.: Nunca vi ou ouvi sobre Shiny Pokeball no server. Por favor, me ajudem? (deve estar ficando chato ver tantos posts meu pedindo ajuda... um dia trago algo p vcs, mesmo q demore um tempo rsrs) Editado Junho 18, 2017 7 anos por Yukari Moon (veja o histórico de edições)
Postado Junho 17, 2017 7 anos Como você quer que alguem te ajuda se você não disponibiliza a script ?
Postado Junho 18, 2017 7 anos Autor Sorry, nem pensei nisso Aqui está: Spoiler local evo = { ["Mega Manectric"] = {"Black Mega Manectric", 1}, } local balls = { [2391] = {newBall = 2391}, [2392] = {newBall = 2392}, [2393] = {newBall = 2393}, [2394] = {newBall = 2394}, } function onUse(cid, item, fromPosition, itemEx, toPosition) if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then local monster = getCreatureName(itemEx.uid) if evo[monster] then if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then doPlayerSendTextMessage(cid, 27, "Parabens! Seu "..getPokeName(itemEx.uid).." evoluiu para"..evo[monster][1].."!") local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid) doSendMagicEffect(getThingPos(itemEx.uid), 18) doRemoveCreature(itemEx.uid) doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1) doRemoveItem(item.uid, 1) doSummonMonster(cid,evo[monster][1]) local pokeball = getPlayerSlotItem(cid, 8) doItemSetAttribute(pokeball.uid, "poke", evo[monster][1]) doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level) doItemSetAttribute(ball, "hp", 1) doItemSetAttribute(ball, "happy", 110) local pk = getCreatureSummons(cid)[1] local getShinyPokeballs = balls[getPlayerSlotItem(cid, 8).itemid] doTransformItem(getPlayerSlotItem(cid, 8).uid, getShinyPokeballs.newBall) adjustStatus(pk, pokeball.uid, true, false, true) return TRUE else return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!") end end end return FALSE end Localizado em data > actions > scripts Se precisar saber como está em actions.xml ou algum outro, diga. Mas creio que não seja preciso, já que a Stone funciona no jogo.
Postado Junho 18, 2017 7 anos Troque : doItemSetAttribute(ball, "hp", 1) Por : doItemSetAttribute(ball, "hp", maxHealth)
Postado Junho 18, 2017 7 anos Autor Troquei, mas não deu certo. A evolução continua ocorrendo, mas o pokémon continua aparecendo com a vida baixa. Edit: Acabei de reparar também que aparece um erro (mas não sei qual seria ele) também nessa linha: function onUse(cid, item, fromPosition, itemEx, toPosition) Editado Junho 18, 2017 7 anos por Yukari Moon (veja o histórico de edições)
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.