Ir para conteúdo
  • 0

Pedido contar - script do omega*


Lumus

Pergunta

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 por Fawz
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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 por Fawz
Link para o comentário
Compartilhar em outros sites

  • 0

 

 

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 por omega blueheaven
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...