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

AWRage

Активный
642
141
Опять столкнулся с проблемой. Хотел сделать отображение количества патронов в обойме выбранного оружия (оружия которое в руках у игрока на данный момент). И опять ничего не работает.
PHP:
{$CLEO .cs}
0000: NOP

:AMMO
wait 0
0A8E: 0@ = 0xC8AAB8 + 0x20
0A8D: 1@ = read_memory 0@ size 2 virtual_protect 1
03F0: enable_text_draw 1
03E4: set_text_draw_align_right 1
0349: set_text_draw_font 3
033F: set_text_draw_letter_size 0.4 1.5
0340: set_text_draw_RGBA 52 140 52 255
081C: draw_text_outline 1 RGBA 0 0 0 100
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 1@
jump @AMMO
 

AWRage

Активный
642
141
Вообщем, у меня сложный вопрос.
Значит, добавил я в свой CLEO скрипт автообновление.
Допустим, на компьютере пользователя мой CLEO скрипт с автообновлением, так вот, в коде автообновления есть ссылка на обновленный скрипт. (Типа dl.dropboxusercontent.com/s/wdwcw.cs)
Допустим, я сделал новое обновление, и залил его на dropbox. Но ссылка на файл изменилась, и получается то, что на компьютере у пользователя старая ссылка на скрипт, не рабочая. И получается что-то типа замкнутого круга -> На dropbox новая версия - > Старая версия чекает скрипт на обновление -> Старая версия скрипта пишет что обновлений нет (А их нет потому, что старая ссылка на файл). Ну вообщем если вы ничего не поняли, вот вам код:
Код:
if not 0@ = SAMP.Base()
then 0a93:
end
repeat
wait 228
until SAMP.Available()
var
31@: float
30@: float
end
if
8AE4: not directory_exists "CLEO\KYRLYK Update"
then
0AE5: create_directory "CLEO\KYRLYK Update"
end
/* --------------------------------------------------------- */
0ac8: 0@ = 256
0ac8: 1@ = 256
0ad3: 0@ = "CLEO\KYRLYK Update\CMDsobeit.ver"
0ad3: 1@ = "https:%c%cdl.dropboxusercontent.com/s/owlcwdiyvc059un/CMDSobeit.ver" 47 47
call @URLDownloadToFile 2 0@ 1@ 2@
free 0@
free 1@

