Ir para conteúdo
  • Cadastre-se

(Resolvido)Ao morrer em uma area, player nao "Morre"


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Base: 0.4

 

Bom dia gente, alguém poderia me ajudar numa coisa. Eu vou explicar o titulo.

Eu queria que em uma área, ou por um monstro x, o player não morresse de verdade, ele seria teleportado para outro lugar e não perderia level nem nada, nem aparecesse a msg que morreu. (Ele não seria teleportado para o templo, e sim pra outro lugar).

 

Obrigado!

Link para o post
Compartilhar em outros sites
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
	local from, to =  {x = 256, y = 180, z = 7},{x = 360, y = 200, z = 7}
	local pos = {x = 154, y = 68, z = 7}
		if isPlayer(cid) and isInRange(getCreaturePosition(cid), from, to) then
			doTeleportThing(cid, pos)
			doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true)
			doCreatureAddMana(cid, getCreatureMaxMana(cid))
			doRemoveConditions(cid, false)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "sua mensagem.")
		return false
		end
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart Cara, não de certo, mas não apareceu nem um erro no console. Confere pra mim se eu coloquei no lugar certo.

O que você me passou eu coloquei em creaturescript

Em creaturescript eu botei: <event type="prepareDeath" name="monsterEvent" event="script" value="event12.lua"/>

e em login eu botei: registerCreatureEvent(cid, "monsterEvent")

Link para o post
Compartilhar em outros sites
1 hora atrás, Zazeros disse:

@Vodkart Cara, não de certo, mas não apareceu nem um erro no console. Confere pra mim se eu coloquei no lugar certo.

O que você me passou eu coloquei em creaturescript

Em creaturescript eu botei: <event type="prepareDeath" name="monsterEvent" event="script" value="event12.lua"/>

e em login eu botei: registerCreatureEvent(cid, "monsterEvent")

 

Certo, posso ver como ficou seu script?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart Pode sim, aqui esta: 

Citar

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    local from, to =  {x = 1414, y = 998, z = 7},{x = 1024, y = 1008, z = 7}
    local pos = {x = 1044, y = 1026, z = 7}
        if isPlayer(cid) and isInRange(getCreaturePosition(cid), from, to) then
            doTeleportThing(cid, pos)
            doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true)
            doCreatureAddMana(cid, getCreatureMaxMana(cid))
            doRemoveConditions(cid, false)
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Teste 3")
        return false
        end
    return true
end

 

Link para o post
Compartilhar em outros sites

@Zazeros O correto na função isInRange é sempre do MENOR pro MAIOR, tanto X, Y ou Z.

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    local from, to =  {x = 1024, y = 998, z = 7},{x = 1414, y = 1008, z = 7}
    local pos = {x = 1044, y = 1026, z = 7}
        if isPlayer(cid) and isInRange(getCreaturePosition(cid), from, to) then
            doTeleportThing(cid, pos)
            doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true)
            doCreatureAddMana(cid, getCreatureMaxMana(cid))
            doRemoveConditions(cid, false)
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Teste 3")
        return false
        end
    return true
end

 

 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart Então, eu pensava que pra fazer o "quadrado" da área da função, tinha que começa do topo esquerdo e ir ate a parte mais baixa da direita.

Mas não deu certo mais uma vez, sem erro no console, nada. O char simplesmente morre na área que não devia. Eu tenho que colocar pvp na área ou algo assim? não neh?

Link para o post
Compartilhar em outros sites

@Zazeros Que estanho!

 

<event type="PrepareDeath" name="noDeathArea" event="script" value="event12.lua"/>

 

registerCreatureEvent(cid, "noDeathArea")

 

 

colocou o registro antes do último "return true" né?

 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart Agora eu entendi o que estava acontecendo, olha só.

 

essa era a área que eu queria que fosse afetada, essas coordenadas eu coloquei no meu script

 

Screenshot_1.png

Ai, tu falo que o maior vem primeiro e passou pra mim o jeito certo de colocar, uma outra coordenada, que começou a afetar essa área mais ou menos assim

Screenshot_2.png

Entao, se eu colocar daquele jeito {x = 1014, y = 998, z = 7},{x = 1024, y = 1008, z = 7}, da certo...

Link para o post
Compartilhar em outros sites

show de bola vod... tem como não pegar frag em uma determinada area também? sendo pelo script sem ser pelo "pvp-tile" 

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

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