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

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Код:
{$CLEO .cs}

0000: NOP

0B34: samp register_client_command "tp_bleat" to_label @Cmd  
   
While true
Wait 0
    If 10@ == 1
    Then
        For 0@ = 0 To 1000
        If Samp.IsPlayerConnected(0@)
        Then
            0B20: samp 1@ = actor_handle_by_samp_player_id 0@                    
            If 056D: actor 1@ defined
            then
                00A0: store_actor 1@ position_to 2@ 3@ 4@      
                Actor.PutAt($PLAYER_ACTOR, 2@, 3@, 4@)
                Print "Torment..." 100                                                                    
                Wait 1000                                              
            end                                                                                              
        End
        end
    End
End

:Cmd
0B12: 10@ = 10@ XOR 1
Samp.CmdRet()
 

iGO[R]

Новичок
42
1
Все, спасибо, с этим разобрался.
Теперь появилась другая проблемка, нужно добавить в этот скрипт такой код - если у персонажа в которого я целюсь хп больше чем 20, то разрешить стрелять и не телепортироваться, иначе запретить стрелять и телепортироваться)

P.S. Я там немного сделал, осталось доделать))

Вот код скрипта:

Код:
{$CLEO .cs}

//—————————————————————————MAIN—————————————————————————
0000: NOP

0B34: samp register_client_command "мучитель" to_label @Cmd

:TP
While true
Wait 0

If 10@ == 1
Then
Jump @Next
End

End

:Next
Wait 0    
For 0@ = 0 To 1000
If Samp.IsPlayerConnected(0@)
Then
If 0B20: samp 1@ = actor_handle_by_samp_player_id 0@  
Then    
04C4: store_coords_to 2@ 3@ 4@ from_actor 1@ with_offset 0.0 -0.5 -1.0
Wait 1000                                                                     
Actor.PutAt($PLAYER_ACTOR, 2@, 3@, 4@)
Print "Torment..." 1500
Jump @HPSW
End
End
End

:HPSW
Wait 0
If 0AD2: 5@ = player $PLAYER_CHAR targeted_actor
Then 
6@ = Samp.GetSAMPPlayerIDByActorHandle(5@)       
0B25: samp 7@ = get_player_health 6@
If 7@ <= 20
Then
0881: set_player $PLAYER_CHAR able_to_shoot_weapons 0

End
End

Jump @TP
:Cmd
0B12: 10@ = 10@ XOR 1
Samp.CmdRet()
 

SEVILLE1

Новичок
2
0
Пацаны, все cs файлы, стали блокнотами. Как решить проблему? помогите пожалуйста.
Они все файлы .cs такие :c.
 

iGO[R]

Новичок
42
1
Подскажите пожалуйста, как сделать так, чтобы цикл FOR повторялся бесконечно до тех пор, пока я снова не введу команду /начать?
Вот код:

Код:
{$CLEO .cs}

//—————————————————————————MAIN—————————————————————————
0000: NOP

Thread "MyLife"
  
0B34: samp register_client_command "начать" to_label @Cmd     
  
While true
Wait 0
End
      
:Cmd
Wait 0
0B12: 30@ = 30@ XOR 1
If 30@ == 1
Then                                                                                                                          
0AF8: samp add_message_to_chat "О. Активирован" color 0x304050

For 0@ = 0 to 1000
If 0B20: samp 9@ = actor_handle_by_samp_player_id 0@   
Then   
If 056D: actor 9@ defined
Then  
Wait 100
Alloc 7@ 39
0C0D: struct 7@ offset 0 size 1 = 1
0C0D: struct 7@ offset 1 size 2 = 0@
Actor.StorePos(9@, 10@, 11@, 12@)
12@ += 5.0
0C0D: struct 7@ offset 3 size 4 = 10@
0C0D: struct 7@ offset 7 size 4 = 11@
0C0D: struct 7@ offset 11 size 4 = 12@
Actor.StorePos(9@, 10@, 11@, 12@)
0C0D: struct 7@ offset 15 size 4 = 10@
0C0D: struct 7@ offset 19 size 4 = 11@
0C0D: struct 7@ offset 23 size 4 = 12@
0C0D: struct 7@ offset 27 size 4 = 0.0
0C0D: struct 7@ offset 31 size 4 = 0.0
0C0D: struct 7@ offset 35 size 4 = 0.5
8@ = BitStream.New()
BitStream.Write(8@, 224, BS_TYPE_BYTE, 1)
BitStream.Write(8@, 7@, BS_TYPE_ARRAY, 39)
RakNet.LiteSend(8@)
BitStream.Delete(8@)
Free 7@
Printf "~W~Send bullet to ID [%d]" 700 0@

