Загрузка данных


require "lib.moonloader"
local sampev = require 'samp.events'

myNick = ""
grtefjkogbtfjtkl = false


function main()
	if not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
	
	sampAddChatMessage('test')
	local configFile = io.open(getGameDirectory()..'//moonloader//MHelper//MHelper2.json', "r") 
	get_configFile = configFile:read("*a")
	configFile:close()
	CONFIG = decodeJson(get_configFile) 
	
	myID = select(2, sampGetPlayerIdByCharHandle(1))
	myNick = sampGetPlayerNickname(myID)
	
	while true do	
		wait(0)
	end
end


function onReceivePacket(id, bs)
	if id ~= 215 then return end
	
	local _style = raknetBitStreamReadInt16(bs)
	local _type = raknetBitStreamReadInt32(bs)
	local l = raknetBitStreamReadInt8(bs)
	local style3 = raknetBitStreamReadInt8(bs)
	local length = raknetBitStreamReadInt32(bs)
	
	if length > 0 and length < 5000 then
		bitstreamtext = raknetBitStreamReadString(bs, length)
	else
		bitstreamtext = nil
	end
	
	if bitstreamtext then
		print(bitstreamtext)
		if bitstreamtext:match("Authorization") and CONFIG["acc"][myNick] then
			emulateAuthorization(CONFIG["Config"][myNick])
		end
	end
end

function sampev.onSendClientJoin()  
	grtefjkogbtfjtkl = true
	myID = select(2, sampGetPlayerIdByCharHandle(1))
	myNick = sampGetPlayerNickname(myID)
end

function emulateAuthorization(pass)
	if pass ~= nil then
		if grtefjkogbtfjtkl then
			local bs = raknetNewBitStream();
			raknetBitStreamWriteInt8(bs,215)
			raknetBitStreamWriteInt16(bs,2)
			raknetBitStreamWriteInt32(bs, 0)
			raknetBitStreamWriteInt32(bs,#'OnAuthorizationStart')
			raknetBitStreamWriteString(bs,'OnAuthorizationStart')
			raknetBitStreamWriteInt32(bs, 2)
			raknetBitStreamWriteInt8(bs, 115)
			raknetBitStreamWriteInt32(bs, #pass)
			raknetBitStreamWriteString(bs, pass)
			raknetSendBitStream(bs);
			raknetDeleteBitStream(bs);
			grtefjkogbtfjtkl = false
		end
	else
		sampAddChatMessage('err in emulateAuthorization (pass nil)')
	end
end