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

CarLCas

Известный
161
118
: DeleteUrlCacheEntryA
0AA2: 22@ = load_library "wininet.dll"
0AA4: 23@ = get_proc_address "DeleteUrlCacheEntryA" library 22@
0AA5: call 23@ num_params 1 pop 0 8@
ret 0
Точно не знаю, вроде правильно. Если ошибся, то извини.
 

Dark_Knight

Me, me and me.
Друг
4,068
2,083
: DeleteUrlCacheEntryA
0AA2: 22@ = load_library "wininet.dll"
0AA4: 23@ = get_proc_address "DeleteUrlCacheEntryA" library 22@
0AA5: call 23@ num_params 1 pop 0 8@
ret 0
Точно не знаю, вроде правильно. Если ошибся, то извини.
после 0аа5 надо ставить free_library 22@. Опкод не помню.

Метка "DeleteUrlCacheEntryA" не найдена.
Вот код
Код:
{$CLEO .cs}
//----------------------------MAIN-----------------------
 
:top
0ac8: 9@ = 128
0ac8: 13@ = 128
0ac8: 14@ = 128
0ac8: 15@ = 51200
0ac8: 8@ = 512
0ad3: 8@ = "http:%c%cBlaefdfgrfd.ru/top.php" 47 47
0ad3: 14@ = "cleo\gki.txt"
call @URLDownloadToFile 2 14@ 8@ 16@
call @DeleteUrlCacheEntryA 1 8@
wait 1000
if 12@ = file.Open("cleo\gki.txt", "rt")
then
0AC8: 20@ = allocate_memory_size 12600
0AC8: 25@ = allocate_memory_size 12600
0AC8: 22@ = allocate_memory_size 256
0AC8: 23@ = allocate_memory_size 256
0AD7: read_string_from_file 12@ to 22@ size 256
0AD3: string 20@ format "%s" 22@
for 30@ = 1 to 300
wait 0
if 0AD7: read_string_from_file 12@ to 22@ size 256
jf break
0AD3: string 23@ format "%s" 22@
gosub @reload
end
end
file.Close(12@)
0B00: delete_file "cleo\gki.txt"
0B3B: samp show_dialog id 2000 caption "Top 10 player's Kill Informer" text 25@ button_1 "Çàêðûòü" button_2 "" style 0
0AC9: free_allocated_memory 8@
0ac9: 14@
0ac9: 15@
0ac9: 20@
0ac9: 25@
0ac9: 22@
0ac9: 23@
samp.CmdRet()
 
:reload
0AD3: string 25@ format "%s%s" 20@ 23@
0AD3: string 20@ format "%s" 25@
return

Это же мой исходник О_о. Где ты его нашел?
 

fonarik

Известный
206
3
: DeleteUrlCacheEntryA
0AA2: 22@ = load_library "wininet.dll"
0AA4: 23@ = get_proc_address "DeleteUrlCacheEntryA" library 22@
0AA5: call 23@ num_params 1 pop 0 8@
ret 0
Точно не знаю, вроде правильно. Если ошибся, то извини.

объясни пожалуйста,что делает эта функция?Если перевести,то вроде как,Удаляет Url кэш,только зачем это нужно?
 

OWSLA

Новичок
32
0
Возможно ли как-то спарсить координаты машины по её id в зоне стрима?
 

OWSLA

Новичок
32
0
Нужна помощь в разборе ошибок, изначально меня просто крашило, не заходя в игру.
Теперь крашит только тогда, когда я ввожу команду /fcon.
Код в спойлере:
Код:
{$CLEO .cs}
 
0000:
Thread "FindCar"
 
:Start
wait 0
if 1@ = SAMP.Base()
then
while not SAMP.Available()
wait 400
end
0B34: samp register_client_command "fcon" to_label @FC
0B34: samp register_client_command "fcoff" to_label @off
else end_thread
end
 
while true
wait 0
end
 
 
:FC
wait 0
    0B35: samp 1@ = get_last_command_params
    0ac8: 11@ = 68
if  0AD4: 10@ = scan_string 1@ format "%s" 11@
then
    0ac9: 11@
end
var
3@ : float // X
4@ : float // Y
5@ : float // Z
end
0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT" color 0xCCCCCC
while true
wait 0
    0ac8: 2@ = 68
    0ac8: 3@ = 128
    0ac8: 4@ = 128
    0ac8: 5@ = 128
    0ac8: 6@ = 68
    0AFF: samp 2@ = car_handle_by_samp_vehicle_id 522
    00AA: store_car 2@ position_to 3@ 4@ 5@
if  0AD4: 0@ = scan_string 3@ 4@ 5@ format "%f" 6@
then
    03BC: 7@ = create_sphere_at 3@ 4@ 5@ radius 2.0
    0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT1" color 0xCCCCCC
end
0B43: samp cmd_ret
 
:off
wait 0
    0B35: samp 1@ = get_last_command_params
    0ac8: 13@ = 68
