Устанавливаешь хук, в самом хуке считываешь нужные тебе параметры. Для каждого пакета/рпц они разные, структуру надо смотреть.Как хукать пакеты на ракнете.
Нужно просто сделать коллбэк который будет его перехвачивать и фильтровать инфу.
допустим структура stAimData, дай пожалуйста манюсенький пример)Устанавливаешь хук, в самом хуке считываешь нужные тебе параметры. Для каждого пакета/рпц они разные, структуру надо смотреть.
Блядь, думал, что тебе помогут, но чето никто не отвечает.допустим структура stAimData, дай пожалуйста манюсенький пример)
допустим структура stAimData, дай пожалуйста манюсенький пример)
/*
struct stAimData
{
BYTE byteCamMode;
float vecAimf1[3];
float vecAimPos[3];
float fAimZ;
BYTE byteCamExtZoom : 6; // 0-63 normalized
BYTE byteWeaponState : 2; // see eWeaponState
BYTE bUnk;
};
*/
:HOOK
0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
//0BEF: raknet 25@ = bit_stream 0@ get_number_of_bytes_used
if
1@ == PACKET_AIM_SYNC
then
0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_BYTE // CamMode
0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_FLOAT // vecAimf1[1]
0BE7: raknet 4@ = bit_stream_read 0@ type BS_TYPE_FLOAT // vecAimf1[2]
0BE7: raknet 5@ = bit_stream_read 0@ type BS_TYPE_FLOAT // vecAimf1[3]
// и так далее
end
0BE0: raknet hook_ret true
{$CLEO}
0000:
5@ = false
repeat
wait 400
until 0AFA: is_samp_avilable
0B34: samp register_client_command "smsflood" to_label @SmsFlooder
while true
wait 0
if 5@ == 1
then
0209: 6@ = random_int_in_ranges 0 3@
0af9: "/sms %d %s" 6@s 4@s
wait 2@
end
end
:SmsFlooder
wait 0
0B35: samp 0@ = get_last_command_params
if
0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@s 3@s 4@s
jf @CommandError
0B12: 5@ = 5@ XOR 1
if
5@ == true
then
0af8: "{ADD714}[SmsFlood]: {FFFFFFВключен" -1
else
0af8: "{ADD714}[SmsFlood]: {FFFFFF}Выключен" -1
end
0B43: samp cmd_ret
:CommandError
0af8: "{FFFFFF}Ошибка!" -1
0B43: samp cmd_ret
Скажи пожалуйста что не так в коде, всё перепробывал, пишет что флудер отключен, а если даже включен то не доконца флудит текст:
Код:{$CLEO} 0000: 5@ = false repeat wait 400 until 0AFA: is_samp_avilable 0B34: samp register_client_command "smsflood" to_label @SmsFlooder while true wait 0 if 5@ == 1 then 0209: 6@ = random_int_in_ranges 0 3@ 0af9: "/sms %d %s" 6@s 4@s wait 2@ end end :SmsFlooder wait 0 0B35: samp 0@ = get_last_command_params if 0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@s 3@s 4@s jf @CommandError 0B12: 5@ = 5@ XOR 1 if 5@ == true then 0af8: "{ADD714}[SmsFlood]: {FFFFFFВключен" -1 else 0af8: "{ADD714}[SmsFlood]: {FFFFFF}Выключен" -1 end 0B43: samp cmd_ret :CommandError 0af8: "{FFFFFF}Ошибка!" -1 0B43: samp cmd_ret
{$CLEO}
0000:
repeat
wait 400
until 0AFA: is_samp_avilable
0B34: samp register_client_command "smsflood" to_label @SmsFlooder
while true
wait 0
if 5@ == 1
then
0209: 6@ = random_int_in_ranges 0 3@
0af9: "/sms %d %s" 6@ 4@
wait 2@
end
end
:SmsFlooder
wait 0
0B35: samp 0@ = get_last_command_params
0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@ 3@ 4@
if
1@ < 0
then
0af8: "Îøèáêà!" -1
else
0B12: 5@ = 5@ XOR 1
if
5@ == 1
then
0af8: "{ADD714}[SmsFlood]: {FFFFFF}Âêëþ÷åí" -1
else
0af8: "{ADD714}[SmsFlood]: {FFFFFF}Âûêëþ÷åí" -1
end
end
0B43: samp cmd_ret
То же самое :(не проверялКод:{$CLEO} 0000: repeat wait 400 until 0AFA: is_samp_avilable 0B34: samp register_client_command "smsflood" to_label @SmsFlooder while true wait 0 if 5@ == 1 then 0209: 6@ = random_int_in_ranges 0 3@ 0af9: "/sms %d %s" 6@ 4@ wait 2@ end end :SmsFlooder wait 0 0B35: samp 0@ = get_last_command_params 0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@ 3@ 4@ if 1@ < 0 then 0af8: "Îøèáêà!" -1 else 0B12: 5@ = 5@ XOR 1 if 5@ == 1 then 0af8: "{ADD714}[SmsFlood]: {FFFFFF}Âêëþ÷åí" -1 else 0af8: "{ADD714}[SmsFlood]: {FFFFFF}Âûêëþ÷åí" -1 end end 0B43: samp cmd_ret
0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@s 3@s 4@sСкажи пожалуйста что не так в коде, всё перепробывал, пишет что флудер отключен, а если даже включен то не доконца флудит текст:
Код:{$CLEO} 0000: 5@ = false repeat wait 400 until 0AFA: is_samp_avilable 0B34: samp register_client_command "smsflood" to_label @SmsFlooder while true wait 0 if 5@ == 1 then 0209: 6@ = random_int_in_ranges 0 3@ 0af9: "/sms %d %s" 6@s 4@s wait 2@ end end :SmsFlooder wait 0 0B35: samp 0@ = get_last_command_params if 0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@s 3@s 4@s jf @CommandError 0B12: 5@ = 5@ XOR 1 if 5@ == true then 0af8: "{ADD714}[SmsFlood]: {FFFFFFВключен" -1 else 0af8: "{ADD714}[SmsFlood]: {FFFFFF}Выключен" -1 end 0B43: samp cmd_ret :CommandError 0af8: "{FFFFFF}Ошибка!" -1 0B43: samp cmd_ret
А как тогда делать?0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@s 3@s 4@s
Нельзя так.
cпасибо.Код:/* struct stAimData { BYTE byteCamMode; float vecAimf1[3]; float vecAimPos[3]; float fAimZ; BYTE byteCamExtZoom : 6; // 0-63 normalized BYTE byteWeaponState : 2; // see eWeaponState BYTE bUnk; }; */ :HOOK 0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM 0BE5: raknet 1@ = get_hook_param PARAM_PACKETID //0BEF: raknet 25@ = bit_stream 0@ get_number_of_bytes_used if 1@ == PACKET_AIM_SYNC then 0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_BYTE // CamMode 0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_FLOAT // vecAimf1[1] 0BE7: raknet 4@ = bit_stream_read 0@ type BS_TYPE_FLOAT // vecAimf1[2] 0BE7: raknet 5@ = bit_stream_read 0@ type BS_TYPE_FLOAT // vecAimf1[3] // и так далее end 0BE0: raknet hook_ret true
{$CLEO}
0000:
repeat
wait 400
until 0AFA: is_samp_avilable
0B34: samp register_client_command "smsflood" to_label @SmsFlooder
while true
wait 0
if 5@ == true
then
0209: 6@ = random_int_in_ranges 0 3@v
0af9: "/sms %d %s" 6@ 4@v
wait 2@
end
end
:SmsFlooder
wait 0
0B35: samp 0@ = get_last_command_params
if
0AD4: 1@ = scan_string 0@ format "%d%d%s" 2@ 3@ 4@v
jf @CommandError
0B12: 5@ = 5@ XOR 1
if 5@ == 1
then
0af8: "{ADD714}[SmsFlooder]: {FFFFFF}Âêëþ÷åí" -1
else
0af8: "{ADD714}[SmsFlooder]: {FFFFFF}Âûêëþ÷åí" -1
end
0B43: samp cmd_ret
:CommandError
0af8: "{ADD714}[SmsFlooder]: {FFFFFF}Ââåäèòå: /smsflood [çàääåðæêà] [èãðîêîâ íà ñåðâåðå] [òåêñò]" -1
0B43: samp cmd_ret
06D5: 0@ = create_racing_checkpoint_at 0.0 0.0 0.0 point_to 0.0 0.0 0.0 type 2 radius 6.0Всем привет. подскажите опкод создания маркера до самого неба чтоб был (как у автобусников) без действий, просто для прицела из под земли нужно)
чтото типа 03BC: 0@ = create_sphere_at 262.6209 1851.202 8.7578 radius 2.0 только этот не до неба.