Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/21/23 em todas áreas

  1. Transformar script em action

    Mateus Robeerto reagiu a Underewar por uma resposta no tópico

    1 ponto
    Parece que você está tentando aplicar um bônus multiplicador de dano com base no nível do jogador. Eu percebi que você está usando getPlayerDamageMultiplier(pid) para obter o multiplicador de dano do jogador, mas você mencionou que getDamageMultiplier está retornando nil. Troque a sua função add bonus por essa e faça o teste. local function addBonuses(pid) local bonus = getInfo(pid) if bonus and bonus.damage_percent then local currentMultiplier = getPlayerDamageMultiplier(pid) or 1.0 setPlayerDamageMultiplier(pid, currentMultiplier + (bonus.damage_percent / 100.0)) local mensagem = "[SISTEMA DE BÔNUS]\nVocê recebeu um bônus de +" .. bonus.damage_percent .. "% de dano." doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, mensagem) doRemoveItem(item.uid, 1) end end Em todo caso essa função getPlayerDamageMultiplier deveria existir nesse contexto, caso não exista você pode adicionar na suas funções existentes ou criar um arquivo separado. damage_multiplier_lib.lua DamageMultiplierLib = {} -- Function to get the player's damage multiplier function DamageMultiplierLib.getPlayerDamageMultiplier(playerId) local player = Player(playerId) if player then return player:getDamageMultiplier() end return nil end -- Function to set the player's damage multiplier function DamageMultiplierLib.setPlayerDamageMultiplier(playerId, value) local player = Player(playerId) if player then player:setDamageMultiplier(value) end end -- Return the library table return DamageMultiplierLib Se você adicionar essa função a cima então atualizei o seu script na função addBonus -- local DamageMultiplierLib = require("damage_multiplier_lib") LEMBRE-SE DE IMPORTAR A LIB A CIMA PARA FUNCIONA CORRETAMENTE! -- Your existing code local function addBonuses(playerId) local bonus = getInfo(playerId) if bonus and bonus.damage_percent then local currentMultiplier = DamageMultiplierLib.getPlayerDamageMultiplier(playerId) or 1.0 DamageMultiplierLib.setPlayerDamageMultiplier(playerId, currentMultiplier + (bonus.damage_percent / 100.0)) local mensagem = "[SISTEMA DE BÔNUS]\nVocê recebeu um bônus de +" .. bonus.damage_percent .. "% de dano." doPlayerSendTextMessage(playerId, MESSAGE_EVENT_ADVANCE, mensagem) doRemoveItem(item.uid, 1) end end Não testei.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo