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

astap_

Известный
Всефорумный модератор
626
597
Хоть сквозь текстуры, хоть по полям, хоть по игрокам.
такого опкода нет.
есть функция от неизвестного автора, она не доведена до ума, но вполне работает. переделывать её для тебя у меня нет времени.
пример использования:
CLEO:
call @CoordTP 8 coords 2376.5159 -1436.8727 80.7915 step 1.0 delay 10 level 10.0 mode 1 updown 10.0
если тебе для сингла, закоментируй все строки с упоминанием samp.
как юзать call в клео:
сама функа: https://cleo.fandom.com/ru/wiki/Coordmaster
 
  • Нравится
Реакции: Akakii_Nakamura

hnnssy

Известный
Друг
2,684
2,746
Помогите пожалуйста, по чему это привязка? не могу понять что надо вводить в 0@
Код:
0AA7: call_function {__stdcall::GetVolumeInformation}0x81E532 num_params 8 pop 0 | {nFileSystemNameSize}FALSE {lpFileSystemNameBuffer}FALSE {lpFileSystemFlags}FALSE {lpMaximumComponentLength}FALSE {lpVolumeSerialNumber}0@v {nVolumeNameSize}FALSE {lpVolumeNameBuffer}FALSE {lpRootPathName}FALSE | {_errorCode}1@ |
IF 0039:   0@ == {lpVolumeSerialNumber}122324921
THEN {}
CHATMSG "ЗАЕБИСЬ" -1
ELSE {}
CHATMSG "НЕ ЗАЕБИСЬ" -1
END
0A93:
Точнее не могу понять, серийник чего надо вводить туда
серийный номер харда, не надо ничего вводить туда, функция возвращает значение, которое записывается в переменную 0@.
v убери, это не строка
ох нихуя ты советчик

0@v оставляй, так и должно быть
в сравнение вставляй серийник логического диска
получать его можно каким-нибудь тест-скриптом, который будет выводить его в чат
0AA7: call_function {__stdcall::GetVolumeInformation}0x81E532 num_params 8 pop 0 | {nFileSystemNameSize}FALSE {lpFileSystemNameBuffer}FALSE {lpFileSystemFlags}FALSE {lpMaximumComponentLength}FALSE {lpVolumeSerialNumber}0@v {nVolumeNameSize}FALSE {lpVolumeNameBuffer}FALSE {lpRootPathName}FALSE | {_errorCode}1@ |
CHATMSG "%d" -1 0@
 
  • Нравится
Реакции: MAHEKEH

Andra223.

Известный
18
1
ох нихуя ты советчик

0@v оставляй, так и должно быть
в сравнение вставляй серийник логического диска
получать его можно каким-нибудь тест-скриптом, который будет выводить его в чат
0AA7: call_function {__stdcall::GetVolumeInformation}0x81E532 num_params 8 pop 0 | {nFileSystemNameSize}FALSE {lpFileSystemNameBuffer}FALSE {lpFileSystemFlags}FALSE {lpMaximumComponentLength}FALSE {lpVolumeSerialNumber}0@v {nVolumeNameSize}FALSE {lpVolumeNameBuffer}FALSE {lpRootPathName}FALSE | {_errorCode}1@ |
CHATMSG "%d" -1 0@
Огромное спасибо, щас всё сделаю! 🙂
ох нихуя ты советчик

0@v оставляй, так и должно быть
в сравнение вставляй серийник логического диска
получать его можно каким-нибудь тест-скриптом, который будет выводить его в чат
0AA7: call_function {__stdcall::GetVolumeInformation}0x81E532 num_params 8 pop 0 | {nFileSystemNameSize}FALSE {lpFileSystemNameBuffer}FALSE {lpFileSystemFlags}FALSE {lpMaximumComponentLength}FALSE {lpVolumeSerialNumber}0@v {nVolumeNameSize}FALSE {lpVolumeNameBuffer}FALSE {lpRootPathName}FALSE | {_errorCode}1@ |
CHATMSG "%d" -1 0@
выводит просто D в чат
вот
 
Последнее редактирование:

astap_

Известный
Всефорумный модератор
626
597
Огромное спасибо, щас всё сделаю! 🙂

выводит просто D в чат
вот
F10 -> Форматирование -> Регистр букв - "Как есть"

про строковую переменную я ошибся, давно не кодил на этом говне и позабыл, что тут для вызова виндовской функции нужно так извращаться
 
  • Нравится
Реакции: Andra223.
D

deleted-user-399997

Гость
not SAMP.IsDialogActive(-1)
not SAMP.ChatInputOpened()

что это за "обкоды"?
Где можно посмотреть все SAMP. ...
Объясните что каждый из них делает
 

D3.Pheonix

🎹
Модератор
2,814
1,597
что это за "обкоды"?
Опкоды - Операционные коды
not SAMP.IsDialogActive(-1)
not SAMP.ChatInputOpened()
Это
0B4C:
0B21:
Первый проверяет активность диалога
Второй проверяет, открыт ли чат
Где можно посмотреть все SAMP. ...
 
D

deleted-user-399997

Гость
Опкоды - Операционные коды

Это
0B4C:
0B21:
Первый проверяет активность диалога
Второй проверяет, открыт ли чат

что значит "Первый проверяет активность диалога" ? какого диалога?
 

D3.Pheonix

🎹
Модератор
2,814
1,597
что значит "Первый проверяет активность диалога" ? какого диалога?
В параметре указано "-1", в общем любого. То есть проверяется, открыт ли вообще какой нибудь диалог.

Ах да, в твоём случае и чат и диалог проверяются на то, что они закрыты/неактивны .(Приставка "not")
 
D

deleted-user-399997

Гость
В параметре указано "-1", в общем любого. То есть проверяется, открыт ли вообще какой нибудь диалог.

Ах да, в твоём случае и чат и диалог проверяются на то, что они закрыты. (Приставка "not")
Понял, спасибо
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,765
11,213
Каким опкодом можно сделать так, что бы нажатые игроком клавиши не передавались серверу? Наример: на аризоне открытие инвентаря на Y, а мне надо, что бы при нажатии Y инвентарь не открывался (поменять клавишу в настройках жта не предлогать).
 

hnnssy

Известный
Друг
2,684
2,746
Каким опкодом можно сделать так, что бы нажатые игроком клавиши не передавались серверу? Наример: на аризоне открытие инвентаря на Y, а мне надо, что бы при нажатии Y инвентарь не открывался (поменять клавишу в настройках жта не предлогать).
поставить хук на исходящую онфут, при нажатии Y к weapon прибавляется 64, вот нужно исправить это
 

Sedoj

Участник
56
1
Народ, а че только 15 символов в чат выводится, как больше сделать?


CLEO:
{$CLEO .cs}
0000:

 
while not SAMP.Available
wait 10
end
const
STATE           = 8@
end
STATE = 0
if 8AAB: "CLEO\Cosuha.ini"
then
    0AF5: write_string "Cosuha" to_ini_file "cleo\Cosuha.ini" section "Info" key "Info"
end

:jopa
wait 0
if and
not samp.IsCursorActive(-1)
0AB0:   key_pressed 35
jf @jopa
0AF4: 0@v = read_string_from_ini_file "CLEO\Cosuha.ini" section "Info" key "Info"
wait 200
say "/do %s" 0@v
wait 2500
jump @jopa



0B43: samp cmd_ret

samp.CmdRet()
 

D3.Pheonix

🎹
Модератор
2,814
1,597
Народ, а че только 15 символов в чат выводится, как больше сделать?


CLEO:
{$CLEO .cs}
0000:


while not SAMP.Available
wait 10
end
const
STATE           = 8@
end
STATE = 0
if 8AAB: "CLEO\Cosuha.ini"
then
    0AF5: write_string "Cosuha" to_ini_file "cleo\Cosuha.ini" section "Info" key "Info"
end

:jopa
wait 0
if and
not samp.IsCursorActive(-1)
0AB0:   key_pressed 35
jf @jopa
0AF4: 0@v = read_string_from_ini_file "CLEO\Cosuha.ini" section "Info" key "Info"
wait 200
say "/do %s" 0@v
wait 2500
jump @jopa



0B43: samp cmd_ret

samp.CmdRet()
Вместо строковой переменной (@v) выделите память под обычную переменную