Sam_Monroe
Известный
- 55
- 2
Мне свою всю папку удалять перед распаковкой твоей или что-то оставить?Я тоже так думал, но в этот раз что-то явно пошло не по плану. Запаковал сразу всё, на всякий случай
https://fex.net/uk/s/5nb3dya
Мне свою всю папку удалять перед распаковкой твоей или что-то оставить?Я тоже так думал, но в этот раз что-то явно пошло не по плану. Запаковал сразу всё, на всякий случай
https://fex.net/uk/s/5nb3dya
Попробуй для начала заменить только папку "...\Sanny Builder 3.6.2\data\sa", потом всю data, если работать не будет. Кстати, ты точно вот эту шляпу настроил после переустановки? Чисто на всякий случай переспросить решилМне свою всю папку удалять перед распаковкой твоей или что-то оставить?
Можно попытаться выделить для 29'ой переменной больше памяти с помощью "allocate memory", глянь в поисковике опкодовvar
29@: array 10 of integer
end
29@[0]=534
29@[1]=15147
Если вывести 29@[0], то выведет 534, но если вывести 29@[1], то будет рандомное число при каждом выводе.
Что делать? Моё предположение, что число 15147 большое для данного типа данных
А что если выделить побольше, 512 например?alloc 29@ 64
не меняется)А что если выделить побольше, 512 например?
Сам я в массивы на клео не лазил, но думаю что дело в самом объявлении, т.к не совсем понятно, что компилятор санни билдера понимает под "integer". Или, может быть, проблема в отсутствии буфера 🤔не меняется)
так нельзя делать, используй для массивов следующие опкоды:alloc 29@ 64
var
29@: array 10 of integer
end
29@[0]=234
29@[1]=575
29@[2]=23432
29@[3]=15147
29@[4]=644
FOR 21@ = 0 TO 5 [step=1]
wait 0
0AF8: samp add_message_to_chat "primer1 - %d" color 0xFFFFFF 29@[21@]
end
FOR 21@ = 0 TO 5 [step=1]
wait 0
0AF8: samp add_message_to_chat "primer1 - %d" color 0xFFFFFF 29@[21@]
end
Выделил, не помогло
0C0E: 0@ = array 1@ element 2@
0C0F: array 1@ element 2@ = 0@
0C1D: 4@ = array 1@ element 2@ el_size 3@
0C1E: array 1@ element 2@ el_size 3@ = 4@
По дефолту такой проблемы не должно быть, значит у тебя не дефолт. Сделай дефолт. 🙃Здравствуйте, на скриншотах ниже представлена проблема, не прорисовываются объекты за спиной игрока.
https://ibb.co/ydBCfRh
https://ibb.co/MfFnhj4
https://ibb.co/Cbmp2Py
https://ibb.co/PWqp3Hg
На данный момент на gta Sa установлены III.VC.SA.LimitAdjuster, SALodLights, эти модификации немного увеличили дальность прорисовки за игроком. Пробовал менять параметры в INI этих модификаций, но по моим наблюдениям положительного результата не получил. Потом установил GTA:SA WBL (World Beyond the limit) Фонарные столбы и мелкие предметы стали видны за спиной игрока, но ландшафт (здания, дороги) отсутствуют. Стандартные cleo опкоды 04E4, 03CB, 0A0B, предназначенные для отрисовки территории в координатах, не приносят желаемого результата. Пожалуйста, если у вас есть какая-либо информация поделитесь ею.
function onReceivePacket(id, bs)
if id == 215 then
local _style = raknetBitStreamReadInt16(bs)
local _type = raknetBitStreamReadInt32(bs)
local l = raknetBitStreamReadInt8(bs)
local style3 = raknetBitStreamReadInt8(bs)
local length = raknetBitStreamReadInt32(bs)
if length > 0 and length < 10000 then
bitstreamtext = raknetBitStreamReadString(bs, length)
else
bitstreamtext = nil
end
if bitstreamtext then
print(bitstreamtext)
if bitstreamtext:match('FoodSorting') then
local codelen = raknetBitStreamReadInt32(bs)
local code = raknetBitStreamReadString(bs, codelen)
if code then
print(#code, code)
end
end
end
Если в самом луа скрипте смещений нет, попробуй полазить по подключённым библиотекам, там наверняка прописаны смещения, или хотя бы список аргументов из которых смещение можно посчитатьЯ решил написать CLEO для radmir'a и мне нужна инфа из 215 пакета. Это кастом.пакет и как найти смещение я хз.
В общем нужно инфа из пакета 'FoodSorting'.
На LUA это делает вот так:
LUA:function onReceivePacket(id, bs) if id == 215 then local _style = raknetBitStreamReadInt16(bs) local _type = raknetBitStreamReadInt32(bs) local l = raknetBitStreamReadInt8(bs) local style3 = raknetBitStreamReadInt8(bs) local length = raknetBitStreamReadInt32(bs) if length > 0 and length < 10000 then bitstreamtext = raknetBitStreamReadString(bs, length) else bitstreamtext = nil end if bitstreamtext then print(bitstreamtext) if bitstreamtext:match('FoodSorting') then local codelen = raknetBitStreamReadInt32(bs) local code = raknetBitStreamReadString(bs, codelen) if code then print(#code, code) end end end
local encoding = require 'encoding' -- подключаем для корректной отправки русских букв
encoding.default = 'CP1251'
u8 = encoding.UTF8
local sampev = require 'lib.samp.events' -- подключаем для хука отправки ответа на диалог
local effil = require 'effil' -- для ассинхронных запросов
local url = 'URL'
local data = {
['content'] = '', -- текст (меняется через команду, так что можно оставить пустым)
['username'] = 'Sended from .lua script!', -- ник отправителя
['avatar_url'] = 'https://c.tenor.com/Z9mXH7-MlcsAAAAS/sexy-black-man-thirst-trap.gif', -- ссылка на аватарку (можно убрать, будет дефолтная)
['tts'] = false, -- tts - text to speech - читалка сообщений (true/false)
-- так же можно сделать еще много чего, подробнее тут: https://discord.com/developers/docs/resources/webhook
}
function main()
while not isSampAvailable() do wait(0) end
sampRegisterChatCommand('ds.msg', function(arg)
data['username'] = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) -- ник отправителя = ник в игре
data['content'] = arg -- делаем что бы текст сообщения был равен тексту который мы ввели после команды
-- отправляем запрос
asyncHttpRequest('POST', url, {headers = {['content-type'] = 'application/json'}, data = u8(encodeJson(data))},
function(response)
print('[WebHook] [OK] отправлено!')
end,
function(err)
print('[WebHook] [ERROR] error: '..err)
end)
end)
wait(-1)
end
-- функция для отправки ассинхронных сообщений
function asyncHttpRequest(method, url, args, resolve, reject)
local request_thread = effil.thread(function (method, url, args)
local requests = require 'requests'
local result, response = pcall(requests.request, method, url, args)
if result then
response.json, response.xml = nil, nil
return true, response
else
return false, response
end
end)(method, url, args)
-- Если запрос без функций обработки ответа и ошибок.
if not resolve then resolve = function() end end
if not reject then reject = function() end end
-- Проверка выполнения потока
lua_thread.create(function()
local runner = request_thread
while true do
local status, err = runner:status()
if not err then
if status == 'completed' then
local result, response = runner:get()
if result then
resolve(response)
else
reject(response)
end
return
elseif status == 'canceled' then
return reject(status)
end
else
return reject(err)
end
wait(0)
end
end)
end
{$CLEO}
0000: NOP
repeat
wait 0
until 0AFA:
// host
alloc 0@ 30
0AD3: 0@ = format "discord.com"
// path
alloc 1@ 200
0AD3: 1@ = format "api/webhooks/1015806219421757530/a21OfargEvfX7D2B5irPX0Bf_sAqqQGBV8lrpbciUUB6TFE16_TSwLq0pVA3M-COfF_"
// data
alloc 2@ 1000
//0AD3: 2@ = format "content=testing message"
0AD3: 2@ = format "content=testing message&username=custom_username"
// response buffer
alloc 3@ 1500
while true
wait 0
if
0ADC: "X"
then
0AB1: call_scm_func @HTTP_POST 5 host 0@ file_path 1@ response_buffer 3@ data 2@ is_https true _ret_is_success 31@
if
31@ == true
then
chatmsg "Respuesta = %s" 0xFFFFFF 3@
else
chatmsg "Fail" -1
end
end
end
{$INCLUDE includes/http_requests.txt}