End
End
End
 
Else
0AF8: samp add_message_to_chat "О. Дезактивировано" color 0x304050
End

Samp.CmdRet()
 

Vovich

HOT
Проверенный
717
197
Код:
{$CLEO .cs}
0000:
repeat
wait 150
until 0afa:
0B34: samp register_client_command "gethere" to_label @ghere
while true
wait 0
if 22@ == 1
then
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
00A0: store_actor 1@ position_to 15@ 16@ 17@
call @ghere_2 3 15@ 16@ 17@
Actor.PutAt($PLAYER_ACTOR,12@,13@,14@)
wait 300
Actor.PutAt($PLAYER_ACTOR,12@,13@,14@)
22@ = 0
end
end

:ghere
00A0: store_actor $PLAYER_ACTOR position_to 12@ 13@ 14@
0B35: samp 0@ = get_last_command_params
22@ = 1
SAMP.CmdRet()

:ghere_2
3@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
3@ = SAMP.GetPlayerStruct(3@)
3@ += 201
0AC8: 4@ = allocate_memory_size 63
0C10: memcpy destination 4@ source 3@ size 63
0C0D: struct 4@ offset 24 size 4 = 0@
0C0D: struct 4@ offset 28 size 4 = 1@
0C0D: struct 4@ offset 32 size 4 = 2@
0B3D: raknet 5@ = new_bit_stream
0B40: raknet bit_stream 5@ write PACKET_VEHICLE_SYNC type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 63
0B8B: raknet send bit_stream 5@
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
0AB2: ret 0

Вообщем на метке ghere_2 , "Ожидалось параметров 4" , чё не так с функой?
 

Niko

Известный
Проверенный
230
268
Код:
{$CLEO .cs}
0000:
repeat
wait 150
until 0afa:
0B34: samp register_client_command "gethere" to_label @ghere
while true
wait 0
if 22@ == 1
then
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
00A0: store_actor 1@ position_to 15@ 16@ 17@
call @ghere_2 3 15@ 16@ 17@
Actor.PutAt($PLAYER_ACTOR,12@,13@,14@)
wait 300
Actor.PutAt($PLAYER_ACTOR,12@,13@,14@)
22@ = 0
end
end

:ghere
00A0: store_actor $PLAYER_ACTOR position_to 12@ 13@ 14@
0B35: samp 0@ = get_last_command_params
22@ = 1
SAMP.CmdRet()

:ghere_2
3@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
3@ = SAMP.GetPlayerStruct(3@)
3@ += 201
0AC8: 4@ = allocate_memory_size 63
0C10: memcpy destination 4@ source 3@ size 63
0C0D: struct 4@ offset 24 size 4 = 0@
0C0D: struct 4@ offset 28 size 4 = 1@
0C0D: struct 4@ offset 32 size 4 = 2@
0B3D: raknet 5@ = new_bit_stream
0B40: raknet bit_stream 5@ write PACKET_VEHICLE_SYNC type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size 63
0B8B: raknet send bit_stream 5@
0B3E: raknet delete_bit_stream 5@
0AC9: free_allocated_memory 4@
0AB2: ret 0

Вообщем на метке ghere_2 , "Ожидалось параметров 4" , чё не так с функой?
После:
Код:
{$CLEO}

Добавь:
Код:
{$INCLUDE SF}
 

Vovich

HOT
Проверенный
717
197
Еще вопросик, где найти данную синхру: SendFakeINCARcoordsSync
 

Niko

Известный
Проверенный
230
268
Не подскажите как сделать хук?
Например: AimSyncData, буду признателен.
 

iGO[R]

Новичок
42
1
Помогите, не работает код, видимо нужно то, что я выделил в комментарии - добавить в цикл, я пытался по всякому вставить это в цикл, никак не получается - игра виснет, помогите это реализовать пж.)

Вот код:
Код:
{$CLEO .cs}

//—————————————————————————MAIN—————————————————————————
0000: NOP

Const
DIALOG_STYLE_MSGBOX = 0
DIALOG_STYLE_INPUT = 1
DIALOG_STYLE_LIST = 2
DIALOG_STYLE_PASSWORD = 3
End

Thread "MyLife"

0B34: samp register_client_command "weap" to_label @Weap

While TRUE
Wait 0
End

:Weap
Wait 0
0B12: 20@ = 20@ XOR 1
If 20@ == 1
Then
0AC8: 0@ = allocate_memory_size 64
0ad3: format_stirng 0@ = "Пустынный орел%cСнайперская винтовка%Обрезы" 0xA 0xA
0B3B: samp show_dialog id 17 caption "Выберите оружие из списка" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST
0AC9: free_allocated_memory 0@
         
/*If
0B3C: samp is_dialog_responded id 17 button 1@ list_item 3@ input_text 0
Then
0AF8: samp add_message_to_chat "Была нажата кнопка %d" color -1 params 1@
If
1@ == 1
Then
0AF8: samp add_message_to_chat "А именно: Уря" color -1
0AF8: samp add_message_to_chat "Элемент №%d" color -1 params 3@
If 3@ == 0
Then 0AF8: samp add_message_to_chat "Это первый пункт" color -1
End

If 3@ == 1
Then 0AF8: samp add_message_to_chat "Это второй пункт" color -1
End
If 3@ == 2
Then 0AF8: samp add_message_to_chat "Это третий пункт" color -1
End
Else
0AF8: samp add_message_to_chat "А именно: закрыть" color -1
End
End
*/

End             
SAMP.CmdRet()
 

DubStep_

Известный
292
52
Помогите, не работает код, видимо нужно то, что я выделил в комментарии - добавить в цикл, я пытался по всякому вставить это в цикл, никак не получается - игра виснет, помогите это реализовать пж.)

Вот код:
Код:
{$CLEO .cs}

//—————————————————————————MAIN—————————————————————————
0000: NOP

Const
DIALOG_STYLE_MSGBOX = 0
DIALOG_STYLE_INPUT = 1
DIALOG_STYLE_LIST = 2
DIALOG_STYLE_PASSWORD = 3
End

Thread "MyLife"

0B34: samp register_client_command "weap" to_label @Weap

While TRUE
Wait 0
End

:Weap
Wait 0
0B12: 20@ = 20@ XOR 1
If 20@ == 1
Then
0AC8: 0@ = allocate_memory_size 64
0ad3: format_stirng 0@ = "Пустынный орел%cСнайперская винтовка%Обрезы" 0xA 0xA
0B3B: samp show_dialog id 17 caption "Выберите оружие из списка" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST
0AC9: free_allocated_memory 0@
       
/*If
0B3C: samp is_dialog_responded id 17 button 1@ list_item 3@ input_text 0
Then
0AF8: samp add_message_to_chat "Была нажата кнопка %d" color -1 params 1@
If
1@ == 1
Then
0AF8: samp add_message_to_chat "А именно: Уря" color -1
0AF8: samp add_message_to_chat "Элемент №%d" color -1 params 3@
If 3@ == 0
Then 0AF8: samp add_message_to_chat "Это первый пункт" color -1
End

If 3@ == 1
Then 0AF8: samp add_message_to_chat "Это второй пункт" color -1
End
If 3@ == 2
Then 0AF8: samp add_message_to_chat "Это третий пункт" color -1
End
Else
0AF8: samp add_message_to_chat "А именно: закрыть" color -1
End
End
*/

End           
SAMP.CmdRet()
PHP:
{$CLEO .cs}
0000: NOP
0662: "DS"

Const
DIALOG_STYLE_MSGBOX = 0
DIALOG_STYLE_INPUT = 1
DIALOG_STYLE_LIST = 2
DIALOG_STYLE_PASSWORD = 3
End


0B34: samp register_client_command "weap" to_label @Weap

while true
wait 0
repeat
    wait 0
until 20@ == true
    if
    0B3C: samp is_dialog_responded id 17 button 1@ list_item 3@ input_text 0
        Then
        0AF8: samp add_message_to_chat "Была нажата кнопка %d" color -1 params 1@
        If
        1@ == 1
            Then
            0AF8: samp add_message_to_chat "А именно: Уря" color -1
            0AF8: samp add_message_to_chat "Элемент №%d" color -1 params 3@
            If 3@ == 0
                Then 0AF8: samp add_message_to_chat "Это первый пункт" color -1
            End
            If 3@ == 1
                Then 0AF8: samp add_message_to_chat "Это второй пункт" color -1
            End
            If 3@ == 2
                Then 0AF8: samp add_message_to_chat "Это третий пункт" color -1
            End
            Else
            0AF8: samp add_message_to_chat "А именно: закрыть" color -1
        end
    End
End

:Weap
Wait 0
0B12: 20@ = 20@ XOR 1
If 20@ == 1
Then
0AC8: 0@ = allocate_memory_size 64
0ad3: format_stirng 0@ = "Пустынный орел%cСнайперская винтовка%cОбрезы" 0xA 0xA
0B3B: samp show_dialog id 17 caption "Выберите оружие из списка" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST
0AC9: free_allocated_memory 0@   
end
SAMP.CmdRet()