Ir para conteúdo

Featured Replies

Postado

Iae galera do TK. Queria exp bonus para quem for dono do castle. Se alguém puder me ajudar pf, pq não to conseguindo por o storage certo se alguem puder me ajudar agradeço desde de ja 

Uso esse script de Castle 24Hr

Actions.XML

<!-- Castle 24Hrs -->
        <action actionid="9999" event="script" value="castlewar1.lua"/>
        <action actionid="4538" event="script" value="castledoor1.lua"/>

 

 

castledoor1.LUA

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



castlelever.LUA

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(item.actionid == 4850) then
       doTeleportThing(getTopCreature({x=329,y=118,z=5}).uid, {x=329,y=118,z=3})
    elseif (item.actionid == 4851) then
        doTeleportThing(getTopCreature({x=329,y=118,z=3}).uid, {x=329,y=118,z=5})
    
    end
    return true
end


castlewar1.LUA

-----------------------------------            
---------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 = 0         -- 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 = 2157               -- ID do Premio
local premio_cont = 100             -- Quantidade do Premio
local premio_reset = 0             -- 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

 


movements.XML
 

<movevent type="StepIn" actionid="9998" event="script" value="castlewar2.lua"/>
        <movevent type="StepIn" actionid="9995" event="script" value="level.lua"/>




 

castlewar2.lua

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




 

gfhgfhgfh.png

Postado

faz o seguinte coloca no respawn do castle bichos diferentes, ai tu altera a xp deles baseada no 10% msm, por script eu não achei pelo q eu vi, quem domina o castle pode setar 3 storage diferentes  local storages = {154154,54321,123123}

OT PURA DIVERSÃO | IP: otfun.servegame.com | 8.60 | Port: 7171

 

1584817_1.png

Postado

DATA/CREATURESCRIPTS/SCRIPTS castlelogin.lua

function onLogin(cid)

 local config =
        {
                STORAGE_GUILD = 123123, -- A 3ª storage configurada em Castle.lua
                RATE_EXP = 1.2, -- 20% DE EXP EXTRA
                MSG = "Por dominar o castelo você recebeu "..((config.RATE_EXP - 1)*100).."% a + de experiência" -- Mensagem que aparece no chat
        } 

if getPlayerGuildId(cid) == getGlobalStorageValue(config.STORAGE_GUILD) then 
doPlayerSetExperienceRate(cid, config.RATE_EXP)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.MSG)
end
return TRUE
end

DATA/CREATURESCRIPTS/CREATUERSCRIPTS.XML

	<event type="login" name="castlelogin" script="castlelogin.lua"/> 

DATA/CREATURESCRIPTS/SCRIPTS/LOGIN.LUA

	registerCreatureEvent(cid, "castlelogin")

 

Postado

quando domina o castle pega uma dessas tres storages, num pega só uma  local storages = {154154,54321,123123}

 

6 horas atrás, Noynac disse:

DATA/CREATURESCRIPTS/SCRIPTS castlelogin.lua


function onLogin(cid)

 local config =
        {
                STORAGE_GUILD = 123123, -- A 3ª storage configurada em Castle.lua
                RATE_EXP = 1.2, -- 20% DE EXP EXTRA
                MSG = "Por dominar o castelo você recebeu "..((config.RATE_EXP - 1)*100).."% a + de experiência" -- Mensagem que aparece no chat
        } 

if getPlayerGuildId(cid) == getGlobalStorageValue(config.STORAGE_GUILD) then 
doPlayerSetExperienceRate(cid, config.RATE_EXP)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.MSG)
end
return TRUE
end

DATA/CREATURESCRIPTS/CREATUERSCRIPTS.XML


	<event type="login" name="castlelogin" script="castlelogin.lua"/> 

DATA/CREATURESCRIPTS/SCRIPTS/LOGIN.LUA


	registerCreatureEvent(cid, "castlelogin")

 

 

OT PURA DIVERSÃO | IP: otfun.servegame.com | 8.60 | Port: 7171

 

1584817_1.png

Postado

Não, essa storage 

STORAGE_GUILD = 123123

verifica quem é dono, as outras eu não vi pra que são, mas provavelmente são storages so pra aparecer a msg no broadcaster ^^

Participe da conversa

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

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo