Ir para conteúdo

[PDA] [DUVIDA] Como Fazer Uma Porta Que Só Pode Entrar Uma Vez.

Featured Replies

Postado

Eu Estou Procurando Por Aqui E Não Estou Achando Esse Script Alguem Me Ajuda?


=====================================================//=================================================================

 

                                             Skype: nicraftextreme / E-mail: [email protected]/[email protected]

  • Respostas 7
  • Visualizações 526
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • function onUse(cid, item, fromPosition, itemEx, toPosition) local doorPos = {x=getThingPosition(item.uid).x, y=getThingPosition(item.uid).y, z=getThingPosition(item.uid).z} local playerPos = {x=getCr

  • Acho que seria melhor colocar em movements...    Crie um arquivo em movements/scripts e nomeie como "portpass.lua"   Agora abra o arquivo "movements.xml", localizado na pasta movements e ad

Postado
function onUse(cid, item, fromPosition, itemEx, toPosition)

local doorPos = {x=getThingPosition(item.uid).x, y=getThingPosition(item.uid).y, z=getThingPosition(item.uid).z}
local playerPos = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local pLevel = 100 --Level necessário para passar
local canpass = "Você passou da porta!" -- Mensagem que vai ser enviada ao passar
local cannotpass = "Você precisa de level " ..pLevel.. " pelo menos para passar desta porta."
local cannotpasss = "Você já passou na porta uma vez."
local storage = 60609

		if playerPos.y > doorPos.y and getPlayerLevel(cid) >= pLevel and getPlayerStorageValue(cid, storage) ~= 1 then 
				doTeleportThing(cid, {x= doorPos.x, y= doorPos.y-1, z= doorPos.z})
				doSendMagicEffect(getPlayerPosition(cid), 10)
				doPlayerSendTextMessage(cid, 22, canpass)
				doPlayerSetStorageValue(cid, storage, 1)

		elseif playerPos.y < doorPos.y and getPlayerLevel(cid) >= pLevel and getPlayerStorageValue(cid, storage) ~= 1 then
				doTeleportThing(cid, {x= doorPos.x, y= doorPos.y+1, z= doorPos.z})
				doSendMagicEffect(getPlayerPosition(cid), 10)
				doPlayerSendTextMessage(cid, 22, canpass)
				doPlayerSetStorageValue(cid, storage, 1)

		elseif getPlayerLevel(cid) < pLevel then
		doPlayerSendTextMessage(cid, 22, cannotpass)
		
		elseif getPlayerStorageValue(cid, storage) == 1 then
		doPlayerSendTextMessage(cid, 22, cannotpasss)
		

		end
		
return TRUE
end

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Postado

function onUse(cid, item, fromPosition, itemEx, toPosition)

local doorPos = {x=getThingPosition(item.uid).x, y=getThingPosition(item.uid).y, z=getThingPosition(item.uid).z}
local playerPos = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local pLevel = 100 --Level necessário para passar
local canpass = "Você passou da porta!" -- Mensagem que vai ser enviada ao passar
local cannotpass = "Você precisa de level " ..pLevel.. " pelo menos para passar desta porta."
local cannotpasss = "Você já passou na porta uma vez."
local storage = 60609

		if playerPos.y > doorPos.y and getPlayerLevel(cid) >= pLevel and getPlayerStorageValue(cid, storage) ~= 1 then 
				doTeleportThing(cid, {x= doorPos.x, y= doorPos.y-1, z= doorPos.z})
				doSendMagicEffect(getPlayerPosition(cid), 10)
				doPlayerSendTextMessage(cid, 22, canpass)
				doPlayerSetStorageValue(cid, storage, 1)

		elseif playerPos.y < doorPos.y and getPlayerLevel(cid) >= pLevel and getPlayerStorageValue(cid, storage) ~= 1 then
				doTeleportThing(cid, {x= doorPos.x, y= doorPos.y+1, z= doorPos.z})
				doSendMagicEffect(getPlayerPosition(cid), 10)
				doPlayerSendTextMessage(cid, 22, canpass)
				doPlayerSetStorageValue(cid, storage, 1)

		elseif getPlayerLevel(cid) < pLevel then
		doPlayerSendTextMessage(cid, 22, cannotpass)
		
		elseif getPlayerStorageValue(cid, storage) == 1 then
		doPlayerSendTextMessage(cid, 22, cannotpasss)
		

		end
		
return TRUE
end

 

Acho que seria melhor colocar em movements... 

 

Crie um arquivo em movements/scripts e nomeie como "portpass.lua"


function onStepIn(cid, item, position, fromPosition)

	local pLevel = 100 --Level necessário para passar
	local positivo = "Você passou da porta!" -- Mensagem que vai ser enviada ao passar
	local semlvl = "Você precisa de level " ..pLevel.. " pelo menos para passar desta porta."
	local repete = "Você já passou na porta uma vez."
	local storage = 60609

		if getPlayerLevel(cid) < pLevel then --se nao tiver lvl
			doTeleportThing(cid, fromPosition, true)
			doSendMagicEffect(getPlayerPosition(cid), 10)
			doPlayerSendTextMessage(cid, 22, semlvl)
		
		elseif getPlayerStorageValue(cid, storage) == 1 then --se ja tiver passado
			doTeleportThing(cid, fromPosition, true)
			doSendMagicEffect(getPlayerPosition(cid), 10)
			doPlayerSendTextMessage(cid, 22, repete)
		else --se puder passar
				doTeleportThing(cid, doSendMagicEffect(getPlayerPosition(cid), 10), true) --Move o player pra frente, não permitindo que ele volte
				doPlayerSendTextMessage(cid, 22, positivo)
				doPlayerSetStorageValue(cid, storage, 1)

		end
		
	return TRUE
end

 

Agora abra o arquivo "movements.xml", localizado na pasta movements e adicione essa tag:

 

 
<movevent type="StepIn" actionid="30001" event="script" value="portpass.lua"/>
 

 
[Obs.: Pode mudar o actionid se essa não for válida]
 
Agora basta colocar a actionid na porta que, no caso, seria 30001.

Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

  • 2 weeks later...
Postado
  • Autor

Gente, eu desisti desse script pois tem uma coisa que vai ferrar, nesse script para a quest q eu estou fazendo, se a pessoa morrer ela não vai poder voltar mais, então eu preciso que a porta poderá ser usada por um player no mínimo 5 vezes. Se Alguem Puder Ajudar Ficarei Grato!!




----------------------------------------------////////////////////////////////////////////////////////////////////////////////--------------------------------------

 

 

Contato:

 

                      Skype: nicraftextreme
                      E-mail: [email protected] / [email protected]

Editado por SmokeScreeN (veja o histórico de edições)

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