- 1,474
- 444
- Версия MoonLoader
- .026-beta
Недавно задумался как лучше создавать переменные для хранения информации и работать с ними.
Для примера возьмём ситуацию что мне нужно записывать все данные серверного и локального диалога. Какие диалоги и в какой момент неважно.
Как лучше создать переменную для хранения информации?
Как лучше записывать информацию?
А может вообще забить на название всех параметров?
Для примера возьмём ситуацию что мне нужно записывать все данные серверного и локального диалога. Какие диалоги и в какой момент неважно.
Как лучше создать переменную для хранения информации?
Lua:
--расписать все параметры в 1 массиве
local dialog = {
server = {
exist = false,
data = {},
text = '',
list = 0
},
client = {
exist = false,
data = {},
text = '',
list = 0
}
}
--или юзать 2 переменные?
local dialog_server = {
exist = false,
data = {},
text = '',
list = 0
}
local dialog_client = {
exist = false,
data = {},
text = '',
list = 0
}
Как лучше записывать информацию?
Lua:
--каждай параметр отдельно
local data = ffi.cast('void*', memory.getuint32(sampGetDialogInfoPtr() + 0x1C))
local func = ffi.cast('char*(__thiscall *)(void*,int,unsigned int)', sampGetBase() + 0x82C50)
dialog.server.exist = true
dialog.server.data = {sampGetCurrentDialogId(), sampGetDialogCaption(), sampGetDialogText(), ffi.string(func(data, 20, 0) + 0x4D), ffi.string(func(data, 21, 0) + 0x4D), sampGetCurrentDialogType()}
dialog.server.text = sampGetCurrentDialogEditboxText()
dialog.server.list = sampGetCurrentDialogListItem()
--или целиком перезаписывать массив?
local data = ffi.cast('void*', memory.getuint32(sampGetDialogInfoPtr() + 0x1C))
local func = ffi.cast('char*(__thiscall *)(void*,int,unsigned int)', sampGetBase() + 0x82C50)
dialog.server {
exist = true
data = {sampGetCurrentDialogId(), sampGetDialogCaption(), sampGetDialogText(), ffi.string(func(data, 20, 0) + 0x4D), ffi.string(func(data, 21, 0) + 0x4D), sampGetCurrentDialogType()}
text = sampGetCurrentDialogEditboxText()
list = sampGetCurrentDialogListItem()
}
А может вообще забить на название всех параметров?
Lua:
local dialog = {}
local data = ffi.cast('void*', memory.getuint32(sampGetDialogInfoPtr() + 0x1C))
local func = ffi.cast('char*(__thiscall *)(void*,int,unsigned int)', sampGetBase() + 0x82C50)
dialog = {
true,
sampGetCurrentDialogId(),
sampGetDialogCaption(),
sampGetDialogText(),
ffi.string(func(data, 20, 0) + 0x4D),
ffi.string(func(data, 21, 0) + 0x4D),
sampGetCurrentDialogType(),
sampGetCurrentDialogEditboxText(),
sampGetCurrentDialogListItem()
}