Ir para conteúdo

[Encerrado] Corrigir erro no script


AdilsonHacker

Posts Recomendados

Galera, tenho um castelo no meu server que só pode ser invadido todos os dias de 16h as 17h apenas 1 vez no dia uma só guild pode dominar. Só que o que tá acontecendo é que dentre desse horário várias guild pode dominar. o doCancel não tá funcionando. Segue o codigo:



 

-----------------------------------            
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS      
-----------------------------------            


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

------------------ Inicio das Config ------------

local castle_one_name = "Castle"                  -- Nome do castelo 1
local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

-------PREMIOs  I N D I V I D U A L ---------

local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa. 
local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
local premio = 5956                -- ID do Premio
local premio_cont = 1              -- Quantidade do Premio
local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO
 
-------FIM PREMIOs I N D I V I D U A L ---------

 
----------------- FIM DAS CONFIG -----------------

local hora = tonumber(os.date("%H"))
                    
                    if hora < 22 or hora > 23 then
                        doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
                        return true
                           end

local sto_ativ = getGlobalStorageValue(storages[2])
position = getCreaturePosition(cid)

 
 
 if item.itemid == 9826 then
            doTransformItem(item.uid,item.itemid-1)
            doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")   --- função que não esta funcionando corretamente
            return false
            end
            
if item.itemid == 9825 then
for posx = 1254,1256 do -- checar posição X, começo e final da sala
for posy = 690,690 do -- checar posicao Y, começo e final da sala
local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
local creature = getThingfromPos(pos) -- pega informações da creature da posição
if isMonster(creature.uid) then -- verifica se é um monster
doTransformItem(item.uid,item.itemid+1)
doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
return false
end
end
end
end
            


   if isPlayerGuild(cid) == TRUE then
      if sto_ativ == 1 or sto_ativ == -1 then

         guildname = getPlayerGuildName(cid)     
         guild = getPlayerGuildId(cid)               
         guild_sto = getGlobalStorageValue(storages[3])
                  
            if guild ~= guild_sto then            
               setPlayerStorageValue(cid,guild_sto,guild)                      
               if getPlayerStorageValue(cid,storages[1]) == -1 then
                  setPlayerStorageValue(cid,storages[1],0)
               end
               
               sto_vezes = getPlayerStorageValue(cid,storages[1])                   
               
               setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
               setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
               
               sto_vezes_total = getPlayerStorageValue(cid,storages[1])
                        
               doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
                 
                 if premio_por_vezes == 1 then
                    if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
                       if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
                          doPlayerAddItem(cid, premio,premio_cont)
                        -----------------------------------------------  --  
                            if premio_reset == 1 then                    --
                               setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
                            end                                          --
                        -----------------------------------------------  --
                        
                       else
                       doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
                       addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
                       end
                    end                                        
                 end               
            else
              doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
              doTransformItem(item.uid,item.itemid+1)
            end
      else
      doPlayerSendCancel(cid,"O sistema está desativado")
      end      
   else
   doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
   doTransformItem(item.uid,item.itemid+1)
   end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
if getPlayerGuildName(cid) ~= "" then
return TRUE
else
return FALSE
end
end



Agradeço desde já
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • Diretor

Tenta ai:

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid+1)
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
    return false
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

Link para o comentário
Compartilhar em outros sites

11 horas atrás, Yan Liima disse:

Tenta ai:


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid+1)
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
    return false
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

As alavanca meio que bugou... mas ainda continua dominando várias vezes no dia!
16:17 A guild Os Teimosos acaba de dominar o castelo!
16:17 A guild Escudo acaba de dominar o castelo!
16:17 A guild Os Teimosos acaba de dominar o castelo!

Link para o comentário
Compartilhar em outros sites

  • Diretor

Vê ai mano:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
    return true
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

12 horas atrás, Yan Liima disse:

Vê ai mano:

  Mostrar conteúdo oculto


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
    return true
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Aparece a mensagem de que já foi invadida hoje mas qnd clika novamente e a alavanca se mexe, ainda consegue dominar!

16:35 A guild Os Teimosos acaba de dominar o castelo!
16:35 A guild Escudo acaba de dominar o castelo!
16:36 A guild Os Teimosos acaba de dominar o castelo!

