Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Em 17/06/2014 em 21:26, Absolute disse:

Fala galera linduxa do TK; hoje trago a vocês o tão desejado CASTLE WAR 24 HORAS, isto gera disputa intensa entre as guilds de seu servidor, atraindo assim mais jogadores que se interessam por guerras e seus demais sistemas! Modificado e com funções diferentes, no tópico ensinarei como instalar e como funciona.

 

 

rm6RT7U.jpg

 

 

Como funciona? WOOOOOOOOW!

 

Há um portal 24h aberto em algum lugar do seu mapa que ficará com o castle disponível 24h (avá).

Quando uma guild qualquer acessar o portal do castelo, irá aparecer para o servidor que a X guild está tentando dominar o castelo, então o líde da guild dominante atual irá dizer !gocastle para teleportar ao castelo e defende-lo.
O Objetivo para conquista do mesmo é invadi-lo derrotar os defensor da guild atual para abrir passagem, digamos assim, e subir ao trono, quando um membro da guild invadir o templo do trono e subir no mesmo a antiga guild dominadora é teleportada para o templo e o castelo fica sob domínio da nova guild.
Você poderá colocar como premiação acesso a áreas exclusivas do castelo, no caso hunts e cia. (Fica a vosso critério)

 

Evento testado nas versões 8.6; 9.6; 9.83; 9.86!

 

Observação: 

Comando !gocastle faz com que o líder possa teleportar
todos os membros da sua guild online para perto dele,
desde que ele esteja no castle. Comando pode ser usado
a cada 3 horas (exhausted).

 

 

 

 

 

Vamos aos scripts do sistema;

 

Em data/actions/scripts crie um arquivo com o nome de naviocastle.lua e coloque dentro:


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

if(item.actionid == 65500) then
if getTopCreature({x=32464,y=32378,z=5}).uid > 0 then
doTeleportThing(getTopCreature({x=32464,y=32378,z=5}).uid, {x=32526,y=32421,z=5})
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
else
doPlayerSendCancel(cid, "Você precisa estar em cima do tapete.")
return true
end

elseif (item.actionid == 65501) then
if getTopCreature({x=32526,y=32421,z=5}).uid > 0 then
doTeleportThing(getTopCreature({x=32526,y=32421,z=5}).uid, {x=32464,y=32378,z=5})
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
else
doPlayerSendCancel(cid, "Você precisa estar em cima do tapete.")
end
end
return true
end

 

 

Conteúdo Oculto

 

 

 

 

Em actions.xml adicione a seguinte linha:


<action actionid="65500-65501" event="script" value="naviocastle.lua"/>

Pós feito isto, em data/lib crie um arquivo com o nome de 015-COH e adicione dentro dele:


-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.

-- //

COH_PUSHTIME = 10800 -- Tempo (em segundos) de exhausted para usar o comando !gocastle - Padrão (3 horas)
COH_AREA = {{x = 32458, y = 32332, z = 7}, {x = 32558, y = 32429, z = 7}} -- 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

Proximo passo, em data/monster.xml adicione a seguinte linha:


<monster name="Castle Guardian" file="Castle Guardian.xml"/>

Em data/monsters crie um arquivo com o nome de Castle Guardian.xml e adicione o seguinte:


<?xml version="1.0" encoding="UTF-8"?>
<monster name="Castle Guardian" nameDescription="a castle guardian" race="blood" experience="0" speed="0" manacost="0">
  <health now="800000" max="800000"/>
  <look type="131" head="57" body="19" legs="57" feet="95" addons="1" corpse="6080"/>
  <targetchange interval="5000" chance="30"/>
  <strategy attack="100" defense="0"/>
  <flags>
    <flag summonable="0"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="0"/>
    <flag convinceable="0"/>
    <flag pushable="0"/>
    <flag canpushitems="1"/>
    <flag canpushcreatures="1"/>
    <flag targetdistance="4"/>
    <flag staticattack="90"/>
    <flag runonhealth="800"/>
  </flags>
	<attacks>
		<attack name="melee" interval="2000" min="-60" max="-180"/>
		<attack name="physical" interval="1000" chance="35" range="7" min="-205" max="-385">
			<attribute key="shootEffect" value="energy"/>
		</attack>
		<attack name="manadrain" interval="1000" chance="17" range="7" min="-205" max="-560"/>
		<attack name="speed" interval="1000" chance="12" range="7" speedchange="-600" duration="40000">
			<attribute key="areaEffect" value="redshimmer"/>
		</attack>
		<attack name="fire" interval="2000" chance="45" range="7" radius="3" target="1" min="-250" max="-420">
			<attribute key="shootEffect" value="burstarrow"/>
			<attribute key="areaEffect" value="firearea"/>
		</attack>
		<attack name="firefield" interval="1000" chance="20" range="7" radius="2" target="1">
			<attribute key="shootEffect" value="fire"/>
		</attack>
		<attack name="energy" interval="2000" chance="25" length="8" spread="0" min="-265" max="-445">
			<attribute key="areaEffect" value="energy"/>
		</attack>
		<attack name="speed" interval="6000" chance="10" range="5" speedchange="-600" duration="20000">
			<attribute key="areaEffect" value="redshimmer"/>
		</attack>
	</attacks>
  <defenses armor="1" defense="1"/>
	<elements>
		<element firePercent="100"/>
		<element energyPercent="100"/>
		<element icePercent="100"/>
		<element earthPercent="90"/>
		<element holyPercent="-25"/>
		<element physicalPercent="-33"/>
	</elements>
	<immunities>
		<immunity paralyze="1"/>
		<immunity invisible="1"/>
	</immunities>
  <summons maxSummons="2">
    <summon name="deathspawn" interval="1500" chance="0" max="0"/>
  </summons>
  <loot>
    <item id="2148" countmax="20" chance1="100000" chancemax="0"/>
  </loot>
</monster>

Pós isto;

 

 

Em data/movements/scripts crie um arquivo com o nome de COH.lua e adicione o seguinte:


-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.

-- //

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

Em data/movements/movements.xml adicione a seguinte linha:


<movevent type="StepIn" actionid="16200-16203" event="script" value="COH.lua"/>

Próximo passo:

 

Em data/talkactions/scripts crie um arquivo com o nome de COHABSOLUTE.lua e adicione o seguinte:


-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.

-- //

function onSay(cid, words, param)

 if getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then
  if getPlayerStorageValue(cid, COH_PUSHSTOR) < os.time() then
   if getGlobalStorageValue(COH_STATUS) == getPlayerGuildName(cid) then
    if isInArea(getThingPos(cid), COH_AREA[1], COH_AREA[2]) then
     if #getMembersOnline(getPlayerGuildId(cid)) > 0 then
      for index, creature in ipairs(getMembersOnline(getPlayerGuildId(cid))) do
       if (getTileInfo(getThingPos(creature)).protection ~= true) then
        return doPlayerSendCancel(cid, "[CoH] Os membros devem estar em área PZ.")
       end
       doTeleportThing(creature, getThingPos(cid))
      end
      setPlayerStorageValue(cid, COH_PUSHSTOR, os.time() + COH_PUSHTIME) 
      doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "[Castle of Honor] Você teleportou seus membros, comando pode ser usado a cada "..tostring(COH_PUSHTIME / 60).." minuto(s).")
     else
      doPlayerSendCancel(cid, "[CoH] Para executar isso, sua guild deve ter 2 ou mais membros online.") 
     end
    else
     doPlayerSendCancel(cid, "[CoH] Você deve estar no castelo.")
    end
   else
    doPlayerSendCancel(cid, "[CoH] Sua guild não é dona do castelo.")
   end
  else
   doPlayerSendCancel(cid, "[CoH] Você deve aguardar "..tostring(math.ceil((getPlayerStorageValue(cid, COH_PUSHSTOR) - os.time()) / 60)).." minuto(s) para usar este comando.")
  end
 else
  doPlayerSendCancel(cid, "[CoH] Você deve ser líder de uma guild para executar este comando.")
 end
 return true
end

function getMembersOnline(id)
 local mbr = {}

 for index, creature in ipairs(getPlayersOnline()) do
  if getPlayerGuildId(creature) == id then
   if getCreatureSkullType(creature) < 3 then
    table.insert(mbr, creature)
   end
  end                      
 end
 return mbr or #mbr
end

Em data/talkactions/talkactions.xml adicione a seguinte linha:


<talkaction words="!castlepush;!pushmembers;!gocastle" event="script" value="COHABSOLUTE.lua"/>

Quem disponibiliza o mapa do castelo a vocês é nosso amigo ViitinG, segue o link do tópico para download do mesmo já adaptado para este Castle:

