Jump to content
Close
KONOHAE

Scripting [NAO SOLUCIONADO] [COH] TELEPORTE DE GUILD PERDEDORA DO CASTLE PARA TEMPLO

Recommended Posts

SALVE PESSOAL DO TK

PESSOAL TO QUEBRANDO MINHA CABEÇA JA UM TEMPO

EU TO USANDO O CASTLE 24H "COH" DO ROKSAS USO  TFS 0.4

 

SÓ QUE ESTOU COM O PROBLEMA DA GUILD QUE PERDE O CASTLE CONTINUAR DENTRO DELE (CASTLE)

O CERTO SERIA A GUILD PERDEDORA OU A GUILD Q TA INTROSADA NO MEIO DAS 2 GUILDS IREM PARA O TEMPLO

APÓS DOMINIO DE UMA GUILD

QUERIA ARRUMA ISSO ,SERÁ QUE É POSSIVEL ATUALIZAR ESSA SCRIPT ?

 

SE PUDEREM ME AJUDAR, VOU AGRADECER MUITO, VALEU

 

 

Citar

function onStepIn(cid, item, pos, fromPosition)
 local pos = getThingPos(cid)
 
 if item.actionid == 16203 then 
  if not isPlayer(cid) then
	  return true
  end 
  if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
   doSendMagicEffect(getThingPos(cid), 14)
   doSendAnimatedText(pos, "CoH", math.random(1, 255))
  else
   doSendMagicEffect(getThingPos(cid), 2)
      doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "[CoH] Você não pertence á guild "..getGlobalStorageValue(COH_STATUS)..".")
  end
  return true
 end

	if item.actionid == 16202 then
	 if not isPlayer(cid) then
	  return true
  end
  
  if getPlayerGuildId(cid) > 0 then
   if (getGlobalStorageValue(COH_STATUS) ~= getPlayerGuildName(cid)) then
  		doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
 	  setGlobalStorageValue(COH_PREPARE1, -1)
  	 setGlobalStorageValue(COH_PREPARE2, -1)
 	  setGlobalStorageValue(COH_STATUS, getPlayerGuildName(cid))
 	  doCastleRemoveEnemies()
    doBroadcastMessage("[Castle of Honor] O jogador ["..getCreatureName(cid).."] e sua guild ["..getPlayerGuildName(cid).."] estão no comando do castelo, vá dominar e impedir isso!")
  	end
 	else
   doSendMagicEffect(pos, 2)  
   doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "[CoH] Você não possui uma guild.")
   end
 	 return true
 end

	if item.actionid == 16200 then
  if not isPlayer(cid) then
	  return true
  end
  if getPlayerGuildId(cid) > 0 then
   doSendAnimatedText(pos, "CoH", math.random(1, 255))
   if (getGlobalStorageValue(COH_PREPARE1) ~= getPlayerGuildName(cid)) and ((getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid))) then
    setGlobalStorageValue(COH_PREPARE1, getPlayerGuildName(cid))
    doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está tentando dominar o castelo, preparem-se!")
   end
  else
   doSendMagicEffect(pos, 2)  
   doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "[CoH] Você não possui uma guild.")   
   return true
  end   
 end
 
 if item.actionid == 16201 then
  if not isPlayer(cid) then
	  return true
  end
  doSendAnimatedText(pos, "CoH", math.random(1, 255))
  if (getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid)) then
   setGlobalStorageValue(COH_PREPARE2, getPlayerGuildName(cid))
   doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está muito próxima do domínio, ataquem!")
  end
 end
 return true
end

 

 


Edited by KONOHAE (see edit history)

Share this post


Link to post
Share on other sites

Essa parte do script que você postou faz isso que você pediu ... 

if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
	doSendMagicEffect(getThingPos(cid), 14)
	doSendAnimatedText(pos, "CoH", math.random(1, 255))
else
	doSendMagicEffect(getThingPos(cid), 2)
	doTeleportThing(cid, fromPosition, false)
	doPlayerSendCancel(cid, "[CoH] Você não pertence á guild "..getGlobalStorageValue(COH_STATUS)..".")
end

 



[10.98] Projeto Alunia 2017 - Yourots Custom (Download)

 

Share this post


Link to post
Share on other sites
4 horas atrás, luanluciano93 disse:

Essa parte do script que você postou faz isso que você pediu ... 


if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
	doSendMagicEffect(getThingPos(cid), 14)
	doSendAnimatedText(pos, "CoH", math.random(1, 255))
