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

woksonal

Известный
Проверенный
268
154
CLEO:
0BE1: raknet setup_outcoming_rpc_hook @out_rpc
0BDE: pause_thread 0


:out_rpc
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
if
1@ == RPC_GIVETAKEDAMAGE
then     
    3@ = BitStream.Read(0@, BS_TYPE_BOOL)
    if
    3@ == 0 // give damage
    then
        0AAC: 20@ = load_audiostream "cleo\hit.wav"
        0AAD: set_mp3 20@ perform_action 1 // 1 - play
    end
end 
0BE0: raknet hook_ret
Почему колокольчик звенит даже если по мне стреляют, в чем ошибка?
 

hnnssy

Известный
Друг
2,684
2,748
CLEO:
0BE1: raknet setup_outcoming_rpc_hook @out_rpc
0BDE: pause_thread 0


:out_rpc
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
if
1@ == RPC_GIVETAKEDAMAGE
then    
    3@ = BitStream.Read(0@, BS_TYPE_BOOL)
    if
    3@ == 0 // give damage
    then
        0AAC: 20@ = load_audiostream "cleo\hit.wav"
        0AAD: set_mp3 20@ perform_action 1 // 1 - play
    end
end
0BE0: raknet hook_ret
Почему колокольчик звенит даже если по мне стреляют, в чем ошибка?
Отлогируй этот РПЦ. Делал себе по такому же принципу колокол на сервер, котором играю, и там всё ок. И это, загрузку аудио делай 1 раз.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
В звуках игры же есть колокольчик зачем через отдельный файл его грузить?
 
  • Нравится
Реакции: Сэнд

Dark_Knight

Me, me and me.
Друг
4,062
2,077
CLEO:
0BE1: raknet setup_outcoming_rpc_hook @out_rpc
0BDE: pause_thread 0


:out_rpc
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
if
1@ == RPC_GIVETAKEDAMAGE
then    
    3@ = BitStream.Read(0@, BS_TYPE_BOOL)
    if
    3@ == 0 // give damage
    then
        0AAC: 20@ = load_audiostream "cleo\hit.wav"
        0AAD: set_mp3 20@ perform_action 1 // 1 - play
    end
end
0BE0: raknet hook_ret
Почему колокольчик звенит даже если по мне стреляют, в чем ошибка?
Ид пакета читай или игнорируй.
 

Medvedko

Новичок
19
0
Такая тема, что при добавлении else начинает крашить игру. Не подскажите, как исправить?
CLEO:
    if
     31@<>3 // Если 31@ неравно 3, тогда
      then
       0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения."
      else
       0af8:"{ffffff}[CordMaster]:Данные получены."
     end
CLEO:
:coord
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@ // Координаты персонажа
4@=0
5@=0
6@=0
0AB6: store_target_marker_coords_to 4@ 5@ 6@ // Координаты с точки на карте
if and // Проверка на наличие координат
4@==0
5@==0
6@==0
  then
   0B35: samp 30@ = get_last_command_params // Берет параметры с команды т.е. /coord 10 10 10
   0AD4: 31@ = scan_string 30@ format "%f %f %f" 4@ 5@ 6@ // Сканирует и присваивает значения
    if
     31@<>3 // Если 31@ неравно 3, тогда
      then
       0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения."
      else
       0af8:"{ffffff}[CordMaster]:Данные получены."
     end
end
samp.CmdRet()
 

Lightkiller

Известный
Всефорумный модератор
557
397
Такая тема, что при добавлении else начинает крашить игру. Не подскажите, как исправить?
CLEO:
    if
     31@<>3 // Если 31@ неравно 3, тогда
      then
       0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения."
      else
       0af8:"{ffffff}[CordMaster]:Данные получены."
     end
CLEO:
:coord
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@ // Координаты персонажа
4@=0
5@=0
6@=0
0AB6: store_target_marker_coords_to 4@ 5@ 6@ // Координаты с точки на карте
if and // Проверка на наличие координат
4@==0
5@==0
6@==0
  then
   0B35: samp 30@ = get_last_command_params // Берет параметры с команды т.е. /coord 10 10 10
   0AD4: 31@ = scan_string 30@ format "%f %f %f" 4@ 5@ 6@ // Сканирует и присваивает значения
    if
     31@<>3 // Если 31@ неравно 3, тогда
      then
       0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения."
      else
       0af8:"{ffffff}[CordMaster]:Данные получены."
     end
end
samp.CmdRet()
цвет укажи
0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения." -1
else
0af8:"{ffffff}[CordMaster]:Данные получены." -1
 

Medvedko

Новичок
19
0
цвет укажи
0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения." -1
else
0af8:"{ffffff}[CordMaster]:Данные получены." -1
Спасибо конечно, крашить действительно перестало, но я вернулся с того, с чего начал. А именно не выводится else. Т.е., даже если координаты считываются, в чат не прописывается об этом.
 

hnnssy

Известный
Друг
2,684
2,748
Спасибо конечно, крашить действительно перестало, но я вернулся с того, с чего начал. А именно не выводится else. Т.е., даже если координаты считываются, в чат не прописывается об этом.
Ты уверен что в 31@ у тебя может записаться что-то помимо 3?
 

hnnssy

Известный
Друг
2,684
2,748
Если я правильно понял вопрос, то мне это и не нужно. Надо, что бы после скана, в случае, если 31@ = 3 выдавало else, а этого к сожалению не происходит.
Ошибся немного.
Сделай вывод в чат значения 31@ и проверь.
Делай
msg "%d" -1 31@
if not 31@ == 3
then
0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения."
else
0af8:"{ffffff}[CordMaster]:Данные получены."
end
 

Medvedko

Новичок
19
0
CLEO:
    0AD1: show_formatted_text_highpriority "%d" time 5000 0x0AD1 31@
    if
     31@<>3 // Если 31@ неравно 3, тогда
      then
       0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения." color -1
      else
       0af8:"{ffffff}[CoordMaster]: Данные получены." color -1
     end

Вывод сделал, в случае если координаты не указаны, выводит лабуду, как и должно. Но, в случае если есть координаты, не выводит ничего, абсолютно.
 

hnnssy

Известный
Друг
2,684
2,748
CLEO:
    0AD1: show_formatted_text_highpriority "%d" time 5000 0x0AD1 31@
    if
     31@<>3 // Если 31@ неравно 3, тогда
      then
       0af8:"{ffffff}[CoordMaster]: Нету данных о пункте назначения." color -1
      else
       0af8:"{ffffff}[CoordMaster]: Данные получены." color -1
     end

Вывод сделал, в случае если координаты не указаны, выводит лабуду, как и должно. Но, в случае если есть координаты, не выводит ничего, абсолютно.
дай весь код