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

Грен

Новичок
6
1

Ид в диалогах нужен только для отправки их обратно на сервер, ну и для еще чего-то, но никак нельзя открыть диалог принудительно, если только не заставить сервер его прислать. Один и тот же ид может иметь разные диалоги. Как ты тогда откроешь его по ид? Да и диалоги не сохраняются локально, иначе было бы переполнение памяти. Если не ошибаюсь, только последний открытый диалог сохраняется, пока его не заменит другой.
 

Вложения

  • разрушителинадежд.png
    разрушителинадежд.png
    30.1 KB · Просмотры: 238

yxTbl

Фуфел
339
249
Не знал куда обратиться. Ребят, залейте CLEO который показывает ping игроков в радиусе прорисовки. Для CLEO 4.1 и рисовка ХП и Броника.
Заранее спасибо ))
 

Lightkiller

Известный
Всефорумный модератор
557
397

Вложения

  • getinfo.cs
    17.9 KB · Просмотры: 17
  • Нравится
Реакции: SPARTA

Lightkiller

Известный
Всефорумный модератор
557
397
Как узнать кол-во патронов в магазине и обойме? Оружие в руках.


Код:
by hnnssy
Описание: Получает кол-во пт в обойме.
Использование: 0AB1: call @get_AmmoInClip 0 return: 0@
 
:getAmmoInClip
0A96: 0@ = actor $PLAYER_ACTOR struct
0A8E: 1@ = 0@ + 0x0718
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
1@ *= 0x1C
0A8E: 2@ = 0@ + 0x5A0
005a: 2@ += 1@
2@ += 0x8
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
ret 1 2
////////////////////////
 
0470: 1@ = actor $PLAYER_ACTOR current_weapon
041A: 2@ = actor $PLAYER_ACTOR weapon 1@ ammo
 
  • Нравится
Реакции: SPARTA

Dark_Knight

Me, me and me.
Друг
4,064
2,078
Иды костей не помню, но вот функа.
Код:
:get_position_actor_with_offset_to_bone
{
Example:
call @get_position_actor_with_offset_to_bone 2 {handle actor}$player_actor {bone id} 5{id head} to 0@ 1@ 2@
} 
0085: 11@ = 1@
0A96: 10@ = actor 0@ struct
0A8E: 1@ = 10@ + 0x18
0A8D: 1@ = read_memory {CPed > rwObject} 1@ size 4 virtual_protect 0
0AA7: call_function {GetAnimHierarchyFromSkinClump} 0x734A40 num_params 1 pop 1 _clump 1@ _result 1@
    if
    1@ <> 0 
    then
    0AA7: call_function {RpHAnimIDGetIndex} 0x7C51A0 num_params 2 pop 2 _boneId 11@ _hierarchy 1@ _result 2@
    1@ += 8
    0A8D: 1@ = read_memory {RpHAnimHierarchy > pMatrixArray} 1@ size 4 virtual_protect 0
    2@ *= 0x40
    005A: 1@ += 2@
    5@ = 0.0
    6@ = 0.0
    7@ = 0.0
    0AA5: call {RwV3dTransformPoint} 0x7EDD60 num_params 3 pop 3 _transformMatrix 1@ _pointIn 5@v _pointOut 2@v
    else
    04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
    end
ret 3 2@ 3@ 4@
 
  • Нравится
Реакции: SPARTA

SPARTA

Новичок
53
2
Иды костей не помню, но вот функа.
Код:
:get_position_actor_with_offset_to_bone
{
Example:
call @get_position_actor_with_offset_to_bone 2 {handle actor}$player_actor {bone id} 5{id head} to 0@ 1@ 2@
}
0085: 11@ = 1@
0A96: 10@ = actor 0@ struct
0A8E: 1@ = 10@ + 0x18
0A8D: 1@ = read_memory {CPed > rwObject} 1@ size 4 virtual_protect 0
0AA7: call_function {GetAnimHierarchyFromSkinClump} 0x734A40 num_params 1 pop 1 _clump 1@ _result 1@
    if
    1@ <> 0
    then
    0AA7: call_function {RpHAnimIDGetIndex} 0x7C51A0 num_params 2 pop 2 _boneId 11@ _hierarchy 1@ _result 2@
    1@ += 8
    0A8D: 1@ = read_memory {RpHAnimHierarchy > pMatrixArray} 1@ size 4 virtual_protect 0
    2@ *= 0x40
    005A: 1@ += 2@
    5@ = 0.0
    6@ = 0.0
    7@ = 0.0
    0AA5: call {RwV3dTransformPoint} 0x7EDD60 num_params 3 pop 3 _transformMatrix 1@ _pointIn 5@v _pointOut 2@v
    else
    04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
    end
ret 3 2@ 3@ 4@

Может кому-то пригодится, но мне там не так уж и надо коорды костей, через условие сделал, если актер сел.
 

Dark_Knight

Me, me and me.
Друг
4,064
2,078
Получаешь позиции игрока, получаешь позиции игрока с оффсетами на кости, делаешь расчет и получаешь значение которое тебе будет нужно.
 

Dark_Knight

Me, me and me.
Друг
4,064
2,078
cleo id в чат Ник[ид] у могайки такой был на .cleo

Можно попробовать сделать через хук входящего RPC AddMessage, получить с него ник отправителя, в цикле искать ид по нику, разделить строку на строки до никак и после. Потом как нашли ид склеить это все в одно сообщение и правильно перезаписать все. Минус этого всего, что для каждого типа сообщений в которых ты хочешь видеть ид придется писать условия.