менталейшн
Известный
- 638
- 111
ващета есть фикса смысл? на капты только с лаунчера сделали
Lua:
local SendChatIcon = true
math.randomseed(os.clock())
local sampev = require('lib.samp.events')
function sampev.onSendClientJoin(version, mod, nickname, challengeResponse, joinAuthKey, clientVer, challengeResponse2)
local clientVer = 'Arizona PC'
local challengeResponse2 = 'Arizona PC'
sendGamePath()
ValidationCEF()
return {version, mod, nickname, challengeResponse, joinAuthKey, clientVer, challengeResponse2}
end
function sendGamePath()
lua_thread.create(function()
wait(0)
local server_ip, port = sampGetCurrentServerAddress()
wait(0)
local result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
wait(0)
local player_name = (result and sampGetPlayerNickname(id) or "Ivan_Ivanov")
local game_path = string.format("\"C:\\Arizona\\bin\\arizona\\gta_sa.exe\" -c -h %s -p %d -n %s -mem 2048 -x -seasons -enable_grass -arizona", server_ip, port, player_name)
wait(0)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 0xDC)
raknetBitStreamWriteInt8(bs, 0x8C)
raknetBitStreamWriteInt32(bs, #game_path)
raknetBitStreamWriteString(bs, game_path)
raknetBitStreamWriteInt8(bs, 0x00)
raknetSendBitStream(bs)
raknetDeleteBitStream(bs)
end)
end
function ValidationCEF()
lua_thread.create(function()
wait(10)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 20)
raknetBitStreamWriteInt8(bs, 128)
raknetBitStreamWriteInt8(bs, 7)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 56)
raknetBitStreamWriteInt8(bs, 4)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 38)
raknetBitStreamWriteInt8(bs, 101)
raknetBitStreamWriteInt8(bs, 7)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 56)
raknetBitStreamWriteInt8(bs, 4)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 50)
raknetBitStreamWriteInt8(bs, 1)
raknetBitStreamWriteInt16(bs, 1)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local bs = raknetNewBitStream() -- TEST
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 10)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt16(bs, 1)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local bs = raknetNewBitStream() -- TEST
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 10)
raknetBitStreamWriteInt8(bs, 1)
raknetBitStreamWriteInt16(bs, 1)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local string = "svelteReady"
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt8(bs, string.len(string))
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteString(bs, string)
raknetBitStreamWriteInt32(bs, 1) -- 32
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local string = "@0, vueReady"
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt8(bs, string.len(string))
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteString(bs, string)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local string = "onActiveViewChanged|"
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt8(bs, string.len(string))
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteString(bs, string)
raknetBitStreamWriteInt8(bs, 1)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
local string = "onActiveViewChanged|Auth"
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt8(bs, string.len(string))
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteString(bs, string)
raknetBitStreamWriteInt8(bs, 1)
raknetBitStreamWriteInt8(bs, 0)
raknetBitStreamWriteInt8(bs, 0)
raknetSendBitStreamEx(bs, 2, 9, 6)
raknetDeleteBitStream(bs) ; wait(0)
end)
end
function sampev.onServerMessage(cvet, text)
if string.find(text, 'бесплатный хотдог', 1, true) then
lua_thread.create(function()
wait(math.random(1800, 2000))
SendCefPacket('streetFood.purchase|hotdog')
end)
end
end
function onReceivePacket(idPKT, bsPKT)
if (idPKT == 220) then
raknetBitStreamIgnoreBits(bsPKT, 8)
local custom_type = raknetBitStreamReadInt8(bsPKT)
if (custom_type == 17) then
raknetBitStreamIgnoreBits(bsPKT, 32)
local len = raknetBitStreamReadInt16(bsPKT)
if (len > 0) then
local length = len
local encoded = raknetBitStreamReadInt8(bsPKT)
local str = (encoded ~= 0) and raknetBitStreamDecodeString(bsPKT, length + encoded) or raknetBitStreamReadString(bsPKT, length)
if string.find(str, 'npcDialog', 1, true) then
SendNPCAnswer = true ; return false
end
end
end
if (custom_type == 175) then
local CoordinateX = raknetBitStreamReadFloat(bsPKT)
local CoordinateY = raknetBitStreamReadFloat(bsPKT)
local CoordinateZ = raknetBitStreamReadFloat(bsPKT)
if not CheckLoadingBugSync(CoordinateX, CoordinateY, CoordinateZ) then
setCharCoordinatesNoOffset(PLAYER_PED, CoordinateX, CoordinateY, CoordinateZ)
end
end
if (custom_type == 199) then
raknetBitStreamIgnoreBits(bsPKT, 8)
local zhdun = raknetBitStreamReadInt8(bsPKT)
printStringNow(''..tostring(zhdun)..' MECTO', 10000)
end
end
end
function CheckLoadingBugSync(valueX, valueY, valueZ)
local valuesForCheck = {tostring(valueX), tostring(valueY), tostring(valueZ)}
for i = 1, 3 do
if (valuesForCheck[i] == 'nan' or valuesForCheck[i] == 'inf' or valuesForCheck[i] == '-inf' or valuesForCheck[i] == 'nil' or valuesForCheck[i] == 'null' or (math.abs(tonumber(valuesForCheck[i])) > 20000)) then
return true
end
end
return false
end
script_author('FunnyRofl')
script_description(' Ссылка на автора скрипта: https://www.blast.hk/members/507661 ( link to the author of the script ) ')
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100)
end
sampRegisterChatCommand("sendcef", function(stringOfCef)
if stringOfCef then
local stringOfCef = tostring(stringOfCef)
if (stringOfCef == '1') then
SendCefPacket('streetFood.purchase|hotdog')
else
SendCefPacket(stringOfCef)
end
end
end)
lua_thread.create(function()
while true do
wait(500)
if SendNPCAnswer then
SendCefPacket('answer.npcDialog|0')
SendNPCAnswer = nil
wait(math.random(200, 500))
end
end
end)
while true do
wait(0)
if SendChatIcon then
if sampIsChatInputActive() then
if not ChatStatus then
ChatStatus = true
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 1)
raknetBitStreamWriteInt8(bs, 128)
raknetSendBitStream(bs)
raknetDeleteBitStream(bs)
end
else
if ChatStatus then
ChatStatus = false
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt16(bs, 1)
raknetSendBitStream(bs)
raknetDeleteBitStream(bs)
end
end
end
end
end
function SendCefPacket(stringCef)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt16(bs, #stringCef)
raknetBitStreamWriteString(bs, stringCef)
raknetBitStreamWriteInt32(bs, 0)
--raknetBitStreamWriteInt16(bs, 0)
raknetSendBitStream(bs)
raknetDeleteBitStream(bs)
end