Ir para conteúdo
  • Cadastre-se

(Resolvido)CreatureEvent OnKill, teleport


Ir para solução Resolvido por MaTTch,

Posts Recomendados

fala galera do tk

gostaria de pedir um script que faz o seguinte

quando matar um boss...

(todos que estavam hitando nele)

vão ser teleportados para um lugar...

só que... tipo...

tu mata o boss... daí 1 minuto depois que você é teleportado

e aparece uma msg no server log dizendo "You have been trapped by a nightmare."

eu não consegui, mas acho que dá pra fazer por AddEvent...

quem manja sabe do que eu to falando

obrigado.

 

 

USO THE FORGOTTEN SERVER 1.0

ENTENDEU? 1.0

FUNÇÕES DIFERENTES DO 0.4

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

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites
function onDeath(cid, corpse, deathList)
mostdamagekiller = deathList[1]
local Nick_Boss = "Rat"
local PosTeleport = {x = 395, y = 21, z = 0}  --Para onde vai ser teleportado!
 if isMonster(cid) then
  if getCreatureName(cid) == Nick_Boss then
  for i = 1, #deathList do
  doTeleportThing(mostdamagekiller[i], PosTeleport)
  end
  addEvent(doCreateMonster, 60 * 1000, "Nightmare", PosTeleport)
  return true
  end
 end
 return true
end

Não Testei caso de erro me avise em PM

Skype : emersonaaron Se Te ajudei não me REP+ isso não muda nada! kkkkkkkkkkkk

Link para o post
Compartilhar em outros sites

não sei ainda, vou testar, 

mas essa tag

addEvent(doCreateMonster, 60 * 1000, "Nightmare", PosTeleport)

não faz sentido pro script que pedi, quero que o player seja teleportado, e nightmare é só uma msg msm, não creature

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites

v ai se assim pega...
 

function onDeath(cid, corpse, deathList)
mostdamagekiller = deathList[1]
local Nick_Boss = "Rat"
local PosTeleport = {x = 395, y = 21, z = 0} --Para onde vai ser teleportado!
if isMonster(cid) then
if getCreatureName(cid) == Nick_Boss then
for i = 1, #deathList do
doTeleportThing(mostdamagekiller[i], PosTeleport)
addEvent(function()
if isCreature(mostdamagekiller[i]) then
doPlayerSendTextMessage(mostdamagekiller[i], MESSAGE_INFO_DESCR, "You have been trapped by a nightmare.")
end end,60*1000)
end
return true
end
end
return true
end
Editado por foxkbt (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Só acho que deveria se usar a função onKill e talvez até juntamente com "onCombat" para registrar o Evento no monstro.

Ou então um "onKill" (ao matar) para que reconheça o monstro quando morrer.

Pois a função "onDeath" é (ao morrer), geralmente usada para os players.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Só acho que deveria se usar a função onKill e talvez até juntamente com "onCombat" para registrar o Evento no monstro.

Ou então um "onKill" (ao matar) para que reconheça o monstro quando morrer.

Pois a função "onDeath" é (ao morrer), geralmente usada para os players.

também acho....

mas os caras não entendem o meu pedido dai é foda :/

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites

realmente! (tinha esquecido disso)
crie um script onkill
com:

if isMonster(target) then
registerCreatureEvent(target, "deathnightmare")
end

ou vc pode procurar por um script c++ que registra eventos em todos os monstros
ou vc tb pode registrar o evento diretamente no xml do monstro

    <script>
        <event name="deathnightmare"/>
    </script>
Editado por foxkbt (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

v ai se assim pega...

 

function onDeath(cid, corpse, deathList)
mostdamagekiller = deathList[1]
local Nick_Boss = "Rat"
local PosTeleport = {x = 395, y = 21, z = 0} --Para onde vai ser teleportado!
if isMonster(cid) then
if getCreatureName(cid) == Nick_Boss then
for i = 1, #deathList do
doTeleportThing(mostdamagekiller[i], PosTeleport)
addEvent(function()
if isCreature(mostdamagekiller[i]) then
doPlayerSendTextMessage(mostdamagekiller[i], MESSAGE_INFO_DESCR, "You have been trapped by a nightmare.")
end
60*1000)
end
return true
end
end
return true
end

esse script só faz dar debug no meu ot, ele fecha sozinho

uso tfs 1.0....

 

cara nao tem como vc tentar fazer pra mim?

assim, como eu pedi..

mata o boss, e depois de um minuto vc é teleportado...

só isso...

a msg eu coloco em um tile no lugar onde chega, sem problemas pra mim

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

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites

Então avisa seu tfs antes de fazer o pedido pois o tfs 1.0 muda muita coisa invez de ficar reclamando de quem esta passando pra tfs 0.4 que funciona.

Link para o post
Compartilhar em outros sites

Enfim...

Vou ver se consigo pra ti.

Já posto aqui.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

mas os caras não entendem o meu pedido dai é foda :/

 

 

USO THE FORGOTTEN SERVER 1.0

ENTENDEU? 1.0

FUNÇÕES DIFERENTES DO 0.4

 

@Schiffert,

o cara ta aki pedindo para criarem um script para ele...

e ainda reclama dessa forma!

tem que ser humilde parceiro...  

#numajudomais

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

@Schiffert,

o cara ta aki pedindo para criarem um script para ele...

e ainda reclama dessa forma!

tem que ser humilde parceiro...  

#numajudomais

eu sou humilde

o que eu não gosto, é gente que nem tenta ajudar, nem pergunta nada e chega na critica

se eu nao fosse humilde eu nem vinha pedir um script aqui, mendigar pra algum programador fazer pra mim

agora esclarecido, meu tópico é pra um pedido de script, e não ficar de mimimi ou reclamar do meu jeito

obrigado

abraços pra todos  :)

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites
  • Solução
local config = {
	boss = "nome",
	pos = {x=1000, y=1000, z=7},
	msg = "You have been trapped by a nightmare.",
	time = 60 -- quantos segundos depois de matar o boss
}

function onKill(cid, target)
	if isMonster(target) and getCreatureName(target):lower() == config.boss:lower() then
		doTeleportThing(cid, config.pos)
		addEvent(function()
			if isPlayer(cid) then
				return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, config.msg)
			end
		end,config.time*1000)
	end
	return true
end

OBS: precisa registrar em login.lua

Link para o post
Compartilhar em outros sites
local config = {
	boss = "nome",
	pos = {x=1000, y=1000, z=7},
	msg = "You have been trapped by a nightmare.",
	time = 60 -- quantos segundos depois de matar o boss
}

function onKill(cid, target)
	if isMonster(target) and getCreatureName(target):lower() == config.boss:lower() then
		doTeleportThing(cid, config.pos)
		addEvent(function()
			if isPlayer(cid) then
				return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, config.msg)
			end
		end,config.time*1000)
	end
	return true
end

OBS: precisa registrar em login.lua

 

ele teleporta logo quando mata ... a msg está totalmente como eu quero (obrigado por isso)

unico problema é esse que teleporta na hora

 

 

eu não sei fazer, mas é só fazer como add event o teleport dele

dai fica tudo certo

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

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites

Mas você quer o que?

Que passa alguns segundos e o teletransporte ou crie um teleport?

Que depois será removido do local?

 

 

#EDIT

 

Se for apenas o addEvent, basta por a tag do "teleportThing" para dentro do AddEvent.

local config = {
    boss = "nome",
    pos = {x=1000, y=1000, z=7},
    msg = "You have been trapped by a nightmare.",
    time = 60 -- quantos segundos depois de matar o boss
}

function onKill(cid, target)
    if isMonster(target) and getCreatureName(target):lower() == config.boss:lower() then
        
        addEvent(function()
            if isPlayer(cid) then
doTeleportThing(cid, config.pos)
                return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, config.msg)
            end
        end,config.time*1000)
    end
    return true
end
Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

eu quero que só teleporte depois de 1 minuto após matar o boss...

aqui o seguimento das ações

player - mata o boss - pega o loot - tempo de 1 min - teleportado

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites

Ahh sim, entendi..

Então teste como editei o script do "MaTTch" acima.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

eu sou humilde

o que eu não gosto, é gente que nem tenta ajudar, nem pergunta nada e chega na critica

se eu nao fosse humilde eu nem vinha pedir um script aqui, mendigar pra algum programador fazer pra mim

agora esclarecido, meu tópico é pra um pedido de script, e não ficar de mimimi ou reclamar do meu jeito

obrigado

abraços pra todos   :)

como vc pode ser hulmilde, se ao mesmo tempo que vc pede ajuda, vc reclama de quem ta te ajudando?

como eu não tentei ajudar se eu li seu topico e respondi com uma tentativa de solução?

e eu critico mesmo que vc n ta sendo um cara legal...

e vc vem aki pedir...

pq vc n tem escolha, isso n é humildade! (seria humildade se vc tive-se ajudando o pessoal do forum)

se não quer mimimi, se quer que seu topico seja exclusivamente para solução do seu problema, não reclame de quem ta tentando te ajudar

a sua reclamação tb foge do assunto do topico

e ninguem aki é seu empregado

=/

ps: meu script estava com um pequeno erro no add event (esqueci da virgula)

mas acredito que funcione corretamente agora

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

Numa boa..

Acho que já deu né?!

 

Vamos ao script, ou então nem precisam ficar postando.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.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