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

Скептик

Известный
15
0
Имеется ник формата Text_Text, как можно получить первые 2 буквы? Например Ya_Noob ===>YN
Код:
0AC8: 0@ = 256
0AD3: 0@ = "Text_Text"
0AC8: 1@ = 4
0AC8: 2@ = 4
0AA5: 0x8220AD 4 4 2@ 1@ "%s %s" 0@
0AF8: "%s%s" -1 1@ 2@
0AC9: 0@
0AC9: 1@
0AC9: 2@
Всё что можно использовать. Оформлять мне лень, тебе осталось придумать как убрать лишние символы.
 

SiTrak

Известный
193
251
После ввода команды, не ТПшит по заданным координатам. ( он должен брат маркер на этих координатах )

CLEO:
{$CLEO}
{$NOSOURCE}
0000:
0007: 22@ = 0

:SetServPos
wait 0
0AFA:  is_samp_available
jf @SetServPos                                                              
if and
0B34: samp register_client_command "tp" to_label @Noname_399
0B61:  samp is_local_player_spawned
jf @SetServPos
0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 1@ = allocate_memory_size 68
0BBA: samp store_player 0@ onfoot_data 1@
0C0D: struct 1@ offset 6 size 4 = -48.7419 // X
0C0D: struct 1@ offset 10 size 4 = 26.6279 // Y
0C0D: struct 1@ offset 14 size 4 = 3.1172 // Z
0BC0: samp send_onfoot_data 1@
0AC9: free_allocated_memory 1@
jump @SetServPos


:Noname_399
0001: wait 0 ms
0B12: 23@ = 23@ XOR 1
00D6: if
0039:   23@ == 1
004D: jump_if_false @Noname_458
chatmsg "{ffffff}Áîò {ff9945}çàïóøåí" -1
0002: jump @Noname_519

:Noname_458
chatmsg "{ffffff}Áîò {808080}îòêëþ÷åí. {ffffff}Ïîäîæäèòå ïàðó ñåêóíä..." -1

:Noname_519
0B43: samp cmd_ret
 
  • Нравится
Реакции: Mastir228

Скептик

Известный
15
0
После ввода команды, не ТПшит по заданным координатам. ( он должен брат маркер на этих координатах )
Я ещё не видел подобного исполнения, попробуй это.
Код:
{$CLEO}
{$NOSOURCE}
0000:
0001: 2000

0B34: samp register_client_command "tp" to_label @Noname_399

0007: 22@ = 0

:SetServPos                                                         
if and
0B61: samp is_local_player_spawned
003B: 23@ == 1
jf @SetServPos
0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 1@ = allocate_memory_size 68
0BBA: samp store_player 0@ onfoot_data 1@
0C0D: struct 1@ offset 6 size 4 = -48.7419 // X
0C0D: struct 1@ offset 10 size 4 = 26.6279 // Y
0C0D: struct 1@ offset 14 size 4 = 3.1172 // Z
0BC0: samp send_onfoot_data 1@
0AC9: free_allocated_memory 1@
jump @SetServPos


:Noname_399
0001: wait 0 ms
0B12: 23@ = 23@ XOR 1
00D6: if
0039:   23@ == 1
004D: jump_if_false @Noname_458
chatmsg "{ffffff}Áîò {ff9945}çàïóøåí" -1
0002: jump @SetServPos
0B43: samp cmd_ret

:Noname_458
chatmsg "{ffffff}Áîò {808080}îòêëþ÷åí. {ffffff}Ïîäîæäèòå ïàðó ñåêóíä..." -1
0B43: samp cmd_ret
 

Musaigen

abobusnik
Проверенный
1,585
1,309
После ввода команды, не ТПшит по заданным координатам. ( он должен брат маркер на этих координатах )
Лол, а что ты сделаешь с синхрой, синхра отправит тебя на 1 миллисекунду в указанную точку. При помощи синхры нельзя тпшиться.
 

SiTrak

Известный
193
251
Код:
0AD4: 3@ = scan_string 0@ format "%s [/f] %s" 18@s 25@s
say "%s" 25@s

