Как отправить урон игроку, функцию знаю, но как её юзануть хз(

g3r4ld

Участник
Автор темы
57
7
Версия MoonLoader
.026-beta
Как отправить урон игроку, функцию знаю, но как её юзануть хз(Античит игнорьте)

Вот говнокод:
Lua:
script_name('MRPKILL') -- название скрипта
script_author('g3r4ld') -- автор скрипта
script_description('Command') -- описание скрипта



local q = require 'lib.samp.events'
local events = require 'lib.samp.events'



function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
  while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("k", kill)
 end





function kill(id)
    local result = sampIsPlayerConnected(id)
    if id:match('%d+') then
          id = id:match('%d+')
          result, Ped = sampGetCharHandleBySampPlayerId(id)
          if result then
              sampAddChatMessage("[KILL]:Пуля отправлена.", -1)
                        sampSendGiveDamage(id, 47, 24, 9)
                else
                    sampAddChatMessage("[KILL]:Игрок не на сервере или вне зоны стрима.", -1)
         end
   end
end

function q.onSendGiveDamage(playerId, damage, weapon, bodypart)
  printStringNow(damage.."   :   "..playerId, 500)
    sampSendGiveDamage(id, 47, 24, 9)
end


function samp_create_sync_data(sync_type, copy_from_player)
local ffi = require 'ffi' local sampfuncs = require 'sampfuncs'
local raknet = require 'samp.raknet' copy_from_player = copy_from_player or true
local sync_traits = {
player = {'PlayerSyncData', raknet.PACKET.PLAYER_SYNC, sampStorePlayerOnfootData},
vehicle = {'VehicleSyncData', raknet.PACKET.VEHICLE_SYNC, sampStorePlayerIncarData},
passenger = {'PassengerSyncData', raknet.PACKET.PASSENGER_SYNC, sampStorePlayerPassengerData},
aim = {'AimSyncData', raknet.PACKET.AIM_SYNC, sampStorePlayerAimData},
trailer = {'TrailerSyncData', raknet.PACKET.TRAILER_SYNC, sampStorePlayerTrailerData},
unoccupied = {'UnoccupiedSyncData', raknet.PACKET.UNOCCUPIED_SYNC, nil},
bullet = {'BulletSyncData', raknet.PACKET.BULLET_SYNC, nil},
spectator = {'SpectatorSyncData', raknet.PACKET.SPECTATOR_SYNC, nil}
}
local sync_info = sync_traits[sync_type] local data_type = 'struct ' .. sync_info[1]
local data = ffi.new(data_type, {})
local raw_data_ptr = tonumber(ffi.cast('uintptr_t', ffi.new(data_type .. '*', data)))
if copy_from_player then local copy_func = sync_info[3]
if copy_func then local _, player_id if copy_from_player == true then
_, player_id = sampGetPlayerIdByCharHandle(PLAYER_PED) else
player_id = tonumber(copy_from_player) end
copy_func(player_id, raw_data_ptr) end
end
local func_send = function() local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, sync_info[2])
raknetBitStreamWriteBuffer(bs, raw_data_ptr, ffi.sizeof(data))
raknetSendBitStreamEx(bs, sampfuncs.HIGH_PRIORITY, sampfuncs.UNRELIABLE_SEQUENCED, 1)
raknetDeleteBitStream(bs)
end
local mt = {
__index = function(t, index) return data[index] end,
__newindex = function(t, index, value) data[index] = value
end
}
return setmetatable({send = func_send}, mt)
end
 

Off[Nick]=

Участник
39
40
Lua:
                lua_thread.create(function()
                                local data = samp_create_sync_data('bullet', true)
                                posX,posY,posZ = getCharCoordinates(Ped)
                                positX,positY,positZ = getCharCoordinates(PLAYER_PED)
                                data.targetType = Ped
                                data.targetId = id
                                data.origin.x, data.origin.y, data.origin.z = positX,positY,positZ
                                data.target.x, data.target.y, data.target.z = posX,posY,posZ
                                data.weaponId = 24
                                wait(200)
                                data.send()
                                end)
 
  • Вау
Реакции: qdIbp