HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1121  
Старый 02.08.2023, 20:49
chromiusj
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
Провел на форуме:
1976148

Репутация: 133


По умолчанию

Цитата:
Сообщение от arc warden  

чо делать если пишу /mm например нихуя не происходит т.е нету диалога
где пишешь?

1690994939879.pngchromiusj · 2 Авг 2023 в 19:49' data-fancybox="lb-post-1354568" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/210398/" style="cursor: pointer;" title="1690994939879.png">
 
Ответить с цитированием

  #1122  
Старый 02.08.2023, 21:02
arc warden
Участник форума
Регистрация: 08.12.2022
Сообщений: 139
Провел на форуме:
47278

Репутация: 23
По умолчанию

Цитата:
Сообщение от ChromiusJ  

где пишешь?
ye
ну внизу строка ввода где еще же

а да я еблан. Я ввожу на нубо рп бота делаю.
 
Ответить с цитированием

  #1123  
Старый 04.08.2023, 01:35
danivjje
Новичок
Регистрация: 22.07.2023
Сообщений: 5
Провел на форуме:
1412

Репутация: 3
По умолчанию

если зайти на занятый никнейм/никнейм с запрещенными символами то клиент в консоль выводит Bad nickname, это отловить как-то можно?
 
Ответить с цитированием

  #1124  
Старый 04.08.2023, 07:34
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
Провел на форуме:
566977

Репутация: 3


По умолчанию

Цитата:
Сообщение от danivjje  

если зайти на занятый никнейм/никнейм с запрещенными символами то клиент в консоль выводит Bad nickname, это отловить как-то можно?
Да, можно, если не через пакет, так через текст в консоли (сегодня посмотрю, если получится - скину код)

upd: Вот код, хз какой пакет приходит

Lua:





Код:
local
ffi
=
require
(
"ffi"
)
--HOOKS
local
hook
=
{
hooks
=
{
}
}
registerHandler
(
"onUnload"
,
function
(
)
for
i
,
hook
in
ipairs
(
hook
.
hooks
)
do
if
hook
.
status
then
hook
.
stop
(
)
end
end
end
)
ffi
.
cdef
[[
    int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]
function
hook
.
new
(
cast
,
callback
,
hook_addr
,
size
)
jit
.
off
(
callback
,
true
)
--off jit compilation | thx FYP
local
size
=
size
or
5
local
new_hook
=
{
}
local
detour_addr
=
tonumber
(
ffi
.
cast
(
"intptr_t"
,
ffi
.
cast
(
"void*"
,
ffi
.
cast
(
cast
,
callback
)
)
)
)
local
void_addr
=
ffi
.
cast
(
"void*"
,
hook_addr
)
local
old_prot
=
ffi
.
new
(
"unsigned long[1]"
)
local
org_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
)
ffi
.
copy
(
org_bytes
,
void_addr
,
size
)
local
hook_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
,
0x90
)
hook_bytes
[
0
]
=
0xE9
ffi
.
cast
(
"uint32_t*"
,
hook_bytes
+
1
)
[
0
]
=
detour_addr
-
hook_addr
-
5
new_hook
.
call
=
ffi
.
cast
(
cast
,
hook_addr
)
new_hook
.
status
=
false
local
function
set_status
(
bool
)
new_hook
.
status
=
bool
        ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
0x40
,
old_prot
)
ffi
.
copy
(
void_addr
,
bool
and
hook_bytes
or
org_bytes
,
size
)
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
old_prot
[
0
]
,
old_prot
)
end
new_hook
.
stop
=
function
(
)
set_status
(
false
)
end
new_hook
.
start
=
function
(
)
set_status
(
true
)
end
new_hook
.
start
(
)
table
.
insert
(
hook
.
hooks
,
new_hook
)
return
setmetatable
(
new_hook
,
{
__call
=
function
(
self
,
...
)
self
.
stop
(
)
local
res
=
self
.
call
(
...
)
self
.
start
(
)
return
res
end
}
)
end
--HOOKS
local
originalErrorClientJoin
function
errorClientJoin
(
...
)
print
(
"errorClientJoin"
)
return
originalErrorClientJoin
(
...
)
end
originalErrorClientJoin
=
hook
.
new
(
"void*(__cdecl*)(void*)"
,
errorClientJoin
,
0x459550
)
 
