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

romanblinov2013

RB_PRO
Проверенный
212
196
Пацаны, что не так с кодом? Хотелось сделать так чтобы при вводе /test [id игрока] то игрока дамажило кулаком пока он не здохнит, если игрок умрет то скрипт деактивируется или же если мы сами деактивируем. А получается хрень! Вот нужно чтоб дамажило кулаком до тех пор пока не умрет/деактивируем скрипт.
CLEO:
{$CLEO .cs}
0000: NOP

repeat
    wait 400
until Samp.Available()
0B34: samp register_client_command "test" to_label @test

repeat
wait 0
    if 0@ == 1
        then
        Samp.IsCommandTyped(1@)
        if 0AD4: 1@ = scan_string 1@ format "%d" 1@
        then
        if Samp.IsPlayerConnected(1@)
        then
        2@ = Samp.GetActorHandleByPlayerID(1@)
        3@ = Samp.GetPlayerNickname(1@)
        if 056D:   actor 2@ defined
        then
        for 4@ = 0 to 1
        0BCB: samp send_give_damage playerid 1@ damage 999.0 weapon 0 bodypart 3
        chatmsg "[Test]: Ебашим %s[id %d]" 0xFF0000
        else
        chatmsg "[Test]: Игрок не найден" 0xFF0000
        end
        else
        chatmsg "[Test]: Введите: /test [id игрока]" 0xFF0000
        end
        else
        chatmsg "[Test]: Игрок не в зоне стрима" 0xFF0000
        end
        5@ += 1
        end
    0@ = 1
end
until false

:test
if 0@ == 1
then
0@ = 0
chatmsg "[Test]: Деактивирован" 0xFF0000
else
0@ = 1
chatmsg "[Test]: Активирован" 0xFF0000
end
Samp.CmdRet()

Через синхру...

foto_111650.jpg
 

sxpurp

Известный
110
36
Крашит игру

CLEO:
0000: NOP
thread "MADE BY XYNHA"
wait 2000

:MADE_BY_XYNHA_24
wait 0
if and
   SAMP.Available
   SAMP.IsDialogActive(2)
else_jump @MADE_BY_XYNHA_24
alloc 0@ 130
format 0@ "{ffffff}Добро пожаловать на {EBA225}Arizona Role Play%c%c{ffffff}Введите свой пароль%cПопыток для ввода пароля: {28910B}3" 10 10
SAMP.ShowDialog(48, "{BFBBBA}Авторизация", 0@, "Принять", "", DIALOG_STYLE_PASSWORD)
free 0@
alloc 2@ 64

:MADE_BY_XYNHA_239
wait 0
if
   SAMP.DialogRespond(48, 1, 0, 0)
else_jump @MADE_BY_XYNHA_239
free 2@
alloc 0@ 160
format 0@ "{ffffff}Добро пожаловать на {EBA225}Arizona Role Play%c%c{ff0000}Не верный пароль!%с{ffffff}Попыток для ввода пароля: {28910B}2" 10 10
SAMP.ShowDialog(48, "{BFBBBA}Авторизация", 0@, "Принять", "", DIALOG_STYLE_PASSWORD)
free 0@
alloc 2@ 64

:MADE_BY_XYNHA_469
wait 0
if
   SAMP.DialogRespond(48, 1, 0, 0)
else_jump @MADE_BY_XYNHA_469
free 2@
alloc 0@ 160
format 0@ "{ffffff}Добро пожаловать на {EBA225}Arizona Role Play%c%c{ff0000}Не верный пароль!%с{ffffff}Попыток для ввода пароля: {28910B}1" 10 10
SAMP.ShowDialog(48, "{BFBBBA}Авторизация", 0@, "Принять", "", DIALOG_STYLE_PASSWORD)
free 0@
alloc 2@ 64

:MADE_BY_XYNHA_699
wait 0
if
   SAMP.DialogRespond(48, 1, 0, 0)
else_jump @MADE_BY_XYNHA_699
free 2@
jump @MADE_BY_XYNHA_24
 
Последнее редактирование модератором:

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Лучше хукай закрытие диалога и меняй содержимое инпутбокса на какую нибудь хуйню левую
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
лол, я думал это обычная переменная, как все
а чем ещё их различия?
32 и 33 это таймеры
вроде каждую секунду изменяют свое значение, а вроде при каждом обращении к ним хз не использовал их никогда
 
  • Нравится
Реакции: Lord

mkrn

Известный
67
61
Возможно там имелось ввиду, что именно обновляет значение каждый кадр - тогда произошло недопонимание, значение внутри там и правда обновляется каждый кадр. Но это работает не так, шо к переменной плюсуется 1 каждый кадр, мне казалось выше именно про это шла речь. Прост про 32 и 33 переменные часто говорят типа там каждый кадр добавляется 1 значение, возможно поэтому весь спор и произошел. Сори если я не прав был
 
Последнее редактирование:
  • Нравится
Реакции: samp is meme

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
что не так? вызывается функция при входе в игру и не работает команда (не зажимается игровая клавиша 16 )
CLEO:
{$CLEO}
0000:

repeat
wait 0
until samp.Available()
0B34: samp register_client_command "cmd" to_label @on

while true
wait 0
if
22@ == 1
then                 
            repeat
            wait 0
            0B56: set_game_key 16 state -255
            call @go 2  2542.8042 -1300.0947 |
        until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 2542.8042 -1300.0947 radius 0.5 0.5 on_foot
       
        repeat
        wait 0
            0B56: set_game_key 16 state -255
            call @go 2  2542.2085 -1295.8516 |
        until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 2542.2085 -1295.8516 radius 0.5 0.5 on_foot
       
        repeat
        wait 0
            0B56: set_game_key 16 state -255
            call @go 2  2561.1631 -1296.2268 |
        until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 2561.1631 -1296.2268 radius 0.5 0.5 on_foot
       
        repeat
        wait 0
            0B56: set_game_key 16 state -255
            call @go 2  2564.7871 -1293.0604 |
        until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 2564.7871 -1293.0604 radius 0.5 0.5 on_foot
       
        repeat
        wait 0
            0B56: set_game_key 16 state -255
            call @go 2  2560.6194 -1297.0813 |
        until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 2560.6194 -1297.0813 radius 0.5 0.5 on_foot
       
        repeat
        wait 0
            0B56: set_game_key 16 state -255
            call @go 2  2550.6567 -1296.9064 |
        until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 2550.6567 -1296.9064 radius 0.5 0.5 on_foot
        22@ = 0 
    end
end

:go
00A0: store_actor $PLAYER_ACTOR position_to 2@ 3@ 4@
0063: 0@ -= 2@
0063: 1@ -= 3@
0604: get_Z_angle_for_point 0@ 1@ store_to 5@
0173: set_actor $PLAYER_ACTOR Z_angle_to 5@
02EB: restore_camera_with_jumpcut 
ret 0

:on
wait 0
0B12: 22@ = 22@ XOR 1
samp.CmdRet()
 

GaGAgaRIN

Новичок
7
0
Не подскажете, как можно переделать этот АХК в КЛЕО?
FileCLog:=% A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"
Loop ; TP
{
lastline := GetNewLine(FileCLog)
If lastline contains ТЕКСТ:
{
RegExMatch(lastline, "i).*\[([0-9]*)\]: \{FFCD00\}.*", idPl)
SoundBeep, 2000, 2000
}
}
return
GetNewLine(filename)
{
static old
static new
if !old
{
FileGetSize, old, %filename%
new := old
}
while old = new
{
sleep 1000
FileGetSize, new, %filename%
}
old := new
Loop, read, %filename%
if A_LoopReadLine
{
last := A_LoopReadLine
}
return last
}
Или же просто, как сделать клео, которое будет активироваться по тексту в чате? Именно не командой, а когда в чате будет определенный текст?
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хук на recv смс от сервера ставишь и там обрабатываешь

А тот чел выше у которого эмуляция не работает, обнули перемнную которую под xor пускаешь (в начале скрипта)
 

hnnssy

Известный
Друг
2,684
2,750

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
Хук на recv смс от сервера ставишь и там обрабатываешь

А тот чел выше у которого эмуляция не работает, обнули перемнную которую под xor пускаешь (в начале скрипта)
переебашит на 0@ ?