Вообщем пропали деньги с одного сервера,
4kk осталось
44kk было
Создатель - не сетал
Я-ничего не покупал никому не передавал ничего
Доступ к аккаунту - только у меня
Также я не дюпал и не делал ничего багованно…
Естественно не рубли а игровая валюта)
Бывает, скорее всего это случилось из за коллизии “Unique” id
даркрп использует UniqueID в качестве интендификатора игрока в бд, тот самый “UniqueID” - нифига не unique по тому что для генерации используется хэш функция, не исключено что несколько игроков могут иметь один и тот-же “UniqueID”
ply:UniqueID() .. [[, ]] ..
MySQLite.SQLStr(name) .. [[, ]] ..
salary .. [[, ]] ..
wallet .. ");")
end
function DarkRP.storeMoney(ply, amount)
if not isnumber(amount) or amount < 0 or amount >= 1 / 0 then return end
-- Also keep deprecated UniqueID data at least somewhat up to date
MySQLite.query([[UPDATE darkrp_player SET wallet = ]] .. amount .. [[ WHERE uid = ]] .. ply:UniqueID() .. [[ OR uid = ]] .. ply:SteamID64())
end
function DarkRP.storeOfflineMoney(sid64, amount)
if isnumber(sid64) or isstring(sid64) and string.len(sid64) < 17 then -- smaller than 76561197960265728 is not a SteamID64
DarkRP.errorNoHalt([[Some addon is giving DarkRP.storeOfflineMoney a UniqueID as its first argument, but this function now expects a SteamID64]], 2,
{ "The function used to take UniqueIDs, but it does not anymore."
, "If you are a server owner, please look closely to the files mentioned in this error"
, "After all, these files will tell you WHICH addon is doing it"
, "This is NOT a DarkRP bug!"
, "Your server will continue working normally"
вот кстати как работает “unique” id, если интересны детали:
, "If you are a server owner, please look closely to the files mentioned in this error"
, "After all, these files will tell you WHICH addon is doing it"
, "This is NOT a DarkRP bug!"
, "Your server will continue working normally"
, "But whichever addon just tried to store an offline player's money"
, "Will NOT take effect!"
})
end
-- Also store on deprecated UniqueID
local uniqueid = util.CRC("gm_" .. string.upper(util.SteamIDFrom64(sid64)) .. "_gm")
MySQLite.query([[UPDATE darkrp_player SET wallet = ]] .. amount .. [[ WHERE uid = ]] .. uniqueid .. [[ OR uid = ]] .. sid64)
end
local function resetAllMoney(ply, cmd, args)
if ply:EntIndex() ~= 0 and not ply:IsSuperAdmin() then return end
MySQLite.query("UPDATE darkrp_player SET wallet = " .. GAMEMODE.Config.startingmoney .. " ;")
for _, v in ipairs(player.GetAll()) do
v:setDarkRPVar("money", GAMEMODE.Config.startingmoney)
end
if ply:IsPlayer() then
Shapka
28.Апрель.2022 14:14:46
#3
Это, конечно, здорово. Но как мы вообще впринципе можем помочь?
И как это вообще связано с гм донатом и нами?
Тоже самое если бы все пришли с фуста писать жалобы на серебро что он их снял, лол.