Ir para conteúdo
  • Cadastre-se

AJUDA COM SCRIPT CASTLE WAR 24 HORAS VALENDO REP +


Posts Recomendados

Ola pessoal gostaria de pedir ajuda no seguinte: possuo um script castle war que aparentemente esta funcionando tudo certinho. Porém o problema é que quando uma guild nova domina o castelo a anterior não é teleportada para o templo. sei que deve existir algum tópico aqui já no fórum a respeito disso, mas andei procurando e não encontrei. se alguém puder me ajudar ficarei muito grato, além de levar meu rep + lógico:)

 

abaixo segue o script do meu castle war 24 horas

 

ACTIONS

 

-----------------------------------            
---------SCRIPT por PC98------------    NAO REMOVA OS CREDITOS      
-----------------------------------            
 
 
function onUse(cid, item, frompos, item2, topos) 
 
------------------ Inicio das Config ------------
 
local castle_one_name = "Castle24h"                  -- 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 = 15            -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO.
local premio = 5468                -- 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 sto_ativ = getGlobalStorageValue(storages[2])
position = getCreaturePosition(cid)
 
 
   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("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22)
               doSendMagicEffect(position, 39)  
                 
                 if premio_por_vezes == 1 then
                    if getPlayerStorageValue(cid,storages[1]) == premio_vezes then
                       if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
                          doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21)
                          doPlayerAddItem(cid, premio,premio_cont)
                          doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!")
                        -----------------------------------------------  --  
                            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,"Este castelo ja foi conquistado pela sua guild!")
              doSendMagicEffect(position, 2)
            end
      else
      doPlayerSendCancel(cid,"O sistema está desativado")
      end      
   else
   doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!")
   doSendMagicEffect(position, 2)
   end
end
 
------------------------- por pc98
 
function additem(cid,premio,premio_cont,premio_reset)
 
 if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then
    doPlayerAddItem(cid, premio,premio_cont)
    doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!")
     if premio_reset == 1 then
        setPlayerStorageValue(cid,storages[1],0)
     end
    stopEvent(additem)
  else
  doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!")
  addEvent(additem,10000,cid)
  end
end
 
-------------------------  por pc98
function isPlayerGuild(cid)
if getPlayerGuildName(cid) ~= "" then
return TRUE
else
return FALSE
end
end

 

 

function onUse(cid, item, frompos, item2, topos)
 
        local config =
        {
                STORAGE_GUILD = 123123, -- A 3ª storage configurada em Castle.lua
                MSG_WELCOME = "Seja bem vindo a vosso castelo!",
                MSG_FAIL = "Este castelo nao pertence a sua guild"
        }
 
        if getPlayerGuildId(cid) == getGlobalStorageValue(config.STORAGE_GUILD) then
                doTeleportThing(cid,getThingPos(item.uid))
                doTransformItem(item.uid, 1230)
                doPlayerSendTextMessage(cid, 22, config.MSG_WELCOME)  
        else
                doPlayerSendTextMessage(cid, 22, config.MSG_FAIL)
    end
 
        return true
end

 

 

 

MOVEMENTS

 

function onStepIn(cid, item, position, fromPosition)

 
 
local castle_one_name = "Castle24H"   -- Nome do castelo 1
local storages = {154154,54321,123123}    -- Storages ( se vc eh iniciante, deixe como est&#225;...)
 
 
 
 
local sto_ativ = getGlobalStorageValue(storages[2])
position = getCreaturePosition(cid)
 
 
 
 
   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 
 
 
  doBroadcastMessage("O(a) Jogador "..getCreatureName(cid)..". Esta Tentando Invadir O "..castle_one_name.." Da Guild \""..guildname..". Aviso Donos Atuais", 22) 
 
 
 
 
else
 doPlayerSendCancel(cid,"Avance")
end
 else
 doPlayerSendCancel(cid,"Avance")
 end 
   else
   doPlayerSendCancel(cid,"Avance")
   end
   return true
end
 
 
 
 
function isPlayerGuild(cid)
if getPlayerGuildName(cid) ~= "" then
return TRUE
else
return FALSE
end
end

 

 
Link para o post
Compartilhar em outros sites

pelo oq eu vi esse dai vc n pego as tag que tinha que digitar na database sua entao pegue esse

http://www.tibiaking.com/forum/topic/35731-castle-war-24h-conquiste-o-trono/

Link para o post
Compartilhar em outros sites

esse dai eu ja tentei de tudo ja fiz e refiz e sempre me retorna esses erros:

 

post-63358-0-04981800-1413051993_thumb.p

 

sera que não ha alguma forma de encontrar essas tags compativeis para funcionar no meu castle war. porque ele ta tudo ok so falta isso mesmo. 

 

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingCreatureScripts, GlobalEvents e MoveMents"

Para: "OTServSuporte OTServSuporte de Scripts"

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

isso não é possivel a menos que todos os players da guild estejam online ou vc faça um creaturescripts onLogin que se o player tiver dentro da area do castelo e o globalStorage seja diferente do id da guild dele então teleporte ele pro templo.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 5 weeks later...
Em 2014-10-28 ás 00:01, xWhiteWolf disse:

 

Editado por needbaiak (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

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

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

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

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

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo