Ir para conteúdo

[Oferta de Scripts] Ajuda gratuita para desenvolvimento de OTServer - Envie seus pedidos!"

Featured Replies

Postado
  • Administrador

Olá a todos!

Estou aqui para ajudar no desenvolvimento de scripts para servidores de jogos baseados em OTS (Open Tibia Server). Se você precisa de algum script para o seu servidor e quer exercitar suas habilidades de programação, fique à vontade para enviar seus pedidos. Vou tentar ajudar da melhor forma possível.

Para facilitar a comunicação, por favor, siga as diretrizes abaixo ao fazer seu pedido de script:

  1. Título do pedido: Comece seu pedido de script com um título claro e descritivo que resuma o que você está procurando. Por exemplo: "[Pedido de script - DataPackArea - Actions] Sistema de eventos automatizados".

  2. Descrição do script: Forneça uma descrição detalhada do que você deseja alcançar com o script. Explique o propósito do script, a funcionalidade desejada e como você gostaria que ele interagisse com o servidor de jogo. Quanto mais informações você fornecer, melhor poderei entender seus requisitos e oferecer uma solução adequada.

  3. Requisitos específicos: Liste quaisquer requisitos específicos que o script deve atender. Isso pode incluir restrições de tempo, recursos específicos do servidor, integrações com outros sistemas, etc. Certifique-se de fornecer detalhes claros sobre esses requisitos para que eu possa fornecer uma solução adequada.

  4. Exemplos e referências: Se você tiver exemplos de outros scripts semelhantes ou referências que possam ajudar a entender melhor o que você está procurando, inclua-os na sua solicitação. Isso pode ser um código existente, links para recursos relevantes ou descrições detalhadas de funcionalidades em outros servidores.

  5. Contexto do servidor: Forneça informações sobre o servidor em que o script será implementado. Isso pode incluir detalhes sobre a versão do servidor, as bibliotecas e sistemas utilizados, e qualquer outra informação relevante. Isso ajudará a adaptar a solução conforme o ambiente em que o script será executado.

  6. Prazo e orçamento: Se você tiver um prazo específico para a entrega do script ou um orçamento limitado para o trabalho, mencione essas restrições na sua solicitação. Isso ajudará a avaliar a viabilidade do projeto e ajustar as expectativas, scripts podem ser entregues mais rápidos se doações forem feitas.

Por favor, seja educado e respeitoso ao fazer seu pedido. Lembre-se de que estou oferecendo meu tempo e esforço gratuitamente para ajudar a comunidade.
Farei o possível para atender aos pedidos, mas esteja ciente de que nem todas as solicitações podem ser atendidas.

Estou ansioso para colaborar com vocês e ajudar no desenvolvimento de scripts para seus servidores.
Vamos tornar o ambiente de jogo ainda mais interessante e divertido juntos!

Atenciosamente, Underewar


 

  • Respostas 25
  • Visualizações 1.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Dodge System     Critical System     Certifique-se de substituir "ID DO SEU ITEM AQUI" pelo ID do item desejado. Me enganei no seu pedido não sei porq kkk

  • Olá, Segue abaixo o script pronto para você utilizar: Seu primeiro pedido ja foi feito, não entendi muito bem o segundo, poderia me explicar de outra maneira ?   Canary RevScript

  • Perdão amigo. Pedras que ao usar dar 1 ponto de Reflete, usando ate o máximo de 100. e a cada pedra usada ele aumenta 0.2% de chance de ativar o refletir. Toda vez que refletir, não refletir 100%

Posted Images

Postado

Ola, boa tarde. Primeiramente agradeço pelo disposição e pelo tempo doado para ajudar  a comunidade.

 

•Gostaria de elaborar um script por talkaciton onde consigo reduzir e aumentar (x) level de todos os player registrados no server, inclusive os offlines, claro.

•Aproveitando o gancho gostaria tambem de alterar o formado dos hits de danos recebidos,  em vez de serem aleatorios, como ice, fire e outros sendo esquerda meio e direita,gostaria que saissem sequenciais um embaixo do outro

como os server mais antigos.

Postado
  • Autor
  • Administrador
21 horas atrás, Max Medeiros disse:

Ola, boa tarde. Primeiramente agradeço pelo disposição e pelo tempo doado para ajudar  a comunidade.

 

•Gostaria de elaborar um script por talkaciton onde consigo reduzir e aumentar (x) level de todos os player registrados no server, inclusive os offlines, claro.

•Aproveitando o gancho gostaria tambem de alterar o formado dos hits de danos recebidos,  em vez de serem aleatorios, como ice, fire e outros sendo esquerda meio e direita,gostaria que saissem sequenciais um embaixo do outro

como os server mais antigos.

Olá,

Segue abaixo o script pronto para você utilizar:

