Ir para conteúdo

Featured Replies

Postado
  • 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 por neykos (veja o histórico de edições)

  • Respostas 17
  • Visualizações 2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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 probem

  • Qual TFS você utiliza? E passa o script do teleport que faz o boss ser summonado.

  • 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=

Postado
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 por lenardo88 (veja o histórico de edições)

Postado
  • 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.

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