Ir para conteúdo
  • 0

Por Storage Numa Spell?


mapper

Pergunta

como faço para por x storage nessa spell? vi uns topicos por ai, tentanto arrumar mas não deu!

 

local acombat = createCombatObject()

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

 

function getCombatFormulas(cid, lv, maglv)

local formula_min = -((lv*1.5 + maglv*3) * 1.8)

local formula_max = -((lv*1.5 + maglv*3) * 2)

 

if(formula_max < formula_min) then

local tmp = formula_max

formula_max = formula_min

formula_min = tmp

end

return formula_min, formula_max

end

 

local arr = {

{0, 1, 1, 1, 1, 1, 0},

{1, 1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1, 1},

{1, 1, 1, 3, 1, 1, 1},

{1, 1, 1, 1, 1, 1, 1},

{1, 1, 1, 1, 1, 1, 1},

{0, 1, 1, 1, 1, 1, 0}

}

local area = createCombatArea(arr)

setCombatArea(acombat, area)

 

function onTargetTile(cid, pos)

doCombat(cid,combat,positionToVariant(pos))

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")

setCombatCallback(acombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

 

function onCastSpell(cid, var)

return doCombat(cid, acombat, var)

end

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

function onCastSpell(cid, var)
if getPlayerStorageValue(cid,11487) >= 1 then  -- storage 11487
return doCombat(cid, acombat, var)
else 
doPlayerSendCancel(cid, "Desculpe,Só jogadores Vips usam está magia.") 
end 
return TRUE
end 

 

 

sua spell

local acombat = createCombatObject()
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

function getCombatFormulas(cid, lv, maglv)
local formula_min = -((lv*1.5 + maglv*3) * 1.8)
local formula_max = -((lv*1.5 + maglv*3) * 2)

if(formula_max < formula_min) then
local tmp = formula_max
formula_max = formula_min
formula_min = tmp
end
return formula_min, formula_max
end

local arr = {
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0}
}
local area = createCombatArea(arr)
setCombatArea(acombat, area)

function onTargetTile(cid, pos)
doCombat(cid,combat,positionToVariant(pos))
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")
setCombatCallback(acombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")



function onCastSpell(cid, var)
if getPlayerStorageValue(cid,11487) >= 1 then 
return doCombat(cid, acombat, var)
else 
doPlayerSendCancel(cid, "Desculpe,Só jogadores Vips usam está magia.") 
end 
return TRUE
end 

Link para o comentário
Compartilhar em outros sites

  • 0

Vodkart até que pego só que quando fiz uns teste ai tirei a vip, e continuo soltando mas na area vip não entrava.

é assim acabo a vip ele não passa por aquele tile, mas continua soltando as magias vip, ai to retirando as storage manualmente.

 

como faço para quando realmente acabar ou eu tirar a vip do player remover a storage.

uso sistema de vip do real server. storage 55555.

 

brigadão desde já.

Link para o comentário
Compartilhar em outros sites

  • 0

que eu saiba o real server não tem sistema vip por storage...

 

poderia me mostar o sistema vip do seu ot?

 

 

porque a magia poderia ficar assim então:

 

function onCastSpell(cid, var) 
if getPlayerStorageValue(cid, 55555) - os.time() <= 0 then
doPlayerSendCancel(cid, "Desculpe,Só jogadores Vips usam está magia.")  
else  
return doCombat(cid, acombat, var) 
end  
return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • 0

Cara fui procurar não sei como é esse sistema de vip 0.0, sei que é esse \/

 

em creaturescript

-- [( Script edited by: DoidinMapper )] --
function onLogin(cid)
local pos = {x=32360, y=31782, z=7}
pos = {x=32360, y=31782, z=7}
if vip.hasVip(cid) == TRUE then
if getPlayerStorageValue(cid,55555) ~= 1 then
setPlayerStorageValue(cid,55555,1)
end
elseif vip.hasVip(cid) ~= TRUE and vip.getVip(cid) ~= 0 then
if getPlayerStorageValue(cid,55555) == 1 then
doTeleportThing(cid, pos, TRUE)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your VIP's over!")
doPlayerSendTextMessage(cid,22,"Your VIP's over!")
setPlayerPromotionLevel(cid, 1)
setPlayerStorageValue(cid,55555,2)
elseif getPlayerStorageValue(cid,55555) == -1 then
setPlayerStorageValue(cid,55555,2)
end
end
return TRUE
end

 

em talkaction tem na pasta vip, remove, addvip, vipdays entre outros, segue abaixo

 

addvip

function onSay(cid, words, param)
        if param == "" then
           return  doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar vip:\n/vip add days player\n/vip add 30 Real\n---------------\nDeletar vip:\n/vip del player\n/vip del Real\n---------------\nVer a vip:\n/vip see player\n/vip see Real\n---------------\n")
        end
        if param:lower():find('add') == 1 and 3 then
           local _,_,id,name = param:lower():find('add (%d+) (.+)')
           name = name or ""
           id = tonumber(id or 1) or 1
           if tonumber(id) == nil or getPlayerByName(name) == false then
              return doPlayerSendTextMessage(cid,25,"Adicionar vip:\n/vip add days player\n/vip add 30 Real\n [Player: "..name.."]")
           end  
           if isPlayer(getPlayerByName(name)) == TRUE then
           vip.addVipByAccount(getPlayerAccount(getPlayerByName(name)) ,vip.getDays(id))

           doPlayerSendTextMessage(cid,25,"Foram adicionados "..tonumber(id).." dias de vip a "..name..".")
           doPlayerSendTextMessage(getPlayerByName(name),25,"Você recebeu "..tonumber(id).." dias de vip.")
        else
          doPlayerSendTextMessage(cid,25,name.." não esta online ou não existe.")
        end
        elseif param:lower():find('del') == 1 and 3 then
           local _,_,name = param:lower():find('del (.+)')
           if getPlayerByName(name) == false then
              return doPlayerSendTextMessage(cid,25,"Deletar vip:\n/vip del player\n/vip del Real\n")
           end

           vip.setVipByAccount(getPlayerAccount(getPlayerByName(name)),-os.time())
           doPlayerSendTextMessage(cid,25,"A vip de "..name.." foi apagada.")                                                                                                                                               
        elseif param:lower():find('see') == 1 and 3 then
           local _,_,name = param:lower():find('see (.+)')
           name = name or ""
           if getPlayerByName(name) == false then
              return doPlayerSendTextMessage(cid,25,"Ver a vip:\n/vip see player\n/vip see Real\n")
           end
           local ret_ = vip.getVip(getPlayerByName(name))
           if ret_ == 0 then
             return doPlayerSendTextMessage(cid, 25,name.." Não tem vip, e nunca teve.")
           else
             return doPlayerSendTextMessage(cid, 25, "A vip de "..name.." Acaba/terminou em "..os.date("%d %B %Y %X ",ret_))
           end
        end
        return TRUE
end

 

remove

function onSay(cid, words, param, channel)
doPlayerSendCancel(cid, "Vip removed.")
return doPlayerRemoveVip(cid)
end

 

brigadão novamente

Link para o comentário
Compartilhar em outros sites

  • 0

rs não tem mesmo storage

 

enfim a sua magia só para vip ficaria assim:

 

function onCastSpell(cid, var) 
if vip.hasVip(cid) == FALSE then
doPlayerSendCancel(cid, "Desculpe,Só jogadores Vips usam está magia.")
else
return doCombat(cid, acombat, var)   
end  
return TRUE 
end 

Link para o comentário
Compartilhar em outros sites

  • 0

desculpa o incomodo mais meu vip system tem storage testei e nao pegou, gostaria de por uma magia para usar somente se tiver storage 10301 mais nao consigo esterei mandano a magia aruma para mim por favor

 

 

 

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, 1)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 11)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

--=======================================================================

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, 1)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 0)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

--=======================================================================

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, 1)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, 0)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

--=======================================================================

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, 1)

setCombatParam(combat4, COMBAT_PARAM_EFFECT, 0)

setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)

--=======================================================================

 

local area1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 1, 0, 2, 0, 1, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}

--=======================================

local area2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}

--=======================================

local area3 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}

--=======================================

local area4 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}

--=======================================

 

setCombatArea(combat1, createCombatArea(area1))

setCombatArea(combat2, createCombatArea(area2))

setCombatArea(combat3, createCombatArea(area3))

setCombatArea(combat4, createCombatArea(area4))

 

function onCastSpell(cid, var)

addEvent(doCombat, 100, cid, combat1, var)

addEvent(doCombat, 200, cid, combat2, var)

addEvent(doCombat, 100, cid, combat3, var)

addEvent(doCombat, 100, cid, combat4, var)

end

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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