в чем проблема? выводит из полученного текста только 8 символов
18@s 25@s подобные переменные, вмещают только 8 символов.
используй:
0AC8: 0@(переменная в которую выделяем) = allocate_memory_size 260(Сколько выделить) Выделяет место в переменной
0AC9: free_allocated_memory 0@ Очищает
 
  • Нравится
Реакции: Mastir228

Скептик

Известный
15
0
Код:
{$CLEO}
0000: NOP
0001: 2000

alloc 0@ 144
alloc 3@ 24
alloc 4@ 122

while true
    wait 0
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if
    0C29: 1@ = stristr string1 0@ string2 "[/f]"
    then                                             
        0AD4: 2@ = scan_string 0@ format "%s [/f] %s" 3@ 4@
        say "%s" 4@
        free 0@
        free 3@
        free 4@
    end
end
Что нужно, чтобы делал скрипт?
 
Последнее редактирование:

Yashka

Известный
15
1
Ребят, помогите написать sampfuncs скрипт, который бы писал в /ans ID перед /kick ID. К примеру:

Я пишу /kick Id DM, а скрипт сначала пишет /ans ID сделайте скрин, а потом только кикает игрока с причиной DM.
 

TedeX

Известный
6
0
Здравствуйте, как можно через клео читать информацию из серверного диалога? например загаловок или содержимое его
 

Musaigen

abobusnik
Проверенный
1,585
1,309
Ребят, помогите написать sampfuncs скрипт, который бы писал в /ans ID перед /kick ID. К примеру:

Я пишу /kick Id DM, а скрипт сначала пишет /ans ID сделайте скрин, а потом только кикает игрока с причиной DM.
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.Available()
0B34: samp register_client_command "ftr" to_label @FastAnswerKick


while true
wait 0
    if 0@ == 1
    then
        Samp.IsCommandTyped(1@)
        if
        0AD4: 2@ = scan_string 1@ format "%d" 3@
        then
            if
            0B23:  samp is_player_connected 3@
            then
                if
                8B64: not samp is_player 3@ npc
                then
                    say "/ans %d Сделайте скриншот!" 3@
                    wait 1999
                    say "/kick %d DM" 3@
                    0@ = 0
                else chatmsg "Игрок является Ботом!" -1
                0@ = 0
                end
            else chatmsg "Игрок не подключён к серверу!" -1
            0@ = 0
            end
        else chatmsg "Неправильный формат команды. Используйте: /ftr [ID игрокa]" -1
        0@ = 0
        end                                 
    end
end   



:FastAnswerKick
0@ = 1
samp.CmdRet()
 

jasd241

Новичок
29
1
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.Available()
0B34: samp register_client_command "vehtp" to_label @TeleportVehicleActivation
0BE2: raknet setup_outcoming_packet_hook @TeleportVehicleOutcoming
0BDE: pause_thread 0

:TeleportVehicleActivation
if
actor.Driving($player_actor)
then
0B12: 4@ = 4@ XOR 1
else
cmdret
end
cmdret

:TeleportVehicleOutcoming
0BE5: raknet 0@ = get_hook_param 1
if 0@ == 200
then
if 4@ == 1
then
0BE5: raknet 0@ = get_hook_param 0
0BF1: raknet 1@ = bit_stream 0@ get_write_offset
0BEC: raknet bit_stream 0@ set_write_offset 200
0B40: raknet bit_stream 0@ write -1018.0528 type 4 size 4
0B40: raknet bit_stream 0@ write -694.2233 type 4 size 4
0B40: raknet bit_stream 0@ write 31.6074 type 4 size 4
0BEC: raknet bit_stream 0@ set_write_offset 1@
00D9: 5@ = actor $PLAYER_ACTOR car // add to mission cleanup
car.PutAt(5@, -1018.0528, -694.2233, 31.6074)
4@ = 0
end
end
0BE0: raknet hook_ret 1
должен хукать вехикл синк и потом отправлять серверу, а после тпхать, но вместо этого в чат варнинги и потом краш
 
  • Нравится
Реакции: SiTrak