Ir para conteúdo

Posts Recomendados

Olá pessoal!

Tinha um script de redbull aqui mas estava dando uns problemas, então refiz como necessidade e treino, e assim como meu treino da campaínha(link no final do tópico) eu decidi compartilhar com vcs para receber sugestões e quem sabe ajudar alguém (:

 

 

O script é o seguinte:

O player usa um item consumível(em meu caso, ID 2672) e então diminui sua fome e heala o player(aparece em quanto satisfez/healou), aumenta sua velocidade em X por Y tempo.. apelidei de redbull pq sacomé, redbull te dá asaas aehau

 

 

 

 

 

1°- Vá em data/actions e abra seu actions.xml, adicione essa linha antes do final do arquivo:

<action itemid="2672" event="script" value="redbull.lua"/>

ps: final do arquivo é o </actions>

 

 

 

2°- Vá em data/actions/scripts e crie um novo arquivo com a extensão lua chamado redbull.lua, cole o código dentro e salve:

--REDBULL SYSTEM by: Gabriel Stocco--


local limite = 2500                 -- Limite para o player ficar de estômago cheio(deixe igual seu food.lua encontrado em data/actions/scripts)
local food = {[2672] = {120}}       -- [ID] do item usável(igual na tag acrescentada no actions.xml) = {Quantia que vai satisfazer o player}
local speedup = 550                 -- Valor que aumentará a speed do player(se sua speed base for 300, ao usar o item ficará 850)
local time = 4                      -- Tempo que vai ficar com a velocidade alterada, após o tempo volta ao normal



function onUse(cid, item, fromPosition, itemEx, toPosition)
    if exhaustion.check(cid, 23007) == false then
        exhaustion.set(cid, 23007, 10)
    else
        return doPlayerSendCancel(cid, "Beba outro em:  " ..exhaustion.get(cid, 23007).."segundos.")
    end


    if(food[item.itemid] ~= nil) then
         if(getPlayerFood(cid) + food[item.itemid][1]) >= limite then
             doPlayerSendCancel(cid, "Você está cheio.")
           else
             doPlayerFeed(cid, food[item.itemid][1] /2.7)
             doRemoveItem(item.uid, 1)
             doSendMagicEffect(getCreaturePosition(cid), 25)
             doSendAnimatedText(getCreaturePosition(cid), "REDBUUUULL", TEXTCOLOR_BLUE)
             doCreatureAddHealth(cid, 0+ food[item.itemid][1])
             doChangeSpeed(cid, speedup)
             addEvent(doChangeSpeed, time*1000,cid, -speedup)
          end
   end
end

Pronto, sistema instalado!

 

 

3°- Configurando o script:

local limite = 2500                 -- Limite para o player ficar de estômago cheio(deixe igual seu food.lua encontrado em data/actions/scripts)
local food = {[2672] = {120}}       -- [ID] do item usável(igual na tag acrescentada no actions.xml) = {Quantia que vai satisfazer e healar o player}
local speedup = 550                 -- Valor que aumentará a speed do player(se sua speed base for 300, ao usar o item ficará 850)
local time = 4                      -- Tempo que vai ficar com a velocidade alterada, após o tempo volta ao normal   doSendAnimatedText(getCreaturePosition(cid), "REDBUUUULL", TEXTCOLOR_BLUE)
Entre aspas " ... " , pode mudar o texto que deseja aparecer ao usar o item, e em TEXTCOLOR_BLUE muda a cor do texto(pode usar de números entre 0 a 215)

É isso pessoal, tudo explicadinho.. grato pela atenção!
ps: trouxe de outro fórum, script de minha autoria!
Gabriel Stocco~~

Campaínha: http://www.xtibia.com/forum/topic/235319-campainha-v2/?p=1659191

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

pq por o [1] no final

 

doPlayerFeed(cid, food[item.itemid][1] /2.7)

 

não e mais facil deixa o[item.itemid] somente pq assim vc pode add mais itens no food id tipo

 

local food = {

[2672] = {120},

[2673] = {220},

[2674] = {320},

[2675] = {520}

}

 

ai vc poderia ter mais opções tb


oi então comparar

local RedBull = food[item.itemid]

para vc melhora aq tabela

local food = {
[2672] = {fd =120, speed = 100},
[2673] = {fd =120, speed = 1000},
[2674] = {fd =120, speed = 100},
[2675] = {fd =120, speed = 100}
}

RedBull.speed

RedBull.fd


 doPlayerFeed(cid, RedBull.fd /2.7)
         doRemoveItem(item.uid, 1)
         doSendMagicEffect(getCreaturePosition(cid), 25)
         doSendAnimatedText(getCreaturePosition(cid), "REDBUUUULL", TEXTCOLOR_BLUE)
         doCreatureAddHealth(cid, 0+ RedBull)
         doChangeSpeed(cid, RedBull.speed)
         addEvent(doChangeSpeed, time*1000,cid, -RedBull.speed)
Editado por Cerberus
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...