Вопросы по CLEO-скриптингу

New_J3rs3y1337

Активный
148
99
После переустановки Sanny Builder перестали находиться опкоды и ini файлы. Может кто подсказать, что сделать, чтобы он нормально заработал?Посмотреть вложение 177052
Опкоды лежат в специальном текстовом файле, зарытом в директории санни билдера. Возможно, ты каким-то образом задел эти файлы при удалении прошлой версии и не установил обратно. Попробуй поставить sf-опкоды, как минимум опкоды это должно вернуть. В крайнем случае, могу скинуть свою папку с необходимыми файлами, если дело действительно в этом
 

Sam_Monroe

Известный
55
2
Опкоды лежат в специальном текстовом файле, зарытом в директории санни билдера. Возможно, ты каким-то образом задел эти файлы при удалении прошлой версии и не установил обратно. Попробуй поставить sf-опкоды, как минимум опкоды это должно вернуть. В крайнем случае, могу скинуть свою папку с необходимыми файлами, если дело действительно в этом
Опкоды стоят, но он не видит их. А что значит "не установил обратно"? Я думал "переустановить" это и есть удалить и заного установить. Но как только установил последний сб, всё слетело. Буду признателен, если скинешь свою папку
 

New_J3rs3y1337

Активный
148
99
Мне свою всю папку удалять перед распаковкой твоей или что-то оставить?
Попробуй для начала заменить только папку "...\Sanny Builder 3.6.2\data\sa", потом всю data, если работать не будет. Кстати, ты точно вот эту шляпу настроил после переустановки? Чисто на всякий случай переспросить решил
1668287369432.png
 

loossklxm

Известный
51
2
var
29@: array 10 of integer
end

29@[0]=534
29@[1]=15147

Если вывести 29@[0], то выведет 534, но если вывести 29@[1], то будет рандомное число при каждом выводе.
Что делать? Моё предположение, что число 15147 большое для данного типа данных
 

New_J3rs3y1337

Активный
148
99
var
29@: array 10 of integer
end

29@[0]=534
29@[1]=15147

Если вывести 29@[0], то выведет 534, но если вывести 29@[1], то будет рандомное число при каждом выводе.
Что делать? Моё предположение, что число 15147 большое для данного типа данных
Можно попытаться выделить для 29'ой переменной больше памяти с помощью "allocate memory", глянь в поисковике опкодов
 

loossklxm

Известный
51
2
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

Выделил, не помогло
 

New_J3rs3y1337

Активный
148
99
Сам я в массивы на клео не лазил, но думаю что дело в самом объявлении, т.к не совсем понятно, что компилятор санни билдера понимает под "integer". Или, может быть, проблема в отсутствии буфера 🤔
Вот на этом туториале в описании есть ссылка на исходный код, возможно, поможет лучше разобраться
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,259
1,737
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

Выделил, не помогло
так нельзя делать, используй для массивов следующие опкоды:

CLEO:
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@
 

Gayan

Новичок
1
0
Здравствуйте, на скриншотах ниже представлена проблема, не прорисовываются объекты за спиной игрока.

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, предназначенные для отрисовки территории в координатах, не приносят желаемого результата. Пожалуйста, если у вас есть какая-либо информация поделитесь ею.
 

D3.Pheonix

🎹
Модератор
2,813
1,592
Здравствуйте, на скриншотах ниже представлена проблема, не прорисовываются объекты за спиной игрока.

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, предназначенные для отрисовки территории в координатах, не приносят желаемого результата. Пожалуйста, если у вас есть какая-либо информация поделитесь ею.
По дефолту такой проблемы не должно быть, значит у тебя не дефолт. Сделай дефолт. 🙃
 

Bili Djin

Активный
137
67
Я решил написать 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