Ответить с цитированием

  #1125  
Старый 04.08.2023, 15:08
Fluffy1560
Участник форума
Регистрация: 04.09.2021
Сообщений: 279
Провел на форуме:
110226

Репутация: 33
По умолчанию

Цитата:
Сообщение от why ega  

Да, можно, если не через пакет, так через текст в консоли (сегодня посмотрю, если получится - скину код)

upd: Вот код, хз какой пакет приходит

Lua:





Код:
local
ffi
=
require
(
"ffi"
)
--HOOKS
local
hook
=
{
hooks
=
{
}
}
registerHandler
(
"onUnload"
,
function
(
)
for
i
,
hook
in
ipairs
(
hook
.
hooks
)
do
if
hook
.
status
then
hook
.
stop
(
)
end
end
end
)
ffi
.
cdef
[[
    int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]
function
hook
.
new
(
cast
,
callback
,
hook_addr
,
size
)
jit
.
off
(
callback
,
true
)
--off jit compilation | thx FYP
local
size
=
size
or
5
local
new_hook
=
{
}
local
detour_addr
=
tonumber
(
ffi
.
cast
(
"intptr_t"
,
ffi
.
cast
(
"void*"
,
ffi
.
cast
(
cast
,
callback
)
)
)
)
local
void_addr
=
ffi
.
cast
(
"void*"
,
hook_addr
)
local
old_prot
=
ffi
.
new
(
"unsigned long[1]"
)
local
org_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
)
ffi
.
copy
(
org_bytes
,
void_addr
,
size
)
local
hook_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
,
0x90
)
hook_bytes
[
0
]
=
0xE9
ffi
.
cast
(
"uint32_t*"
,
hook_bytes
+
1
)
[
0
]
=
detour_addr
-
hook_addr
-
5
new_hook
.
call
=
ffi
.
cast
(
cast
,
hook_addr
)
new_hook
.
status
=
false
local
function
set_status
(
bool
)
new_hook
.
status
=
bool
        ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
0x40
,
old_prot
)
ffi
.
copy
(
void_addr
,
bool
and
hook_bytes
or
org_bytes
,
size
)
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
old_prot
[
0
]
,
old_prot
)
end
new_hook
.
stop
=
function
(
)
set_status
(
false
)
end
new_hook
.
start
=
function
(
)
set_status
(
true
)
end
new_hook
.
start
(
)
table
.
insert
(
hook
.
hooks
,
new_hook
)
return
setmetatable
(
new_hook
,
{
__call
=
function
(
self
,
...
)
self
.
stop
(
)
local
res
=
self
.
call
(
...
)
self
.
start
(
)
return
res
end
}
)
end
--HOOKS
local
originalErrorClientJoin
function
errorClientJoin
(
...
)
print
(
"errorClientJoin"
)
return
originalErrorClientJoin
(
...
)
end
originalErrorClientJoin
=
hook
.
new
(
"void*(__cdecl*)(void*)"
,
errorClientJoin
,
0x459550
)

А принтлог не проще?😹
 
Ответить с цитированием

  #1126  
Старый 04.08.2023, 20:26
sasha__1
Новичок
Регистрация: 09.06.2016
Сообщений: 27
Провел на форуме:
9424

Репутация: 53
По умолчанию

Цитата:
Сообщение от danivjje  

если зайти на занятый никнейм/никнейм с запрещенными символами то клиент в консоль выводит Bad nickname, это отловить как-то можно?
Lua:





Код:
function
onReceiveRPC
(
id
,
bs
)
if
id
==
130
then
print
(
'Bad nickname/online'
)
exit
(
)
end
end
 
