Lua NightMode

TheRuthArbiter

Неповторимый РПшер
Автор темы
Проверенный
523
305
NightMode - обычный ночной мод, который делает удобство Вашим глазам во время игры. Данный мод имеет не имеет дезактивации и больше подразумевается на тех, кто любит всегда играть с ночным временем.
Требования: MoonLoader v.026
Автор: @wizX
 

Вложения

  • NightMode.lua
    132 байт · Просмотры: 233
Последнее редактирование:

TheRuthArbiter

Неповторимый РПшер
Автор темы
Проверенный
523
305
Кстати с таким модом читерить тоже в кайф :cool:
 

Unnecess4ry

Известный
876
482
zochem?
Есть же дохрена и больше Settime-ов.
По сути,твой скрипт SetTime,только ограниченный в выборе времени.
но лайк за старание.
 
  • Нравится
Реакции: SpecSplint и Laine_prikol

TheRuthArbiter

Неповторимый РПшер
Автор темы
Проверенный
523
305
zochem?
Есть же дохрена и больше Settime-ов.
По сути,твой скрипт SetTime,только ограниченный в выборе времени.
У каждого может быть будут на него свои планы... Может некоторым не нужен сеттайм, т.к там куча всего, а что-то отдельно)
 

SAMP.ASI

Известный
223
53
Поставь в цикле задержку больше, у игроков со слабым процессором будет лагать
 

san0

Известный
Друг
411
267
Поставь в цикле задержку больше, у игроков со слабым процессором будет лагать
Мне кажется, это тоже не особо поможет. Скорее всего, лучше чтобы игра брала значения времени и погоды из другого места в памяти, нежели откуда она это обычно делает: таким образом можно будет добиться иммутабельности перед разными другими скриптами. Либо хоть как-то так:
Lua:
local memory = require 'memory'
local ffi = require 'ffi'

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
 
    local functions_offsets = { 0x9C0A0, 0x9C130 }
    local functions_arguments = { {22, 00}, {11} }
    local functions_signatures = { '8B442408',  '8B415D' }
    local functions_nops = { 'C20800', 'C20400' }
 
    for i,v in pairs(functions_offsets) do
        local pure_address = v + sampGetBase()
        assert(memory.tohex(pure_address, #functions_signatures[i] / 2)
            == functions_signatures[i], 'Function signature is not valid')
        ffi.cast('void (__thiscall*)(void*, ...)', pure_address)
            (ffi.cast('void*', sampGetBase() + 0x21A10C), unpack(functions_arguments[i]))
        local old = memory.unprotect(pure_address, 3)
        memory.hex2bin(functions_nops[i], pure_address, 3)
        memory.protect(pure_address, 3, old)
    end
end