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

azdsfbzxv

Новичок
73
6
Последнее редактирование:

Trashmas

Новичок
40
0
Грубо говоря данные. Данные игрока. Данные авто.

Ясно, благодарю

Еще одна проблема, в этот раз думаю дело в защите серва или что то подобное.

Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0B34: samp register_client_command "findp" to_label @FIND_PLAYER

repeat
wait 0
//-------------CHECK /FINDP COMMAND---------------
if 25@ == true
then
SAMP.IsCommandTyped(1@)
    if 0AD4: 2@ = scan_string 1@ format "%d" 3@
    then
        if and
        3@ >=0
        3@ < 1000
        then
        4@ = SAMP.GetActorHandleByPlayerID(3@)
        00A0: store_actor 4@ position_to 6@ 7@ 8@
        02A7: 5@ = create_icon_marker_and_sphere 56 at 6@ 7@ 8@
        25@ = false
        end
    25@ = false
    end
25@ = false
end

until false

:FIND_PLAYER
25@ = true
SAMP.CmdRet()

В игре если перс в радиусе прорисовки, то все норм, а если где то далеко - с игрой начинается какая то фигня, все тормозит и ничерта не работает.
 

RedBoxWhite

Известный
337
27
Ясно, благодарю

Еще одна проблема, в этот раз думаю дело в защите серва или что то подобное.

Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0B34: samp register_client_command "findp" to_label @FIND_PLAYER

repeat
wait 0
//-------------CHECK /FINDP COMMAND---------------
if 25@ == true
then
SAMP.IsCommandTyped(1@)
    if 0AD4: 2@ = scan_string 1@ format "%d" 3@
    then
        if and
        3@ >=0
        3@ < 1000
        then
        4@ = SAMP.GetActorHandleByPlayerID(3@)
        00A0: store_actor 4@ position_to 6@ 7@ 8@
        02A7: 5@ = create_icon_marker_and_sphere 56 at 6@ 7@ 8@
        25@ = false
        end
    25@ = false
    end
25@ = false
end

until false

:FIND_PLAYER
25@ = true
SAMP.CmdRet()

В игре если перс в радиусе прорисовки, то все норм, а если где то далеко - с игрой начинается какая то фигня, все тормозит и ничерта не работает.
Поставь что ли проверку, что игрок находится в зоне стрима.
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,262
1,752
Т.е. координаты игроков за пределами стрима прочитать невозможно?
на дм серверах, где отображаются все игроки на карте, там можно, а на всяких рп серверах нет
 
  • Нравится
Реакции: RedBoxWhite

azdsfbzxv

Новичок
73
6
Ну как я понял с просмотра видео урока эти переменные типа таймеров и они меняются, прибавляется в них что то. Хотя впринципе в координатах я их использовал. По моему нормально всё было
Т.е. координаты игроков за пределами стрима прочитать невозможно?
Добавил проверку. Протестил. Там появляются на радаре маркера на карте, только когда игроков уже видешь
 

RedBoxWhite

Известный
337
27
Почему крашит? Возможно, 0AA5 выбывается, т.к проверял 0B75, всё нормально выводил.
CLEO:
{$CLEO}
0000:
wait 2000

alloc 1@ 64
alloc 2@ 64
alloc 10@ 256

while true
wait 0
0B75: get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
if and
0C18: 0 = strstr string1 10@ string2 "[O]"
0C18: 0 = strstr string1 10@ string2 "_"
then
    if 0C18: 0 = strstr string1 10@ string2 "ban"
    then
    0AA5: call 0x8220AD num_params 4 pop 4 params 2@ 1@ "[O] %s %s" 10@
    0AF8: "%s  || %s" -1 1@ 2@
    end
end
wait 0
end
 

azdsfbzxv

Новичок
73
6
Почему крашит? Возможно, 0AA5 выбывается, т.к проверял 0B75, всё нормально выводил.
CLEO:
{$CLEO}
0000:
wait 2000

alloc 1@ 64
alloc 2@ 64
alloc 10@ 256

while true
wait 0
0B75: get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
if and
0C18: 0 = strstr string1 10@ string2 "[O]"
0C18: 0 = strstr string1 10@ string2 "_"
then
    if 0C18: 0 = strstr string1 10@ string2 "ban"
    then
    0AA5: call 0x8220AD num_params 4 pop 4 params 2@ 1@ "[O] %s %s" 10@
    0AF8: "%s  || %s" -1 1@ 2@
    end
end
wait 0
end
Что скрипт делает? Помоему там вообще не надо 0AA5:
 
Последнее редактирование:

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,262
1,752
Почему крашит? Возможно, 0AA5 выбывается, т.к проверял 0B75, всё нормально выводил.
CLEO:
{$CLEO}
0000:
wait 2000

alloc 1@ 64
alloc 2@ 64
alloc 10@ 256

while true
wait 0
0B75: get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
if and
0C18: 0 = strstr string1 10@ string2 "[O]"
0C18: 0 = strstr string1 10@ string2 "_"
then
    if 0C18: 0 = strstr string1 10@ string2 "ban"
    then
    0AA5: call 0x8220AD num_params 4 pop 4 params 2@ 1@ "[O] %s %s" 10@
    0AF8: "%s  || %s" -1 1@ 2@
    end
end
wait 0
end
какого члена там "0 = .."?????
там должна быть переменная
CLEO:
0C18: 0 = strstr string1 10@ string2 "[O]"
0B75: get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
 
  • Нравится
Реакции: RedBoxWhite

azdsfbzxv

Новичок
73
6
В 0B75: нули замени на переменные и во всех трёх 0C18 тоже
И ещё добавь в начале:

CLEO:
{$CLEO .cs}
0000: NOP

//выделение памяти воткни тут

0001: wait 0 ms
while not SAMP.Available()
    wait 400
end

while not Player.Defined($PLAYER_ACTOR)
    wait 100
end
Ещё (возможно ошибаюсь) надо добавить форматирование строки
 
Последнее редактирование:
  • Нравится
Реакции: RedBoxWhite