http://www.tibiaking.com/forum/topic/35730-mapa-evento-war-castle/

 

 

 

Explicação das actions e demais (caso não use o mapa disponibilizado pelo Viiting lembre de adicionar ao castelo);


ActionID 16200 - No meio do caminho para o castelo,
ActionID 16201 - Perto do castelo,
ActionID 16202 - No piso, trono que faz com que domine,
e ActionID 16203 - Para a passagem de acesso ás 
hunts / city exclusivas da guild vencedora.
Importante: Para colocar uma passagem para as hunts ou o que for a premiação da guild vencedora, coloque um caminho único com os actionIDS 16203, assim só a guild dominante do castelo poderá passar neste local.

É importante lembrar que este script é de autoria do Roksas Nunez, ex scripter da empresa chaitosoft, fiz simples modificações de otimização.

 

 

Qualquer dúvida peço que entre em contato comigo e poste aqui no tópico.

 

 

 

Créditos:
Absolute

Roksas
ViitinG

 

 

Espero que gostem, afinal raro alguém disponibilizar algo tão desejado e útil assim!

 

 

 

Até o próximo sistema.

 

 

 

 

Absolute on tibiaking =p

 



Galera estou com um problema ... ant-fraude.
Se alguem da guilda q ja tem o dominio do castelo , pisar no trono ... ela vai ganhar mais rapido que os outros pq ela tem o comando !gocastle
entao a guilda q dominar , sempre vai conseguir dominar antes.

exemplo: minha guilda e a dominante do castelo , e ai abre o evento pra outras guildas dominarem.
eu falo com o dono da minha guilda pra usar o comando !gocastle.
subo as escadas chego na sala do trono e piso nele. os players vao ser teleportados e o evento vai acabar.

oq eu gostaria de saber e se tem algum scrip por fora q nao deixe voce pisar no trono quando voce ja e da guilda dominante do castelo.

Link para o post
Compartilhar em outros sites

Mostre o script do guild castle system, e poderei te ajudar xd

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

Link para o post
Compartilhar em outros sites

Testa aí:
 

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!")
      else
		doTeleportThing(cid, fromPosition, false)
		doPlayerSendCancel(cid, "[CoH] Sua guild já domina este castelo.")
	  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

 

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

Link para o post
Compartilhar em outros sites
1 hora atrás, Nazo disse:

Testa aí:
 


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!")
      else
		doTeleportThing(cid, fromPosition, false)
		doPlayerSendCancel(cid, "[CoH] Sua guild já domina este castelo.")
	  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

 

olha , seu script funciona a msg mas nao impede o jogador de subir no trono ... preciso de um sqm ou algo parecido q nao deixe ele pisar no trono se ele ja estiver no controle do castelo.

Link para o post
Compartilhar em outros sites

Tipo, a msg de "sua guild já domina" aparece? Testa isso:

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!")
			else
				doTeleportThing(cid, fromPosition)
				doPlayerSendCancel(cid, "[CoH] Sua guild já domina este castelo.")
			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, true)
			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

 

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

Link para o post
Compartilhar em outros sites
58 minutos atrás, Nazo disse:

Tipo, a msg de "sua guild já domina" aparece? Testa isso:


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!")
			else
				doTeleportThing(cid, fromPosition)
				doPlayerSendCancel(cid, "[CoH] Sua guild já domina este castelo.")
			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, true)
			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

agora da "sorry , not possible" mas eu ainda posso passar pelo trono =/

 

Link para o post
Compartilhar em outros sites

Testa isso:

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!")
			else
				doTeleportThing(cid, fromPosition, true)
				doPlayerSendCancel(cid, "[CoH] Sua guild já domina este castelo.")
			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, true)
			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

Perdão por tantas tentativas, sou meio desatento quando não faço código testando xd

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Em 19/01/2018 em 02:19, Fernandooww disse:

nao funcionou =/

Erro na distro meu chapa?

Programador PHP, Lua, Java, database administrator.

 

"Nada é verdade, tudo é permitido."

Requiescat in pace.

Link para o post
Compartilhar em outros sites
Em 27/01/2018 em 09:31, Nazo disse:

Erro na distro meu chapa?

nao =/
nao da erro em nada , ele simplesmente nao funciona com o script do camarada ai de cima =X

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo