Не понял ошибку opcode в getCurrentCharWeapon

Crazy Aim

Участник
Автор темы
29
1
Версия MoonLoader
.027.0-preview
Прикол такой меню вызвать всё работает а если уйди в спекту за игроком выдаёт ошибку
opcode '0470' call caused an unhandled exception stack traceback: [C]: in function 'getCurrentCharWeapon'
 

Crazy Aim

Участник
Автор темы
29
1
Gui:
imgui.SetNextWindowPos(imgui.ImVec2(430, 824), imgui.Cond.FirstUseEver)
--imgui.ShowCursor = false
--imgui.SetMouseCursor(-1)
_, id = sampGetPlayerIdByCharHandle(h1)
server = sampGetCurrentServerName(PLAYER_HANDLE)
ip = sampGetCurrentServerAddress(h1)
weap = getCurrentCharWeapon(h1)
weaponid = getWeapontypeModel(weap)
ammo = getAmmoInCharWeapon(h1, weap)
nick = sampGetPlayerNickname(id)
fFps = memory.getfloat(0xB7CB50, 4, false) 
ping = sampGetPlayerPing(id)
time = (os.date("%H",os.time())..':'..os.date("%M",os.time())..':'..os.date("%S",os.time()))
date = (os.date("%d",os.time())..'/'..os.date("%m",os.time())..'/'..os.date("%Y",os.time()))
Health = getCharHealth(h1)
Armor = getCharArmour(h1)
Level = sampGetPlayerScore(id)
pspeed = getCharSpeed(h1)
x,y,z = getCharCoordinates(h1)
Hours = (os.date("%H", os.time()))
Minuts = (os.date("%M", os.time()))
Seconds = (os.date("%S", os.time()))
imgui.Begin("INFOBAR", window, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.ShowBorders)
imgui.Text("Server: " .. server, main_color)
imgui.Text("NickName: " .. nick ..  " | ID: " .. id, main_color)
imgui.Text("Ping: " .. ping .. " | Level: " .. Level, main_color)
imgui.Text("Date: " .. date, main_color)
imgui.Text("City: " .. city[getCityPlayerIsIn(PLAYER_HANDLE)] .. " | PlayerTime: " .. playhours .. ":" .. playmin .. ":" .. playsec, main_color)
imgui.Text("Health: " .. Health .. " | Armour: " .. Armor .. " | Speed: " .. math.floor(pspeed), main_color)
imgui.Text("Weapon: " .. weap.. " | Ammo: " .. ammo, main_color)
imgui.Text("X: " .. math.floor(x) .. " | Y: " .. math.floor(y) .. " | Z: " .. math.floor(z), main_color)
imgui.End()

sampev.onSendCommand:
if param:find('reoff') then
    e.checkbox.re.v = false
    e.checkbox.clickwarp.v = true
    to.v = true
    sampAddChatMessage('re off', -1)
end
if param:find('/re %d+') then
    e.checkbox.re.v = true
    e.checkbox.clickwarp.v = false
    to.v = false
    local id = param:match("/re (%d+)")
    _, h1 = sampGetCharHandleBySampPlayerId(id)
    --sampAddChatMessage('re for '..id,-1)
end
 

bottom_text

Известный
673
320
Gui:
imgui.SetNextWindowPos(imgui.ImVec2(430, 824), imgui.Cond.FirstUseEver)
--imgui.ShowCursor = false
--imgui.SetMouseCursor(-1)
_, id = sampGetPlayerIdByCharHandle(h1)
server = sampGetCurrentServerName(PLAYER_HANDLE)
ip = sampGetCurrentServerAddress(h1)
weap = getCurrentCharWeapon(h1)
weaponid = getWeapontypeModel(weap)
ammo = getAmmoInCharWeapon(h1, weap)
nick = sampGetPlayerNickname(id)
fFps = memory.getfloat(0xB7CB50, 4, false)
ping = sampGetPlayerPing(id)
time = (os.date("%H",os.time())..':'..os.date("%M",os.time())..':'..os.date("%S",os.time()))
date = (os.date("%d",os.time())..'/'..os.date("%m",os.time())..'/'..os.date("%Y",os.time()))
Health = getCharHealth(h1)
Armor = getCharArmour(h1)
Level = sampGetPlayerScore(id)
pspeed = getCharSpeed(h1)
x,y,z = getCharCoordinates(h1)
Hours = (os.date("%H", os.time()))
Minuts = (os.date("%M", os.time()))
Seconds = (os.date("%S", os.time()))
imgui.Begin("INFOBAR", window, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.ShowBorders)
imgui.Text("Server: " .. server, main_color)
imgui.Text("NickName: " .. nick ..  " | ID: " .. id, main_color)
imgui.Text("Ping: " .. ping .. " | Level: " .. Level, main_color)
imgui.Text("Date: " .. date, main_color)
imgui.Text("City: " .. city[getCityPlayerIsIn(PLAYER_HANDLE)] .. " | PlayerTime: " .. playhours .. ":" .. playmin .. ":" .. playsec, main_color)
imgui.Text("Health: " .. Health .. " | Armour: " .. Armor .. " | Speed: " .. math.floor(pspeed), main_color)
imgui.Text("Weapon: " .. weap.. " | Ammo: " .. ammo, main_color)
imgui.Text("X: " .. math.floor(x) .. " | Y: " .. math.floor(y) .. " | Z: " .. math.floor(z), main_color)
imgui.End()

sampev.onSendCommand:
if param:find('reoff') then
    e.checkbox.re.v = false
    e.checkbox.clickwarp.v = true
    to.v = true
    sampAddChatMessage('re off', -1)
end
if param:find('/re %d+') then
    e.checkbox.re.v = true
    e.checkbox.clickwarp.v = false
    to.v = false
    local id = param:match("/re (%d+)")
    _, h1 = sampGetCharHandleBySampPlayerId(id)
    --sampAddChatMessage('re for '..id,-1)
end
ip = sampGetCurrentServerAddress(h1), здесь нет никаких аргументов в этой функции, попробуй просто ip = sampGetCurrentServerAddress(). Также попробуй зарегистрировать переменную h1, в которой записан handle педа в начале кода - local h1 = nil
 

Crazy Aim

Участник
Автор темы
29
1
ip = sampGetCurrentServerAddress(h1), здесь нет никаких аргументов в этой функции, попробуй просто ip = sampGetCurrentServerAddress(). Также попробуй зарегистрировать переменную h1, в которой записан handle педа в начале кода - local h1 = nil
Не помогло:(
тоже самое opcode 0470
 

bottom_text

Известный
673
320
а вызвал без реконна всё нормально
Мне кажется причина opcode '0470' call caused an unhandled exception в том, что функции getcharweapon пытается получить оружие педа, которого не существует, потому что в переменную h1 не записано ничего. В самом верху коду, где всякие библиотеки загружаются напиши local h1 = nil, если ты сделал по другому
 

Crazy Aim

Участник
Автор темы
29
1
Мне кажется причина opcode '0470' call caused an unhandled exception в том, что функции getcharweapon пытается получить оружие педа, которого не существует, потому что в переменную h1 не записано ничего.
так когда меню вызываю на прямую то всё нормально и показывает оружие.-.
 

bottom_text

Известный
673
320
так когда меню вызываю на прямую то всё нормально и показывает оружие.-.
1609933284627.png

Когда входишь в рекон, в переменную h1 записывается хендл педа, но в области, где исходя из кода, происходит ошибка, в h1 записано nil. Я сам в области видимости переменных не эксперт, но мне кажется, что ошибка в этом