- 19
- 10
- Версия MoonLoader
- .026-beta
Проблема такая, на монсере никак не получается отправить фейковый выстрел. Сервер как-то детектит это и не засчитывает урон.
Код функции для отправки выстрела:
Также пробовал в onSendPlayerSync заменять animationId, animationFlags, keysData (как при реальной стрельбе) - не помогло.
aimSync как я понял ни на что не влияет - даже если его занопать, при реальной стрельбе все ок.
weaponSync отправляется как обычно, из-за вызова setCharAmmo
Уже не знаю, на чем еще можно спалиться. Подкиньте мысль как еще сервер может детектить фейковый выстрел
Код функции для отправки выстрела:
Lua:
function sendBulletSync(playerID, pedID)
local x, y, z = getCharCoordinates(pedID)
local pX, pY, pZ = getActiveCameraCoordinates()
local data = allocateMemory(40)
setStructElement(data, 0, 1, 1, false)
setStructElement(data, 1, 2, playerID, false)
setStructFloatElement(data, 3, pX, false)
setStructFloatElement(data, 7, pY, false)
setStructFloatElement(data, 11, pZ, false)
setStructFloatElement(data, 15, x + rand(), false)
setStructFloatElement(data, 19, y + rand(), false)
setStructFloatElement(data, 23, z + rand(), false)
setStructFloatElement(data, 27, rand(), false)
setStructFloatElement(data, 31, rand(), false)
setStructFloatElement(data, 35, rand(), false)
setStructElement(data, 39, 1, 24, false)
sampSendBulletData(data)
freeMemory(data)
setCharAmmo(1, 24, getAmmoInCharWeapon(1, 24) - 1)
lua_thread.create(function ()
wait(1)
sampSendGiveDamage(playerID, 46.2, 24, 3)
end)
end
Также пробовал в onSendPlayerSync заменять animationId, animationFlags, keysData (как при реальной стрельбе) - не помогло.
aimSync как я понял ни на что не влияет - даже если его занопать, при реальной стрельбе все ок.
weaponSync отправляется как обычно, из-за вызова setCharAmmo
Уже не знаю, на чем еще можно спалиться. Подкиньте мысль как еще сервер может детектить фейковый выстрел