Ir para conteúdo

Featured Replies

Postado
  Em 02/08/2023 em 22:41, djteteh disse:

Queria saber se alguém Poderia me ajuda a instalar esse Script Sempre da Error no luascript.ccp 

qual é a sua versão do TFS? Existe um sistema de reset para o TFS 0.4 sem mexer na source, sim. É possível implementar as funções usando as libs e isso já está resolvido. Existem alguns OTs Baiak que possuem o sistema de reset. Você pode dar uma olhada nesses servidores

 

ou e sobre resetar o lvl, mana e life, isso é feito através do banco de dados. Não é necessário usar a função "addReset", pois o banco de dados já está configurado para isso.

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

  • Respostas 35
  • Visualizações 9.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Testado: MySQL & SQLite Distro: TFS 0.4_SVN & TFS 0.3.6 MySQL ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INT

  • Fiz essa talk pro sistema a um tempo, não sabia como funcionava o getPlayerGUID, arrumei o script:

  • Volta o player pro level 8, o resto mantém.

Posted Images

Postado
  Em 03/08/2023 em 13:04, Vortex disse:

qual é a sua versão do TFS? Existe um sistema de reset para o TFS 0.4 sem mexer na source, sim. É possível implementar as funções usando as libs e isso já está resolvido. Existem alguns OTs Baiak que possuem o sistema de reset. Você pode dar uma olhada nesses servidores

 

ou e sobre resetar o lvl, mana e life, isso é feito através do banco de dados. Não é necessário usar a função "addReset", pois o banco de dados já está configurado para isso.

Eu ja Coloquei Pelas Soucers Precisava de um talk actions com add mana ,life e Dano , Mais nao sei se so em talk actions ou se tem que adc lib algo assim ta muito Dificil isso !

Postado
  Em 08/08/2023 em 21:28, djteteh disse:

Eu ja Coloquei Pelas Soucers Precisava de um talk actions com add mana ,life e Dano , Mais nao sei se so em talk actions ou se tem que adc lib algo assim ta muito Dificil isso !

vc tem o script dele? se sim posta aqui

Postado
  Em 08/08/2023 em 23:13, GM Vortex disse:

vc tem o script dele? se sim posta aqui

function resetPlayer(player)
    local config = { -- Configurações do sistema
        resetManaPercent = 5, -- Porcentagem de mana a ser adicionada a cada reset
        resetDamagePercent = 5, -- Porcentagem de dano a mais nas armas a ser adicionada a cada reset
        resetHealthPercent = 5, -- Porcentagem de vida a ser adicionada a cada reset
        minLevel = 500, -- Nível mínimo para resetar
        resetLevel = 1, -- Nível que o jogador vai voltar após o reset
    }

    if player:getLevel() < config.minLevel then -- Verifica se o jogador tem o nível mínimo para resetar
        player:sendCancelMessage("Você precisa ter pelo menos level " .. config.minLevel .. " para resetar.") -- Envia mensagem de erro ao jogador
        return false
    end

    local resetCount = player:getStorageValue(1000) + 1 -- Obtemos a quantidade de resets do jogador e somamos 1
    player:setLevel(config.resetLevel) -- Define o nível para o nível de reset
    player:setStorageValue(1000, resetCount) -- Atualizamos a quantidade de resets no storage do jogador
    local manaToAdd = config.resetManaPercent * resetCount -- Calculamos a quantidade de mana a ser adicionada ao jogador
    local damageToAdd = config.resetDamagePercent * resetCount -- Calculamos a quantidade de dano a mais nas armas a ser adicionada ao jogador
    local healthToAdd = config.resetHealthPercent * resetCount -- Calculamos a quantidade de vida a ser adicionada ao jogador
    player:addManaPercent(manaToAdd) -- Adicionamos a mana ao jogador
    player:addSkillPercent(SKILL_FIST, damageToAdd) -- Adicionamos o dano nas armas ao jogador
    player:addHealthPercent(healthToAdd) -- Adicionamos a vida ao jogador
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você realizou o reset número " .. resetCount .. "! Ganhou " .. manaToAdd .. "% de mana, " .. damageToAdd .. "% de dano a mais nas armas e " .. healthToAdd .. "% de vida.") -- Envia mensagem ao jogador informando o que ele ganhou
    return true
end

function onSay(player, words, param) -- Função chamada quando o jogador digita um comando
    if words == "!resetar" then -- Verifica se o jogador digitou o comando correto
        resetPlayer(player)
        return false
    end
    return true
end

 

 

erro

 

 

 

[Error - TalkAction Interface]
data/talkactions/scripts/reset.lua:onSay
Description:
data/talkactions/scripts/reset.lua:10: attempt to index local 'player' (a number value)
stack traceback:
        data/talkactions/scripts/reset.lua:10: in function 'resetPlayer'
        data/talkactions/scripts/reset.lua:30: in function <data/talkactions/scripts/reset.lua:28>

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

Postado
  Em 09/08/2023 em 21:42, djteteh disse:

function resetPlayer(player)
    local config = { -- Configurações do sistema
        resetManaPercent = 5, -- Porcentagem de mana a ser adicionada a cada reset
        resetDamagePercent = 5, -- Porcentagem de dano a mais nas armas a ser adicionada a cada reset
        resetHealthPercent = 5, -- Porcentagem de vida a ser adicionada a cada reset
        minLevel = 500, -- Nível mínimo para resetar
        resetLevel = 1, -- Nível que o jogador vai voltar após o reset
    }

    if player:getLevel() < config.minLevel then -- Verifica se o jogador tem o nível mínimo para resetar
        player:sendCancelMessage("Você precisa ter pelo menos level " .. config.minLevel .. " para resetar.") -- Envia mensagem de erro ao jogador
        return false
    end

    local resetCount = player:getStorageValue(1000) + 1 -- Obtemos a quantidade de resets do jogador e somamos 1
    player:setLevel(config.resetLevel) -- Define o nível para o nível de reset
    player:setStorageValue(1000, resetCount) -- Atualizamos a quantidade de resets no storage do jogador
    local manaToAdd = config.resetManaPercent * resetCount -- Calculamos a quantidade de mana a ser adicionada ao jogador
    local damageToAdd = config.resetDamagePercent * resetCount -- Calculamos a quantidade de dano a mais nas armas a ser adicionada ao jogador
    local healthToAdd = config.resetHealthPercent * resetCount -- Calculamos a quantidade de vida a ser adicionada ao jogador
    player:addManaPercent(manaToAdd) -- Adicionamos a mana ao jogador
    player:addSkillPercent(SKILL_FIST, damageToAdd) -- Adicionamos o dano nas armas ao jogador
    player:addHealthPercent(healthToAdd) -- Adicionamos a vida ao jogador
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você realizou o reset número " .. resetCount .. "! Ganhou " .. manaToAdd .. "% de mana, " .. damageToAdd .. "% de dano a mais nas armas e " .. healthToAdd .. "% de vida.") -- Envia mensagem ao jogador informando o que ele ganhou
    return true
end

function onSay(player, words, param) -- Função chamada quando o jogador digita um comando
    if words == "!resetar" then -- Verifica se o jogador digitou o comando correto
        resetPlayer(player)
        return false
    end
    return true
end

 

 

erro

 

 

 

[Error - TalkAction Interface]
data/talkactions/scripts/reset.lua:onSay
Description:
data/talkactions/scripts/reset.lua:10: attempt to index local 'player' (a number value)
stack traceback:
        data/talkactions/scripts/reset.lua:10: in function 'resetPlayer'
        data/talkactions/scripts/reset.lua:30: in function <data/talkactions/scripts/reset.lua:28>

Esse deu erro porque o script não era compatível com a sua versão do TFS 0.4 8.6. Na verdade, era para o TFS 1X, por isso.

 

Acabei de converter para o TFS 0.4. Se houver algum erro, crie um novo tópico ou me envie uma mensagem privada. Eu posso te orientar sobre o que você está querendo.

 

function resetPlayer(cid)
    local config = {
        resetManaPercent = 5,
        resetDamagePercent = 5,
        resetHealthPercent = 5,
        minLevel = 500,
        resetLevel = 1,
    }

    if getPlayerLevel(cid) < config.minLevel then
        doPlayerSendCancel(cid, "Você precisa ter pelo menos level " .. config.minLevel .. " para resetar.")
        return false
    end

    local resetCount = getCreatureStorage(cid, 1000) + 1
    setPlayerLevel(cid, config.resetLevel)
    doSetStorage(cid, 1000, resetCount)
    local manaToAdd = config.resetManaPercent * resetCount
    local damageToAdd = config.resetDamagePercent * resetCount
    local healthToAdd = config.resetHealthPercent * resetCount
    doCreatureAddMana(cid, manaToAdd)
    doPlayerAddSkillTry(cid, SKILL_FIST, damageToAdd)
    doCreatureAddHealth(cid, healthToAdd)
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você realizou o reset número " .. resetCount .. "! Ganhou " .. manaToAdd .. " pontos de mana, " .. damageToAdd .. " pontos de dano a mais nas armas e " .. healthToAdd .. " pontos de vida.")
    return true
end

function onSay(cid, words, param)
    if words == "!resetar" then
        if not isPlayer(cid) then
            doPlayerSendCancel(cid, "Você precisa ser um jogador para usar esse comando.")
            return false
        end

        resetPlayer(cid)
        return false
    end
    return true
end

ou

function resetPlayer(cid)
    local config = {
        resetManaPercent = 5,
        resetDamagePercent = 5,
        resetHealthPercent = 5,
        minLevel = 500,
        resetLevel = 1,
    }

    if getPlayerLevel(cid) < config.minLevel then
        doPlayerSendCancel(cid, "Você precisa ter pelo menos level " .. config.minLevel .. " para resetar.")
        return false
    end

    local resetCount = getCreatureStorage(cid, 1000) + 1
    doPlayerSetLevel(cid, config.resetLevel)
    doCreatureSetStorage(cid, 1000, resetCount)
    local manaToAdd = math.floor(getPlayerMaxMana(cid) * (config.resetManaPercent / 100)) * resetCount
    local damageToAdd = config.resetDamagePercent * resetCount
    local healthToAdd = math.floor(getPlayerMaxHealth(cid) * (config.resetHealthPercent / 100)) * resetCount
    doCreatureAddMana(cid, manaToAdd)
    doPlayerAddSkillTry(cid, SKILL_FIST, damageToAdd)
    doCreatureAddHealth(cid, healthToAdd)
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você realizou o reset número " .. resetCount .. "! Ganhou " .. manaToAdd .. " pontos de mana, " .. damageToAdd .. " pontos de dano a mais nas armas e " .. healthToAdd .. " pontos de vida.")
    return true
end

function onSay(cid, words, param)
    if words == "!resetar" then
        if not isPlayer(cid) then
            doPlayerSendCancel(cid, "Você precisa ser um jogador para usar esse comando.")
            return false
        end

        resetPlayer(cid)
        return false
    end
    return true
end

 

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

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

Informação Importante

Confirmação de Termo