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

hnnssy

Известный
Друг
2,684
2,748
Что не так-то? Вроде клео работает, все нормально, проходит какое-то время в игре и просто крашит, без единой причины.

CLEO:
{$CLEO}
0000:

:1
alloc 22@ 512
0AF0: 22@ = get_int_from_ini_file "cleo\o.ini" section "O" key "I"
alloc 21@ 512
21@ = 1
0B34: samp register_client_command "ob" to_label @ob
0B34: samp register_client_command "oi" to_label @oi
0B34: samp register_client_command "o" to_label @o


WHILE TRUE
0001: 0

    IF and
    0B4C: samp is_dialog_active -1 //dialogID, 464 for any dialog
    21@ == 1
    THEN 
    22@ += 1
    21@ = 0
    0AF1: write_int 22@ to_ini_file "cleo\o.ini" section "O" key "I"
    END

    IF
    8B4C: not samp is_dialog_active 464
    THEN
    21@ = 1
    END

END

:o
0AF8: "{A6E6E0}Отредактировано объявлений: {24F72B}%d" color 0xF8FAF8 22@
samp.CmdRet()

:oi
22@ -= 1
0AF8: "{24F72B}-1 {A6E6E0}объявление" color 0xF8FAF8
0AF8: "{A6E6E0}Отредактировано объявлений: {24F72B}%d" color 0xF8FAF8 22@
samp.CmdRet()

:ob
0AF8: "{A6E6E0}Отредактировано объявлений: {24F72B}%d" color 0xF8FAF8 22@
22@ = 0
0AF1: write_int 22@ to_ini_file "cleo\o.ini" section "O" key "I"
0AF8: "{A6E6E0}Счетчик объявлений очищен" color 0xF8FAF8
samp.CmdRet()
зачем ты выделяешь память под 21@ и 22@?
 

FYP

Известный
Администратор
1,758
5,722
создавай буфферы и храни данные в них, используй глобальные переменные СФ, записывай данные в ini
вариантов много
можно ещё не писать на клео, это, вроде как, самый оптимальный вариант
 
Последнее редактирование:
  • Нравится
Реакции: romacaddy и ishi

Coghweel

Новичок
76
0
можно ещё не писать на клео, это вроде как самый оптимальный вариант
хоть что то знаю только в клео, на других языках прг. вообще не шарю, надо написать скрипт простой в плане реализации, но требовательный в плане хранения данных

Расширять кол-во переменных, выделяя память:
Полезные сниппеты и SCM-функции
спасибо, гляну
создавай буфферы и храни данные в них, используй глобальные переменные СФ, записывай данные в ini
вариантов много
за переменные СФ спасибо, поищу инфу
 

sаnеk

Всефорумный sanek
Друг
2,107
2,058
поч крашит?
Код:
{$CLEO .cs}

0000: NOP

0B34: samp register_client_command "gcar" to_label @gcar

:gcar
0B35: samp 0@ = get_last_command_params
0AD4: 0@ = scan_string 0@ format "%d" 1@
if and
    1@ >= 0
    1@ <= 999
then
    0B20: samp 2@ = actor_handle_from_samp_playerid 1@
    if
    ACtor.Driving(2@)
    then
        03C0: 3@ = actor 2@ car
        Actor.StorePos($player_actor, 4@, 5@, 6@)
        036A: put_actor $player_actor in_car 3@
        Car.PutAt(3@, 4@, 5@, 6@)
        0B78: log "zalupa %d" 1@
    end
end
0B43: samp cmd_ret
 

hnnssy

Известный
Друг
2,684
2,748
потому что нет ожидания загрузки сампа и не паузится поток
 

sаnеk

Всефорумный sanek
Друг
2,107
2,058
а как сделать чтобы не крашило, когда вводишь ид игрока, который не в тачке и не в стриме?
 

hnnssy

Известный
Друг
2,684
2,748
добавить проверки на то, что игрок в стриме и в тачке
 

Perojek)0

Известный
205
3
Что делать, не работает wait

CLEO:
:PASS
0B35: samp 0@ = get_last_command_params
0AD4: 3@ = scan_string 0@ format "%d" 1@
0AF9: samp process_chat_input "/do Ïàïêà ñ äîêóìåíòàìè â ðóêå."
wait 5000
0AF9: samp process_chat_input "/me äîñòàë ïàñïîðò èç ïàïêè"
wait 5000
0AF9: samp process_chat_input "/me ïåðåäàë ïàñïîðò ÷åëîâåêó íàïðîòèâ"
wait 5000
0AF9: samp process_chat_input "/pass %d" 1@
0B43: samp cmd_ret
wait нельзя в командах юзать
 

Javier_Honda

Участник
37
1
Может кто тут кнопку активации сменить с "L" на "F3", ибо сам это клео я открыть не могу.
 

Вложения

  • tankmode.cs
    18 KB · Просмотры: 8