Ir para conteúdo

Featured Replies

Postado

Boa tarde Galerinha do tk

 

vcs podem me ajudar com um script que tenho?

 

gostaria que quando o player equipasse o item 8304 ele ganhace o direito de usar a script 1 e quando ele tirace o item o script parace

 

script do creature script 

local burnBuff = {
    storageID = 23000,
    interval = 1, -- intervalo entre turnos
    damage = 7000, -- dano de cada turno
    ticks = 5, -- quantidade de turnos
    effect = CONST_ME_HITBYFIRE, -- efeito
}

-- FIRE EFFECT
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, burnBuff.effect)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, burnBuff.ticks, burnBuff.interval, -burnBuff.damage)
setCombatCondition(combat, condition)

function onAttack(cid, target)
    storageStatus = getPlayerStorageValue (cid, burnBuff.storageID)
    playerPos = getCreaturePosition (cid)
    targetPos = getCreaturePosition (target)

    if storageStatus == 0 then return true end -- Se tiver como trocar essa fucnçao eu agradeço pois ela fica aparecendo o numero 0 na distrito
    if getDistanceBetween (playerPos, targetPos) > 8 then return true end -- FIM - jogador longe

    if storageStatus == 2 then -- Efeito Energy    Se tiver como trocar essa fucnçao eu agradeço pois ela fica aparecendo o numero   2 na distrito
        doCombatAreaCondition(cid, targetPos, nil, condition, burnBuff.effect)
    end

    return true
end

 

o script que tenho do movement e esse 

    <movevent type="DeEquip" itemid="8304" slot="ammo" event="script" value="mov.lua"/>
    <movevent type="Equip" itemid="8304" slot="ammo" event="script" value="mov.lua"/>
 

function onEquip(cid, item, slot)
    storageStatus = getPlayerStorageValue (cid, 23000)
    print (storageStatus)
    if storageStatus == 0 or storageStatus == -1 then
        setPlayerStorageValue(cid, 23000, storageStatus + 1)
    elseif storageStatus == 1 then
        setPlayerStorageValue(cid, 23000, storageStatus + 1)
    end
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "MODE = ".. getPlayerStorageValue(cid, 23000))
    return true
end

 

 

e tenho a sengunda que é de energia a mesma coisa so que o script é de energia

 

local energyBuff = {
    storageID = 23002,
    chance = 100, -- % de ativacao, 100~100
    effect = CONST_ME_ENERGYHIT, -- efeito
}

-- ENERGY EFFECT
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_NONE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -3.6, -30, -1.2, 2)

local arr = {
    {0, 0, 0},
    {1, 3, 1},
    {0, 0, 0}
}

local area = createCombatArea(arr)
setCombatArea(combat1, area)
------------------------------------------------------------------------

function onAttack(cid, target)
    storageStatus = getPlayerStorageValue (cid, energyBuff.storageID)
    playerPos = getCreaturePosition (cid)
    targetPos = getCreaturePosition (target)

    if storageStatus == 3 then return true end -- FIM - jogador sem o buff  Se tiver como trocar essa fucnçao eu agradeço pois ela fica aparecendo o numero 3 na distrito
    if getDistanceBetween (playerPos, targetPos) > 8 then return true end -- FIM - jogador longe

    if storageStatus == 4 then -- Efeito Energy   Se tiver como trocar essa fucnçao eu agradeço pois ela fica aparecendo o numero 4 na distrito
        if math.random (0, 100) < energyBuff.chance then -- % de ativacao
            doCombat(cid, combat1, numberToVariant(target)) -- Dano em area
            doSendMagicEffect (targetPos, energyBuff.effect) -- efeito
        end    
    end

    return true
end

 

des de ja agradeço a ajuda de vcs + REP

 

 

 

Ajuda ae @Vodkart @Sttorm vcs são os Scripts mais ativos do TK dá uma força aí presciso só disso pra colocar o ot online o resto tá pronto....

Pq se não depois vou ter q reiniciar o server

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo