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

zwhoz

Известный
106
11
Почему не закрывается второе окно диалога, на кнопку "Выход"?
CLEO:
{$CLEO .cs}

0000:

:1
wait 0
   SAMP.Available
else_jump @1
Dialog.Create(0@, "MENU")
Dialog.SetVisible(0@, 0)
Dialog.SetRECT(0@, 500, 500, 100, 100)
Dialog.AddButton(0@, 1, "BAN", 0, 0, 100, 30)

:2
wait 0
0AB0:   key_pressed 113
else_jump @2
Dialog.SetVisible(0@, 1)
SAMP.SetCursorMode(2)

:3
wait 0
   Dialog.PopEvent(0@, 1@, 2@)
  2@ == 1
else_jump  @4
Dialog.Create(3@, "BAN")
Dialog.SetRECT(3@, 720, 450, 100, 100)
0B84: dialog 3@ set_pos_XY 500 300 size 100 100
Dialog.AddButton(3@, 3, "Выход", 720, 450, 100, 30)

:4
2@ == 3
else_jump  @5
Dialog.SetVisible(3@, 0)

:5
0AB0:   key_pressed 114
else_jump @3
Dialog.SetVisible(0@, 0)
SAMP.SetCursorMode(0)
jump @2
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
Потому что ты обрабатываешь события только для первого.
 

Forus

Известный
54
12
Здравствуйте. Столкнулся с проблемой активации/деактивации скрипта . В других скриптах с этим проблем не возникало ..Вообщем :
Захожу в игру,и скрипт начинает сразу же работать,хотя должен запуститься только по команде.
Код:
{$CLEO}
0000: NOP

repeat
wait 0
until SAMP.Available()
wait 0

chatmsg "{DCDCDC}Áîò ïîâàðà by {FFA500}Pers[IK]. {DCDCDC}USE: "
0B34: samp register_client_command "cooker" to_label @ON_OFF

:Cooker1
wait 0
if not 1@ == 1
then
Actor.PutAt($PLAYER_ACTOR, 376.1901,-68.7941,1001.5078) // Òï íà ìàðêåð
wait 500
Actor.PutAt($PLAYER_ACTOR, 376.3629,-61.1257,1001.5078) // Òï íà ìåñòî ãîòîâêè
1@ = 1
jump @Cooker2
end

repeat
wait 0

 if
 0@ = true
  then
 wait 0
jump @Cooker1
:Cooker2
wait 300
0C72: set_virtual_key 87 down true
wait 50
0C72: set_virtual_key 87 down false // Æì¸ì W
wait 300
0C72: set_virtual_key 32 down true
wait 100
0C72: set_virtual_key 32 down false // Æì¸ì Ïðîáåë
wait 500
0B79: samp set_chat_input_enabled true // Îòêðûâàåì ÷àò
wait 100
0B76: samp set_chat_input_text "/cook Hamburger" // Ïèøåì â ÷àò /cook Hamburger
wait 300
0C72: set_virtual_key 13 down true // Íàæèìàåì enter
wait 50
0C72: set_virtual_key 13 down false // Îòæèìàåì enter
call @heal
:isfalse
0B79: samp set_chat_input_enabled true // Îòêðûâàåì ÷àò
wait 100
0B76: samp set_chat_input_text "/cook eat" // Ïèøåì â ÷àò /cook eat
wait 300
0C72: set_virtual_key 13 down true // Íàæèìàåì enter
wait 50
0C72: set_virtual_key 13 down false // Îòæèìàåì enter
end
until false

 :ON_OFF
 if 
 0@ == false
 jf @Noname_318
 0@ = true
 chatmsg "{DCDCDC}Áîò ïîâàðà {228B22}çàïóùåí"
 jump @Cmdret


:Noname_318
0@ = false
chatmsg "{DCDCDC}Áîò ïîâàðà {B22222}âûêëþ÷åí" 

:Cmdret
SAMP.CmdRet() 

:heal
wait 0
0226: 1@ = actor $PLAYER_ACTOR health 
00D6: if 
1@ > 40 
004D: jump_if_false @isfalse 
0223: set_actor $PLAYER_ACTOR health_to 39
 

Vadim.dll

Известный
168
80
Здравствуйте. Столкнулся с проблемой активации/деактивации скрипта . В других скриптах с этим проблем не возникало ..Вообщем :
Захожу в игру,и скрипт начинает сразу же работать,хотя должен запуститься только по команде.
Код:
{$CLEO}
0000: NOP

repeat
wait 0
until SAMP.Available()
wait 0

chatmsg "{DCDCDC}Áîò ïîâàðà by {FFA500}Pers[IK]. {DCDCDC}USE: "
0B34: samp register_client_command "cooker" to_label @ON_OFF

:Cooker1
wait 0
if not 1@ == 1
then
Actor.PutAt($PLAYER_ACTOR, 376.1901,-68.7941,1001.5078) // Òï íà ìàðêåð
wait 500
Actor.PutAt($PLAYER_ACTOR, 376.3629,-61.1257,1001.5078) // Òï íà ìåñòî ãîòîâêè
1@ = 1
jump @Cooker2
end

repeat
wait 0

if
0@ = true
  then
wait 0
jump @Cooker1
:Cooker2
wait 300
0C72: set_virtual_key 87 down true
wait 50
0C72: set_virtual_key 87 down false // Æì¸ì W
wait 300
0C72: set_virtual_key 32 down true
wait 100
0C72: set_virtual_key 32 down false // Æì¸ì Ïðîáåë
wait 500
0B79: samp set_chat_input_enabled true // Îòêðûâàåì ÷àò
wait 100
0B76: samp set_chat_input_text "/cook Hamburger" // Ïèøåì â ÷àò /cook Hamburger
wait 300
0C72: set_virtual_key 13 down true // Íàæèìàåì enter
wait 50
0C72: set_virtual_key 13 down false // Îòæèìàåì enter
call @heal
:isfalse
0B79: samp set_chat_input_enabled true // Îòêðûâàåì ÷àò
wait 100
0B76: samp set_chat_input_text "/cook eat" // Ïèøåì â ÷àò /cook eat
wait 300
0C72: set_virtual_key 13 down true // Íàæèìàåì enter
wait 50
0C72: set_virtual_key 13 down false // Îòæèìàåì enter
end
until false

:ON_OFF
if
0@ == false
jf @Noname_318
0@ = true
chatmsg "{DCDCDC}Áîò ïîâàðà {228B22}çàïóùåí"
jump @Cmdret


:Noname_318
0@ = false
chatmsg "{DCDCDC}Áîò ïîâàðà {B22222}âûêëþ÷åí"

:Cmdret
SAMP.CmdRet()

:heal
wait 0
0226: 1@ = actor $PLAYER_ACTOR health
00D6: if
1@ > 40
004D: jump_if_false @isfalse
0223: set_actor $PLAYER_ACTOR health_to 39

Такую штуку поставь
Код:
:ON_OFF
0@ += 1
if 0@ == 1
jf @Off
chatmsg "Скрипт включен"
cmdret

:off
0@ = 0
chatmsg "Скрипт выключен"
cmdret
 
  • Нравится
Реакции: Forus

Forus

Известный
54
12
Такую штуку поставь
Код:
:ON_OFF
0@ += 1
if 0@ == 1
jf @Off
chatmsg "Скрипт включен"
cmdret

:off
0@ = 0
chatmsg "Скрипт выключен"
cmdret
Не помогло.Всё так же при входе скрипт начинает работать сразу.
Код:
{$CLEO}
0000: NOP

repeat
wait 0
until SAMP.Available()
wait 0

chatmsg "{DCDCDC}Áîò ïîâàðà by {FFA500}Pers[IK]. {DCDCDC}USE: /cooker "
0B34: samp register_client_command "cooker" to_label @ON_OFF

:Cooker1
wait 0
if not 1@ == 1
then
Actor.PutAt($PLAYER_ACTOR, 376.1901,-68.7941,1001.5078) // Òï íà ìàðêåð
wait 500
Actor.PutAt($PLAYER_ACTOR, 376.3629,-61.1257,1001.5078) // Òï íà ìåñòî ãîòîâêè
1@ = 1
jump @Cooker2
end

repeat
wait 0

 if
 0@ == 1
  then
 wait 0
jump @Cooker1
:Cooker2
wait 300
0C72: set_virtual_key 87 down true
wait 50
0C72: set_virtual_key 87 down false // Æì¸ì W
wait 300
0C72: set_virtual_key 32 down true
wait 100
0C72: set_virtual_key 32 down false // Æì¸ì Ïðîáåë
wait 500
0B79: samp set_chat_input_enabled true // Îòêðûâàåì ÷àò
wait 100
0B76: samp set_chat_input_text "/cook Hamburger" // Ïèøåì â ÷àò /cook Hamburger
wait 300
0C72: set_virtual_key 13 down true // Íàæèìàåì enter
wait 50
0C72: set_virtual_key 13 down false // Îòæèìàåì enter
call @heal
:isfalse
0B79: samp set_chat_input_enabled true // Îòêðûâàåì ÷àò
wait 100
0B76: samp set_chat_input_text "/cook eat" // Ïèøåì â ÷àò /cook eat
wait 300
0C72: set_virtual_key 13 down true // Íàæèìàåì enter
wait 50
0C72: set_virtual_key 13 down false // Îòæèìàåì enter
end
until false

:ON_OFF
0@ += 1
if 0@ == 1
jf @Off
chatmsg "Ñêðèïò âêëþ÷åí"
cmdret

:off
0@ = 0
chatmsg "Ñêðèïò âûêëþ÷åí"

SAMP.CmdRet()

:heal
wait 0
0226: 2@ = actor $PLAYER_ACTOR health 
00D6: if 
2@ > 40 
004D: jump_if_false @isfalse 
0223: set_actor $PLAYER_ACTOR health_to 39
 

Mustang228

Известный
62
15
Установил SB, сделал чтобы клео скрипты открывались с помощью сб всегда, скрипты стали формата *txt
 

0pc0d3R

Потрачен
550
269
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не помогло.Всё так же при входе скрипт начинает работать сразу.
Код:
{$CLEO}
0000: NOP

repeat
wait 0
until SAMP.Available()
chatmsg "{DCDCDC}Aio iiaa?a by {FFA500}Pers[IK]. {DCDCDC}USE: /cooker "
0B34: samp register_client_command "cooker" to_label @ON_OFF
while true
wait 0
end

:Cooker1
wait 0
if not 1@ == 1
then
Actor.PutAt($PLAYER_ACTOR, 376.1901,-68.7941,1001.5078) // Oi ia ia?ea?
wait 500
Actor.PutAt($PLAYER_ACTOR, 376.3629,-61.1257,1001.5078) // Oi ia ianoi aioiaee
1@ = 1
jump @Cooker2
end

 if
 0@ == 1
  then
 wait 0
jump @Cooker1
:Cooker2
wait 300
0C72: set_virtual_key 87 down true
wait 50
0C72: set_virtual_key 87 down false // ?i?i W
wait 300
0C72: set_virtual_key 32 down true
wait 100
0C72: set_virtual_key 32 down false // ?i?i I?iaae
wait 500
0B79: samp set_chat_input_enabled true // Ioe?uaaai ?ao
wait 100
0B76: samp set_chat_input_text "/cook Hamburger" // Ieoai a ?ao /cook Hamburger
wait 300
0C72: set_virtual_key 13 down true // Ia?eiaai enter
wait 50
0C72: set_virtual_key 13 down false // Io?eiaai enter
call @heal

:isfalse
0B79: samp set_chat_input_enabled true // Ioe?uaaai ?ao
wait 100
0B76: samp set_chat_input_text "/cook eat" // Ieoai a ?ao /cook eat
wait 300
0C72: set_virtual_key 13 down true // Ia?eiaai enter
wait 50
0C72: set_virtual_key 13 down false // Io?eiaai enter
end

:ON_OFF
0@ += 1
if 0@ == 1
jf @Off
chatmsg "Ne?eio aee??ai"
cmdret

:off
0@ = 0
chatmsg "Ne?eio auee??ai"

SAMP.CmdRet()

:heal
wait 0
0226: 2@ = actor $PLAYER_ACTOR health
00D6: if
2@ > 40
004D: jump_if_false @isfalse
0223: set_actor $PLAYER_ACTOR health_to 39
 
  • Нравится
Реакции: Forus

Mustang228

Известный
62
15
Это сурс.. Когда скрипт компелишь появляются 2 файла .cs и .txt
да какой сурс, я хочу чтоб *cs формата скрипты открывались всегда с помощью сб, ну сделал так , но вместо значка сб на *cs скриптах у меня значок тхт файла и при нажатии на него двойным кликом открывается пустой сб.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
да какой сурс, я хочу чтоб *cs формата скрипты открывались всегда с помощью сб, ну сделал так , но вместо значка сб на *cs скриптах у меня значок тхт файла и при нажатии на него двойным кликом открывается пустой сб.
Скрипт скорее всего криптован криптером.. А .txt это уже винда выёбывается
 

Forus

Известный
54
12
Opc0d3R,Ну проблема конечно исправилась,но глобально.
Теперь при активации скрипт выдаёт оповещение " Скрипт включён " и всё )
 
Последнее редактирование:

Trofim

Известный
84
17
да какой сурс, я хочу чтоб *cs формата скрипты открывались всегда с помощью сб, ну сделал так , но вместо значка сб на *cs скриптах у меня значок тхт файла и при нажатии на него двойным кликом открывается пустой сб.
Открываешь ветку реестра HKEY_CLASSES_ROOT находишь в ней .cs и ассоциируешь с санькой или можешь удалить этот параметр он автоматически создастся с параметром cs_auto_file после того как ты укажешь путь своего txt файла до санни билдера
 
Последнее редактирование:
  • Нравится
Реакции: Mustang228

next23012

Новичок
59
6
Можно ли как-то найти игрока на карте, если он вне стрима? Ну там обозначение чекпоинтом, чтоли
 

01EG

Известный
Проверенный
631
345
Можно ли как-то найти игрока на карте, если он вне стрима? Ну там обозначение чекпоинтом, чтоли
Если на сервере не будет защиты от телепорта на большое расстояния. На крупных проектах - нет. В теории, можно протпшатсья по всей карте в расстоянии на 150 кв.метров(примерная видимость стрима) и потом через функу в клео отыскать игрока по полученной информации на карте.
 

:notCoder:

Новичок
19
0
CLEO:
{$CLEO}
0000:
0B34: samp register_client_command "cmd" to_label @cmd_2

while true
wait 0
if 22@ == 1
then
0AF8: samp add_message_to_chat "text" 0xFF5030
22@ = 0
end
end

:cmd_2
22@ = 1
SAMP.CmdRet ()
Пытаюсь сделать фейк текст в чат, но выходит ошибка: неизвестная команда SAMP.CmdRet()
Опкоды SF ставил, не помогает, в чем проблема?