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

Vovich

HOT
Проверенный
717
197
Вообщем как сравнить 2 переменных знаю, но возникла проблема...
В обоих переменных хранится текст, если текст совпадает я завершаю работу скрипта, а если нет, то мне нужно вывести данные которых не было в 1-й переменной, но появились во второй.
Как это сделать?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Вообщем как сравнить 2 переменных знаю, но возникла проблема...
В обоих переменных хранится текст, если текст совпадает я завершаю работу скрипта, а если нет, то мне нужно вывести данные которых не было в 1-й переменной, но появились во второй.
Как это сделать?
Более странных вопросов я и не слышал.
А Вы в школу ходили, мсье? Вы умеете разделять предложения запятыми, к примеру? Это не замечание к грамматике.
 
  • Нравится
Реакции: DarkP1xel

zhekazh

Новичок
12
0
Как эмулировать нажатие клавиши ? Чтобы после того как я нажму 1 клавишу оно сразу нажимало другую ?
 

Vovich

HOT
Проверенный
717
197
Более странных вопросов я и не слышал.
А Вы в школу ходили, мсье? Вы умеете разделять предложения запятыми, к примеру? Это не замечание к грамматике.
Я не особо смотрю где я ставлю запятые, так как в русском правила правописания я не читал.
Вообщем не суть, я за другое.
Как мне получить данные которых не было в переменной 15@ но появились в переменной 14@?
По примеру: как получить текст "и 1" и записать его в переменную отдельную?
Код:
0B3B: samp show_dialog id 1132 caption "кек" text "Нажмите 1:" button_1 "кнопка1" button_2 "кнопка2" style 0
0BD7: samp get_dialog_text 15@

0B3B: samp show_dialog id 1133 caption "кек" text "Нажмите 2 и 1:" button_1 "кнопка1" button_2 "кнопка2" style 0
0BD7: samp get_dialog_text 14@
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Понимаешь в чём суть. Текст нужно разделять по каким-то принципам. В твоем случае, ты можешь просто определить, какая строка длиннее и вырезать из неё ту часть, которая необходима. Ты так и не объяснил, как и что разделяется, поэтому я и задал вопрос по грамматике. Есть правила по которым разделяют текст: пробел, запятые, двоеточия, восклицательные знаки, различные символы. То, что ты хочешь - объяснить не можешь.
Если ты хочешь сделать так, чтобы он читал посимвольно с одной строки и проверял с другой, то так и сделай. Не пудри мозги. В этом нет ничего сложного, обычный курс со строками(прочитай на досуге какую-нибудь статью со строками и как они записаны в памяти).
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Как эмулировать нажатие клавиши ? Чтобы после того как я нажму 1 клавишу оно сразу нажимало другую ?
Проверяешь, если нажата клавиша 1, то нажимаешь клавишу 2.
0B56: set_game_key 1@ state 2@ - игровая клавиша
0C72: set_virtual_key 0@ down true - клавиша клавиатуры
P.S. Нужен SF.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,637
5,027
Может я нубло, но все таки, по идее он должен добавлять 10 к переменной 0@, но этого не делает, то есть тупо тп на свои же координаты, как мне сделать чтобы он тпшался на 10 метров вперед от своих координат?
Координаты во float.
 
  • Нравится
Реакции: _Viktor_

Xample

Новичок
89
1
можно ли заморозить персонажа на анимации танца? чтобы он застыл в позе
Player.CanMove($PLAYER_CHAR) = False
Actor.LockInCurrentPosition($PLAYER_ACTOR) = True
это не помогло
 

DarkP1xel

Сила воли наше всё.
BH Team
3,637
5,027
можно ли заморозить персонажа на анимации танца? чтобы он застыл в позе
В опкоде с анимацией поиграйся с "time".

Ещё это попробуй.
P.S. Никогда не использовал.
PHP:
0613: 26@ = actor 2@ animation "LRGIRL_IDLE_TO_L0" time
0614: set_actor 215@ animation "POOL_SHORT_SHOT" progress_to 247@
0612: set_actor 66@ animation "SHP_HANDSUP_SCR" paused 0
 

zhekazh

Новичок
12
0
Проверяешь, если нажата клавиша 1, то нажимаешь клавишу 2.
0B56: set_game_key 1@ state 2@ - игровая клавиша
0C72: set_virtual_key 0@ down true - клавиша клавиатуры
P.S. Нужен SF.
Ну смотри,вот код
{$CLEO.CS }
wait 0
0000:
repeat
wait 0
until Samp.Available ()

:sbiv1

repeat
wait 0
if
0B21: samp is_chat_opened
then
wait 0
jf @sbiv1
if and
0AB0: key_pressed 16
0AB0: key_ptessed 69
jf @sbiv1

0af9: "/anim 63"
wait 100
0af9: "/healme"
wait 100
0af9: "/w Biiiiiirds"
wait 100
0af9: "/anim 63"
wait 100
//тут нужно чтобы нажалась клавиша shift (16). Как так сделать,я просто особо не понимаю)
 

Vovich

HOT
Проверенный
717
197
Понимаешь в чём суть. Текст нужно разделять по каким-то принципам. В твоем случае, ты можешь просто определить, какая строка длиннее и вырезать из неё ту часть, которая необходима. Ты так и не объяснил, как и что разделяется, поэтому я и задал вопрос по грамматике. Есть правила по которым разделяют текст: пробел, запятые, двоеточия, восклицательные знаки, различные символы. То, что ты хочешь - объяснить не можешь.
Если ты хочешь сделать так, чтобы он читал посимвольно с одной строки и проверял с другой, то так и сделай. Не пудри мозги. В этом нет ничего сложного, обычный курс со строками(прочитай на досуге какую-нибудь статью со строками и как они записаны в памяти).
Допустим объясню на примере.
Есть диалог, вызванный командой /gps, там следующее содержание:
Код:
1. Общественные места
2. Банды
3. Мафии
Мне нужно каким то образом вытащить из этих строк только цифры (1,2,3), как - я не знаю.
(получить текст из диалога, а дальше то как?)
После чего опять же диалог открываем в /gps, выбираем "1. Общественные места" и видим:
Код:
1. Мэрия
2. Автошкола
3. Ферма 1
4. Ферма 2
5. Ферма 3
6. Ферма 0
Нужно опять же получить цифры, далее сравнить их с предыдущими данными, и если они не совпадают то вывести данные которые появились (а именно цифры: 4, 5, 6)
Можно ли где то подробно узнать, как это сделать?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
0B5B: samp get_listbox_item 1@ text_to 2@
1@ - пункт(нумерация с 0)
2@ - текст(нужно выделить память)

1. Общественные места - 0B5B: samp get_listbox_item 0 text_to 2@
2. Банды - 0B5B: samp get_listbox_item 1 text_to 2@
3. Мафии - 0B5B: samp get_listbox_item 2 text_to 2@

Далее не составит труда определить цифру.
 

zhekazh

Новичок
12
0
{$VERSION 3.1.0027}
{$CLEO .cs}
0000:
repeat
wait 400
until Samp.Available

repeat
:sbiv1
wait 0
if
0B21: samp is_chat_opened
then
wait 0
jf @sbiv1
if and
0AB0: key_pressed 16
0AB0: key_ptessed 69
jf @sbiv1
wait 100
0af9: "/anim 63"
wait 100
0af9: "/healme"
wait 100
0af9: "/w Biiiiiirds"
wait 100
0af9: "/anim 63"
wait 100
0B56: set_game_key 16 state 255
wait 0
jump @sbiv1
end

Почему крашит ?