Postado Fevereiro 18, 2016 9 anos Autor 5 horas atrás, vankk disse: local config = { area = { from = {x=100, y=100, z=7}, -- area de to = {x=200, y=200, z=7} -- area ate }, pos = {x = 33526, y = 32420, z = 12}, -- posição que o player vai cair kickPos = {x= 1000, y=1000, z=7}, -- kick pos bossName = "morgaroth", -- boss name sempre em letras minusculas devido ao :lower na linha 18 storage = 17201 -- storage } local function removeBoss() for x = config.area.from.x, config.area.to.x do for y = config.area.from.y, config.area.to.y do for z = config.area.from.z, config.area.to.z do pos = {x = x, y = y, z = z, stackpos = 253} v = getThingfromPos(pos).uid if isMonster(v) and getCreatureName(v):lower() == confg.bossName:lower() then doRemoveCreature(v) end end end end end local function kick(t) for i = 1, #t do if isPlayer(t) and isInRange(getThingPos(t), config.area.from, config.area.to) then doTeleportThing(t, config.kickPos) doSendMagicEffect(config.kickPos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 18, "You have been removed from the boss room, because you can not stay for more than 10 minutes.") end end function onUse(cid, item, fromPosition, itemEx, toPosition) if(itemEx.itemid == 22634) and getPlayerStorageValue(cid, config.storage) < 1 then doPlayerSendTextMessage(cid, 19, "You have ten minutes to kill boss for reward items and create you umbral.") addEvent(kick, 10 * 60 * 1000, cid) addEvent(removeBoss, 10 * 60 * 1000, cid) doTeleportThing(cid, config.pos) doSendMagicEffect(config.pos, CONST_ME_TELEPORT) setPlayerStorageValue(cid, config.storage, 1) doRemoveItem(cid, item.itemid) end return true end Não sei se funcionará, mas é algo assim. Venkk desculpa o incomodo, o script não está tirando o char da sala do boss, além não remove a key da backpack e não estou conseguindo colocar doCreateCreature e nem doSummonCreature, para criar o boss. Editado Fevereiro 18, 2016 9 anos por neykos (veja o histórico de edições)
Postado Fevereiro 19, 2016 9 anos 15 horas atrás, neykos disse: Venkk desculpa o incomodo, o script não está tirando o char da sala do boss, além não remove a key da backpack e não estou conseguindo colocar doCreateCreature e nem doSummonCreature, para criar o boss. cara então no caso que vc precisa remover o player do negocio e teleporta - lo para tal lugar depois de 15 minutos... desenvolvi um script simples que pode te ajudar ou ajudar uma parte de seus probemas pq pelo que entendi vc quer remover os players depois de 15 minutos de la do lugar ok vamos ao tutorial: vá em movements e crie um arquivo com o nome de ptstorage.lua e dentro coloque: Spoiler -- Script PNoX -- local min = 15 -- aqui é o tempo em minutos ja esta configurado pra vc ev = min*1000*60 pos = {x= , y= , z= } -- posição do templo pos1 = {x= , y=, z=} -- posição de onde o tp vai levar o player, posicao da arena function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) name = getPlayerName(cid) local test = min*60 time = os.time() + test if getPlayerStorageValue(cid, 1111111166116) - os.time() > 0 then doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, 22, ""..name.." voce saiu do evento antes do seu tempo portanto nao podera entrar ate que acabe") else setPlayerStorageValue(cid, 1111111166116, time) doPlayerSendTextMessage(cid, 22, ""..name.." se voce relogar sera transferido ao cp automaticamente") doTeleportThing(cid, pos1) addEvent(t, ev, cid, pos) end return true end function t(cid, pos) doTeleportThing(cid, pos) setPlayerStorageValue(cid, 9989, -1) return true end aqui no caso o que está acontecendo o portal vai teleportar o player para a posição que vc escolher e vai dar ao player um storage que depois de 15 minutos vai sumir, esse storage é o seguinte ele n vai permitir o player entrar se ele sair do evento por tp ou sei la como só vai poder entrar depois q a hora passar, e depois de 15 minutos vai adicionar o evento para remover o player do lugar e transformar o storage dele no storage normal. agora em movements.xml coloque essa tag: Spoiler <movevent type="StepIn" actionid="actionid que vc colocara no portal" event="script" value="ptstorage.lua"/> agora crie um arquivo chamado arenalogin.lua dentro da pasta creaturescript e coloque esse script: Spoiler -- Script PNoX -- pos = {x = 1350, y = 1165, z = 6} local name = getPlayerName(cid) function onLogin(cid) if getPlayerStorageValue(cid, 1111111166116) - os.time() <= 0 then setPlayerStorageValue(cid, 9898, -1) doTeleportThing(cid, pos) doPlayerPopupFYI(cid, "voce foi mandado para o templo por ter relogado") end if getPlayerStorageValue(cid, 1111111166116) - os.time() > 0 then setPlayerStorageValue(cid, 9898, -1) doTeleportThing(cid, pos) doPlayerPopupFYI(cid, "voce foi mandado para o templo por ter relogado") end return true end aqui no caso ele ta falando que se caso ele verificar que a storage e o tempo não estão alocados no player então ele vai ser teleportado para tal lugar agora vá em creaturescript.xml e adicione a tag Spoiler <event type="login" name="pnox" script="arenalogin.lua"/> "o script foi testado e funcionando" então se puder dar REP+ agradeço xD Editado Fevereiro 19, 2016 9 anos por lenardo88 (veja o histórico de edições)
Postado Fevereiro 19, 2016 9 anos Autor 7 horas atrás, lenardo88 disse: cara então no caso que vc precisa remover o player do negocio e teleporta - lo para tal lugar depois de 15 minutos... desenvolvi um script simples que pode te ajudar ou ajudar uma parte de seus probemas pq pelo que entendi vc quer remover os players depois de 15 minutos de la do lugar ok vamos ao tutorial: vá em movements e crie um arquivo com o nome de ptstorage.lua e dentro coloque: Mostrar conteúdo oculto function onStepIn(cid, item, itemEx, position, fromPosition) local min = 15 -- tempo em minutos local tempo = min*60 pos = {x=, y=, z=} -- defina vc a posição que o portal teleportara o player time = os.time() + tempo setPlayerStorageValue(cid, 111111116616, time) doTeleportThing(cid, pos) return true end aqui no caso o que está acontecendo o portal vai teleportar o player para a posição que vc escolher e vai dar ao player um storage que depois de 15 minutos vai sumir agora em movements.xml coloque essa tag: Mostrar conteúdo oculto <movevent type="StepIn" actionid="actionid que vc colocara no portal" event="script" value="ptstorage.lua"/> agora crie um outro arquivo chamado pstorage.lua e dentro coloque esse script: Mostrar conteúdo oculto function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) pos = {x=, y=, z=} -- configura do seu jeito if getPlayerStorageValue(cid, 111111116616) - os.time() <= 1 then else doTeleportThing(cid, pos) end return true end aqui no caso ele ta falando que se caso ele verificar que a storage e o tempo não estão alocados no player então ele vai ser teleportado para tal lugar agora vá em movements.xml e adicione a tag <movevent type="StepIn" actionid="actionid que vc colocara nos pisos do local" event="script" value="pstorage.lua"/> agora cara vou dar trabalho pra vc, esse segundo actionid que esta na tag a cima vc tem que colocar em todos os pisos da arena ou sei la o que vc ta querendo fazer rsrs boa sorte, o script foi testado e funcionando Obrigado por tentar me ajudar com o problema, vou testar assim que eu puder REP+ Creio que vai ajudar mais de uma pessoa.
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.