Postado Dezembro 8, 2014 10 anos 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
Postado Dezembro 8, 2014 10 anos 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 Dezembro 8, 2014 10 anos por elwyn (veja o histórico de edições)
Postado Dezembro 8, 2014 10 anos 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 Dezembro 8, 2014 10 anos 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.
Postado Maio 10, 2016 9 anos 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.