Ir para conteúdo

Bestiário


felzan

Posts Recomendados

fui tentar fazer mas não sei como...

creio que tenha de usar actions e creaturescripts

assim:

toda vez que o player matar um monstro, esse monstro é adicionado num livro, ex:

[28] Rat
[12] Rotworm

o nº do lado significa quantas vezes eu matei o monstro.

não sei o ID do livro mas poderia ser esse 'Unholy Book', se não for esse eu arrumo.

se tiverem duvidas, vou tentar esclarecer o mais rapido que puder...

 

+uma duvida, se depois eu quiser adicionar umas quests que precise matar 40 rotworm, faço como?

Editado por felzan
Link para o comentário
Compartilhar em outros sites

felzan,


Sobre o bestiário, estarei dando uma olhada na idéia e tentarei desenvolver-la,

 

Sobre a quest, você pode fazer uma ligação entre creaturescript e NPC

No caso, o creaturescript pode ser desenvolvido da seguinte maneira,

 

local config = {
  storage = 65535
}

function onKill(cid, target)
  if(getPlayerStorageValue(cid, config.storage) == -1)then
     setPlayerStorageValue(cid, config.storage, 0)
  end   

  if(getCreatureName(target) == "Rotworm")then
     setPlayerStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
  end   
  registerCreatureEvent(cid, "RotwormCounter")
end

 

E então, basta criar um NPC que verifique o valor da variável (storage), seguindo a idéia abaixo.

 

if(msgcontains(msg, 'quest'))then
  npcHandler:say("Tem uma praga de Rotworms no bueiro da cidade, quando anoitece, um cheio horr\ivel sobe a superfície. Você poderia matar 40 Rotworms para mim?", cid)
  talkState[talkUser] = 1
end

if(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
  npcHandler:say("Muito obrigado! Estarei esperando pela confirmação!")
elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then
  npcHandler:say("É uma pena mesmo!", cid)
end

if(msgcontains(msg, 'rotworm')) then
  npcHandler:say("Você matou 40 rotworms?")
  talkState[talkUser] = 2
end

if(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
  if getPlayerStorageValue(cid, 65535) >= 40 then
     npcHandler:say("Obrigado, aqui está sua recompensa")
     E_MAIS_UM_MONTE_DE_PROGRAMAÇÕES
  end
end

 

Espero que tenha entendido!


 

Cya

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

isso ajuda muito, principalmente a eu intender, sobre script, vlw.

isso seria o que?

E_MAIS_UM_MONTE_DE_PROGRAMAÇÕES

outras coisas que vem depois, e tals?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...