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

SR_team

like pancake
BH Team
4,815
6,515
мне нужно на подобии админчекера ( декомпилированный админчекер это ужас... )

Да, но его структура понятна. Если я правильно тебя понимаю, то ты хочешь проверку, того что игрок подключается к серву? Потому что проверку АФК и проверку, что игрок подключен тебе дали. Можешь заюзать RPC, там все с подключениями можно проверить
 

ma_za_xa_ka

Известный
42
0
Да, но его структура понятна. Если я правильно тебя понимаю, то ты хочешь проверку, того что игрок подключается к серву? Потому что проверку АФК и проверку, что игрок подключен тебе дали. Можешь заюзать RPC, там все с подключениями можно проверить

мне нужно сделать проверку есть ли игроки на сервере ( допустим список из 10 ) и если хоть кто-то есть скрипт не запускается
 

SR_team

like pancake
BH Team
4,815
6,515
мне нужно сделать проверку есть ли игроки на сервере ( допустим список из 10 ) и если хоть кто-то есть скрипт не запускается

возьми ID игроков в цикл, затем проверь кто подключен, получи его ник, сверь ник с никами из списка(тоже циклом), и если это тот самый игрок, то выполни действие которое тебе нужно.
 

ma_za_xa_ka

Известный
42
0
возьми ID игроков в цикл, затем проверь кто подключен, получи его ник, сверь ник с никами из списка(тоже циклом), и если это тот самый игрок, то выполни действие которое тебе нужно.

так как я рукожопый я придумал вот что. Берем админчекер и ставим его в цикл и кодом гонщика получаем из чата ники. Если есть эти ники то все останавливается
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
так как я рукожопый я придумал вот что. Берем админчекер и ставим его в цикл и кодом гонщика получаем из чата ники. Если есть эти ники то все останавливается

Херачь через RPC ServerJoin, в разы лучше, но нужен MGAFUNCS.
 

ma_za_xa_ka

Известный
42
0
Мой велик работает очень плохо. Можно ли запускать один клео скрипт из другого или как то их объединить с потомками от mgfc ( насчет второго краткий пример если можно )
 

ma_za_xa_ka

Известный
42
0
Код:
{$CLEO .cs} 
thread 'ZP' 
 
:start
wait 0 
if and 
        0AB0:  key_pressed 49  //ia?aoi K 
jf @start
0DBA: 1@ = new_cleo_thread from_label @3
 
:alfazlo_dips_90
wait 0
29@ = 0
 
:alfazlo_dips_101
format 4@v "%d" 29@
alloc 5@ 33
if
0AF4: 5@ = read_string_from_ini_file "CLEO\config.ini" section "admins" key 4@v
else_jump @alfazlo_dips_419
format 5@v "%s" 5@
30@ = 0
 
:alfazlo_dips_185
if
  SAMP.IsPlayerConnected(30@)
else_jump @alfazlo_dips_308
10@ = SAMP.GetPlayerNickname(30@)
format 10@v "%s" 10@
if and
08FA:  5@v == 10@v
08FA:  6@v == 11@v
else_jump @alfazlo_dips_294
10@ = SAMP.GetPlayerNickname(30@)
0AF8: samp add_message_to_chat "%s [%d]" color 16252672 10@ 30@ 
goto @alfazlo_dips_337
goto @alfazlo_dips_301
 
:alfazlo_dips_294
goto @alfazlo_dips_315
 
:alfazlo_dips_301
goto @alfazlo_dips_315
 
:alfazlo_dips_308
goto @alfazlo_dips_315
 
:alfazlo_dips_315
30@ += 1
  30@ > 1000
else_jump @alfazlo_dips_185
 
:alfazlo_dips_337
5@ = 0
6@ = 0
7@ = 0
8@ = 0
9@ = 0
10@ = 0
11@ = 0
12@ = 0
13@ = 0
14@ = 0
free 5@
goto @alfazlo_dips_426
 
:alfazlo_dips_419
goto @alfazlo_dips_426
 
:alfazlo_dips_426
29@ += 1
  29@ > 100
else_jump @alfazlo_dips_101
SAMP.CmdRet
 
:3 
wait 2000
if
call @search_text_in_the_text 2 Jessica_Heine Jessica_Heine
else_jump @2
wait 100
if
call @search_text_in_the_text 2 Joseph_Hawkins Joseph_Hawkins
else_jump @2
wait 0
jump @start
 
:2
0AF8: samp add_message_to_chat "Áîò íå çàïóùåí èç-çà àäìèíîâ" color 16252672
jump @start
 
 
:search_text_in_the_text
var
    2@:int
    3@:int
    4@:int
    5@:int
    7@:int
    8@:int
end
7@ = 0
0C17: 4@ = strlen 0@
0C17: 8@ = strlen 1@
if or
8@ > 4@
8@ <= 0
then
    059A: return_false
    ret 0
end
0AC8: 6@ = 1024
0C11: memset destination 6@ value 0 size 1024
0C10: memcpy destination 6@ source 1@ size 8@
for 5@ = 0 to 4@
0A8D: 2@ = read_memory 0@ size 1 virtual_protect 0
0A8D: 3@ = read_memory 1@ size 1 virtual_protect 0
    if 2@ == 3@
    then
        inc(1@)
        inc(7@)
    else
        7@ = 0
        0C10: memcpy destination 1@ source 6@ size 8@   
    end
    if 7@ == 8@
    then
        0485: return_true
        ret 0   
    end
inc(0@)
end
059A: return_false
0AC9: 6@
ret 0

Я понимаю что это супер велосипед, но почему он в самом конце уходит с пути?
 

ma_za_xa_ka

Известный
42
0
Код:
{$CLEO .cs} 
thread 'ZP' 
 
:start
wait 0 
if and 
        0AB0:  key_pressed 49
jf @start 
wait 0
0B75: samp get_chat_string 1@ text_to 2@ prefix_to 3@ color_to 4@ prefix_color_to 5@
if 0C18: 2@ = strstr string1 1@ string2 "Ïðèâåò"
then
say "Çäàðîâà"
wait 1000
end
jump @start
Почему крашит?
 

Dark_Knight

Me, me and me.
Друг
4,083
2,110
Решил сделать кодирование строки через XOR. Нашел функу на php и решил её перевести. В результате краш и пиздец
Моя функа на клео
Код:
:stroke_xor
var
3@ : int
4@ : int
6@ : int
7@ : int 
end
//call @xor_this 3 string 0@ key 1@ buffer 3@
0C17: 3@ = strlen 0@
0C17: 4@ = strlen 1@
6@ = -1                                  
    for 5@ = 0 to 3@      
        :double_for
        6@ ++            
        7@ ++            
        0A8D: 8@ = read_memory 0@ size 1 virtual_protect 0
        0A8D: 9@ = read_memory 1@ size 1 virtual_protect 0
        0B12: 10@ = 8@ XOR 9@
        message "%c" 0xFFFFFF 10@
        0ad3: 2@ = "%s%c" 2@ 10@
        0@ ++            
        1@ ++            
        if and
        6@ < 3@
        5@ < 4@
        else_jump @double_for  
    end
ret 1 2@
Функция на php
PHP:
function xor_this($string, $key) {
 $text =$string;
 $outText = '';
 for($i=0;$i<strlen($text);)
 {
     for($j=0;($j<strlen($key) && $i<strlen($text));$j++,$i++)
     {
         $outText .= $text{$i} ^ $key{$j};
     }
 }  
 return $outText;
}