else
	doSendMagicEffect(getThingPos(cid), 2)
	doTeleportThing(cid, fromPosition, false)
	doPlayerSendCancel(cid, "[CoH] Você não pertence á guild "..getGlobalStorageValue(COH_STATUS)..".")
end

 

 

CARA A SCRIPT FUNCIONA SIM , O PROBLEMA EO TP DA GUILD PERDEDORA PARA O TEMPLO ENTENDEU ?

O RESTO Q DEIXEI AI É SO UMA IDEIA DE UM SCRIPT QUE TRABALHASSE EM CONJUNTO COM ESSA SCRIPT.

ACHO QUE VOCÊ NÃO PRESTOU A ATENÇÃO DIREITO NO PROBLEMA REAL QUE EU ESTOU TENDO !!

MESMO ASSIM OBRIBIGADO !!!  

 

 

 

 


Edited by KONOHAE (see edit history)

Share this post


Link to post
Share on other sites
if getGlobalStorageValue(COH_STATUS) ~= getPlayerGuildName(cid) then
	doSendMagicEffect(getThingPos(cid), 2)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
end

 



[10.98] Projeto Alunia 2017 - Yourots Custom (Download)

 

Share this post


Link to post
Share on other sites
52 minutos atrás, luanluciano93 disse:

if getGlobalStorageValue(COH_STATUS) ~= getPlayerGuildName(cid) then
	doSendMagicEffect(getThingPos(cid), 2)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
end

 

 

@luanluciano93  meu querido , coloquei dentro da script mais nao funcionou , tinha q substituir alguma coisa ou adicionar ? mais uma vez obrigado pela ajuda ai cara


Share this post


Link to post
Share on other sites
3 minutos atrás, luanluciano93 disse:

Cara você quer usar isso e um tile? 

 

@luanluciano93 não precisa do tile , só ajeita o teleport da guild q perdeu o castle !!

@luanluciano93 desculpe não saber me expressar direto mais editei o tópico pra vocês entenderem melhor

up


Share this post


Link to post
Share on other sites
5 horas atrás, leozincorsair disse:

Poderia me passar o script, caso você conseguiu encontrar?

 

@leozincorsair aguardando alguem para nós ajuda creio  que esse problema se alguem resolver vai ajudar muita gente !!

 


Share this post


Link to post
Share on other sites
local function negativa(uid, posicaoAnterior, texto, temple)
	if uid then
		doSendMagicEffect(getThingPos(uid), 2)
		doPlayerSendCancel(uid, texto)
		if temple then
			doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
		else
			doTeleportThing(uid, posicaoAnterior, false)
		end
	end
end

function onStepIn(cid, item, pos, fromPosition)
	if not isPlayer(cid) then
		return true
	end

	if item.actionid == 16203 then -- TILE PARA PASSAR A GUILD DOMINADORA.
		if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
			doSendAnimatedText(getThingPos(cid), "CoH", 14)
		else
			negativa(cid, fromPosition, "[CoH] Você não pertence á guild "..getGlobalStorageValue(COH_STATUS)..".", true)
		end
	
	elseif item.actionid == 16202 then -- TILE PARA QUEM TEM GUILD (QUE NÃO É A DOMINADORA) PARA VIRAR DOMINADORA.
		if getPlayerGuildId(cid) > 0 then
			if getGlobalStorageValue(COH_STATUS) ~= getPlayerGuildName(cid) then
				doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
				setGlobalStorageValue(COH_PREPARE1, -1)
				setGlobalStorageValue(COH_PREPARE2, -1)
				setGlobalStorageValue(COH_STATUS, getPlayerGuildName(cid))
				doCastleRemoveEnemies()
				doBroadcastMessage("[Castle of Honor] O jogador ["..getCreatureName(cid).."] e sua guild ["..getPlayerGuildName(cid).."] estão no comando do castelo, vá dominar e impedir isso!")
			end
		else
			negativa(cid, fromPosition, "[CoH] Você não possui uma guild.", false)
		end
	
	elseif item.actionid == 16200 then
		if getPlayerGuildId(cid) > 0 then
			doSendAnimatedText(getThingPos(cid), "CoH",14)
			if getGlobalStorageValue(COH_PREPARE1) ~= getPlayerGuildName(cid) and getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid) then
				setGlobalStorageValue(COH_PREPARE1, getPlayerGuildName(cid))
				doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está tentando dominar o castelo, preparem-se!")
			end
		else
			negativa(cid, fromPosition, "[CoH] Você não possui uma guild.", false)
		end   
	
	elseif item.actionid == 16201 then
		doSendAnimatedText(getThingPos(cid), "CoH", math.random(1, 255))
		if getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid) then
			setGlobalStorageValue(COH_PREPARE2, getPlayerGuildName(cid))
			doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está muito próxima do domínio, ataquem!")
		end
	end
	return true
