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

Xample

Новичок
89
1
0AF9: samp say_msg "/repair %d 100" -1 1@
А бля, я спутал его с 0af8, все правильно у тебя в опкоде 0af9
ну один фиг не выходит. 0AF9: samp say_msg "/repair %d 100" 1@
а не нужно 1@ переводить в string? ну или каие там данные в ней

может от сюда взять пример, только незнаю какой
Код:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
thread "mehbot"
0662: printstring "Made by san0"

:mehbot_26
wait 400
   SAMP.Available
jf @mehbot_26
alloc 20@ 128
alloc 21@ 128
gosub @mehbot_1108
0DBA: 19@ = new_cleo_thread from_label -505
0B34: samp register_client_command "mbot" to_label @mehbot_366

:mehbot_86
wait 0
if
  4@ == 1
jf @mehbot_359
5@ = 0

:mehbot_115
if and
7@ = SAMP.GetActorHandleByPlayerID(5@)
056D:   actor 7@ defined
jf @mehbot_332
call @mehbot_1021 1 5@ 6@
if
803B:   not  5@ == 6@ // (int)
jf @mehbot_332
10@ = SAMP.GetVehicleHandleBySAMPVehicleID(6@)
02E3: 11@ = car 10@ speed
if
   not 11@ >= 10.0
jf @mehbot_332
Actor.StorePos($PLAYER_ACTOR, 15@, 16@, 17@)
Car.StorePos(10@, 12@, 13@, 14@)
050A: 18@ = distance_between_XYZ 12@ 13@ 14@ and_XYZ 15@ 16@ 17@
if
8025:   not  18@ > 24@ // (float)
jf @mehbot_332
say "/%s %d %d" 20@ 5@ 22@
wait 25@
say "/%s %d %d" 21@ 5@ 22@

:mehbot_332
5@ += 1
  5@ > 1000
jf @mehbot_115
wait 23@

:mehbot_359
goto @mehbot_86

:mehbot_366
if
  4@ == 0
jf @mehbot_438
chatmsg "[Mbot]{EAEAEA} Script {fb0000} Enable" 34555
goto @mehbot_486

:mehbot_438
chatmsg "[Mbot]{EAEAEA} Script {0bfb00} Disable" 34555

:mehbot_486
gosub @mehbot_1108
0B12: 4@ = 4@ XOR 1
SAMP.CmdRet
23@ = Render.CreateFont("Tahoma", 10, 5)
6@ = 2
10@ = 1
alloc 19@ 128
format 19@ "{00f020}Mechanic bot{0015f0} LOADED"
alloc 20@ 128

:mehbot_595
wait 0
if
  10@ == 1
jf @mehbot_967
SAMP.GetScreenResolution(0@, 1@)
0@ /= 2
1@ /= 2
03F0: enable_text_draw 1
Render.DrawBorderedBox(0, 1@, 250, 75, -1104072399, 5, -16777216)
1@ += 10
Render.DrawText(23@, 19@, 20, 1@, -52480)
1@ += 15
Render.DrawText(23@, "Use {0015f0}/mbot{00f0d5} to activ/deaciv", 20, 1@, -16715563)
1@ += 20
if
  6@ == 2
jf @mehbot_789
4@ += 5

:mehbot_789
if
  6@ == 1
jf @mehbot_814
4@ -= 5

:mehbot_814
if
   not 4@ >= 50
jf @mehbot_839
6@ = 2

:mehbot_839
if
  4@ > 250
jf @mehbot_865
6@ = 1

:mehbot_865
0B67: render a 4@ r 0 g 0 b 255 to_argb 5@
0B67: render a 4@ r 251 g 0 b 0 to_argb 8@
format 20@ "Made by #san0 {00fb0b}:: %c%x%cACheats.ru" 123 8@ 125
Render.DrawText(23@, 20@, 20, 1@, 5@)

:mehbot_967
if
key_down 19
jf @mehbot_992
0B12: 10@ = 10@ XOR 1

:mehbot_992
key_down 19
jf @mehbot_1014
wait 10
goto @mehbot_992

:mehbot_1014
goto @mehbot_595

:mehbot_1021
1@ = SAMP.GetPlayerStruct(0@)
1@ += 8
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0
2@ += 2
0A8D: 3@ = read_memory 2@ size 2 virtual_protect 0
if or
   not 1@ > 0
   not 3@ > 0
jf @mehbot_1100
ret 1 0@

:mehbot_1100
ret 1 3@

:mehbot_1108
if
0AAB:   file_exists "CLEO\INI\mbot.ini"
jf @mehbot_1151
wait 0
goto @mehbot_1537

:mehbot_1151
if
8AE4:   not directory_exists "CLEO\INI"
jf @mehbot_1186
0AE5: create_directory "CLEO\INI" // IF and SET

