Ir para conteúdo
  • Cadastre-se

(Resolvido)Quest Log: Dúvida Rápida


Ir para solução Resolvido por Frenesy,

Posts Recomendados

Quest Log para aparecer é por storage seu eu ainda me lembro, se você diz aparecer nivel da quest que ele se encontra basta colocar uma storage dentro do script da quest,

se for por level próprio crie um script que ao alcançar "X" level receba "Y" storage que libere no quest log.Acho que é mais ou menos isso..

Editado por MarcosFraga (veja o histórico de edições)

Donate

 

Link para o post
Compartilhar em outros sites

Quest Log para aparecer é por storage seu eu ainda me lembro, se você diz aparecer nivel da quest que ele se encontra basta colocar uma storage dentro do script da quest, se for por level próprio crie um script que ao alcançar "X" level receba "Y" storage que libere no quest log.Acho que é mais ou menos isso..

 

Obrigado por responder. No entanto, já pensei nessas possibilidades. Veja:

 

  • Tenho uma Missão para Nível "10", por exemplo. Essa missão é um requisito obrigatório para aparecer outra missão no Nível "20" para dar continuidade á história.
  • Ao terminar a Missão do Nível "10", o Player ganha a Storage necessária para iniciar a Missão do Nível "20", no entanto, eu só quero que a Missão do Nível "20" apareça no Quest Log, APENAS quando o player alcança-se o nível exigido.

 

O que no Momento está acontecendo comigo:

  • Eu termino a Missão do Nível "10" e ganho a Storage para iniciar a missão no Nível "20".
  • Assim que eu termino a missão do Nível "10", no Quest Log, aparece a descrição da Missão do Nível "20".
  • Só que eu queria que aparece-se a descrição dessa missão no Quest Log APENAS quando o player alcança-se o Nível "20".

 

 

Deu pra entender?

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

Obrigado por responder. No entanto, já pensei nessas possibilidades. Veja:

 

  • Tenho uma Missão para Nível "10", por exemplo. Essa missão é um requisito obrigatório para aparecer outra missão no Nível "20" para dar continuidade á história.
  • Ao terminar a Missão do Nível "10", o Player ganha a Storage necessária para iniciar a Missão do Nível "20", no entanto, eu só quero que a Missão do Nível "20" apareça no Quest Log, APENAS quando o player alcança-se o nível exigido.

 

O que no Momento está acontecendo comigo:

  • Eu termino a Missão do Nível "10" e ganho a Storage para iniciar a missão no Nível "20".
  • Assim que eu termino a missão do Nível "10", no Quest Log, aparece a descrição da Missão do Nível "20".
  • Só que eu queria que aparece-se a descrição dessa missão no Quest Log APENAS quando o player alcança-se o Nível "20".

 

 

Deu pra entender?

Dá para fazer um novo jogo de storages, só vai custar mais uma, faz assim, quando alcançar level 10, que terminar esta missão, poe para ganhar uma storage diferente da de level 20, dai quando chegar no level 20 checa se tem essa storage, se tiver, adiciona a storage certa do level 20, é simples :D

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

As ideias dos membros são boas. Mas no caso, você teria que fazer por values diferentes e não por storages diferentes, já que, pelo quests.xml, não dá pra acrescentar outros storages na missão. Apenas os values dos states.


Faça com que o cid receba um value depois que completar a missão de level 10, que será checado ao alcançar o level 20. E então esse value será alterado para o value do state da missão de level 20, fazendo com que ela apareça no questlog como você quer.




Você pode usar o creature event advance para isso.

Ex:

function onAdvance(cid, skill, oldLevel, newLevel)
    level = 20 -- newLevel
    stor = {1234, 5, 6} -- {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

PS: Não esqueça de registrá-lo em login.lua

Editado por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites
  • 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?  ;)

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites
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 por Suicide (veja o histórico de edições)

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

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 por Frenesy (veja o histórico de edições)

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

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.

Link para o post
Compartilhar em outros sites

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!  :P

Obrigado!

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo