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

  #1  
Старый 25.03.2024, 20:07
chromiusj
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами: 2505538

Репутация: 133


По умолчанию

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

как в sampapi создается команда? дайте самый простой пример плз
Другое - С/С++ Вопрос - Ответ

enum test { one = 1, two = 2 }; Подскажите пожалуйста, как вывести "one" или "two" std::cout

www.blast.hk
 
Ответить с цитированием

  #2  
Старый 25.03.2024, 20:13
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

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

Другое - С/С++ Вопрос - Ответ

enum test { one = 1, two = 2 }; Подскажите пожалуйста, как вывести "one" или "two" std::cout

www.blast.hk

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

C++:





Код:
if
(
SampVersion
==
1
)
sampapi
::
v037r1
::
RefInputBox
(
)
->
AddCommand
(
"test"
,
ActivateCommand
)
;

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

  #3  
Старый 25.03.2024, 20:08
Vintik
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами: 4598023

Репутация: 183


По умолчанию

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

как в sampapi создается команда? дайте самый простой пример плз
C++:





Код:
if
(
SampVersion
==
1
)
sampapi
::
v037r1
::
RefInputBox
(
)
->
AddCommand
(
"test"
,
ActivateCommand
)
;
 
Ответить с цитированием

  #4  
Старый 27.03.2024, 17:09
vmprotect
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами: 2453766

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

как заменять лоадинг скрин через хук
 
Ответить с цитированием

  #5  
Старый 27.03.2024, 18:08
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

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

как заменять лоадинг скрин через хук
иди в сторону функции CLoadingScreen::LoadSplashes, которая загружает txd в память -
Код:
0x5900B0
 
Ответить с цитированием

  #6  
Старый 27.03.2024, 18:28
vmprotect
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами: 2453766

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

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

иди в сторону функции CLoadingScreen::LoadSplashes, которая загружает txd в память -
Код:
0x5900B0
а где можно чекать эти функции?
 
Ответить с цитированием

  #7  
Старый 27.03.2024, 18:42
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

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

а где можно чекать эти функции?
база для IDA, собранная другими людьми. одну из таких можно скачать из дискордканала plugin sdk. либо вотбаза, которой пользуюсь я (скорее всего она является первой же)
 
Ответить с цитированием

  #8  
Старый 28.03.2024, 11:40
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

У меня есть проект с такой структурой:

src/

├── hooks.hpp

├── hooks.cpp

├── patch.hpp

├── patch.cpp

├── network.hpp

├── network.cpp

├── main.hpp

└── main.cpp

Как я могу грамотно организовать получение основного класса Plugin в остальных классах, которые находятся в одноименных файлах?

C++:





Код:
#ifndef MAIN_HPP
#define MAIN_HPP
#include 
#include "sampapi/sampapi.h"
#include "hooks.hpp"
#include "patch.hpp"
#include "network.hpp"
class
Plugin
{
public
:
Plugin
(
)
;
~
Plugin
(
)
;
void
Initialize
(
)
;
// Инициализация указателей происходит в методах клсса Plugin
Patch
*
patch
;
Hooks
*
hooks
;
Network
*
network
;
//
std
::
uintptr_t SAMPHandle
;
std
::
vector

accessories
;
bool
isKeyDown
=
false
;
}
plugin
;
#endif


Покажу на примере класса Network (network.hpp):

C++:





Код:
#ifndef NETWORK_HPP
#define NETWORK_HPP
#include "rakhook/rakhook.hpp"
#include "sampapi/CPlayerPool.h"
class
Network
{
private
:
static
const
char
*
clientVersion
;
// Необходимо как-либо получить доступ к объявлению класса Plugin
Plugin
*
plugin
;
public
:
Network
(
Plugin
*
plugin
)
;
~
Network
(
)
;
bool
OnSendRPC
(
std
::
int32_t
&
id
,
RakNet
::
BitStream
*
bs
,
PacketPriority
&
priority
,
PacketReliability
&
reliability
,
char
&
orderingChannel
,
bool
&
sh_timestamp
)
;
bool
OnReceiveRPC
(
std
::
uint8_t
&
id
,
RakNet
::
BitStream
*
bs
)
;
}
;
#endif
 
Ответить с цитированием

  #9  
Старый 28.03.2024, 13:22
F0RQU1N and
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами: 4012500

Репутация: 138


По умолчанию

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

У меня есть проект с такой структурой:
src/
├── hooks.hpp
├── hooks.cpp
├── patch.hpp
├── patch.cpp
├── network.hpp
├── network.cpp
├── main.hpp
└── main.cpp

Как я могу грамотно организовать получение основного класса Plugin в остальных классах, которые находятся в одноименных файлах?

C++:





Код:
#ifndef MAIN_HPP
#define MAIN_HPP
#include 
#include "sampapi/sampapi.h"
#include "hooks.hpp"
#include "patch.hpp"
#include "network.hpp"
class
Plugin
{
public
:
Plugin
(
)
;
~
Plugin
(
)
;
void
Initialize
(
)
;
// Инициализация указателей происходит в методах клсса Plugin
Patch
*
patch
;
Hooks
*
hooks
;
Network
*
network
;
//
std
::
uintptr_t SAMPHandle
;
std
::
vector

accessories
;
bool
isKeyDown
=
false
;
}
plugin
;
#endif


Покажу на примере класса Network (network.hpp):

C++:





Код:
#ifndef NETWORK_HPP
#define NETWORK_HPP
#include "rakhook/rakhook.hpp"
#include "sampapi/CPlayerPool.h"
class
Network
{
private
:
static
const
char
*
clientVersion
;
// Необходимо как-либо получить доступ к объявлению класса Plugin
Plugin
*
plugin
;
public
:
Network
(
Plugin
*
plugin
)
;
~
Network
(
)
;
bool
OnSendRPC
(
std
::
int32_t
&
id
,
RakNet
::
BitStream
*
bs
,
PacketPriority
&
priority
,
PacketReliability
&
reliability
,
char
&
orderingChannel
,
bool
&
sh_timestamp
)
;
bool
OnReceiveRPC
(
std
::
uint8_t
&
id
,
RakNet
::
BitStream
*
bs
)
;
}
;
#endif

всм просто инклудни main.hpp в network
 
Ответить с цитированием

  #10  
Старый 28.03.2024, 13:32
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

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

всм просто инклудни main.hpp в network
в таком случае получаю подобную шнягу

 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.