Ir para conteúdo
  • Cadastre-se

(Resolvido)Aprender e desaprender spell


Ir para solução Resolvido por otteN,

Posts Recomendados

Olá, estou aqui pedindo uma creaturescript que faça o player aprender 3 ou mais spells quando estiver com uma determinada storage exemplo:

se a storage estiver 9900 = 1 ele aprenderá exori vis, exori flam, exori tera

se a storage estiver 9900 = 2 ele aprenderá exori frigo, exori mort, exori san

se a storage estiver 9900 = 0 ele "desaprenderá" as spells acima.

Obrigado!

Link para o post
Compartilhar em outros sites

Basta adicionar uma verificação na própria spell...
Se quiser poste o script .lua das spells que te ajudo

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Uma verificação assim?

Spoiler

    if getPlayerStorageValue(cid, 89759) == 1 then
    else
    doPlayerSendCancel(cid, "You can't cast this spell.")
    return false
    end

não é isso que eu quero, eu quero colocar needlearn na spell para ela não aparecer no comando !spells, pois eu acho feio aparecer a spell mesmo sem ter a storage.

A parte de fazer o player aprender a spell checando a storage eu consegui fazer, o que realmente eu não tenho ideia de como fazer é ele desaprender a spell.

Editado por sdnjaks (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

No XML das spells que irão precisar do learn, adicione a tag needlearn="1"

No seu creaturescript ou seja lá como for fazer para liberar as spells, você vai usar esse comando:

doPlayerLearnInstantSpell(cid, spell name)

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

ai é que tá, oq eu quero fazer é uma spell temporária, por isso preciso saber se existe algum jeito do player dar um "dislearn" pois como eu disse anteriormente, fazer o player aprender eu já sei o problema é desaprender. Mas obrigado por tentar me ajudar hushuahsahu 

Link para o post
Compartilhar em outros sites
  • Solução

No TFS 1.1 nós temos o metamétodo player:forgetSpell(nomeDaSpell), já no 0.4/0.3.6 nós temos o método doPlayerUnlearnInstantSpell(cid, nomeDaSpell). São bem intuitivos HAUEHUAEHAU
Uma dica pra pensar se os métodos existem ou não é pensar logicamente nele. Pensemos na spell, se é uma variável que armazena se o player pode ou não pode castar a spell, o que nos impediria dela ter seu valor alterado? (lógico, poderia ser uma constante, mas nao faz sentido AHEUAHUEAHU) 
 

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo