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

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,468
В первые работаю с INI.. вообщем помогите добрым советом.
я что то хочу записать в ини и вывести в чат.
.....
((каждый раз когда сюда заглядываю чувствую себя полным уебаном и без понимания смотрю на скрипты:sad_frog:))
Чёт вы приебались к строковым переменным. Они вовсе не так приравниваются.
Раз уж на то дело пошло, в СФ есть отличный опкод 0C3A. Содержимое, на которое ссылается возвращаемый адрес, не рекомендуется менять.
 

RedBoxWhite

Известный
337
27
Как просканировать такой диалог? Надо сделать так, чтобы в чат писало только ники.
IrIFfmeIHaM.jpg

В консоль записывает так:
Код:
Имя игрокаКолличество баллов 

1.Sergei_Holly2401
2.Maxim_Konor1803
3.Sophie_Side1447
4.Brian_Ross1365
5.Monte_Brown1220
6.Roman_Hvesenya541
7.Dmitry_Aksentev304
8.Alexey_Shevtsov251
9.Arthur_Cross248
10.Vittorio_Bellucci159
11.Ricardo_Campbell141
12.Sergey_Mayorov135
13.Antonio_Maskulaski134
14.Alexander_Gaevskiy111
15.Kimihito_Auditore110

А когда копируешь с консоли, то выдаёт так:

Имя игрока        Колличество баллов 

    1.    Sergei_Holly            2401
    2.    Maxim_Konor            1803
    3.    Sophie_Side            1447
    4.    Brian_Ross            1365
    5.    Monte_Brown            1220
    6.    Roman_Hvesenya        541
    7.    Dmitry_Aksentev        304
    8.    Alexey_Shevtsov        251
    9.    Arthur_Cross            248
    10.    Vittorio_Bellucci        159
    11.    Ricardo_Campbell        141
    12.    Sergey_Mayorov        135
    13.    Antonio_Maskulaski        134
    14.    Alexander_Gaevskiy        111
    15.    Kimihito_Auditore        110
Сам код такой (мб нужен будет):
CLEO:
{$CLEO}
0000:
wait 2000

alloc 0@ 568

while true
wait 0
if 0B4C:  samp is_dialog_active -1
then
0BD7: samp get_dialog_text 0@
    if and
    0C18: 2@ = strstr string1 0@ string2 "Имя игрока"
    0C18: 3@ = strstr string1 0@ string2 "Колличество баллов"
    then
    log 0@
    wait 1000
    end
end
end
 

Trashmas

Новичок
40
0
что ты пишешь бляяя
Я имею ввиду что как в случае с глоб. переменными удобнее читать код когда переменные названы $PlayerHp, $TargetCar и тд, а не 1@ 2@ 30@, с константами можно так но по ходу скрипта изменить их нельзя и соответственно становятся мусором
 

BlackKnigga

Известный
BH Team
922
446
Я имею ввиду что как в случае с глоб. переменными удобнее читать код когда переменные названы $PlayerHp, $TargetCar и тд, а не 1@ 2@ 30@, с константами можно так но по ходу скрипта изменить их нельзя и соответственно становятся мусором
Константировать можно переменную и изменять как хочешь
 

Trashmas

Новичок
40
0
Нужно сделать проверку никнейма перед запуском скрипта, пробовал так:

Код:
repeat
wait 0
until SAMP.Availavle()

0B2B: samp 2@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 1@ = get_player_nickname 2@
06D2: 5@v = "Nick_Name" //тут должно быть имя при котором скрипт должен запуститься

if 003B:   1@ == 5@v
then
jump @start
else
0A93: end_custom_thread
end

Естественно ничего не работает.
 

BlackKnigga

Известный
BH Team
922
446
Нужно сделать проверку никнейма перед запуском скрипта, пробовал так:

Код:
repeat
wait 0
until SAMP.Availavle()

0B2B: samp 2@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 1@ = get_player_nickname 2@
06D2: 5@v = "Nick_Name" //тут должно быть имя при котором скрипт должен запуститься

if 003B:   1@ == 5@v
then
jump @start
else
0A93: end_custom_thread
end

Естественно ничего не работает.
Приравнивать строку к переменной нужно опкодом 0AD3, а сравнивать строки 0C21
 

iTz_WEEZY

Известный
298
88
Нужно сделать проверку никнейма перед запуском скрипта, пробовал так:

Код:
repeat
wait 0
until SAMP.Availavle()

0B2B: samp 2@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 1@ = get_player_nickname 2@
06D2: 5@v = "Nick_Name" //тут должно быть имя при котором скрипт должен запуститься

if 003B:   1@ == 5@v
then
jump @start
else
0A93: end_custom_thread
end

Естественно ничего не работает.
CLEO:
{$CLEO}

0000: NOP
wait 2000
0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 1@ = get_player_nickname 0@
if 0C21: stricmp string1 1@ string2 "Nick_Name"
then
    // CODE
end
Если ник не соответствует тому что вписан игра кашнется.
 
Последнее редактирование: