 |
|

08.02.2023, 16:21
|
|
Флудер
Регистрация: 06.07.2016
Сообщений: 2,855
С нами:
5185431
Репутация:
183
|
|
В рандомное время проигрывается 8-битный писк, что это значит?
|
|
|

08.02.2023, 18:26
|
|
Флудер
Регистрация: 16.09.2019
Сообщений: 2,013
С нами:
3505395
Репутация:
183
|
|
Функция позволяет получать исходящие данные синхронизации из любого участка кода.
Принимает в себя ID пакета. При желании можно с легкостью переделать под входящую синхронизацию (если не забуду, то может сделаю) и сделать аналог функциям из муна sampStorePlayerOnfootData, sampStorePlayerIncarData и т.д
Lua:
Код:
local
ffi
=
require
(
"ffi"
)
require
'samp.synchronization'
require
'sampfuncs'
local
storePackets
=
{
[
PACKET_PLAYER_SYNC
]
=
{
}
,
[
PACKET_VEHICLE_SYNC
]
=
{
}
,
[
PACKET_AIM_SYNC
]
=
{
}
}
local
syncTypes
=
{
[
PACKET_PLAYER_SYNC
]
=
"PlayerSyncData"
,
[
PACKET_VEHICLE_SYNC
]
=
"VehicleSyncData"
,
[
PACKET_AIM_SYNC
]
=
"AimSyncData"
}
registerHandler
(
"onSendPacket"
,
function
(
id
,
bs
)
if
storePackets
[
id
]
~=
nil
and
syncTypes
[
id
]
~=
nil
then
bs
:
ignoreBits
(
8
)
-- skip packetid
local
new_sync_data
=
ffi
.
new
(
syncTypes
[
id
]
)
local
syncPointer
=
tonumber
(
ffi
.
cast
(
'intptr_t'
,
ffi
.
cast
(
'void*'
,
new_sync_data
)
)
)
local
result
=
bs
:
readBuffer
(
syncPointer
,
ffi
.
sizeof
(
new_sync_data
)
)
if
result
then
storePackets
[
id
]
=
new_sync_data
end
end
end
)
function
storeSyncData
(
packet_id
)
return
storePackets
[
packet_id
]
end
-- example
function
onRunCommand
(
command
)
if
command
==
"!test"
then
local
aim_sync_data
=
storeSyncData
(
PACKET_AIM_SYNC
)
print
(
aim_sync_data
.
camMode
)
-- return cam mode
local
player_sync_data
=
storeSyncData
(
PACKET_PLAYER_SYNC
)
print
(
player_sync_data
.
specialAction
)
-- return special action
end
end
|
|
|

09.02.2023, 19:33
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
С нами:
4686777
Репутация:
183
|
|
Сообщение от Heroku
Функция позволяет получать исходящие данные синхронизации из любого участка кода.
Принимает в себя ID пакета. При желании можно с легкостью переделать под входящую синхронизацию (если не забуду, то может сделаю) и сделать аналог функциям из муна sampStorePlayerOnfootData, sampStorePlayerIncarData и т.д
Lua:
Код:
local
ffi
=
require
(
"ffi"
)
require
'samp.synchronization'
require
'sampfuncs'
local
storePackets
=
{
[
PACKET_PLAYER_SYNC
]
=
{
}
,
[
PACKET_VEHICLE_SYNC
]
=
{
}
,
[
PACKET_AIM_SYNC
]
=
{
}
}
local
syncTypes
=
{
[
PACKET_PLAYER_SYNC
]
=
"PlayerSyncData"
,
[
PACKET_VEHICLE_SYNC
]
=
"VehicleSyncData"
,
[
PACKET_AIM_SYNC
]
=
"AimSyncData"
}
registerHandler
(
"onSendPacket"
,
function
(
id
,
bs
)
if
storePackets
[
id
]
~=
nil
and
syncTypes
[
id
]
~=
nil
then
bs
:
ignoreBits
(
8
)
-- skip packetid
local
new_sync_data
=
ffi
.
new
(
syncTypes
[
id
]
)
local
syncPointer
=
tonumber
(
ffi
.
cast
(
'intptr_t'
,
ffi
.
cast
(
'void*'
,
new_sync_data
)
)
)
local
result
=
bs
:
readBuffer
(
syncPointer
,
ffi
.
sizeof
(
new_sync_data
)
)
if
result
then
storePackets
[
id
]
=
new_sync_data
end
end
end
)
function
storeSyncData
(
packet_id
)
return
storePackets
[
packet_id
]
end
-- example
function
onRunCommand
(
command
)
if
command
==
"!test"
then
local
aim_sync_data
=
storeSyncData
(
PACKET_AIM_SYNC
)
print
(
aim_sync_data
.
camMode
)
-- return cam mode
local
player_sync_data
=
storeSyncData
(
PACKET_PLAYER_SYNC
)
print
(
player_sync_data
.
specialAction
)
-- return special action
end
end
Lua:
Код:
function
samp_create_sync_data
(
sync_type
)
-- from SAMP.Lua
local
raknet
=
require
'samp.raknet'
require
'samp.synchronization'
local
sync_traits
=
{
player
=
{
'PlayerSyncData'
,
raknet
.
PACKET
.
PLAYER_SYNC
}
,
vehicle
=
{
'VehicleSyncData'
,
raknet
.
PACKET
.
VEHICLE_SYNC
}
,
passenger
=
{
'PassengerSyncData'
,
raknet
.
PACKET
.
PASSENGER_SYNC
}
,
aim
=
{
'AimSyncData'
,
raknet
.
PACKET
.
AIM_SYNC
}
,
trailer
=
{
'TrailerSyncData'
,
raknet
.
PACKET
.
TRAILER_SYNC
}
,
unoccupied
=
{
'UnoccupiedSyncData'
,
raknet
.
PACKET
.
UNOCCUPIED_SYNC
}
,
bullet
=
{
'BulletSyncData'
,
raknet
.
PACKET
.
BULLET_SYNC
}
,
spectator
=
{
'SpectatorSyncData'
,
raknet
.
PACKET
.
SPECTATOR_SYNC
}
}
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
)
)
)
-- function to send packet
local
func_send
=
function
(
)
local
bs
=
bitStream
.
new
(
)
bs
:
writeUInt8
(
sync_info
[
2
]
)
bs
:
writeBuffer
(
raw_data_ptr
,
ffi
.
sizeof
(
data
)
)
bs
:
sendPacketEx
(
HIGH_PRIORITY
,
UNRELIABLE_SEQUENCED
,
1
)
bs
:
reset
(
)
end
-- metatable to access sync data and 'send' function
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
но нужно вручную заполнять поля
Lua:
Код:
local
data
=
samp_create_sync_data
(
"player"
)
data
.
position
.
x
,
data
.
position
.
y
,
data
.
position
.
z
=
getBotPosition
(
)
data
.
quaternion
[
0
]
,
data
.
quaternion
[
1
]
,
data
.
quaternion
[
2
]
,
data
.
quaternion
[
3
]
=
getBotQuaternion
(
)
data
.
health
=
getBotHealth
(
)
data
.
armor
=
getBotArmor
(
)
-- анимку и флаги бы еще
data
.
send
(
)
|
|
|

09.02.2023, 23:51
|
|
Новичок
Регистрация: 24.11.2022
Сообщений: 8
С нами:
1828200
Репутация:
3
|
|
Кто может подсказать,как настроить по уму,чтобы на игроков ставить его и было сложно с него слезть,мб какие то луа есть или настройки чтобы айпи не банило и тд
|
|
|

10.02.2023, 02:03
|
|
Флудер
Регистрация: 22.11.2015
Сообщений: 2,128
С нами:
5512984
Репутация:
183
|
|
Сообщение от tgk26
Кто может подсказать,как настроить по уму,чтобы на игроков ставить его и было сложно с него слезть,мб какие то луа есть или настройки чтобы айпи не банило и тд
что там с реконнектом? завезешь возможность его откоючения и фикс задержки 9999999999?
|
|
|

10.02.2023, 02:41
|
|
Новичок
Регистрация: 24.11.2022
Сообщений: 8
С нами:
1828200
Репутация:
3
|
|
Сообщение от sаnеk
что там с реконнектом? завезешь возможность его откоючения и фикс задержки 9999999999?
Да брат завтра завоз ожидается.
|
|
|

10.02.2023, 02:46
|
|
Флудер
Регистрация: 22.11.2015
Сообщений: 2,128
С нами:
5512984
Репутация:
183
|
|
Сообщение от tgk26
Да брат завтра завоз ожидается.
да блять не туда ответил)))
@Rei завези чек диалога авторизации не по иду, а по капче. На кой *** этот ид чекать в 2023, когда это уже давно бесполезно
|
|
|

10.02.2023, 03:09
|
|
Познавший АНТИЧАТ
Регистрация: 20.07.2017
Сообщений: 1,292
С нами:
4639746
Репутация:
183
|
|
Сообщение от tgk26
Кто может подсказать,как настроить по уму,чтобы на игроков ставить его и было сложно с него слезть,мб какие то луа есть или настройки чтобы айпи не банило и тд
sampban.com
без мозгоебли с сервером, проксями и так далее, за тебя с этим поебались мы
+ парсим и чекаем прокси без остановки, всегда имеем множество свежих ипов для ботов, а так-же небольшой прикол из-за которого на некоторых проекта бота даже кикнуть не смогут
|
|
|

10.02.2023, 10:01
|
|
Постоянный
Регистрация: 14.02.2018
Сообщений: 319
С нами:
4338525
Репутация:
98
|
|
Сообщение от sаnеk
что там с реконнектом? завезешь возможность его откоючения и фикс задержки 9999999999?
у меня задержка работает
|
|
|

10.02.2023, 10:07
|
|
Участник форума
Регистрация: 07.05.2022
Сообщений: 142
С нами:
2117009
Репутация:
33
|
|
1676009234692.pngvlaDICK2288 · 10 Фев 2023 в 09:07' data-fancybox="lb-post-1253504" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/189352/" style="cursor: pointer;" title="1676009234692.png">
и как что
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|