Ответить с цитированием

  #1127  
Старый 04.08.2023, 20:51
Жоский поцик
Участник форума
Регистрация: 09.02.2023
Сообщений: 114
Провел на форуме:
20888

Репутация: 23
По умолчанию

Скажите плиз как можно сделать что бы бот зажимал W на несколько секунд?
 
Ответить с цитированием

  #1128  
Старый 05.08.2023, 02:54
F0RQU1N and
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
Провел на форуме:
456855

Репутация: 138


По умолчанию

Цитата:
Сообщение от why ega  

Да, можно, если не через пакет, так через текст в консоли (сегодня посмотрю, если получится - скину код)

upd: Вот код, хз какой пакет приходит

Lua:





Код:
local
ffi
=
require
(
"ffi"
)
--HOOKS
local
hook
=
{
hooks
=
{
}
}
registerHandler
(
"onUnload"
,
function
(
)
for
i
,
hook
in
ipairs
(
hook
.
hooks
)
do
if
hook
.
status
then
hook
.
stop
(
)
end
end
end
)
ffi
.
cdef
[[
    int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]
function
hook
.
new
(
cast
,
callback
,
hook_addr
,
size
)
jit
.
off
(
callback
,
true
)
--off jit compilation | thx FYP
local
size
=
size
or
5
local
new_hook
=
{
}
local
detour_addr
=
tonumber
(
ffi
.
cast
(
"intptr_t"
,
ffi
.
cast
(
"void*"
,
ffi
.
cast
(
cast
,
callback
)
)
)
)
local
void_addr
=
ffi
.
cast
(
"void*"
,
hook_addr
)
local
old_prot
=
ffi
.
new
(
"unsigned long[1]"
)
local
org_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
)
ffi
.
copy
(
org_bytes
,
void_addr
,
size
)
local
hook_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
,
0x90
)
hook_bytes
[
0
]
=
0xE9
ffi
.
cast
(
"uint32_t*"
,
hook_bytes
+
1
)
[
0
]
=
detour_addr
-
hook_addr
-
5
new_hook
.
call
=
ffi
.
cast
(
cast
,
hook_addr
)
new_hook
.
status
=
false
local
function
set_status
(
bool
)
new_hook
.
status
=
bool
        ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
0x40
,
old_prot
)
ffi
.
copy
(
void_addr
,
bool
and
hook_bytes
or
org_bytes
,
size
)
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
old_prot
[
0
]
,
old_prot
)
end
new_hook
.
stop
=
function
(
)
set_status
(
false
)
end
new_hook
.
start
=
function
(
)
set_status
(
true
)
end
new_hook
.
start
(
)
table
.
insert
(
hook
.
hooks
,
new_hook
)
return
setmetatable
(
new_hook
,
{
__call
=
function
(
self
,
...
)
self
.
stop
(
)
local
res
=
self
.
call
(
...
)
self
.
start
(
)
return
res
end
}
)
end
--HOOKS
local
originalErrorClientJoin
function
errorClientJoin
(
...
)
print
(
"errorClientJoin"
)
return
originalErrorClientJoin
(
...
)
end
originalErrorClientJoin
=
hook
.
new
(
"void*(__cdecl*)(void*)"
,
errorClientJoin
,
0x459550
)

А нахуя? Там разве память под протекцией?
 
Ответить с цитированием

  #1129  
Старый 05.08.2023, 07:27
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
Провел на форуме:
566977

Репутация: 3


По умолчанию

Цитата:
Сообщение от F0RQU1N and  

А нахуя? Там разве память под протекцией?
Как любой уважаемый себя луашер, спиздил код жмп хуков и не стал особо ничего менять
 
Ответить с цитированием

  #1130  
Старый 06.08.2023, 15:23
tfornik
Постоянный
Регистрация: 02.06.2022
Сообщений: 334
Провел на форуме:
68778

Репутация: 68
По умолчанию

при вызове runCommand('!reloadlua') - крашит раксамп

есть рабочее решение?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.