Postado Agosto 3, 2020 4 anos Autor 1 hora atrás, Mor3nao disse: tenta dnv Arruma um e aparece outro! kkk.. foi mal, estou comecando a estudar essa linguagem agora.. 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: No meu arquivo lib/032-position: Fiz uma mudança na função mas não deu certo: if (isInRange(getThingPosition(cid), c.arena.from, c.arena.to)) then Editado Agosto 3, 2020 4 anos por Mecianosz (veja o histórico de edições)
Postado Agosto 4, 2020 4 anos 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.