- 992
- 354
Удаление темы с решением
- Версия MoonLoader
- .026-beta
почему если я создаю свой объект то возвращает ID -1, если мне надо его редактировать?
Lua:
local objects = {}
function editObject(PlayerObject, wObjectID)
local bs = raknetNewBitStream()
raknetBitStreamWriteBool(bs, PlayerObject)
raknetBitStreamWriteInt16(bs, wObjectID)
raknetEmulRpcReceiveBitStream(117, bs)
raknetDeleteBitStream(bs)
end
function main()
while not isSampAvailable() do wait(0) end
sampRegisterChatCommand('edit', function(id)
if tonumber(id) then
if objects[tonumber(id)] then
local objID = sampGetObjectSampIdByHandle(objects[tonumber(id)].handle)
sampAddChatMessage(objID, -1)
editObject(false, objID)
else
sampAddChatMessage('Объект с таким ID не найден. Введите /objects для того что бы узнать ID всех объектов.', -1)
end
else
sampAddChatMessage('Вводите /edit [ID]', -1)
end
end)
sampRegisterChatCommand('create', function(id)
if tonumber(id) then
local result = pcall(requestModel, tonumber(id))
if isModelAvailable(tonumber(id)) and result then
create = true
local x, y, z = getCharCoordinates(PLAYER_PED)
local handle = createObject(tonumber(id), x, y - 5, z)
table.insert(objects, {handle = handle, id = -1})
sampAddChatMessage('Создан визуальный объект, ID '..#objects, -1)
else
sampAddChatMessage('Такого объекта не существует, или в программе произошла ошибка', -1)
end
else
sampAddChatMessage('Вводите /create [ID]', -1)
end
end)
sampRegisterChatCommand('objects', function()
for k, _ in ipairs(objects) do
sampAddChatMessage('ID: '..k, -1)
end
sampAddChatMessage('Всего: '..#objects, -1)
end)
sampRegisterChatCommand('delete', function(id)
if tonumber(id) then
if objects[tonumber(id)] then
deleteObject(objects[tonumber(id)].handle)
table.remove(objects, tonumber(id))
sampAddChatMessage('Объект с ID '..tonumber(id)..' успешно удален. Почти весь список ID изменен, напишите /objects для того что бы узнать новый ID объектов.', -1)
else
sampAddChatMessage('Объект с таким ID не найден. Введите /objects для того что бы узнать ID всех объектов.', -1)
end
else
sampAddChatMessage('Вводите /delete [ID]', -1)
end
end)
sampAddChatMessage('Visual Objects | Загружен', -1)
wait(-1)
end
function onScriptTerminate(scr, quitGame)
if scr == thisScript() and not quitGame then
sampAddChatMessage('Visual Objects | Скрипт выключен — все объекты удалены', -1)
for _, v in ipairs(objects) do
deleteObject(v.handle)
end
end
end