[lua]Помогите как отправить синхру выстрела

Статус
В этой теме нельзя размещать новые ответы.

suic1de666

Участник
Автор темы
77
26
Здравствуйте, надо когда я выстрелил и попал отправить синхру о том что попал именно в голову а не в другую часть тела, как это можно реализовать на луа?
 

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,323
поставить ракнет хук на булет дату и на givetakedamage, в булет дате проверять тип попадания и ид. если они нормальные, то изменять кость попадания на голову и всо. в гивтэйке так-же
 
  • Нравится
Реакции: suic1de666

suic1de666

Участник
Автор темы
77
26
поставить ракнет хук на булет дату и на givetakedamage, в булет дате проверять тип попадания и ид. если они нормальные, то изменять кость попадания на голову и всо. в гивтэйке так-же
Не особо понял, можешь дать небольшой пример работы с булет датой, на проверку типа попаданий
 

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,323
Не особо понял, можешь дать небольшой пример работы с булет датой, на проверку типа попаданий
C++:
struct BulletSyncData
{
    uint8_t               targetType;
    uint16_t           targetId;
    struct VectorXYZ origin;
    struct VectorXYZ target;
    struct VectorXYZ center;
    uint8_t               weaponId;
} __attribute__ ((packed));
вот структура пакета булет даты. в котором поле targetType возвращает значение от 0 до 3. значение 1 (если я правильно помню) как раз таки и отвечает за попадания по педам
 

Вложения

  • bulletdata logger.lua
    748 байт · Просмотры: 124
  • Нравится
Реакции: suic1de666

suic1de666

Участник
Автор темы
77
26
C++:
struct BulletSyncData
{
    uint8_t               targetType;
    uint16_t           targetId;
    struct VectorXYZ origin;
    struct VectorXYZ target;
    struct VectorXYZ center;
    uint8_t               weaponId;
} __attribute__ ((packed));
вот структура пакета булет даты. в котором поле targetType возвращает значение от 0 до 3. значение 1 (если я правильно помню) как раз таки и отвечает за попадания по педам
Так оно работать не будет?(про дамаг знаю, просто для теста написал 20)
Или скорее всего ид головы не так написал?
Lua:
function q.onSendBulletSync(data)
weapon = getCurrentCharWeapon(playerPed)
sampAddChatMessage('Outcoming bullet sync targetType:'..data.targetType..'targetId: '..data.targetId, 0xFF00FF00)
if data.targetType == 1 then
sampSendGiveDamage(data.targetId, 20, weapon, BODY_PART_HEAD)
end
end
 

suic1de666

Участник
Автор темы
77
26
тебе надо просто заменить data.bodypart на ид головы. =_=
а понял, ток не понял как отправить её)
нашел что-то но хз
Lua:
INCOMING_PACKETS[PACKET.BULLET_SYNC]          = {'onBulletSync', {playerId = 'int16'}, {data = 'BulletSyncData'}}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.