Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Estou tentando converter pra tfs 1.1 alguém da uma força?

local config = {
tempo = 10, -- tempo de uso da spell, é a duração que ela vai ter
storage = 32710, -- storage em que vai ser salvo o tempo
outfit = 137, --- lookType da outfit que irá ser modificada ao andar
cooldown = 12 -- tempo entre 1 uso e outro (sempre deixar maior que tempo de uso da spell)
}


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)


local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo * 1000)
setConditionParam(condition, CONDITION_PARAM_SKILL_MELEEPERCENT, 135)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, -100)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)



function outfit(cid, key, id, tempo, lastPos)
local p = Creature(cid)
if p:getStorageValue(cid, key) - os.time() >= 0 then
lastPos = lastPos or p:getPosition(cid)


if p:getPosition(cid).x ~= lastPos.x or p:getPosition(cid).y ~= lastPos.y or p:getPosition(cid).z ~= lastPos.z  then
lastPos = getCreaturePosition(cid)
local atual = getCreatureOutfit(cid)
atual.lookType = id
doSetCreatureOutfit(cid, atual, tempo)
end


addEvent(function()
if isCreature(cid) then
outfit(cid, key, id, tempo, lastPos)
end
end, tempo) 
end
end


function onCastSpell(cid, var)
local v = Creature(cid)
if v:getStorageValue(cid, config.storage) - os.time() < (config.tempo - config.cooldown) then
doCombat(cid, combat, var)
v:setStorageValue(cid, config.storage, os.time() + config.tempo)
outfit(cid, config.storage, config.outfit, 150, nil)
else
v:sendCancelMessage(cid, "Your spell is in cooldown")
end
return true
end
  • Respostas 9
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config = { tempo = 10, -- tempo de uso da spell, é a duração que ela vai ter storage = 32710, -- storage em que vai ser salvo o tempo outfit = 137, --- lookType da outfit que irá ser modificada

Postado

 

Estou tentando converter pra tfs 1.1 alguém da uma força?

 

Se eu entendi corretamente a spell... Quando você anda sua outfit é uma, quando para volta para antiga, essa é a spell?

Se for, então o script é esse:

local config = {
    tempo = 10, -- tempo de uso da spell, é a duração que ela vai ter
    storage = 32710, -- storage em que vai ser salvo o tempo
    outfit = 137, --- lookType da outfit que irá ser modificada ao andar
    cooldown = 12 -- tempo entre 1 uso e outro (sempre deixar maior que tempo de uso da spell)
}


local combat = Combat()
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)


local condition = Condition(CONDITION_ATTRIBUTES)
condition:setParameter(CONDITION_PARAM_TICKS, config.tempo * 1000)
condition:setParameter(CONDITION_PARAM_SKILL_MELEEPERCENT, 135)
condition:setParameter(CONDITION_PARAM_SKILL_SHIELDPERCENT, -100)
condition:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
combat:setCondition(condition)

function outfit(cid, key, id, tempo, lastPos, oldOutfit)
    local player = Creature(cid)

    if not player then
        return
    end

    if player:getStorageValue(key) - os.time() >= 0 then
        lastPos = lastPos or player:getPosition()


        if player:getPosition().x ~= lastPos.x or player:getPosition().y ~= lastPos.y or player:getPosition().z ~= lastPos.z  then
            lastPos = player:getPosition()
            local atual = player:getOutfit()
            atual.lookType = id
            player:setOutfit(atual)
        else
            player:setOutfit(oldOutfit)
        end


        addEvent(function()
                    outfit(cid, key, id, tempo, lastPos, oldOutfit)
                end
                , tempo)
    else
        return
    end
end


function onCastSpell(creature, var)
    if creature:getStorageValue(cid, config.storage) - os.time() >= (config.tempo - config.cooldown) then
        creature:sendCancelMessage(cid, "Your spell is in cooldown")
        return
    end

    creature:setStorageValue(config.storage, os.time() + config.tempo)
    outfit(creature:getId(), config.storage, config.outfit, 150, nil, creature:getOutfit())
    return combat:execute(creature, var)
end

Editado por elwyn (veja o histórico de edições)

Postado

Obrigado Elwyn, mais tem um problema, depois que o tempo acaba a outfit não ta voltando pra original.

 

Dentro dos 10 segundos toda vez que ele anda, muda pra outra outfit, mais depois que acaba os 10 segundos ele não volta pra roupinha que tava antes, e continua com a que estava mudando toda vez que andava :(

Postado

Obrigado Elwyn, mais tem um problema, depois que o tempo acaba a outfit não ta voltando pra original.

 

Dentro dos 10 segundos toda vez que ele anda, muda pra outra outfit, mais depois que acaba os 10 segundos ele não volta pra roupinha que tava antes, e continua com a que estava mudando toda vez que andava :(

 

Editei la, esqueci desse detalhe.

  • 1 year later...
Postado

Desculpe reviver, mas eu queria saber como deixar ela fixa ou seja apos o player usar ela ja fica com ele sem precisar ficar andando para aparecer ate que o tempo finalize, como se fosse um utevo res ina

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.7k

Informação Importante

Confirmação de Termo