Postado Novembro 21, 2023 1 ano 25 minutos atrás, Doidodepeda disse: Veio a lista que veio no server. Lib?
Postado Novembro 21, 2023 1 ano Administrador 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.
Postado Novembro 22, 2023 1 ano 7 horas atrás, Underewar disse: 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. Fiz tudo q voce falou. (eu acho) kk Porem deu esse error ! =[
Postado Novembro 22, 2023 1 ano É, Refis umas 50 vezes de ontem pra hoje, de todas as formas que voce falou. Mas mesmos assim da o error em todas as formas =[
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.