Postado Maio 6, 2020 5 anos Estou utilizando OTX 1.3 - V10 ~ 12.31 o motivo desse topico e pra solução do erro, player morre sem bless e não dropa o loot. segue arquivos que estão dando erro na console lib/core/player.lua Citar function Player.allowMovement(self, allow) return self:setStorageValue(STORAGE.blockMovementStorage, allow and -1 or 1) end function Player.checkGnomeRank(self) local points = self:getStorageValue(Storage.BigfootBurden.Rank) local questProgress = self:getStorageValue(Storage.BigfootBurden.QuestLine) if points >= 30 and points < 120 then if questProgress <= 25 then self:setStorageValue(Storage.BigfootBurden.QuestLine, 26) self:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) self:addAchievement('Gnome Little Helper') end elseif points >= 120 and points < 480 then if questProgress <= 26 then self:setStorageValue(Storage.BigfootBurden.QuestLine, 27) self:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) self:addAchievement('Gnome Little Helper') self:addAchievement('Gnome Friend') end elseif points >= 480 and points < 1440 then if questProgress <= 27 then self:setStorageValue(Storage.BigfootBurden.QuestLine, 28) self:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) self:addAchievement('Gnome Little Helper') self:addAchievement('Gnome Friend') self:addAchievement('Gnomelike') end elseif points >= 1440 then if questProgress <= 29 then self:setStorageValue(Storage.BigfootBurden.QuestLine, 30) self:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) self:addAchievement('Gnome Little Helper') self:addAchievement('Gnome Friend') self:addAchievement('Gnomelike') self:addAchievement('Honorary Gnome') end end return true end function Player.addFamePoint(self) local points = self:getStorageValue(SPIKE_FAME_POINTS) local current = math.max(0, points) self:setStorageValue(SPIKE_FAME_POINTS, current + 1) self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have received a fame point.") end function Player.getFamePoints(self) local points = self:getStorageValue(SPIKE_FAME_POINTS) return math.max(0, points) end function Player.removeFamePoints(self, amount) local points = self:getStorageValue(SPIKE_FAME_POINTS) local current = math.max(0, points) self:setStorageValue(SPIKE_FAME_POINTS, current - amount) end function Player.depositMoney(self, amount) if not self:removeMoney(amount) then return false end self:setBankBalance(self:getBankBalance() + amount) return true end local foodCondition = Condition(CONDITION_REGENERATION, CONDITIONID_DEFAULT) function Player.feed(self, food) local condition = self:getCondition(CONDITION_REGENERATION, CONDITIONID_DEFAULT) if condition then condition:setTicks(condition:getTicks() + (food * 1000)) else local vocation = self:getVocation() if not vocation then return nil end foodCondition:setTicks(food * 1000) foodCondition:setParameter(CONDITION_PARAM_HEALTHGAIN, vocation:getHealthGainAmount()) foodCondition:setParameter(CONDITION_PARAM_HEALTHTICKS, vocation:getHealthGainTicks() * 1000) foodCondition:setParameter(CONDITION_PARAM_MANAGAIN, vocation:getManaGainAmount()) foodCondition:setParameter(CONDITION_PARAM_MANATICKS, vocation:getManaGainTicks() * 1000) self:addCondition(foodCondition) end return true end function Player.getBlessings(self) local blessings = 0 for i = 1, 5 do if self:hasBlessing(i) then blessings = blessings + 1 end end return blessings end function Player.getClosestFreePosition(self, position, extended) if self:getAccountType() >= ACCOUNT_TYPE_GOD then return position end return Creature.getClosestFreePosition(self, position, extended) end function Player.getCookiesDelivered(self) local storage, amount = { STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.SIMONTHEBEGGAR, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.MARKWIN, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.ARIELLA, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.HAIRYCLES, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.DJINN, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.AVARTAR, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.ORCKING, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.LORBAS, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.WYDA, STORAGE.WHATAFOOLISHQUEST.COOKIEDELIVERY.HJAERN }, 0 for i = 1, #storage do if self:getStorageValue(storage[i]) == 1 then amount = amount + 1 end end return amount end function Player.getDepotItems(self, depotId) return self:getDepotChest(depotId, true):getItemHoldingCount() end function Player.hasAllowMovement(self) return self:getStorageValue(STORAGE.blockMovementStorage) ~= 1 end function Player.hasRookgaardShield(self) -- Wooden Shield, Studded Shield, Brass Shield, Plate Shield, Copper Shield return self:getItemCount(2512) > 0 or self:getItemCount(2526) > 0 or self:getItemCount(2511) > 0 or self:getItemCount(2510) > 0 or self:getItemCount(2530) > 0 end function Player.isDruid(self) return isInArray({2, 6}, self:getVocation():getId()) end function Player.isKnight(self) return isInArray({4, 8}, self:getVocation():getId()) end function Player.isPaladin(self) return isInArray({3, 7}, self:getVocation():getId()) end function Player.isMage(self) return isInArray({1, 2, 5, 6}, self:getVocation():getId()) end function Player.isSorcerer(self) return isInArray({1, 5}, self:getVocation():getId()) end function Player.hasFlag(self, flag) return self:getGroup():hasFlag(flag) end function Player.isPremium(self) return self:getPremiumDays() > 0 or configManager.getBoolean(configKeys.FREE_PREMIUM) end function Player.isPromoted(self) local vocation = self:getVocation() local promotedVocation = vocation:getPromotion() promotedVocation = promotedVocation and promotedVocation:getId() or 0 return promotedVocation == 0 and vocation:getId() ~= promotedVocation end function Player.isUsingOtClient(self) return self:getClient().os >= CLIENTOS_OTCLIENT_LINUX end function Player.sendCancelMessage(self, message) if type(message) == "number" then message = Game.getReturnMessage(message) end return self:sendTextMessage(MESSAGE_STATUS_SMALL, message) end function Player.sendExtendedOpcode(self, opcode, buffer) if not self:isUsingOtClient() then return false end local networkMessage = NetworkMessage() networkMessage:addByte(0x32) networkMessage:addByte(opcode) networkMessage:addString(buffer) networkMessage:sendToPlayer(self) networkMessage:delete() return true end function Player.transferMoneyTo(self, target, amount) local balance = self:getBankBalance() if amount > balance then return false end local targetPlayer = Player(target) if targetPlayer then targetPlayer:setBankBalance(targetPlayer:getBankBalance() + amount) else if not playerExists(target) then return false end db.query("UPDATE `players` SET `balance` = `balance` + '" .. amount .. "' WHERE `name` = " .. db.escapeString(target)) end self:setBankBalance(self:getBankBalance() - amount) return true end function Player.withdrawMoney(self, amount) local balance = self:getBankBalance() if amount > balance or not self:addMoney(amount) then return false end self:setBankBalance(balance - amount) return true end APPLY_SKILL_MULTIPLIER = true local addSkillTriesFunc = Player.addSkillTries function Player.addSkillTries(...) APPLY_SKILL_MULTIPLIER = false local ret = addSkillTriesFunc(...) APPLY_SKILL_MULTIPLIER = true return ret end local addManaSpentFunc = Player.addManaSpent function Player.addManaSpent(...) APPLY_SKILL_MULTIPLIER = false local ret = addManaSpentFunc(...) APPLY_SKILL_MULTIPLIER = true return ret end --jlcvp - impact analyser function Player.sendHealingImpact(self, healAmmount) local msg = NetworkMessage() msg:addByte(0xCC) -- DEC: 204 msg:addByte(0) -- 0 = healing / 1 = damage (boolean) msg:addU32(healAmmount) -- unsigned int msg:sendToPlayer(self) end function Player.sendDamageImpact(self, damage) local msg = NetworkMessage() msg:addByte(0xCC) -- DEC: 204 msg:addByte(1) -- 0 = healing / 1 = damage (boolean) msg:addU32(damage) -- unsigned int msg:sendToPlayer(self) end -- Loot Analyser function Player.sendLootStats(self, item) local msg = NetworkMessage() msg:addByte(0xCF) -- loot analyser bit msg:addItem(item, self) -- item userdata msg:addString(getItemName(item:getId())) msg:sendToPlayer(self) end -- Supply Analyser function Player.sendWaste(self, item) local msg = NetworkMessage() msg:addByte(0xCE) -- waste bit msg:addItemId(item) -- itemId msg:sendToPlayer(self) end creaturescripts/scripts/others/droploot.lua Citar dofile('data/modules/scripts/blessings/blessings.lua') function onDeath(player, corpse, killer, mostDamage, unjustified, mostDamage_unjustified) if player:hasFlag(PlayerFlag_NotGenerateLoot) then return true end Blessings.DebugPrint("onDeath DROPLOOT EVENT DropLoot") return Blessings.PlayerDeath(player, corpse, killer) end Editado Maio 6, 2020 5 anos por amoxicilina (veja o histórico de edições)
Postado Maio 6, 2020 5 anos Tu editou o player pelo phpmyadmin? Se sim, foi isso.. players editados pelo phpmyadmin tipo colocou 9999 de mana algo assim, ele da esse bug, no meu aconteceu isso.
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.