Ir para conteúdo

(Resolvido)[pedido] storage que retorna o player morto para um local

Featured Replies

  • Respostas 34
  • Visualizações 2.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local storage = 2000 local from,to = {x = 2100, y = 2100, z = 7}, {x = 2200, y = 2200, z = 7} local death_pos = {x = 1100, y = 1100, z = 7} function onPrepareDeath(cid, deathList) if isPlayer(cid) a

  • Utiliza isso com o callback onPrepareDeath que devê funcionar.

  • Pra funcionar o callback precisa retornar falso.

Posted Images

Postado
  • Autor
1 hora atrás, Mor3nao disse:

tenta dnv

Arruma um e aparece outro! kkk.. foi mal, estou comecando a estudar essa linguagem agora..

image.thumb.png.d06a8a3d1a7e596e1364d043b6e761a3.png

 

o script todo é:

Citar

local IS_IN_ARENA_PLAYER_STORAGE = 23305

local function isInArena(cid)
    local isInArena = getPlayerStorageValue(cid, IS_IN_ARENA_PLAYER_STORAGE)
    return isInArena == 1
end

local function leaveArena(cid)
    setPlayerStorageValue(cid, IS_IN_ARENA_PLAYER_STORAGE, 0)
end

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if not isPlayer(cid) or not isInArena(cid) then
        return TRUE
    end
	player = Player(cid)
	if player:getStorageValue(IS_IN_ARENA_PLAYER_STORAGE) == 1 then
	player:teleport(cid, {x=1979,y=217,z=6}, true)
	return
	end
	return true
end

 

Sabe o que pode ser?

 

---

7 horas atrás, Onepiece disse:

Não entendi muito bem oque você quer, ver se funciona o script que fiz pelo bloco de notas:
OBS: não esqueça de adicionar a tags do creaturescripts.xml, e dentro do login.lua. Após adicionar o script, se caso o servidor estiver aberto, feche-o e o abra novamente.



local c = {
	storage = 20000, -- storage do evento ativo
	arena = {from = {x = 2100, y = 2100, z = 7}, to = {x = 2100, y = 2100, z = 7}}, -- posição superior esquerda, posição inferior direita
	pos = {x = 2100, y = 2100, z = 7}, -- posição que o player sera teleportado dentro do storage
	oldPEffect = 200, -- efeito quando ele morrer
	newPEffect = 200, -- efeito quando ele renascer
	exit = {x = 1000, y = 1000, z = 7}, -- posição que ele sera levado caso ele não tenha a storage
}

function onDeath(cid, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified)

	if (isInRange(cid, c.arena.from, c.arena.to) then
		if (getPlayerStorageValue(cid, c.storage) ~= 0) then 
			doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
			doCreatureAddMana(cid, getCreatureMaxMana(cid))
			doSendMagicEffect(getCreaturePosition(cid), c.oldPEffect)
			doTeleportThing(cid, c.pos)
			doSendMagicEffect(getCreaturePosition(cid), c.newPEffect)
		else
			doTeleportThing(cid, c.pos)
			doSendMagicEffect(getCreaturePosition(cid), c.newPEffect)
		end
	end

return false
end	

 

Este retornou um erro:

image.thumb.png.a96fe1f28352d77bde0e8ad9286fb08a.png

No meu arquivo lib/032-position:

image.thumb.png.7e018e9e1976a0ed82a9116602ad26e5.png

Fiz uma mudança na função mas não deu certo:

if (isInRange(getThingPosition(cid), c.arena.from, c.arena.to)) then

 

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

Postado
local c = {
	storage = 20000, -- storage do evento ativo
	from,to = {x = 2100, y = 2100, z = 7}, {x = 2100, y = 2100, z = 7}, -- posição superior esquerda, posição inferior direita
	pos = {x = 2100, y = 2100, z = 7}, -- posição que o player sera teleportado dentro do storage
	oldPEffect = 200, -- efeito quando ele morrer
	newPEffect = 200, -- efeito quando ele renascer
	exit = {x = 1000, y = 1000, z = 7}, -- posição que ele sera levado caso ele não tenha a storage
}

function onDeath(cid, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified)

	if (isInRange(getCreaturePosition(cid), c.from, c.to) then
		if ((cid, c.storage) ~= 0) then 
			doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
			doCreatureAddMana(cid, getCreatureMaxMana(cid))
			doSendMagicEffect(getCreaturePosition(cid), c.oldPEffect)
			doTeleportThing(cid, c.pos)
			doSendMagicEffect(getCreaturePosition(cid), c.newPEffect)
		else
			doTeleportThing(cid, c.pos)
			doSendMagicEffect(getCreaturePosition(cid), c.newPEffect)
		end
	end

return false
end	

tenta desta forma que coloquei acima.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo