Информация MoonLoader - разработка

imring

Ride the Lightning
Всефорумный модератор
2,365
2,552
курсор показывает, но как убрать блокировку вращения камеры при false?
ffi.cast('void (__thiscall*)(void*)', sampGetBase() + SAMP_FUNC_CURSORUNLOCKACTORCAM)(obj) не работает почему-то.
исправил свою ошибку. вот код:
Lua:
local ffi = require 'ffi'
local memory = require 'memory'

SAMP_MISC_INFO                    = 0x21A10C

SAMP_FUNC_TOGGLECURSOR                = 0x9BD30
SAMP_FUNC_CURSORUNLOCKACTORCAM        = 0x9BC10

function sampGetBase()
    return getModuleHandle('samp.dll')
end

function sampGetMiscInfoPtr()
    return memory.getint32( sampGetBase() + SAMP_MISC_INFO )
end

function sampToggleCursor(showed)
    if type(showed) ~= 'boolean' then showed = false end
    local obj = ffi.cast('void**', sampGetMiscInfoPtr() )
    local show = ffi.cast('void (__thiscall*)(void*, int, bool)', sampGetBase() + SAMP_FUNC_TOGGLECURSOR)
    show(obj, showed and 3 or 0, showed)
    if not showed then
        ffi.cast('void (__thiscall*)(void*)', sampGetBase() + SAMP_FUNC_CURSORUNLOCKACTORCAM)(obj)
    end
end
-----------
вопрос:
@FYP
чем можно заменить std::string?
 
Последнее редактирование:

ShadowBroker

Известный
110
27
Нубовской вопрос конечно, и в какой-то степени я уже знаю ответ на него, но всё же хочу удостовериться:
Если выйдет новая версия сампа от чего сф станет неюзабельным, то наверняка найдутся умники которые создадут библиотеки с самыми необходимыми функциями (вроде SampSetChatOpen) и можно будет тупо подключать их и работать как прежде?
 

imring

Ride the Lightning
Всефорумный модератор
2,365
2,552
такой структурой
Lua:
typedef struct _stdstring {
  union {
    char str[16];
    char* pstr;
  };
  size_t length;
  size_t allocated;
} stdstring;
так делаю? исправил.
Lua:
function sampIsPlayerConnected(id)
    return st_samp.pPools.pPlayer.iIsListed[id] == 1
end

function sampGetPlayerNickname(id)
    local char
    if sampIsPlayerConnected(id) then
        char = ffi.cast('const char*', st_samp.pPools.pPlayer.pRemotePlayer[id].strPlayerName)
    elseif st_samp.pPools.pPlayer.sLocalPlayerID == id then
        char = ffi.cast('const char*', st_samp.pPools.pPlayer.strLocalPlayerName)
    end
    return char and ffi.string(char)
end
 
Последнее редактирование:
  • Нравится
Реакции: AnWu

AnWu

Известный
Всефорумный модератор
4,777
5,400
Вопрос не по теме
У меня атом жрет 70% процессора и 1-2 гб оперативки, я не пойму это у всех так или только у меня? Как его оптимизировать??
хз. у меня слабый ноут но атом явно не жрет 70 проц
 
  • Нравится
Реакции: madrasso и 4el0ve4ik

AnWu

Известный
Всефорумный модератор
4,777
5,400
Уверен?)
мне уже хуевая мысль лезет что в атоме майнер блять
upload_2018-4-8_15-42-16.png
 

FYP

Известный
Автор темы
Администратор
1,764
5,924
Посмотреть вложение 13704
3 peoples already tested the task in cleo the same in lua but dont work, 1 in this forum and 2 in br/en forum

if u search openSequenceTask in this forum u can see another example
yep, that was a bug. fixed and updated
and another question, do u will make a patch to moonloader work in Petka RenderHook(DX11 support) ? :3
i can't promise it will happen any time soon, it would require some changes since moonloader provides dx9 stuff, but i'll look into this. i just imagine how many mods will be conflicting with this mod...
 

imring

Ride the Lightning
Всефорумный модератор
2,365
2,552
после перезапуска скрипта с помощью autoreboot бывает не загружаются библиотеки
Код:
[ML] (script) ML-AutoReboot: Loading "D:\Games\GTASAMP\moonloader\sms.lua"...
[ML] (system) sms.lua: Script terminated. (01A7C8FC)
[ML] (system) Loading script 'D:\Games\GTASAMP\moonloader\sms.lua'...
[ML] (error) sms.lua: D:\Games\GTASAMP\moonloader\sms.lua:1: module 'vkeys' not found:
    no field package.preload['vkeys']
    no file 'D:\Games\GTASAMP\moonloader\lib\vkeys.lua'
    no file 'D:\Games\GTASAMP\moonloader\lib\vkeys\init.lua'
    no file 'D:\Games\GTASAMP\moonloader\vkeys.lua'
    no file 'D:\Games\GTASAMP\moonloader\vkeys\init.lua'
    no file '.\vkeys.lua'
    no file 'D:\Games\GTASAMP\moonloader\lib\vkeys.luac'
    no file 'D:\Games\GTASAMP\moonloader\lib\vkeys\init.luac'
    no file 'D:\Games\GTASAMP\moonloader\vkeys.luac'
    no file 'D:\Games\GTASAMP\moonloader\vkeys\init.luac'
    no file '.\vkeys.luac'
    no file 'D:\Games\GTASAMP\moonloader\lib\vkeys.dll'
stack traceback:
    [C]: in function 'require'
    D:\Games\GTASAMP\moonloader\sms.lua:1: in main chunk
[ML] (error) sms.lua: Script died due to an error. (096C6F74)
UPD: ещё краш
Код:
[ML] (script) ML-AutoReboot: Loading "D:\Games\GTASAMP\moonloader\imgui_notf.lua"...
[ML] (system) Loading script 'D:\Games\GTASAMP\moonloader\imgui_notf.lua'...
[ML] (error) imgui_notf.lua: D:\Games\GTASAMP\moonloader\imgui_notf.lua:1: module 'imgui' not found:
    no field package.preload['imgui']
    no file 'D:\Games\GTASAMP\moonloader\lib\imgui.lua'
    no file 'D:\Games\GTASAMP\moonloader\lib\imgui\init.lua'
    no file 'D:\Games\GTASAMP\moonloader\imgui.lua'
    no file 'D:\Games\GTASAMP\moonloader\imgui\init.lua'
    no file '.\imgui.lua'
    no file 'D:\Games\GTASAMP\moonloader\lib\imgui.luac'
    no file 'D:\Games\GTASAMP\moonloader\lib\imgui\init.luac'
    no file 'D:\Games\GTASAMP\moonloader\imgui.luac'
    no file 'D:\Games\GTASAMP\moonloader\imgui\init.luac'
    no file '.\imgui.luac'
    no file 'D:\Games\GTASAMP\moonloader\lib\imgui.dll'
stack traceback:
    [C]: in function 'require'
    D:\Games\GTASAMP\moonloader\imgui_notf.lua:1: in main chunk
[ML] (error) imgui_notf.lua: Script died due to an error. (096C7594)
 

Oreshka23

Известный
341
165
Чет не понимаю, как создать маркер к чекпоинту? И ещё вопрос какого фига при создании чекпоинта маркер не создаётся.
 
Последнее редактирование: