Ir para conteúdo
  • 0

npc de luta


rorix

Pergunta

galera to colocando no meu server um npc de lutar, vc fala hi, lutar, e voce começa a lutar, ai o script remove o npc e cria o monster para vc lutar...

so que tem um porem, se tiver mais player na tela o monster pode atacar outro player e nao akele que pediu para lutar, como posso corrigir?

script:

 

			selfSay("Entao vamos lutar preparese!")			local pos = getThingPos(getNpcCid())			local summonName = getCreatureName(getNpcCid())			local lookdir = getCreatureLookDirection(cid)			doRemoveCreature(getNpcCid())			local summonCid = doCreateMonster(summonName, pos)			doCreatureSetLookDirection(summonCid, lookdir)			addEvent(checkForLutador, 5000, summonName)			doMonsterSetTarget(summonCid, cid)

 

tentei adicionar a função como mostrado ali, para quando o monstro ser criado, setar o target para o player que pediu para lutar:

doMonsterSetTarget(summonCid, cid)

mas da erro no distro e nao funciona

OBS: o script funciona certinho, remove npc e cria o monstro, o problema que o monstro ta atacando qualquer um que esteja na tela, e nao setando o target para o player que pediu battle (ja deixei chance de trocar de target no monstro de 0)

[31/08/2016 03:56:57] [Error - Npc interface] [31/08/2016 03:56:57] data/npc/scripts/lutar.lua:onCreatureSay[31/08/2016 03:56:57] Description: [31/08/2016 03:56:57] (luaDoMonsterSetTarget) Creature not found

 

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

5 respostass a esta questão

Posts Recomendados

  • 0
18 minutos atrás, Lumus disse:

Porque não teleporta o player e o monstro para uma outra área? depois que ele morrer, teleporta o jogador de volta pro lugar..

exatamente os dbo usa muito isso porém ja vi um dbo que o npc vira monstro se o player morre o monstro vira npc novamente caso o player mate o npc precisa esperar o tempo de respawn até o npc aparecer novamente ....

Link para o comentário
Compartilhar em outros sites

  • 0

Da uma storage  para o summon do npc

setPlayerStorageValue(npcpoke, 1004, 1)

 

Outra para o summon do player

   setPlayerStorageValue(pokesummon, 302, 1)

 

 

depois faz uma statschange

 

if getPlayerStorageValue(cid, 1004) == 1 and getPlayerStorageValue(attacker, 302) <= 0 then
 return false
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...