Mano, uma dica, poderia fazer que apos dominasse uma vez, no caso desse use na alavanca.. ela sumisse por 12h e dps voltava sacas? ou algo do tipo

Link para o comentário
Compartilhar em outros sites

  • Diretor

Da sim. Porém acho que da pra resolver esse problema ai. Tenta agora:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
    return true
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Link para o comentário
Compartilhar em outros sites

Agora, Yan Liima disse:

Da sim. Porém acho que da pra resolver esse problema ai. Tenta agora:

  Ocultar conteúdo


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
    return true
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Cara, EU TE AMO! Só ta dominando uma vez apos clikar na alavanca... agora a duvida é: será que apos 12h por exemplo a alavanca volta pra poder dominar de novo? ou vou ter q reiniciar o ot a cada 24h?

@EDIT: Um erro, a alavanca não volta pro lado inicial dela pro player continuar tentando msm q nao der pra dominar, era pra ela ta indo e voltando e saindo o doCancel caso alguem ja tenha dominado hj

Editado por AdilsonHacker
Link para o comentário
Compartilhar em outros sites

  • Diretor
4 minutos atrás, AdilsonHacker disse:

Cara, EU TE AMO! Só ta dominando uma vez apos clikar na alavanca... agora a duvida é: será que apos 12h por exemplo a alavanca volta pra poder dominar de novo? ou vou ter q reiniciar o ot a cada 24h?

Creio que sim! qualquer problema me avise ❤️ 

Link para o comentário
Compartilhar em outros sites

  • Diretor
9 minutos atrás, AdilsonHacker disse:

Crê que sim o que irmão, que vai sre preciso eu reiniciar? eu editei o post acima

Creio que a alavanca volta... Poxaa vamos tentar de novo...

Tente:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
	else
	doTransformItem(item.uid,item.itemid-1)
    return true
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

OU

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Link para o comentário
Compartilhar em outros sites

Agora, Yan Liima disse:

Creio que a alavanca volta... Poxaa vamos tentar de novo...

Tente:

  Ocultar conteúdo


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
	else
	doTransformItem(item.uid,item.itemid-1)
    return true
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

OU

  Ocultar conteúdo


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Tá se transformando no corpo do undead gladiador agora kk

EDIT: o script 2 ta 'funcionando' diz q ja foi dominado hj, mas qnd a alavanca vai e volta e o outro da outra guild consegue dorminar..

16:31 A guild Escudo acaba de dominar o castelo!
16:31 A guild Os Teimosos acaba de dominar o castelo!

EDIT 2: acho que se tirasse isso da alavanca se mexer, e apos o player com guild da use nela 1x ela sumisse por 3h por exemplo, e dps aparecesse pronta pra dominar de novo, nao seria mais facil n?

Editado por AdilsonHacker
Link para o comentário
Compartilhar em outros sites

  • Diretor
15 minutos atrás, AdilsonHacker disse:

Tá se transformando no corpo do undead gladiador agora kk

EDIT: o script 2 ta 'funcionando' diz q ja foi dominado hj, mas qnd a alavanca vai e volta e o outro da outra guild consegue dorminar..

16:31 A guild Escudo acaba de dominar o castelo!
16:31 A guild Os Teimosos acaba de dominar o castelo!

EDIT 2: acho que se tirasse isso da alavanca se mexer, e apos o player com guild da use nela 1x ela sumisse por 3h por exemplo, e dps aparecesse pronta pra dominar de novo, nao seria mais facil n?

Essa parada de sumir por X tempo e depois aparecer novamente sou muito bom em fazer não kkkk conhece algum script assim? Eu consigo adaptar ... Bom ta bem perto de ser solucionado, talvez o Vodkart de conta de resolver agora, manda o script pra ele o que mais deu certo. Que ele provavelmente de conta de corrigir.

Só pra teimar mesmo, tente assim:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

OU

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return TRUE
  end
end

 

 

O que complica é esse negocio de alavanca ai. Bom, podemos tentar retirar ela de se mexer. Segue o script:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Se estiver errado:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Ou tentamos assim mesmo:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,9826)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

Me empolguei ksksksks

Link para o comentário
Compartilhar em outros sites

Agora, Yan Liima disse:

Essa parada de sumir por X tempo e depois aparecer novamente sou muito bom em fazer não kkkk conhece algum script assim? Eu consigo adaptar ... Bom ta bem perto de ser solucionado, talvez o Vodkart de conta de resolver agora, manda o script pra ele o que mais deu certo. Que ele provavelmente de conta de corrigir.

Só pra teimar mesmo, tente assim:

  Mostrar conteúdo oculto


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

OU

  Mostrar conteúdo oculto


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return false
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return TRUE
  end
end

 

 

O que complica é esse negocio de alavanca ai. Bom, podemos tentar retirar ela de se mexer. Segue o script:

  Mostrar conteúdo oculto


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Se estiver errado:

  Mostrar conteúdo oculto


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

 

Ou tentamos assim mesmo:

  Mostrar conteúdo oculto


-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,9826)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return FALSE
  end
end

 

Me empolguei ksksksks

O segundo funcionou amigo.. Muito obrigado
Agora só acho que pra alavanca poder voltar eu ter q ta reinciando o ot a cada 24h ne...?

Mano, to sofrendo um bug agora é com os guard q nao ataca os jogadores apos dominar o castelo... qnd os jogadores que estao com a storage do castelo deslogam ou morre... o serve todo trava e da esse erro na distro: 

Script do guard: 




function onCombat(cid, target)

if(not isPlayer(target)) then
return TRUE
else

targets = getMonsterTargetList(cid)

if getPlayerGuildId(target) == getGlobalStorageValue(123123) then
   addEvent(check,1000,cid,targets)
   return FALSE
else
return TRUE
end
end
end

function check(cid,targets)

for i=1, #targets do
    if getPlayerGuildId(targets[i]) == getGlobalStorageValue(123123) then
       
       addEvent(check,1000,cid,targets)
       return FALSE
    else
        stopEvent(check)
        return TRUE
    end
end
end


 

sdf.png

Link para o comentário
Compartilhar em outros sites

  • Diretor
15 minutos atrás, AdilsonHacker disse:

O segundo funcionou amigo.. Muito obrigado
Agora só acho que pra alavanca poder voltar eu ter q ta reinciando o ot a cada 24h ne...?

Mano, to sofrendo um bug agora é com os guard q nao ataca os jogadores apos dominar o castelo... qnd os jogadores que estao com a storage do castelo deslogam ou morre... o serve todo trava e da esse erro na distro: 

Script do guard: 

 

  Mostrar conteúdo oculto

 

 

 


function onCombat(cid, target)

if(not isPlayer(target)) then
return TRUE
else

targets = getMonsterTargetList(cid)

if getPlayerGuildId(target) == getGlobalStorageValue(123123) then
   addEvent(check,1000,cid,targets)
   return FALSE
else
return TRUE
end
end
end

function check(cid,targets)

for i=1, #targets do
    if getPlayerGuildId(targets[i]) == getGlobalStorageValue(123123) then
       
       addEvent(check,1000,cid,targets)
       return FALSE
    else
        stopEvent(check)
        return TRUE
    end
end
end
 

 


 

sdf.png

 

Diminui o tempo e testa. Sobre o erro do segundo script tente assim:

function onCombat(cid, target)
if not isPlayer(target) then
return true
else
targets = getMonsterTargetList(cid)

if getPlayerGuildId(target) == getGlobalStorageValue(123123) then
   addEvent(check,1000,cid,targets)
   return true
else
return TRUE
end
end
end

function check(cid,targets)

for i=1, #targets do
    if getPlayerGuildId(targets[i]) == getGlobalStorageValue(123123) then
       
       addEvent(check,1000,cid,targets)
       return TRUE
    else
        stopEvent(check)
        return TRUE
    end
end
end

Analisei novamente o script do Castle e percebi que não está verificando se o jogador matou o Guard. Sendo assim é só ignorar e ir direto pra alavanca... Se quiser que verifica se o guard foi morto deixe assim:

Spoiler

-----------------------------------
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS
-----------------------------------


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

  ------------------ Inicio das Config ------------

  local castle_one_name = "Castle"                  -- Nome do castelo 1
  local storages = {154154,54321,123123}               -- Storages ( se vc eh iniciante, deixe como está...)

  -------PREMIOs  I N D I V I D U A L ---------

  local premio_por_vezes = 1         -- Premio por vezes de conquista de castelo. (1) = Ativo  (0) = Desativa.
  local premio_vezes = 1            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
  local premio = 5956                -- ID do Premio
  local premio_cont = 1              -- Quantidade do Premio
  local premio_reset = 1           -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM  (0) = NAO

  -------FIM PREMIOs I N D I V I D U A L ---------


  ----------------- FIM DAS CONFIG -----------------

  local hora = tonumber(os.date("%H"))

  if hora < 16 or hora > 17 then
    
    doPlayerSendTextMessage(cid,18,"O castelo só pode ser invadida entre as 16 e 17 horas.")
	return true
  end

  local sto_ativ = getGlobalStorageValue(storages[2])
  position = getCreaturePosition(cid)
  
  
  if item.itemid == 9826 then
    doTransformItem(item.uid,item.itemid-1)
    return doPlayerSendCancel(cid,"O castelo ja foi invadida hoje.")
  end

  if item.itemid == 9825 then
    for posx = 1254,1256 do -- checar posição X, começo e final da sala
      for posy = 690,690 do -- checar posicao Y, começo e final da sala
        local pos = {x=posx, y=posy, z=6, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
        local creature = getThingfromPos(pos) -- pega informações da creature da posição
        if isMonster(creature.uid) then -- verifica se é um monster
          doTransformItem(item.uid,item.itemid+1)
          doPlayerSendTextMessage(cid,18,"Para dominar o castelo é necessario matar os guardas.")
          return true
        end
      end
    end
  end



  if isPlayerGuild(cid) == TRUE then
    if sto_ativ == 1 or sto_ativ == -1 then
      guildname = getPlayerGuildName(cid)
      guild = getPlayerGuildId(cid)
      guild_sto = getGlobalStorageValue(storages[3])

      if guild ~= guild_sto then
        setPlayerStorageValue(cid,guild_sto,guild)
        if getPlayerStorageValue(cid,storages[1]) == -1 then
          setPlayerStorageValue(cid,storages[1],0)
        end

        sto_vezes = getPlayerStorageValue(cid,storages[1])
        setGlobalStorageValue(storages[3],getPlayerGuildId(cid))
        setPlayerStorageValue(cid,storages[1], sto_vezes + 1)
        sto_vezes_total = getPlayerStorageValue(cid,storages[1])
        doBroadcastMessage("A guild "..getPlayerGuildName(cid).." acaba de dominar o castelo!")
		doTransformItem(item.uid,9826)
		
        if premio_por_vezes == 1 then
          if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
            if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
              doPlayerAddItem(cid, premio,premio_cont)
              -----------------------------------------------  --
              if premio_reset == 1 then                    --
                setPlayerStorageValue(cid,storages[1],0)  --  Resetar a contagem
              end                                          --
              -----------------------------------------------  --

            else
              doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!")
              addEvent(additem,10000,cid,premio,premio_cont,premio_reset)
            end
          end
        end
      else
        doPlayerSendCancel(cid,"Sua guild já está dominando o castelo.")
        doTransformItem(item.uid,item.itemid+1)
      end
    else
      doPlayerSendCancel(cid,"O sistema está desativado")
    end
  else
    doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo.")
    doTransformItem(item.uid,item.itemid+1)
  end
end

------------------------- por pc98


-------------------------  por pc98
function isPlayerGuild(cid)
  if getPlayerGuildName(cid) ~= "" then
    return TRUE
  else
    return TRUE
  end
end

 

 

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

Agora, Yan Liima disse:

 

Diminui o tempo e testa. Sobre o erro do segundo script tente assim:


function onCombat(cid, target)
if not isPlayer(target) then
return true
else
targets = getMonsterTargetList(cid)

if getPlayerGuildId(target) == getGlobalStorageValue(123123) then
   addEvent(check,1000,cid,targets)
   return true
else
return TRUE
end
end
end

function check(cid,targets)

for i=1, #targets do
    if getPlayerGuildId(targets[i]) == getGlobalStorageValue(123123) then
       
       addEvent(check,1000,cid,targets)
       return TRUE
    else
        stopEvent(check)
        return TRUE
    end
end
end

 

Diminuir o tempo de que mano? nao entendi

Sobre os guard.. agora eles me atacam kkkkkk

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...