end

 



[10.98] Projeto Alunia 2017 - Yourots Custom (Download)

 

Share this post


Link to post
Share on other sites
1 hora atrás, luanluciano93 disse:

local function negativa(uid, posicaoAnterior, texto, temple)
	if uid then
		doSendMagicEffect(getThingPos(uid), 2)
		doPlayerSendCancel(uid, texto)
		if temple then
			doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
		else
			doTeleportThing(uid, posicaoAnterior, false)
		end
	end
end

function onStepIn(cid, item, pos, fromPosition)
	if not isPlayer(cid) then
		return true
	end

	if item.actionid == 16203 then -- TILE PARA PASSAR A GUILD DOMINADORA.
		if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
			doSendAnimatedText(getThingPos(cid), "CoH", 14)
		else
			negativa(cid, fromPosition, "[CoH] Você não pertence á guild "..getGlobalStorageValue(COH_STATUS)..".", true)
		end
	
	elseif item.actionid == 16202 then -- TILE PARA QUEM TEM GUILD (QUE NÃO É A DOMINADORA) PARA VIRAR DOMINADORA.
		if getPlayerGuildId(cid) > 0 then
			if getGlobalStorageValue(COH_STATUS) ~= getPlayerGuildName(cid) then
				doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
				setGlobalStorageValue(COH_PREPARE1, -1)
				setGlobalStorageValue(COH_PREPARE2, -1)
				setGlobalStorageValue(COH_STATUS, getPlayerGuildName(cid))
				doCastleRemoveEnemies()
				doBroadcastMessage("[Castle of Honor] O jogador ["..getCreatureName(cid).."] e sua guild ["..getPlayerGuildName(cid).."] estão no comando do castelo, vá dominar e impedir isso!")
			end
		else
			negativa(cid, fromPosition, "[CoH] Você não possui uma guild.", false)
		end
	
	elseif item.actionid == 16200 then
		if getPlayerGuildId(cid) > 0 then
			doSendAnimatedText(getThingPos(cid), "CoH",14)
			if getGlobalStorageValue(COH_PREPARE1) ~= getPlayerGuildName(cid) and getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid) then
				setGlobalStorageValue(COH_PREPARE1, getPlayerGuildName(cid))
				doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está tentando dominar o castelo, preparem-se!")
			end
		else
			negativa(cid, fromPosition, "[CoH] Você não possui uma guild.", false)
		end   
	
	elseif item.actionid == 16201 then
		doSendAnimatedText(getThingPos(cid), "CoH", math.random(1, 255))
		if getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid) then
			setGlobalStorageValue(COH_PREPARE2, getPlayerGuildName(cid))
			doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está muito próxima do domínio, ataquem!")
		end
	end
	return true
end

 

 

ta traduzido algumas partes do script, e me diz uma coisa e pra jogar na mesma script do outro, ou criar uma nova?


Share this post


Link to post
Share on other sites
16 horas atrás, luanluciano93 disse:

local function negativa(uid, posicaoAnterior, texto, temple)
	if uid then
		doSendMagicEffect(getThingPos(uid), 2)
		doPlayerSendCancel(uid, texto)
		if temple then
			doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
		else
			doTeleportThing(uid, posicaoAnterior, false)
		end
	end
end

function onStepIn(cid, item, pos, fromPosition)
	if not isPlayer(cid) then
		return true
	end

	if item.actionid == 16203 then -- TILE PARA PASSAR A GUILD DOMINADORA.
		if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
			doSendAnimatedText(getThingPos(cid), "CoH", 14)
		else
			negativa(cid, fromPosition, "[CoH] Você não pertence á guild "..getGlobalStorageValue(COH_STATUS)..".", true)
		end
	
	elseif item.actionid == 16202 then -- TILE PARA QUEM TEM GUILD (QUE NÃO É A DOMINADORA) PARA VIRAR DOMINADORA.
		if getPlayerGuildId(cid) > 0 then
			if getGlobalStorageValue(COH_STATUS) ~= getPlayerGuildName(cid) then
				doPlayerSendTextMessage(cid, 20, "[Castle of Honor] Você e sua guild estão no comando, os antigos donos ["..tostring(getGlobalStorageValue(COH_STATUS)).."] podem se vingar!")
				setGlobalStorageValue(COH_PREPARE1, -1)
				setGlobalStorageValue(COH_PREPARE2, -1)
				setGlobalStorageValue(COH_STATUS, getPlayerGuildName(cid))
				doCastleRemoveEnemies()
				doBroadcastMessage("[Castle of Honor] O jogador ["..getCreatureName(cid).."] e sua guild ["..getPlayerGuildName(cid).."] estão no comando do castelo, vá dominar e impedir isso!")
			end
		else
			negativa(cid, fromPosition, "[CoH] Você não possui uma guild.", false)
		end
	
	elseif item.actionid == 16200 then
		if getPlayerGuildId(cid) > 0 then
			doSendAnimatedText(getThingPos(cid), "CoH",14)
			if getGlobalStorageValue(COH_PREPARE1) ~= getPlayerGuildName(cid) and getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid) then
				setGlobalStorageValue(COH_PREPARE1, getPlayerGuildName(cid))
				doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está tentando dominar o castelo, preparem-se!")
			end
		else
			negativa(cid, fromPosition, "[CoH] Você não possui uma guild.", false)
		end   
	
	elseif item.actionid == 16201 then
		doSendAnimatedText(getThingPos(cid), "CoH", math.random(1, 255))
		if getGlobalStorageValue(COH_PREPARE2) ~= getPlayerGuildName(cid) then
			setGlobalStorageValue(COH_PREPARE2, getPlayerGuildName(cid))
			doBroadcastMessage("[Castle of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está muito próxima do domínio, ataquem!")
		end
	end
	return true
end

 

 

 

@luanluciano93 TESTEI , MAIS AINDA NÃO FUNCIONOU ,A GUILD Q PERDEU O CASTELO CONTINUA LA DENTRO 

 


Share this post


Link to post
Share on other sites

é quando acaba o castle e a guild que perdeu fique fora?



MEUS TÓPICO DE DOWNLOAD:

 

 

Sistemas/Scripts:

 

Share this post


Link to post
Share on other sites

cara, tem essa função no script que deveria fazer isso, vc tem as libs desse sistema para eu ver essa função?
 

doCastleRemoveEnemies()

 



[10.98] Projeto Alunia 2017 - Yourots Custom (Download)

 

Share this post


Link to post
Share on other sites

minha lib

COH_PUSHTIME = 10800 -- Tempo (em segundos) de exhausted para usar o comando !gocastle - Padrão (3 horas)
COH_AREA = {{x = 1005, y = 1139, z = 7}, {x = 380, y = 141, z = 3}} -- Canto superior esquerdo / inferior direito do Castle


-- // Não mexa daqui para baixo
COH_STATUS = 201320111714
COH_PREPARE1 = 201320111715
COH_PUSHSTOR = 201320111716
COH_PREPARE2 = 201320111717

function doCastleRemoveEnemies()

 for index, creature in ipairs(getPlayersOnline()) do
  if isInArea(getThingPos(creature), COH_AREA[1], COH_AREA[2]) then
   if getPlayerGuildName(creature) ~= getGlobalStorageValue(COH_STATUS) then
    doTeleportThing(creature, getTownTemplePosition(getPlayerTown(creature)))
   end
  end
 end
 return true
end

 

testei com essa lib aq tbm mais ainda nao funcionou 

COH_PUSHTIME = 10800 -- Tempo (em segundos) de exhausted para usar o comando !gocastle - Padrão (3 horas)
COH_AREA = {{x = 1005, y = 1139, z = 7}, {x = 380, y = 141, z = 3}} -- Canto superior esquerdo / inferior direito do Castle


-- // Não mexa daqui para baixo
COH_STATUS = 201320111714
COH_PREPARE1 = 201320111715
COH_PUSHSTOR = 201320111716
COH_PREPARE2 = 201320111717

function doCastleRemoveEnemies()

 for index, creature in ipairs(getPlayersOnline()) do
  if isInArea(getThingPos(creature), COH_AREA[1], COH_AREA[2]) then
   if getPlayerGuildName(creature) ~= getGlobalStorageValue(COH_STATUS) then
    doTeleportThing(creature, getTownTemplePosition(getPlayerTown(creature)))
   end
  end
 end
 return true
end

function getAllPlayersInArea(fromPosition, toPosition)
    local players = {}
    for _, pid in ipairs(getPlayersOnline()) do
        local f = {x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}
        local t = {x = toPosition.x, y = toPosition.y, z = toPosition.z}
        local min = (fromPosition.z > toPosition.z and toPosition.z or fromPosition.z)
        for index = 0, math.abs(toPosition.z - fromPosition.z) do
            f.z = min + index
            t.z = min + index
            if isInRange(getPlayerPosition(pid), f, t) then
                table.insert(players, pid)
            end
        end    
    end
    return players
end

 


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...