Seu primeiro pedido ja foi feito, não entendi muito bem o segundo, poderia me explicar de outra maneira ?

 

Canary RevScript

Spoiler


local function getExpForLevel(level)
    level = level - 1
    return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3
end

local addLevel = TalkAction("/addlevel")

function addLevel.onSay(player, words, param)
    if not player:getGroup():getAccess() or player:getAccountType() < ACCOUNT_TYPE_GOD then
        return true
    end

    if param == "" then
        player:sendCancelMessage("Command param required.")
        return false
    end

    local split = param:split(",")
    if not split[2] then
        player:sendCancelMessage("Insufficient parameters.")
        return false
    end

    local count = tonumber(split[2])
    if not count then
        player:sendCancelMessage("Invalid level count.")
        return false
    end

    -- Update online players
    for _, target in ipairs(Game.getPlayers()) do
        local targetLevel = target:getLevel() + count
        local targetExp = getExpForLevel(targetLevel)
        local addExp = targetExp - target:getExperience()
        target:addExperience(addExp, false)
    end

    -- Update offline players via database query
    local players = db.storeQuery("SELECT `name`, `level`, `experience` FROM `players`")
    if players ~= nil then
        repeat
            local playerName = result.getDataString(players, "name")
            local playerLevel = result.getDataInt(players, "level")
            local playerExp = result.getDataInt(players, "experience")

            local targetLevel = playerLevel + count
            local targetExp = getExpForLevel(targetLevel)
            local addExp = targetExp - playerExp

            -- Update the player's experience in the database
            db.query("UPDATE `players` SET `experience` = " .. targetExp .. " WHERE `name` = '" .. playerName .. "'")

        until not result.next(players)
        result.free(players)
    end

    return false
end

addLevel:separator(" ")
addLevel:register()

 


TFS 1.x(XML)

Spoiler


function onSay(player, words, param)
    if not player:getGroup():getAccess() then
        return true
    end

    if player:getAccountType() < ACCOUNT_TYPE_GOD then
        return false
    end

    local split = param:splitTrimmed(",")
    if not split[2] then
        player:sendCancelMessage("Insufficient parameters.")
        return false
    end

    local count = tonumber(split[2])
    if not count then
        player:sendCancelMessage("Invalid level count.")
        return false
    end

    -- Update levels for online players
    for _, target in ipairs(Game.getPlayers()) do
        local targetLevel = target:getLevel() + count
        target:setLevel(targetLevel)
    end

    -- Update levels for offline players via database query
    local players = db.storeQuery("SELECT `name`, `level` FROM `players`")
    if players ~= nil then
        repeat
            local playerName = result.getDataString(players, "name")
            local playerLevel = result.getDataInt(players, "level")

            local targetLevel = playerLevel + count
            -- Update the player's level in the database
            db.query("UPDATE `players` SET `level` = " .. targetLevel .. " WHERE `name` = '" .. playerName .. "'")

        until not result.next(players)
        result.free(players)
    end

    return false
end

 


TFS 0.x(XML)
 

Spoiler


function onSay(cid, words, param, channel)
    if param == '' then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
        return true
    end

    local t = string.explode(param, ",")
    if not t[2] then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Not enough params.")
        return true
    end

    local amount = tonumber(t[2])
    if not amount or amount == 0 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid level amount.")
        return true
    end

    -- Update online players
    local players = getPlayersOnline()
    for _, pid in ipairs(players) do
        local currentLevel = getPlayerLevel(pid)
        local newLevel = currentLevel + amount
        doPlayerSetLevel(pid, newLevel)
    end

    -- Update offline players via database query
    local offlinePlayers = db.storeQuery("SELECT `id` FROM `players`")
    if offlinePlayers ~= nil then
        repeat
            local playerId = result.getDataInt(offlinePlayers, "id")
            local player = Player(playerId)
            if player then
                local currentLevel = getPlayerLevel(playerId)
                local newLevel = currentLevel + amount
                doPlayerSetLevel(playerId, newLevel)
            else
                -- Update the player's level in the database
                db.query(string.format("UPDATE `players` SET `level` = `level` + %d WHERE `id` = %d", amount, playerId))
            end
        until not result.next(offlinePlayers)
        result.free(offlinePlayers)
    end

    return true
end

 

Caso tenha alguma dúvida ou precise de mais informações, fique à vontade para perguntar.

Espero que esse script atenda às suas necessidades.

Atenciosamente, @Underewar

Postado
  • Autor
  • Administrador
4 horas atrás, Bielzinks disse:

Boa tarde amigo.

Sistema de Reflete por stones, igual a dodge e critial, só que refletindo danos.

Emulador Otx 2.1

Seu pedido está muito vago, oque seria as stones, o sistema de reflect deve ser ativado quando usa uma stone? Ou equipa algum item?
Reformule o seu pedido.

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