помогите с луа

themanywinston2

Участник
Автор темы
29
6
Версия SA-MP
  1. 0.3.7-R3
дарова короче у меня не работает луа пишет эту поеботу незнаю что делать

C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:176: C:\Users\user\Desktop\medic farm\scripts\hospital.lua:181: attempt to index upvalue 'packet' (a boolean value)
stack traceback:
[C]: in function 'error'
C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:160: in function 'tick'
C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:176: in function <C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:174>
 
  • Вау
Реакции: pastow

.caterpillarteal$

Участник
22
6
Здарова, эта ошибка указывает на попытку проиндексировать переменную с именем 'packet', которая является логическим значением в файле hospital.lua в строке 181 вероятно это вызывает проблему в дополнении.файл lua в строке 176.
чтобы устранить эту ошибку надо проверить код в строке 181 в hospital.lua и убедиться, что "пакет" определен и не является логическим значением, может быть нужно настроить логику или назначение переменной в hospital.lua для корректного доступа к "пакету".

А так кодик бы :)
 

themanywinston2

Участник
Автор темы
29
6
bs:writeUInt8(packet[counter].packetId)
181 строка

counter = 1
176 строка

function err()
rep = false
packet = {}
counter = 1
end
function fillBitStream(mode)
if mode == 2 then
local bs = bitstream.incar
bs:writeUInt8(packet[counter].packetId)
bs:writeUInt16(getBotVehicle())
bs:writeUInt16(packet[counter].lr)
bs:writeUInt16(packet[counter].ud)
bs:writeUInt16(packet[counter].keys)
bs:writeFloat(packet[counter].qw)
bs:writeFloat(packet[counter].qx)
bs:writeFloat(packet[counter].qy)
bs:writeFloat(packet[counter].qz)
bs:writeFloat(packet[counter].x)
bs:writeFloat(packet[counter].y)
bs:writeFloat(packet[counter].z)
bs:writeFloat(packet[counter].sx)
bs:writeFloat(packet[counter].sy)
bs:writeFloat(packet[counter].sz)
bs:writeFloat(veh[getBotVehicle()])
bs:writeUInt8(getBotHealth())
bs:writeUInt8(getBotArmor())
bs:writeUInt8(0)
bs:writeUInt8(0)
bs:writeUInt8(packet[counter].gear)
bs:writeUInt16(0)
bs:writeFloat(0)
bs:writeFloat(0)

elseif mode == 1 then
local bs = bitstream.onfoot
bs:writeUInt8(packet[counter].packetId)
bs:writeUInt16(packet[counter].lr)
bs:writeUInt16(packet[counter].ud)
bs:writeUInt16(packet[counter].keys)
bs:writeFloat(packet[counter].x)
bs:writeFloat(packet[counter].y)
bs:writeFloat(packet[counter].z)
bs:writeFloat(packet[counter].qw)
bs:writeFloat(packet[counter].qx)
bs:writeFloat(packet[counter].qy)
bs:writeFloat(packet[counter].qz)
bs:writeUInt8(getBotHealth())
bs:writeUInt8(getBotArmor())
bs:writeUInt8(0)
bs:writeUInt8(packet[counter].sa)
bs:writeFloat(packet[counter].sx)
bs:writeFloat(packet[counter].sy)
bs:writeFloat(packet[counter].sz)
bs:writeFloat(0)
bs:writeFloat(0)
bs:writeFloat(0)
bs:writeUInt16(0)
bs:writeUInt16(packet[counter].anim)
bs:writeUInt16(packet[counter].flags)

elseif mode == 3 then
local bs = bitstream.aim
bs:writeUInt8(203)
bs:writeUInt8(packet[counter].mode)
bs:writeFloat(packet[counter].cx)
bs:writeFloat(packet[counter].cy)
bs:writeFloat(packet[counter].cz)
bs:writeFloat(packet[counter].px)
bs:writeFloat(packet[counter].py)
bs:writeFloat(packet[counter].pz)
bs:writeFloat(packet[counter].az)
bs:writeUInt8(packet[counter].zoom)
bs:writeUInt8(packet[counter].wstate)
bs:writeUInt8(packet[counter].unk)

else
return false
end
return true
end
 

themanywinston2

Участник
Автор темы
29
6
начинается с 173 строки

может быть из-за того что в 181 строке на конце 8 а на других строках 16 которые ниже

bs:writeByte(packet[counter].packetId) попробуй
щас попробую, мне долго надо это делать
 

.caterpillarteal$

Участник
22
6
начинается с 173 строки

может быть из-за того что в 181 строке на конце 8 а на других строках 16 которые ниже


щас попробую, мне долго надо это делать
Если у тебя не получится, я тебе напишу ещё методы, надеюсь помогут
 

themanywinston2

Участник
Автор темы
29
6
неа, не фурычит
Если у тебя не получится, я тебе напишу ещё методы, надеюсь помогут

Если у тебя не получится, я тебе напишу ещё методы, надеюсь помогут
это короче скрипт для ракбота, он возит медикаменты, до твоей строчки он ехал нормально, он просто на 2 заезде зависает, а после твоей строчки он и на первом заезде не фурычит

bs:writeUInt8(packet[counter].packetId)
181 строка

counter = 1
176 строка

function err()
rep = false
packet = {}
counter = 1
end
function fillBitStream(mode)
if mode == 2 then
local bs = bitstream.incar
bs:writeUInt8(packet[counter].packetId)
bs:writeUInt16(getBotVehicle())
bs:writeUInt16(packet[counter].lr)
bs:writeUInt16(packet[counter].ud)
bs:writeUInt16(packet[counter].keys)
bs:writeFloat(packet[counter].qw)
bs:writeFloat(packet[counter].qx)
bs:writeFloat(packet[counter].qy)
bs:writeFloat(packet[counter].qz)
bs:writeFloat(packet[counter].x)
bs:writeFloat(packet[counter].y)
bs:writeFloat(packet[counter].z)
bs:writeFloat(packet[counter].sx)
bs:writeFloat(packet[counter].sy)
bs:writeFloat(packet[counter].sz)
bs:writeFloat(veh[getBotVehicle()])
bs:writeUInt8(getBotHealth())
bs:writeUInt8(getBotArmor())
bs:writeUInt8(0)
bs:writeUInt8(0)
bs:writeUInt8(packet[counter].gear)
bs:writeUInt16(0)
bs:writeFloat(0)
bs:writeFloat(0)

elseif mode == 1 then
local bs = bitstream.onfoot
bs:writeUInt8(packet[counter].packetId)
bs:writeUInt16(packet[counter].lr)
bs:writeUInt16(packet[counter].ud)
bs:writeUInt16(packet[counter].keys)
bs:writeFloat(packet[counter].x)
bs:writeFloat(packet[counter].y)
bs:writeFloat(packet[counter].z)
bs:writeFloat(packet[counter].qw)
bs:writeFloat(packet[counter].qx)
bs:writeFloat(packet[counter].qy)
bs:writeFloat(packet[counter].qz)
bs:writeUInt8(getBotHealth())
bs:writeUInt8(getBotArmor())
bs:writeUInt8(0)
bs:writeUInt8(packet[counter].sa)
bs:writeFloat(packet[counter].sx)
bs:writeFloat(packet[counter].sy)
bs:writeFloat(packet[counter].sz)
bs:writeFloat(0)
bs:writeFloat(0)
bs:writeFloat(0)
bs:writeUInt16(0)
bs:writeUInt16(packet[counter].anim)
bs:writeUInt16(packet[counter].flags)

elseif mode == 3 then
local bs = bitstream.aim
bs:writeUInt8(203)
bs:writeUInt8(packet[counter].mode)
bs:writeFloat(packet[counter].cx)
bs:writeFloat(packet[counter].cy)
bs:writeFloat(packet[counter].cz)
bs:writeFloat(packet[counter].px)
bs:writeFloat(packet[counter].py)
bs:writeFloat(packet[counter].pz)
bs:writeFloat(packet[counter].az)
bs:writeUInt8(packet[counter].zoom)
bs:writeUInt8(packet[counter].wstate)
bs:writeUInt8(packet[counter].unk)

else
return false
end
return true
end
я тут короче поставил 16 ща попробуем

неа

теперь пишет вот это

C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:176: C:\Users\user\Desktop\medic farm\scripts\hospital (6).lua:181: attempt to call method 'writeByte' (a nil value)
stack traceback:
[C]: in function 'error'
C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:160: in function 'tick'
C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:176: in function <C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:174>

короче не тот параметр

Я решил проблему, короче не хватало одного файла, спасибо за помощь)
Если у тебя не получится, я тебе напишу ещё методы, надеюсь помогут
 
Последнее редактирование:

petting

Новичок
4
0
Я решил проблему, короче не хватало одного файла, спасибо за помощь)
Можешь подсказать какого файла не хватало, точно такая же ошибка

неа, не фурычит



это короче скрипт для ракбота, он возит медикаменты, до твоей строчки он ехал нормально, он просто на 2 заезде зависает, а после твоей строчки он и на первом заезде не фурычит


я тут короче поставил 16 ща попробуем

неа

теперь пишет вот это

C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:176: C:\Users\user\Desktop\medic farm\scripts\hospital (6).lua:181: attempt to call method 'writeByte' (a nil value)
stack traceback:
[C]: in function 'error'
C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:160: in function 'tick'
C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:176: in function <C:\Users\user\Desktop\medic farm\scripts\libs\addon.lua:174>

короче не тот параметр

Я решил проблему, короче не хватало одного файла, спасибо за помощь)
подскажи плиз какого файла не хватало