if
0AAB: file_exists "CLEO\KYRLYK Update\Versions.ver"
then
0AF2: 30@ = get_float_from_ini_file "CLEO\KYRLYK Update\Versions.ver" section "Main" key "CMDSobeit"
0AF2: 31@ = get_float_from_ini_file "CLEO\KYRLYK Update\CMDsobeit.ver" section "Main" key "CMDSobeit"
0AF4: 5@s = read_string_from_ini_file "CLEO\KYRLYK Update\Versions.ver" section "Main" key "CMDSobeit"
0AF4: 6@s = read_string_from_ini_file "CLEO\KYRLYK Update\CMDsobeit.ver" section "Main" key "CMDSobeit"
else
0AF3: write_float 1.0 to_ini_file "CLEO\KYRLYK Update\Versions.ver" section "Main" key "CMDSobeit"
0AF2: 30@ = get_float_from_ini_file "CLEO\KYRLYK Update\Versions.ver" section "Main" key "CMDSobeit"
0AF2: 31@ = get_float_from_ini_file "CLEO\KYRLYK Update\CMDsobeit.ver" section "Main" key "CMDSobeit"
0AF4: 5@s = read_string_from_ini_file "CLEO\KYRLYK Update\Versions.ver" section "Main" key "CMDSobeit"
0AF4: 6@s = read_string_from_ini_file "CLEO\KYRLYK Update\CMDsobeit.ver" section "Main" key "CMDSobeit"
end
/* --------------------------------------------------------- */
if
31@ > 30@
then
0B00: delete_file "CLEO\CMDS0b.cs"
0AC8: 1@ = 256 //
0AC8: 2@ = 256
0AC8: 4@ = 128 //
0AD3: 2@ = "cleo\CMDS0b.cs"
0AD3: 1@ = "https:%c%cdl.dropboxusercontent.com/s/al73mu1ofrtxxes/CMDS0b.cs" 47 47 // ССЫЛКА НА НОВУЮ ВЕРСИЮ
call @URLDownloadToFile 2 2@ 1@ 3@
0AF3: write_float 31@ to_ini_file "CLEO\KYRLYK Update\Versions.ver" section "Main" key "CMDSobeit"
0AF4: 6@s = read_string_from_ini_file "CLEO\KYRLYK Update\CMDsobeit.ver" section "Main" key "CMDSobeit"
0AD3: 4@ = "CMDS0b.cs"
0af8: " {EBFFC9}Îáíîâëåíèå CLEO CMD S0beit ïðîøëî óñïåøíî. {B9C9BF}%s v%s loaded..." -1 4@ 6@s
repeat
wait 0
until 0AAB: file_exists "CLEO\CMDS0b.cs"
0A92: create_custom_thread 4@
free 1@
free 2@
free 4@
0B00: delete_file "CLEO\KYRLYK Update\CMDSobeit.ver"
004E: end_thread
else
0B00: delete_file "CLEO\KYRLYK Update\CMDsobeit.ver"
end
goto @test229
:URLDownloadToFile
0AA2: 10@ = load_library "Urlmon.dll" // IF and SET
0AA4: 11@ = get_proc_address "URLDownloadToFileA" 10@
0AA7: address 11@ params 5 pop 0 /*params*/ 0 0 0@ 1@ 0 /*ret*/ 12@
ret 1 12@
Или же, как можно в dropbox редактировать мой скрипт, но чтобы ссылка не изменялась.
Может, можно как-то указать ссылку на сайт, где ты будешь размещать ссылки на dropbox с обновлениями, а он будет переходить по этим ссылкам и скачивать файл.
 

OtherWeather

Новичок
39
2
Почему в игре пишет "Запрещенные вещи: ."? Подозреваю, что "нельзя сканировать стринг на наличие стринга", но с использованием функции sscanf не могу разобраться. Подскажите решение, пожалуйста.
Код:
if 0C18: 5@ = strstr string1 1@ string2 "Остальное"
then
    0AD4: 6@ = scan_string 5@ format "Остальное: %s." 8@s
    if 6@ == 1
    then 0af8: chat "Запрещенные вещи: %s." -1 8@s
    end
else
    0AF8: chat "Запрещенные вещи отсутствуют."
end
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Вообщем, у меня сложный вопрос.
Значит, добавил я в свой CLEO скрипт автообновление.
Допустим, на компьютере пользователя мой CLEO скрипт с автообновлением, так вот, в коде автообновления есть ссылка на обновленный скрипт. (Типа dl.dropboxusercontent.com/s/wdwcw.cs)
Допустим, я сделал новое обновление, и залил его на dropbox. Но ссылка на файл изменилась, и получается то, что на компьютере у пользователя старая ссылка на скрипт, не рабочая. И получается что-то типа замкнутого круга -> На dropbox новая версия - > Старая версия чекает скрипт на обновление -> Старая версия скрипта пишет что обновлений нет (А их нет потому, что старая ссылка на файл). Ну вообщем если вы ничего не поняли, вот вам код:
на дропбоксе ссылки не меняются
 

Stas07

Известный
Проверенный
262
98
Как безболезненно передать перемеренную с одного скрипта в другой?
 

Vadim.dll

Известный
168
80
Ребята, как скрыть объекты как в собейте? Или сделать коллизию объектов
 
Последнее редактирование:

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Как безболезненно передать перемеренную с одного скрипта в другой?
Используй глобальные переменные(SF) или создавай отдельный поток:
0C6B: 1@ = create_custom_thread_at_pointer 0@ / 0C6A: 1@ = create_custom_thread_at_label 0@
0C6C: set_thread 1@ local_var 2@ = 3@
 
  • Нравится
Реакции: Stas07

AWRage

Активный
642
141
Есть опкод противоположный этому опкоду?
0A8E: 4@ = 5@ + 6@


P.S. Типа 4@ = 5@ - 6@