Postado Dezembro 30, 2014 10 anos Autor Solução Entendi o que vocês querem dizer. Analisem, por favor, para ver se meu raciocínio está certo: O Player termina a Missão do Nível "10" e recebe a Storage: 4001, 1 (que é a Storage de checagem da Missão do Nível "20"). Ao alcançar o Nível "20", eu uso script abaixo para fazer com que o Jogador receba a Storage: 4001, 2 (que é a verdadeira Storage da Missão Nível "20"). function onAdvance(cid, skill, oldLevel, newLevel) level = 20 -- newLevel stor = {4001, 1, 2} -- {storage, oldValue, newValue} if skill == SKILL__LEVEL and newLevel == level and getPlayerStorageValue(cid, stor[1]) == stor[2] then doPlayerSetStorageValue(cid, stor[1], stor[3]) end return true end Caso o jogador já tiver Nível superior ao 20, depois de realizar a missão Nível "10" eu coloco um "if" verificando se o jogador tem nível superior ao 20. Se ele tiver eu adiciono de cara a Storage: 4001, 2. E então, é assim?
Postado Dezembro 30, 2014 10 anos Caso o jogador já tiver Nível superior ao 20, depois de realizar a missão Nível "10" eu coloco um "if" verificando se o jogador tem nível superior ao 20. Se ele tiver eu adiciono de cara a Storage: 4001, 2. E então, é assim? Não pensei nessa parte de um level superior a 20 ir fazer a quest.. Já que você quer que o questlog seja atualizado assim que o player já tiver concluído a quest de level 10 e tiver no mínimo level 20, a solução seria um creature event think, pra alterar o value do storage instantaneamente (mesmo que utilize RAM pra caralho). Se alguém tiver outra ideia, por favor, compartilhe. function onThink(cid) level = 20 stor = {4001, 1, 2} -- {storage, oldValue, newValue} if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid, stor[1]) == stor[2] then doPlayerSetStorageValue(cid, stor[1], stor[3]) end return true end Deve funcionar. Registre o creature event em login.lua Editado Dezembro 30, 2014 10 anos por Suicide (veja o histórico de edições) The corrupt fear us. The honest support us. The heroic join us.
Postado Dezembro 31, 2014 10 anos Autor Seria tão mais fácil se no Quest.xml tivesse a opção: level="20" Mas irei tentar suas sugestões. Obrigado pela resposta. Caso o jogador já tiver Nível superior ao 20, depois de realizar a missão Nível "10" eu coloco um "if" verificando se o jogador tem nível superior ao 20. Se ele tiver eu adiciono de cara a Storage: 4001, 2. Só lembrando que quando eu mencionei que iria colocar o "if", eu quis dizer que iria colocá-lo no NPC. A missão será pega com ele. No NPC: Se o Jogador tiver nível inferior ao 20, ao finalizar a missão do Nível "10", ele recebe a storage de checagem [4001, 1], para que quando alcança-se o Nível 20, eu utiliza-se o onAdvance para adicionar a storage correta da missão [4001, 2]. Caso o Player tiver nível superior ao 20, ao entregar a missão de Nível "10" ao NPC, eu colocaria para o NPC verificar se o jogador tem Nível 20 [if]. Se tiver, eu adicionaria ao player de cara a storage correta da missão do Nível "20" [4001, 2]. Editado Dezembro 31, 2014 10 anos por Frenesy (veja o histórico de edições)
Postado Dezembro 31, 2014 10 anos No NPC: Se o Jogador tiver nível inferior ao 20, ao finalizar a missão do Nível "10", ele recebe a storage de checagem [4001, 1], para que quando alcança-se o Nível 20, eu utiliza-se o onAdvance para adicionar a storage correta da missão [4001, 2]. Caso o Player tiver nível superior ao 20, ao entregar a missão de Nível "10" ao NPC, eu colocaria para o NPC verificar se o jogador tem Nível 20 [if]. Se tiver, eu adicionaria ao player de cara a storage correta da missão do Nível "20" [4001, 2]. Sim. Se você tivesse mencionado sobre o NPC, eu teria sugerido a mesma ideia; mas ali deu o parecer de colocar a estrutura de controle no creature event. Bom, é isso. The corrupt fear us. The honest support us. The heroic join us.
Postado Dezembro 31, 2014 10 anos Autor Se você tivesse mencionado sobre o NPC, eu teria sugerido a mesma ideia; mas ali deu o parecer de colocar a estrutura de controle no creature event. Um Detalhe faz toda a diferença! Obrigado!
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.