Ir para conteúdo

(Resolvido)Como Editar esse Script, passar na porta apenas se tiver feito quests anterior.

Featured Replies

Postado

tibia king.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

Me ajudar a editar um script simples.

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

Não sei como editar correto a parte do Script de, que o player só pode passar na porta se tiver feito, quests anterior para ter permissão de fazer a atual. A primeira parte do script tá perfeita, agora a segunda, que e essa, que estou solicitando não sei como proceder.

 

Você tem o código disponível? Se tiver publique-o aqui: 

function onUse(cid, item, frompos, item2, topos)

	if item.uid == 1000 and getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 4 then
 	queststatus = getPlayerStorageValue(cid,1000)
 	if queststatus == -1 then
 	doPlayerSendTextMessage(cid,22,"You have found a crusader helmet.")
 	doPlayerAddItem(cid,2497,1)
 	setPlayerStorageValue(cid,1000,1)
	doBroadcastMessage("O player "..getCreatureName(cid).." completou a quest Crusader helmet!",MESSAGE_STATUS_WARNING)
 	else
 	doPlayerSendTextMessage(cid,22,"It is empty.")
	end
	else
	return 0
	end
	
	return 1
	end 
	
	
	
	
	
	
	
	function onUse(cid, item, frompos, item2, topos)

  local storate,value = 874157,1 -- numero da storage, e o valor que ganha na quest da storage
  local vocationId = 6
  
  if not getPlayerVocation(cid) == vocationId then
    return doPlayerSendTextMessage(cid,22,"Você precisa ser um ? para entrar na área especial.")
  elseif not getPlayerStorageValue(cid, storate) == value then
    return doPlayerSendTextMessage(cid,22,"Você precisa fazer a quest para entrar na área especial.")
  end
  
  doTeleportThing(cid,{x=134, y=2443, z=7}) 
  doPlayerSendTextMessage(cid,22,"Você foi teleportado para área dos ?.") 
  return true
end

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Resolvido por Nysman

Ir para solução
Postado
  • Solução

Em movements/script/ crie um arquivo.lua e adiciona o seguinte:

Spoiler

function onStepIn(cid, item, position, fromPosition)
	
	local config = {
		msgDenied = "Você não tem a xxx, faça a quest para adquiri-la.",
		msgWelcome = "Seja bem-vindo a área Xxx."
	}
	
	if getPlayerStorageValue(cid, 23569) == 0 then
		doTeleportThing(cid, fromPosition, true)
		doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
		return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
	else
		return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)
	end
end

Adiciona essa tang no movements.xml:

<movevent type="StepIn" actionid="12000" event="script" value="aquivo.lua"/>

 

obs: 12000 é o actionid que você vai colocar na porta desejada.

//Ele só vai passar na porta caso esteja com a storange 23569. É bem simples essa parte, basta adicionar a storage que o player recebe na quest que ele precisa fazer antes de passar na porta.

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

Postado
9 horas atrás, mishell147 disse:

tibia king.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

Me ajudar a editar um script simples.

Está surgindo algum erro? Se sim coloque-o aqui. 

 

Você tem o código disponível? Se tiver publique-o aqui: 


function onUse(cid, item, frompos, item2, topos)

	if item.uid == 1000 and getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 4 then
 	queststatus = getPlayerStorageValue(cid,1000)
 	if queststatus == -1 then
 	doPlayerSendTextMessage(cid,22,"You have found a crusader helmet.")
 	doPlayerAddItem(cid,2497,1)
 	setPlayerStorageValue(cid,1000,1)
	doBroadcastMessage("O player "..getCreatureName(cid).." completou a quest Crusader helmet!",MESSAGE_STATUS_WARNING)
 	else
 	doPlayerSendTextMessage(cid,22,"It is empty.")
	end
	else
	return 0
	end
	
	return 1
	end 
	
	
	
	
	
	
	
	function onUse(cid, item, frompos, item2, topos)

  local storate,value = 874157,1 -- numero da storage, e o valor que ganha na quest da storage
  local vocationId = 6
  
  if not getPlayerVocation(cid) == vocationId then
    return doPlayerSendTextMessage(cid,22,"Você precisa ser um ? para entrar na área especial.")
  elseif not getPlayerStorageValue(cid, storate) == value then
    return doPlayerSendTextMessage(cid,22,"Você precisa fazer a quest para entrar na área especial.")
  end
  
  doTeleportThing(cid,{x=134, y=2443, z=7}) 
  doPlayerSendTextMessage(cid,22,"Você foi teleportado para área dos ?.") 
  return true
end

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Está tu a mesclar duas coisas distintas a mesma script. tu não quer apenas o script da porta? dirme-eis quais requisitos e seus respectivos valores se faz necessário tê-los para transpassar a porta.

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.7k

Informação Importante

Confirmação de Termo