-- 这是关于 FamilyMenu 的官方 API,我会在发现新的 API 内容时对其进行更新。
-----------------------------------------------------------------------------
lua_patch:apply()
lua_patch:restore()
-----------------------------------------------------------------------------
input_string:get_value() ( local string = input_string:get_value() )
input_string:set_value(val)
input_float:get_value() ( local string = input_string:get_value() )
input_float:set_value(val)
-----------------------------------------------------------------------------
joaat("vehicle index") -- 这不是 FamilyMenu 的官方API,我会在发现新的API内容时进行更新。
script_util -- 如何调用你自己的脚本。
command.call("spawn", {joaat("adder")}) -- 调用 FamilyMenu 中现有命令的方法。/下面列出的所有命令列表。
command.call_player(PlayerIndex, "spawn", {joaat("adder")})
register_handler(menu_event, func) -- 注册一个函数,该函数将在每次触发相应的menu_event时调用。
base_text_element:set_text(new_text) -- 该gui文本元素的新文本。
base_text_element:get_text() -- 返回该gui文本元素的当前文本。 ( string = base_text_element:get_text() )
text:set_font(font) -- 该imgui文本元素的新字体名称。
log.info("index") -- 用于记录您想在控制台上显示的任何内容。
log.warning(data) -- 记录一条警告消息。
log.debug(data) -- 记录调试消息。
-----------------------------------------------------------------------------
script_util:yield() -- 让出执行
script_util:sleep(ms) -- 按给定的时间间隔休眠,时间以毫秒为单位。
-----------------------------------------------------------------------------
Title(tab_name) -- 可以用来在 FamilyMenu 之间创建选项卡。 ( Gui_tab_menu = Menu.Title("GUI_TAB_MENU") )
show_message(title, message) -- 以给定的标题和消息向用户显示一条信息。
show_warning(title, message) -- 以给定的标题和消息向用户显示一个警告。
show_error(title, message) -- 以给定的标题和消息向用户显示一个错误。
is_open() -- 如果 GUI 处于打开状态,返回 true。 ( bool = gui.is_open() )
-- 您可以在 FamilyMenu 中调用的所有选项卡如下所示。
-----------------------------------------------------------------------------
tab:add_tab() -- 在该选项卡下添加一个子选项卡。
tab:Option(function(), function(), end) -- 一旦创建了选项卡,可以用来在 FamilyMenu 中添加按钮。
tab:BoolOption(string, function(), end) -- 可以用来在 FamilyMenu 中添加复选框,也被称为开关按钮。
-- 复选框(Check Boxes)可以使用不同的字符串来远程执行它们,同时还具有 is_enabled() 和 set_enabled(enabled) 方法。 \
tab:CenterOption(name) -- 向 GUI 选项卡添加文本。
tab:clear() -- 清除选项卡的所有自定义 Lua 内容。
tab:IntOption(name) -- 添加一个 IntOption。
tab:FloatOption(name) -- 添加一个 FloatOption。
-----------------------------------------------------------------------------
vec3() -- 创建一个新的 Vector3 实例。(myInstance = vec3:new(x, y, z))
-----------------------------------------------------------------------------
-- 以下是一些网络相关的函数及其说明:
1. network.trigger_script_event(bitset, _args) -- 调用 trigger_script_event (TSE) 函数。
2. network.give_pickup_rewards(player, reward) -- 将给定的 pickup 奖励分配给给定的玩家。
3. network.set_player_coords(player_idx, x, y, z) -- 将给定玩家传送到给定位置。
4. network.set_all_player_coords(x, y, z) -- 将所有玩家传送到给定位置。
5. network.flag_player_as_modder(player_idx) -- 在本地数据库中标记给定玩家为 modder。
6. network.force_script_host(script_name) -- 尝试强制自己成为给定 GTA 脚本的主机。
7. network.send_chat_message(msg, team_only) -- 向游戏内聊天发送消息。
-- 以下是一些返回值相关的函数及其说明:
1. network.get_selected_player() -- 返回 GUI 中当前选定玩家的索引。
2. network.get_selected_database_player_rockstar_id() -- 返回 GUI 中当前选定玩家的 Rockstar ID。
3. network.is_player_flagged_as_modder(player_idx) -- 如果给定玩家被标记为 modder,则返回 true。
-----------------------------------------------------------------------------
-- 以下是一些与内存操作相关的函数及其说明:
1. memory.scan_pattern(pattern) -- 在"GTA5.exe"模块中扫描指定的内存模式,并返回找到的地址指针。
2. memory.handle_to_ptr(entity) -- 将脚本游戏实体句柄转换为一个 rage::CDynamicEntity 指针。
3. memory.ptr_to_handle(mem_addr) -- 将给定的 rage::CDynamicEntity 指针转换为脚本游戏实体句柄。
4. memory.allocate(size) -- 分配指定大小的内存,并返回指向新分配内存的指针。
5. memory.free(ptr) -- 释放给定指针指向的内存空间。
-----------------------------------------------------------------------------
-- 以下是一些用于调用GTA V脚本以及读写GTA V Tunables和全局变量的函数及其说明:
-- 调用GTA V脚本相关函数:
1. script("script index") -- 用于调用GTA V脚本。
2. is_active() -- 用于确认调用的脚本是否正在执行。
-- 写入GTA V Tunables和全局变量相关函数:
3. tunables.set_int(tunable_name, val) -- 用于写入GTA V Tunables中的整数值。
4. tunables.set_float(tunable_name, val) -- :用于写入GTA V Tunables中的浮点数值。
5. tunables.set_bool(tunable_name, val) -- 用于写入GTA V Tunables中的布尔值。
6. globals.set_uint(global, val) -- 用于写入GTA V全局变量中的无符号整数值。
7. globals.set_float(global, val) -- 用于写入GTA V全局变量中的浮点数值。
8. globals.set_string(global, str) -- 用于写入GTA V全局变量中的字符串值。
-- 读取GTA V Tunables和全局变量相关函数:
9. tunables.get_float(tunable_name) -- 用于读取GTA V Tunables或全局变量的浮点数值。(浮点数 = tunables.get_float(tunable_name))
10. tunables.get_int(tunable_name) -- :用于读取GTA V Tunables或全局变量的整数值。(整数 = tunables.get_int(tunable_name))
11. tunables.get_bool(tunable_name) -- 用于读取GTA V Tunables或全局变量的布尔值。(布尔值 = tunables.get_bool(tunable_name))
12. globals.get_uint(global) -- 用于读取GTA V全局变量中的无符号整数值。(整数 = globals.get_uint(global))
13. globals.get_float(global) -- 用于读取GTA V全局变量中的浮点数值。(浮点数 = globals.get_float(global))
14. globals.get_string(global) -- 用于读取GTA V全局变量中的字符串值。(字符串 = globals.get_string(global))
15. globals.get_pointer(global) -- 用于读取GTA V全局变量中的指针值。(指针 = globals.get_pointer(global))
-----------------------------------------------------------------------------
-- 以下是与指针(pointer)相关的函数及其说明:
1. pointer:new(address) -- 返回一个内存实例,该实例具有给定的内存地址。
2. pointer:add(offset) -- 在当前内存地址上添加一个偏移量,并返回一个新的指针对象。
3. pointer:sub(offset) -- 在当前内存地址上减去一个偏移量,并返回一个新的指针对象。
4. pointer:rip(offset) -- 撤销当前内存地址并返回一个新的指针对象。
-- 下面是示例用法及每个事件对应的示例:
5. local qword = pointer:get_qword() -- 示例:获取存储在内存地址上的值。
-- 以下是读取和写入指定类型的函数:
6. pointer:get_byte() -- 以指定类型从内存地址读取存储的值。
7. pointer:get_word() -- 以指定类型从内存地址读取存储的值。
8. pointer:get_dword() -- 以指定类型从内存地址读取存储的值。
9. pointer:get_float() -- 以指定类型从内存地址读取存储的值。
10. pointer:get_qword() -- 以指定类型从内存地址读取存储的值。
11. pointer:get_string() -- 以指定类型从内存地址读取存储的值。
12. pointer:set_byte(value) -- 将指定类型的值写入内存地址。
13. pointer:set_word(value) -- 将指定类型的值写入内存地址。
14. pointer:set_dword(value) -- 将指定类型的值写入内存地址。
15. pointer:set_float(value) -- 将指定类型的值写入内存地址。
16. pointer:set_qword(value) -- 将指定类型的值写入内存地址。
17. pointer:set_string(value) -- 将指定类型的值写入内存地址。
-- 以下是修改内存地址值的函数:
18. pointer:patch_byte(value) -- 为在内存地址上修改的值创建一个内存补丁,并在调用 lua_patch 对象上的 apply 函数时应用修改的值。在调用 lua_patch 对象上的 restore 函数时,恢复原始值。
19. pointer:patch_word(value) -- 为在内存地址上修改的值创建一个内存补丁,并在调用 lua_patch 对象上的 apply 函数时应用修改的值。在调用 lua_patch 对象上的 restore 函数时,恢复原始值。
20. pointer:patch_dword(value) -- 为在内存地址上修改的值创建一个内存补丁,并在调用 lua_patch 对象上的 apply 函数时应用修改的值。在调用 lua_patch 对象上的 restore 函数时,恢复原始值。
21. pointer:patch_qword(value) -- 为在内存地址上修改的值创建一个内存补丁,并在调用 lua_patch 对象上的 apply 函数时应用修改的值。在调用 lua_patch 对象上的 restore 函数时,恢复原始值。
-- 其他相关函数:
22. pointer:is_null() -- 如果地址为空,返回 true。
23. pointer:is_valid() -- 如果地址不为空,返回 true。
24. pointer:deref() -- 解引用内存地址,并返回指向该地址值的新指针对象。
25. pointer:get_address() -- 检索指针对象中存储的内存地址。
-----------------------------------------------------------------------------
event.register_handler(menu_event.event)
-- 事件:
1. PlayerLeave -- 玩家离开事件
2. PlayerJoin -- 玩家加入事件
3. PlayerMgrInit -- 玩家管理器初始化事件
4. PlayerMgrShutdown -- 玩家管理器关闭事件
5. ChatMessageReceived -- 收到聊天消息事件
6. ScriptedGameEventReceived -- 收到脚本游戏事件
-----------------------------------------------------------------------------
-- 菜单列表分类调用:
GUI_TAB_MENU -- 主菜单
GUI_TAB_ALL_PLAYERS -- 所有玩家
GUI_TAB_PLAYERS -- 线上玩家
GUI_TAB_SELF -- 自我选项
GUI_TAB_TELEPORT -- 传送选项
GUI_TAB_WEAPONS -- 武器选项
GUI_TAB_VEHICLE -- 载具选项
GUI_TAB_WORLD -- 世界选项
GUI_TAB_MODEL_SWAPPER -- 模型插件
GUI_TAB_MODEL_SCRIPT -- 网络事件
GUI_TAB_ATTRIBUTE -- 属性调整
GUI_TAB_INTERFACE -- 菜单设置
-----------------------------------------------------------------------------
下载 LUA API
Gui_tab_menu = Menu.Title("GUI_TAB_MENU")
Gui_tab_menu:CenterOption("Main Menu - Lua")
local Casino_carousel_drawin = Gui_tab_menu:BoolOption("Casino carousel drawing")
local Coordinate_axis = Gui_tab_menu:FloatOption("Coordinate axis")
Gui_tab_menu:Option("Generate aerial acceleration bars", function()
script.run_in_fiber(function (crtspeedm)
objHash = joaat("ar_prop_ar_speed_ring")
while not STREAMING.HAS_MODEL_LOADED(objHash) do
STREAMING.REQUEST_MODEL(objHash)
crtspeedm:yield()
end
local selfpedPos = ENTITY.GET_ENTITY_COORDS(PLAYER.PLAYER_PED_ID(), false)
local heading = ENTITY.GET_ENTITY_HEADING(PLAYER.PLAYER_PED_ID())
local obj = OBJECT.CREATE_OBJECT(objHash, selfpedPos.x, selfpedPos.y, selfpedPos.z - Coordinate_axis:get_value(), true, true, false)
ENTITY.SET_ENTITY_HEADING(obj, heading)
end)
end)
loopa0 = 0
local Character_Opacity_Settings = Gui_tab_menu:IntOption("Character Opacity Settings")
local Character_Opacity = Gui_tab_menu:BoolOption("Character Opacity")
Gui_tab_all_players = Menu.Title("GUI_TAB_ALL_PLAYERS")
Gui_tab_all_players:CenterOption("Online Players - Lua")
Gui_tab_players = Menu.Title("GUI_TAB_PLAYERS")
Gui_tab_players:CenterOption("Player Name - Lua")
Gui_tab_self = Menu.Title("GUI_TAB_SELF")
Gui_tab_self:CenterOption("Self Options - Lua")
Gui_tab_teleport = Menu.Title("GUI_TAB_TELEPORT")
Gui_tab_teleport:CenterOption("Teleport Options - Lua")
Gui_tab_weapons = Menu.Title("GUI_TAB_WEAPONS")
Gui_tab_weapons:CenterOption("Weapon Options - Lua")
Gui_tab_vehicle = Menu.Title("GUI_TAB_VEHICLE")
Gui_tab_vehicle:CenterOption("Vehicle Options - Lua")
Gui_tab_world = Menu.Title("GUI_TAB_WORLD")
Gui_tab_world:CenterOption("Game World - Lua")
Gui_tab_model_swapper = Menu.Title("GUI_TAB_MODEL_SWAPPER")
Gui_tab_model_swapper:CenterOption("Model Plugin - Lua")
Gui_tab_model_script = Menu.Title("GUI_TAB_MODEL_SCRIPT")
Gui_tab_model_script:CenterOption("Network Events - Lua")
Gui_tab_attribute = Menu.Title("GUI_TAB_ATTRIBUTE")
Gui_tab_attribute:CenterOption("Attribute Adjustments - Lua")
Gui_tab_interface = Menu.Title("GUI_TAB_INTERFACE")
Gui_tab_interface:CenterOption("Settings Options - Lua")
Gui_tab_interface:Option("Display a prompt in the window", function ()
log.info("I will display a log message in the black window")
end)
script.register_looped("Game Loops", function()
if Character_Opacity:is_enabled() then
ENTITY.SET_ENTITY_ALPHA(PLAYER.PLAYER_PED_ID(), Character_Opacity_Settings:get_value(), false)
else
ENTITY.SET_ENTITY_ALPHA(PLAYER.PLAYER_PED_ID(), 255, false)
end
if Casino_carousel_drawin:is_enabled() then
locals.set_int("casino_lucky_wheel","290","18")
end
end)
下载 示例一