Фейк выстрел

Oki_Bern

Участник
Автор темы
297
8
Версия MoonLoader
Другое
Возможно ли как то сделать фейк выстрел от другого игрока, по его иду/хенделу
 
Решение
Возможно ли как то сделать фейк выстрел от другого игрока, по его иду/хенделу
эмулируй пакет BulletSync
C++:
struct BulletSyncData {
    uint8_t   targetType;
    uint16_t  targetId;
    VectorXYZ origin;
    VectorXYZ target;
    VectorXYZ center;
    uint8_t   weaponId;
};
Lua:
local playerId = 100
local targetId = 99
local weaponId = 24

local result1, playerPed = sampGetCharHandleBySampPlayerId(playerId)
local result2, targetPed = sampGetCharHandleBySampPlayerId(targetId)
if result and result2 then
    local playerX, playerY, playerZ = getCharCoordinates(playerPed)
    local targetX, targetY, targetZ = getCharCoordinates(targetPed)
   
    local bs = raknNewBitStream()
    raknetBitStreamWriteInt16(bs, playerId)...

вайега52

Налуашил состояние
Модератор
3,001
3,137
Возможно ли как то сделать фейк выстрел от другого игрока, по его иду/хенделу
эмулируй пакет BulletSync
C++:
struct BulletSyncData {
    uint8_t   targetType;
    uint16_t  targetId;
    VectorXYZ origin;
    VectorXYZ target;
    VectorXYZ center;
    uint8_t   weaponId;
};
Lua:
local playerId = 100
local targetId = 99
local weaponId = 24

local result1, playerPed = sampGetCharHandleBySampPlayerId(playerId)
local result2, targetPed = sampGetCharHandleBySampPlayerId(targetId)
if result and result2 then
    local playerX, playerY, playerZ = getCharCoordinates(playerPed)
    local targetX, targetY, targetZ = getCharCoordinates(targetPed)
   
    local bs = raknNewBitStream()
    raknetBitStreamWriteInt16(bs, playerId)
    raknetBitStreamWriteInt8(bs, 1)
    raknetBitStreamWriteInt16(targetId)
    -- origin
    raknetBitStreamWriteFloat(bs, playerX)
    raknetBitStreamWriteFloat(bs, playerY)
    raknetBitStreamWriteFloat(bs, playerZ)
    -- target
    raknetBitStreamWriteFloat(bs, targetX)
    raknetBitStreamWriteFloat(bs, targetY)
    raknetBitStreamWriteFloat(bs, targetZ)
    -- center
    raknetBitStreamWriteFloat(bs, 0)
    raknetBitStreamWriteFloat(bs, 0)
    raknetBitStreamWriteFloat(bs, 0)
    raknetBitStreamWriteInt8(bs, weaponId)
    raknetEmulPacketReceiveBitStream(206, bs)
    raknetDeleteBitStream(bs)
end
 
  • Нравится
Реакции: Vespan, Oki_Bern и Loku

Oki_Bern

Участник
Автор темы
297
8
эмулируй пакет BulletSync
C++:
struct BulletSyncData {
    uint8_t   targetType;
    uint16_t  targetId;
    VectorXYZ origin;
    VectorXYZ target;
    VectorXYZ center;
    uint8_t   weaponId;
};
Lua:
local playerId = 100
local targetId = 99
local weaponId = 24

local result1, playerPed = sampGetCharHandleBySampPlayerId(playerId)
local result2, targetPed = sampGetCharHandleBySampPlayerId(targetId)
if result and result2 then
    local playerX, playerY, playerZ = getCharCoordinates(playerPed)
    local targetX, targetY, targetZ = getCharCoordinates(targetPed)
  
    local bs = raknNewBitStream()
    raknetBitStreamWriteInt16(bs, playerId)
    raknetBitStreamWriteInt8(bs, 1)
    raknetBitStreamWriteInt16(targetId)
    -- origin
    raknetBitStreamWriteFloat(bs, playerX)
    raknetBitStreamWriteFloat(bs, playerY)
    raknetBitStreamWriteFloat(bs, playerZ)
    -- target
    raknetBitStreamWriteFloat(bs, targetX)
    raknetBitStreamWriteFloat(bs, targetY)
    raknetBitStreamWriteFloat(bs, targetZ)
    -- center
    raknetBitStreamWriteFloat(bs, 0)
    raknetBitStreamWriteFloat(bs, 0)
    raknetBitStreamWriteFloat(bs, 0)
    raknetBitStreamWriteInt8(bs, weaponId)
    raknetEmulPacketReceiveBitStream(206, bs)
    raknetDeleteBitStream(bs)
end
Правильно я сделал?
Lua:
require "lib.moonloader"
local playerId = nil
local weaponId = 31 -- m4
function main()
  while not isSampAvailable() do wait(100) end
  sampRegisterChatCommand("fd", function(arg)
  playerId = arg
  end)
    while true do wait(0)
         if isKeyDown(VK_V) then
             if playerId ~= nil then
             local result1, playerPed = sampGetCharHandleBySampPlayerId(playerId)
                if result1 then
                local playerX, playerY, playerZ = getCharCoordinates(playerPed)
                local bs = raknNewBitStream()
                raknetBitStreamWriteInt16(bs, playerId)
                raknetBitStreamWriteInt8(bs, 1)
                -- origin
                raknetBitStreamWriteFloat(bs, playerX)
                raknetBitStreamWriteFloat(bs, playerY)
                raknetBitStreamWriteFloat(bs, playerZ)
                -- center
                raknetBitStreamWriteFloat(bs, 0)
                raknetBitStreamWriteFloat(bs, 0)
                raknetBitStreamWriteFloat(bs, 0)
                raknetBitStreamWriteInt8(bs, weaponId)
                raknetEmulPacketReceiveBitStream(206, bs)
                raknetDeleteBitStream(bs)
                end
                sampSendTakeDamage(playerId, 10, weaponId, 9)
             end
         end
    end
end
 

Similar threads

  1. Ответы
    14
    Просмотры
    12K
  2. Ответы
    56
    Просмотры
    15K
  3. Ответы
    61
    Просмотры
    43K