Ir para conteúdo

(Resolvido)Script que impede o player de executar uma talkaction em determinada area

Featured Replies

Postado

Olá pessoal, estou precisando de um script que impeça os players de usarem uma talkaction em determinado lugar.

No meu servidor existe uma talkaction que teleporta o player para o templo, porem queria que ela não pudesse ser usada em alguns eventos e algumas áreas do mapa, agradeço a qualquer um que queira ajudar.

 

Spoiler

function onSay(cid, words, param)
local pos = {x=1030, y=913, z=6}

if(getCreatureCondition(cid, CONDITION_INFIGHT)) == FALSE then
doTeleportThing(cid, pos, true)
doSendMagicEffect(getPlayerPosition(cid),3)
doPlayerSendTextMessage(cid, 19, "Teleportado!")
else
return doPlayerSendTextMessage(cid, 19, "Somente sem battle.")
end

return true
end

 

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

Resolvido por MaTTch

Ir para solução
  • Respostas 5
  • Visualizações 440
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Postado
  • Solução

Espero que você saiba configurar o resto...

Spoiler

local goTo = {x=1030, y=913, z=6}

local forbiddenAreas = {
	{from = {x = 1000, y = 1000, z = 7}, to = {x = 1050, y = 1050, z = 7}},
	{from = {x = 2000, y = 2000, z = 7}, to = {x = 2050, y = 2050, z = 7}}
}

function onSay(cid, words, param)
	local pos = getThingPos(cid)
	for _, area in pairs(forbiddenAreas) do
		if(isInRange(pos, area.from, area.to)) then
			doPlayerSendTextMessage(cid, 19, "Você não pode usar isto nesta area.")
			return true
		end
	end
	
	if(not getCreatureCondition(cid, CONDITION_INFIGHT)) then
		doTeleportThing(cid, goTo)
		doSendMagicEffect(pos, 3)
		doPlayerSendTextMessage(cid, 19, "Teleportado!")
	else
		doPlayerSendTextMessage(cid, 19, "Somente sem battle.")
	end
	return true
end

 

 

Editado por MaTTch (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