LU
pedido

Pedido contar - script do omega*

Por Lumus, 20 de set. de 2013 em Scripts

resolvido
script
7
954
LumusL
20 de setembro de 2013 às 22:53

Oi, to usando esse script aqui que funfa normal... mas queria uma modificação: script do omega-*

 

Ao player usar ele recebe a msg>:

 

A parede foi removida, você tem 5 segundos para sair daqui.

 

-- já ta normal isso /\

 

---Agora quero que além dessa msg apareça assim:

 

Corra, faltam 5 segundos para a a passagem fechar.

Corra, faltam 4 segundos para a a passagem fechar.

Corra, faltam 3 segundos para a a passagem fechar.

Corra, faltam 2 segundos para a a passagem fechar.

Corra, faltam 1 segundo para a a passagem fechar.

A passagem foi fechada, você retornará ao início da quest em 3 segundos.

 

ai teleporta ele pra x pos.

 

Script:

 

 

function onUse(cid, item, fromPos, item2, toPos)

local wallPos = {x=984, y=1021, z=9}
local safePos = {x=984, y=1022, z=9} -- Caso existam itens ou jogadores no momento em que a wall deve ser recriada, essa é a posição para a qual eles serão movidos
local wallId = 12902 -- itemid da parede que será removida
local i = 0
for stack = 1, 254 do
if getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).itemid == wallId then
doRemoveItem(getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid, 1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"A parede foi removida, você tem 5 segundos para sair daqui.")
i = i + 1
end
end
if i == 0 then
doSendMagicEffect(getCreaturePosition(cid), 2)
return true
elseif item.itemid % 2 == 0 then
doTransformItem(item.uid, item.itemid-1)
else
doTransformItem(item.uid, item.itemid+1)
end
addEvent(doClosePassage, 5000, wallPos, safePos, wallId)
return true
end
function doClosePassage(wallPos, safePos, wallId)
for stack = 1, 254 do
if getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid > 0 then
doTeleportThing(getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid, safePos)
end
end
doCreateItem(wallId, 1, wallPos)
return true

end

 

Editado Setembro 20 por Fawz

OmegaO
21 de setembro de 2013 às 03:19

E eu achando que aquele meu pacote tinha sido deixado de lado... aí só postam pra reclamar de erro ou ajuste. Que tal um 'Po, cara, valeu, vou usar aqui', só pra saber que tem gente usando, entende?

function onUse(cid, item, fromPos, item2, toPos)

local wallPos = {x=984, y=1021, z=9}
local safePos = {x=984, y=1022, z=9} -- Caso existam itens ou jogadores no momento em que a wall deve ser recriada, essa é a posição para a qual eles serão movidos
local wallId = 12902 -- itemid da parede que será removida
 
local i = 0
for stack = 1, 254 do
if getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).itemid == wallId then
doRemoveItem(getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid, 1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"A parede foi removida, você tem 5 segundos para sair daqui.")
i = i + 1
end
end
if i == 0 then
doSendMagicEffect(getCreaturePosition(cid), 2)
return true
elseif item.itemid % 2 == 0 then
doTransformItem(item.uid, item.itemid-1)
else
doTransformItem(item.uid, item.itemid+1)
end
for t = 1, 3 do
addEvent(doPlayerSendTextMessage, t * 1000, cid, 27, 'Corra, faltam '..(5-t)..' segundos para a passagem fechar.')
end
addEvent(doPlayerSendTextMessage, 4000, cid, 27, 'Corra, falta 1 segundo para a passagem fechar!')
addEvent(doClosePassage, 5000, wallPos, safePos, wallId)
return true
end
 
function doClosePassage(wallPos, safePos, wallId)
for stack = 1, 254 do
if getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid > 0 then
doTeleportThing(getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid, safePos)
end
end
doCreateItem(wallId, 1, wallPos)
return true

end

Isso aí deve funcionar

LumusL
21 de setembro de 2013 às 10:22

To ligado HUSAHUAS mas seus scripts são tão fodas u.u e este ai achei em um tópico de dúvidas de outro membro ai eu peguei mas não sei o link do tópico original, vou pesquisar aqui e comentar lá.

 

A parte das msg funcionou perfeitamente, rep++

mas faltou teletransportar e dar as msg

 

A passagem foi fechada, você retornará ao início da quest em 3 segundos.

E manda a seguinte MSG:

Você será teletransportado em 3 segundos.

Você será teletransportado em 2 segundos.

Você será teletransportado em 1 segundo.

Você está no início da quest, seja mais rápido da próxima vez.

ai teleporta ele pra x pos.

 

Editado Setembro 21 por Fawz

RoksasR
23 de setembro de 2013 às 07:57

Tópico movido para a seção de dúvidas e pedidos resolvidos.

LumusL
23 de setembro de 2013 às 12:25

Roksas, a minha dúvida não foi sanada, favor move-lo novamente.

OmegaO
23 de setembro de 2013 às 13:01

 

 

function onUse(cid, item, fromPos, item2, toPos)

	local wallPos = {x=984, y=1021, z=9}
	local safePos = {x=984, y=1022, z=9} -- Caso existam itens ou jogadores no momento em que a wall deve ser recriada, essa é a posição para a qual eles serão movidos
	local wallId = 12902 -- itemid da parede que será removida
        local pos1 = {...} -- Posição de início da quest
	 
	local i = 0
	for stack = 1, 254 do
		if getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).itemid == wallId then
			doRemoveItem(getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid, 1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"A parede foi removida, você tem 5 segundos para sair daqui.")
			i = i + 1
			break
		end
	end
	if i == 0 then
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return true
	elseif item.itemid % 2 == 0 then
		doTransformItem(item.uid, item.itemid-1)
	else
		doTransformItem(item.uid, item.itemid+1)
	end
	for t = 1, 3 do
		addEvent(doPlayerSendTextMessage, t * 1000, cid, 27, 'Corra, faltam '..(5-t)..' segundos para a passagem fechar.')
	end
	addEvent(doPlayerSendTextMessage, 4000, cid, 27, 'Corra, falta 1 segundo para a passagem fechar!')
	addEvent(doClosePassage, 5000, wallPos, safePos, wallId)
	addEvent(doTeleportThing, 8000, cid, pos1)
	addEvent(doPlayerSendTextMessage, 5000, cid, 27, "A passagem foi fechada, voce retornara ao inicio da quest em 3 segundos.")
	return true
	end
	 
	function doClosePassage(wallPos, safePos, wallId)
		for stack = 1, 254 do
			if getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid > 0 then
				doTeleportThing(getThingFromPos({x=wallPos.x, y=wallPos.y, z=wallPos.z, stackpos=255-stack}).uid, safePos)
			end
		end
		doCreateItem(wallId, 1, wallPos)
	return true

end

 

 

 

Agora foi?

Editado Setembro 23 por omega blueheaven

LumusL
23 de setembro de 2013 às 13:10

Omega perfeito, sabe que eu te amo sempreee!!!!

 

bjs no suvaco :D

 

agora sim, dúvida sanada qd tiver meus rep vou te dar.