:mehbot_1186
0AF1: write_int 100 to_ini_file "CLEO\INI\mbot.ini" section "General" key "Cost"
0AF1: write_int 5 to_ini_file "CLEO\INI\mbot.ini" section "General" key "Wait"
0AF5: write_string "refill" to_ini_file "CLEO\INI\mbot.ini" section "General" key "Command1"
0AF5: write_string "repair" to_ini_file "CLEO\INI\mbot.ini" section "General" key "Command2"
0AF3: write_float 50.0 to_ini_file "CLEO\INI\mbot.ini" section "General" key "Distance"
0AF1: write_int 2 to_ini_file "CLEO\INI\mbot.ini" section "General" key "Antiflood"
chatmsg "[Mbot]: {EAEAEA}Ñîçäàëñÿ .ini ôàéë ïî ïóòè cleo/mbot.ini. Âû ìîæåòå åãî íàñòðîèòü" 15732720

:mehbot_1537
0AF4: 20@ = read_string_from_ini_file "CLEO\INI\mbot.ini" section "General" key "Command1"
0AF4: 21@ = read_string_from_ini_file "CLEO\INI\mbot.ini" section "General" key "Command2"
0AF0: 22@ = get_int_from_ini_file "CLEO\INI\mbot.ini" section "General" key "Cost"
0AF0: 23@ = get_int_from_ini_file "CLEO\INI\mbot.ini" section "General" key "Wait"
0AF2: 24@ = get_float_from_ini_file "CLEO\INI\mbot.ini" section "General" key "Distance"
0AF0: 25@ = get_int_from_ini_file "CLEO\INI\mbot.ini" section "General" key "Antiflood"
23@ *= 1000
25@ *= 1000
return
 
Последнее редактирование:

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
handle = SAMP.GetActorHandleByPlayerID(id)
Actor.StorePos(handle, v1, v2, v3)
 

Slamdunk

Известный
33
8
как в цикле добавить резкую остановку скрипта?
Например: если wait 20000
 

Enjoy

Новичок
Проверенный
164
11
как в цикле добавить резкую остановку скрипта?
Например: если wait 20000
break - прервать цикл.
Можешь сделать после него условие, при котором цикл продолжит свою работу.
Условие выполнилось? - continue

Ещё можешь заебошить цикл с предусловием. Завести переменную(типо переключателя), при которой скрипт будет останавливаться.
Код:
while 1@ == 1
wait 0
условие(выполнилось?)
1@ = 0 // прерываем цикл
нет?
...
дальше
 
Последнее редактирование:

Piratekapitan

Известный
59
17
Код:
{$CLEO .cs}

0000: NOP
Thread "FakeArrest"

while not SAMP.Available()
wait 300
end

0B34: samp register_client_command "farrest" to_label @cmd

while true
wait 0
end

:cmd
wait 0
0B35: samp 1@ = get_last_command_params  
0AD4: 2@ = scan_string 1@ format "%s%d" 3@v 4@
if
    2@ > 0
then
    0AF8: samp add_message_to_chat "Âû ïîñàäèëè â òþðüìó %s íà %d" color 0x6BA7FF 3@v 4@
    0B2B: samp 5@ = get_player_id_by_actor_handle $PLAYER_ACTOR
    0B36: samp 6@ = get_player_nickname 5@
    0AF8: samp add_message_to_chat "<< Îôèöåð %s >>" color 0xF65D58 3@v
end
SAMP.CmdRet()
Что неправильно в коде? Перемешиваются при вводе данные.
 

hnnssy

Известный
Друг
2,684
2,746
Код:
{$CLEO .cs}

0000: NOP
Thread "FakeArrest"

while not SAMP.Available()
wait 300
end

0B34: samp register_client_command "farrest" to_label @cmd

while true
wait 0
end

:cmd
wait 0
0B35: samp 1@ = get_last_command_params 
0AD4: 2@ = scan_string 1@ format "%s%d" 3@v 4@
if
    2@ > 0
then
    0AF8: samp add_message_to_chat "Âû ïîñàäèëè â òþðüìó %s íà %d" color 0x6BA7FF 3@v 4@
    0B2B: samp 5@ = get_player_id_by_actor_handle $PLAYER_ACTOR
    0B36: samp 6@ = get_player_nickname 5@
    0AF8: samp add_message_to_chat "<< Îôèöåð %s >>" color 0xF65D58 3@v
end
SAMP.CmdRet()
Что неправильно в коде? Перемешиваются при вводе данные.
Нельзя сканировать стринг на наличие стринга. (с)
 

Xample

Новичок
89
1
Можно както реализовать включение скрипта 4х кратным нажатием кнопки?