if  0AD4: 12@ = scan_string 1@ format "%s" 13@
    0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT2" color 0xCCCCCC
    0ac9: 2@
    0ac9: 3@
    0ac9: 4@
    0ac9: 5@
    0ac9: 6@
    0B43: samp cmd_ret
jump @Start
 

hnnssy

Известный
Друг
2,684
2,753
Нужна помощь в разборе ошибок, изначально меня просто крашило, не заходя в игру.
Теперь крашит только тогда, когда я ввожу команду /fcon.
Код в спойлере:
Код:
{$CLEO .cs}
 
0000:
Thread "FindCar"
 
:Start
wait 0
if 1@ = SAMP.Base()
then
while not SAMP.Available()
wait 400
end
0B34: samp register_client_command "fcon" to_label @FC
0B34: samp register_client_command "fcoff" to_label @off
else end_thread
end
 
while true
wait 0
end
 
 
:FC
wait 0
    0B35: samp 1@ = get_last_command_params
    0ac8: 11@ = 68
if  0AD4: 10@ = scan_string 1@ format "%s" 11@
then
    0ac9: 11@
end
var
3@ : float // X
4@ : float // Y
5@ : float // Z
end
0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT" color 0xCCCCCC
while true
wait 0
    0ac8: 2@ = 68
    0ac8: 3@ = 128
    0ac8: 4@ = 128
    0ac8: 5@ = 128
    0ac8: 6@ = 68
    0AFF: samp 2@ = car_handle_by_samp_vehicle_id 522
    00AA: store_car 2@ position_to 3@ 4@ 5@
if  0AD4: 0@ = scan_string 3@ 4@ 5@ format "%f" 6@
then
    03BC: 7@ = create_sphere_at 3@ 4@ 5@ radius 2.0
    0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT1" color 0xCCCCCC
end
0B43: samp cmd_ret
 
:off
wait 0
    0B35: samp 1@ = get_last_command_params
    0ac8: 13@ = 68
if  0AD4: 12@ = scan_string 1@ format "%s" 13@
    0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT2" color 0xCCCCCC
    0ac9: 2@
    0ac9: 3@
    0ac9: 4@
    0ac9: 5@
    0ac9: 6@
    0B43: samp cmd_ret
jump @Start
Ну и бред. Нельзя сканировать стринг на наличие стринга. Зачем выделять под параметр команды память (хотя параметр с кмд вообще нигде не играет роли в скрипте), зачем выделять память под хэндл, координаты?
if 0AD4: 0@ = scan_string 3@ 4@ 5@ format "%f" 6@
Это вообще зачем? Координаты мира будут во float всё равно.
 
  • Нравится
Реакции: fonarik и itsLegend

OWSLA

Новичок
32
0
Ну и бред. Нельзя сканировать стринг на наличие стринга. Зачем выделять под параметр команды память (хотя параметр с кмд вообще нигде не играет роли в скрипте), зачем выделять память под хэндл, координаты?
if 0AD4: 0@ = scan_string 3@ 4@ 5@ format "%f" 6@
Это вообще зачем? Координаты мира будут во float всё равно.


Ожидаемый ответ.
Изначально я хотел сделать, чтобы по заданному иду кара находились его координаты и туда ставился бы маркер.
Но, видимо, я там все напутал и половину неправильно написал, если не все.

А что скажешь по поводу активации, она тоже напутана? Или крашило из-за того, что начинался адово кривой скрипт?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,463
А что скажешь по поводу активации, она тоже напутана? Или крашило из-за того, что начинался адово кривой скрипт?
В теле команды не должно быть циклов, которые требуют слишком много времени на обработку. В данном случае, у тебя используется while true внутри тела команды.
 
  • Нравится
Реакции: OWSLA

hnnssy

Известный
Друг
2,684
2,753
Ожидаемый ответ.
Изначально я хотел сделать, чтобы по заданному иду кара находились его координаты и туда ставился бы маркер.
Но, видимо, я там все напутал и половину неправильно написал, если не все.

А что скажешь по поводу активации, она тоже напутана? Или крашило из-за того, что начинался адово кривой скрипт?
/cmd [carid]
Код:
:FC
0B35: samp 0@ = get_last_command_params
0AD4: 0@ = scan_string 0@ format "%d" 1@
0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT" color 0xCCCCCC
0AFF: samp 2@ = car_handle_by_samp_vehicle_id 1@
if 056E:  car 2@ defined
then
00AA: store_car 2@ position_to 3@ 4@ 5@
0AF8: "X: %f {00FF00}Y: %f {0000FF}Z: %f" 0xff0000 3@ 4@ 5@
03BC: 5@ = create_sphere_at 3@ 4@ 5@ radius 2.0
0AF8: samp add_message_to_chat "{DC143C}[CLEO]: {FFFFFF}TEXT1" color 0xCCCCCC
end
0B43: samp cmd_ret
 
  • Нравится
Реакции: OWSLA