Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Nome: Comprar skill/magic level
  • Versão testada: TFS 0.3.6pl1 / 0.4 / 0.3.7
  • Créditos: fireelement
  • Exemplo de uso:
  • !comprar club
  • !comprar magiclevel

Vá em data/talkactions/talkactions.xml e adicione essa tag:

    <talkaction words="!comprar;/comprar" event="script" value="comprar.lua"/>

Agora vá em data/talkactions/scripts/ e crie um arquivo com o nome comprar.lua e cole isso nele:

local config = {
    protectZone = "sim", -- Precisa estar em PZ para usar o comando?

    skill = {
        item = 9971, -- Item removido
        quantidade = 10, -- Quantidade
        quantidadeskill = 10, -- Skill adicionada
        limiteskill = 350 -- Limite
    },

    magicLevel = {
        item = 9971, -- Item removido
        quantidade = 15, -- Quantidade
        quantidademl = 5, -- Magic level adicionado
        limitedeml = 200 -- Limite
    },

    skillID = { -- ID das skills
        ["club"] = SKILL_CLUB,
        ["sword"]= SKILL_SWORD,
        ["axe"] = SKILL_AXE,
        ["distance"] = SKILL_DISTANCE,
        ["shielding"] = SKILL_SHIELD
    },

    vocationSkill = { -- Vocações que pode comprar x skill
        ["club"] = {4, 8},
        ["sword"] = {4, 8},
        ["axe"] = {4, 8},
        ["distance"] = {3, 7},
        ["shielding"] = {4, 8}
    },

    vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

    delay = {
        skill = {
            storage = 45,
            duration = 5 -- Tempo para comprar skill novamente
        },

        magicLevel = {
            storage = 97,
            duration = 5 -- Tempo para comprar magic level novamente
        }
    }
}

function onSay(cid, words, param, channel)
    if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
        return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
    end

    if param == "magiclevel" then
        if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
            if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
                if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
                    if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
                        setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
                        doRemoveCreature(cid, true)
                        local playerId = getPlayerGUID(cid)
                        db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
                    else
                        doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
                    end
                else
                    doPlayerSendCancel(cid, "Você não tem o item requerido.")
                end
            else
                doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
            end
        else
            doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
        end
    elseif config.skillID[string.lower(param)] then
        if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
            if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
                if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
                    if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
                        setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
                        doRemoveCreature(cid, true)
                        local playerId = getPlayerGUID(cid)
                        db.executeQuery("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])
                    else
                        doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
                    end
                else
                    doPlayerSendCancel(cid, "Você não tem o item requerido.")
                end
            else
                doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
            end
        else
            doPlayerSendCancel(cid, "Você chegou no limite de skill.")
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
    end
    return true
end
Editado por fireelement (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Hm..

Script bem elaborado :P

Curti, é isso ai maninho está de parabéns !

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 4 weeks later...
  • 3 weeks later...

QUAIS AS VANTAGENS DO ADMINISTRADOR NESTE COMANDO?

Editado por ricardo3 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 8 months later...
  • 2 years later...
  • 7 months later...
@fireelement Poderia disponibilizar esse para tfs 1.0? ou se você tiver outro sistema de !comprar para tfs 1.0 ficarei agradecido :D
Link para o post
Compartilhar em outros sites
  • 1 month later...
Em 05/01/2012 22:50:32, fireelement disse:
  • Nome: Comprar skill/magic level
  • Versão testada: TFS 0.3.6pl1 / 0.4 / 0.3.7
  • Créditos: fireelement
  • Exemplo de uso:
  • !comprar club
  • !comprar magiclevel

Vá em data/talkactions/talkactions.xml e adicione essa tag:


    <talkaction words="!comprar;/comprar" event="script" value="comprar.lua"/>

Agora vá em data/talkactions/scripts/ e crie um arquivo com o nome comprar.lua e cole isso nele:


local config = {
    protectZone = "sim", -- Precisa estar em PZ para usar o comando?

    skill = {
        item = 9971, -- Item removido
        quantidade = 10, -- Quantidade
        quantidadeskill = 10, -- Skill adicionada
        limiteskill = 350 -- Limite
    },

    magicLevel = {
        item = 9971, -- Item removido
        quantidade = 15, -- Quantidade
        quantidademl = 5, -- Magic level adicionado
        limitedeml = 200 -- Limite
    },

    skillID = { -- ID das skills
        ["club"] = SKILL_CLUB,
        ["sword"]= SKILL_SWORD,
        ["axe"] = SKILL_AXE,
        ["distance"] = SKILL_DISTANCE,
        ["shielding"] = SKILL_SHIELD
    },

    vocationSkill = { -- Vocações que pode comprar x skill
        ["club"] = {4, 8},
        ["sword"] = {4, 8},
        ["axe"] = {4, 8},
        ["distance"] = {3, 7},
        ["shielding"] = {4, 8}
    },

    vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

    delay = {
        skill = {
            storage = 45,
            duration = 5 -- Tempo para comprar skill novamente
        },

        magicLevel = {
            storage = 97,
            duration = 5 -- Tempo para comprar magic level novamente
        }
    }
}

function onSay(cid, words, param, channel)
    if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
        return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
    end

    if param == "magiclevel" then
        if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
            if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
                if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
                    if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
                        setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
                        doRemoveCreature(cid, true)
                        local playerId = getPlayerGUID(cid)
                        db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
                    else
                        doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
                    end
                else
                    doPlayerSendCancel(cid, "Você não tem o item requerido.")
                end
            else
                doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
            end
        else
            doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
        end
    elseif config.skillID[string.lower(param)] then
        if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
            if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
                if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
                    if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
                        setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
                        doRemoveCreature(cid, true)
                        local playerId = getPlayerGUID(cid)
                        db.executeQuery("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])
                    else
                        doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
                    end
                else
                    doPlayerSendCancel(cid, "Você não tem o item requerido.")
                end
            else
                doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
            end
        else
            doPlayerSendCancel(cid, "Você chegou no limite de skill.")
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
    end
    return true
end

 

 

 

 

Em 05/01/2012 22:50:32, fireelement disse:
  • Nome: Comprar skill/magic level
  • Versão testada: TFS 0.3.6pl1 / 0.4 / 0.3.7
  • Créditos: fireelement
  • Exemplo de uso:
  • !comprar club
  • !comprar magiclevel

Vá em data/talkactions/talkactions.xml e adicione essa tag:


    <talkaction words="!comprar;/comprar" event="script" value="comprar.lua"/>

Agora vá em data/talkactions/scripts/ e crie um arquivo com o nome comprar.lua e cole isso nele:


local config = {
    protectZone = "sim", -- Precisa estar em PZ para usar o comando?

    skill = {
        item = 9971, -- Item removido
        quantidade = 10, -- Quantidade
        quantidadeskill = 10, -- Skill adicionada
        limiteskill = 350 -- Limite
    },

    magicLevel = {
        item = 9971, -- Item removido
        quantidade = 15, -- Quantidade
        quantidademl = 5, -- Magic level adicionado
        limitedeml = 200 -- Limite
    },

    skillID = { -- ID das skills
        ["club"] = SKILL_CLUB,
        ["sword"]= SKILL_SWORD,
        ["axe"] = SKILL_AXE,
        ["distance"] = SKILL_DISTANCE,
        ["shielding"] = SKILL_SHIELD
    },

    vocationSkill = { -- Vocações que pode comprar x skill
        ["club"] = {4, 8},
        ["sword"] = {4, 8},
        ["axe"] = {4, 8},
        ["distance"] = {3, 7},
        ["shielding"] = {4, 8}
    },

    vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

    delay = {
        skill = {
            storage = 45,
            duration = 5 -- Tempo para comprar skill novamente
        },

        magicLevel = {
            storage = 97,
            duration = 5 -- Tempo para comprar magic level novamente
        }
    }
}

function onSay(cid, words, param, channel)
    if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
        return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
    end

    if param == "magiclevel" then
        if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
            if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
                if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
                    if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
                        setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
                        doRemoveCreature(cid, true)
                        local playerId = getPlayerGUID(cid)
                        db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
                    else
                        doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
                    end
                else
                    doPlayerSendCancel(cid, "Você não tem o item requerido.")
                end
            else
                doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
            end
        else
            doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
        end
    elseif config.skillID[string.lower(param)] then
        if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
            if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
                if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
                    if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
                        setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
                        doRemoveCreature(cid, true)
                        local playerId = getPlayerGUID(cid)
                        db.executeQuery("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])
                    else
                        doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
                    end
                else
                    doPlayerSendCancel(cid, "Você não tem o item requerido.")
                end
            else
                doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
            end
        else
            doPlayerSendCancel(cid, "Você chegou no limite de skill.")
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
    end
    return true
end

 

 

 

Irmao, fiz tudo normal !

o comando funciona normalmente porem nao da o ml !

o char desloga e assim que eu logo o ml continua o mesmo 

me ajuda para eu te dar +REP

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

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