Ir para conteúdo
  • Cadastre-se

(Resolvido)Alterar outfit ao andar depois de usar spell


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Olá , alguem me ajuda

eu quero um script que ao usar utito tempo

o char mude o looktype mas apenas ao andar

quando ele estiver parado continue com o memso looktype normal

apenas andando?

tem como fazer isso?

respondam plx e.e

Link para o post
Compartilhar em outros sites

q versão é seu server?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

gostei do script ja to usando ele ;D

funcionou , 

o unico problema é que as vezes ele anda com o outfit normal kkk ou metade normal e metade o que eu escolhi 

mas vlw msm assim fico daora kk

Link para o post
Compartilhar em outros sites

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
Link para o post
Compartilhar em outros sites

 

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)
Link para o post
Compartilhar em outros sites

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 :(

Link para o post
Compartilhar em outros sites

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.

Link para o post
Compartilhar em outros sites
  • 1 year later...

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

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo