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

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

Репутация: 3


По умолчанию

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

Почему игра может вылетать?

deletee:





Код:
void
deletee
(
const
char
*
params
)
{
auto
id
=
atoi
(
params
)
;
sampapi
::
v037r3
::
RefNetGame
(
)
->
GetPlayerPool
(
)
->
GetPlayer
(
id
)
->
Remove
(
)
;
}

я бы добавил обработчик исключений для atoi + добавил проверку на то, что игрок с таким id существует
 
Ответить с цитированием

  #7382  
Старый 19.10.2024, 00:10
Nexter1
Познающий
Регистрация: 21.08.2021
Сообщений: 34
С нами: 2489933

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

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

я бы добавил обработчик исключений для atoi + добавил проверку на то, что игрок с таким id существует
Да именно крашит когда существующий ид игрока (в зоне стрима) ввожу. Если игрока нет в зоне стрима - ничего не происходит.
 
Ответить с цитированием

  #7383  
Старый 19.10.2024, 04:06
maksmanus228
Участник форума
Регистрация: 23.10.2020
Сообщений: 135
С нами: 2925217

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

Крашит при вызове RefNetGame::GetRakClient, имеется rce фикс, самп р3
 
Ответить с цитированием

  #7384  
Старый 19.10.2024, 04:42
Lance_Sterling
Познавший АНТИЧАТ
Регистрация: 12.01.2023
Сообщений: 1,016
С нами: 1757019

Репутация: 88


По умолчанию

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

Крашит при вызове RefNetGame::GetRakClient, имеется rce фикс, самп р3
Покажи код
 
Ответить с цитированием

  #7385  
Старый 19.10.2024, 06:11
maksmanus228
Участник форума
Регистрация: 23.10.2020
Сообщений: 135
С нами: 2925217

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

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

Покажи код
Код:
RakNet::BitStream stream {};
    stream.Write("hui");
    GetRefGame()->GetRakClient()->Send(&stream, HIGH_PRIORITY, RELIABLE_ORDERED, 0);
пишет что адрес памяти 0x2C недоступен
 
Ответить с цитированием

  #7386  
Старый 20.10.2024, 16:08
Nexter1
Познающий
Регистрация: 21.08.2021
Сообщений: 34
С нами: 2489933

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

Как можно в sampapi выключить коллизию у объекта? (определенного по id) в cobject не нашел ничего связанного с этим
 
Ответить с цитированием

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

Репутация: 3


По умолчанию

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

Как можно в sampapi выключить коллизию у объекта? (определенного по id) в cobject не нашел ничего связанного с этим
CObject наследуется от CEntity, то есть имеет все его поля

SAMP-API/include/sampapi/0.3.7-R3-1/CEntity.h at 6d4db99ab41f19d1a6a7c6cd48f5878bd1e14b62 · BlastHackNet/SAMP-API

A library for interacting with functions, classes and structures of SA-MP client - BlastHackNet/SAMP-API

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

  #7388  
Старый 23.10.2024, 16:14
Smeruxa
Познавший АНТИЧАТ
Регистрация: 27.11.2020
Сообщений: 1,431
С нами: 2874035

Репутация: 183


По умолчанию

Почему крашит при использовании?

C++:





Код:
sampapi
::
v037r1
::
RefNetGame
(
)
->
GetPlayerPool
(
)
->
GetLocalPlayer
(
)
->
m_onfootData
.
m_controllerState
.
m_bRightShoulder1


Это в условие сую, как я понял, плагин вызывает краш на этапе с GetLocalPlayer

Криво косо что-то попытался сделать так sampapi::v037r1::CLocalPlayer* localPlayer = *(sampapi::v037r1::CLocalPlayer**)0xB6F5F0;

Но не срабатывало, хоть краш и пропал 😅
 
Ответить с цитированием

  #7389  
Старый 01.11.2024, 14:42
maksmanus228
Участник форума
Регистрация: 23.10.2020
Сообщений: 135
С нами: 2925217

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

добрый день, у меня есть новая функция UpdateNetwork (пока что переписанная с idb сампа) и у меня крашит игра при попытке прописать packet->data

вот код

Код:

Код:
void __fastcall SSmpPackets::UpdateNetwork(CNetGame* game, void* edx)
{
    Packet* packet = nullptr;
    uint8_t* localdata = nullptr;
    uint8_t state {};
    for(packet = game->m_pRakClient->Receive(); packet; packet = game->m_pRakClient->Receive())
    {
        localdata = packet->data;
        
        if(*localdata == 40) state = localdata[5];
        switch(state)
        {   
            case 12:
                game->Packet_AuthKey(packet);
                break;
            case 29:
            {
                AddDebugMessage("The server didn't respond. Retrying..");
                game->m_nGameState = 1;
                break;
            }
            case 31:
            {
                AddDebugMessage("The server didn't respond. Retrying..");
                break;
            }
            case 32:
                game->Packet_DisconnectionNotification(packet);
                break;
            case 33:
                game->Packet_ConnectionLost(packet);
                break;
            case 34:
                game->Packet_ConnectionSucceeded(packet);
                break;
            case 35:
                AddDebugMessage("Failed to initialize encryption.");
                break;
            case 36:
                AddDebugMessage("You are banned from this server.");
                break;
            case 37:
            {
                AddDebugMessage("Wrong server password.");
                game->m_pRakClient->Disconnect(0, 0);
                break;
            }
            case 200:
                game->Packet_VehicleSync(packet);
                break;
            case 203:
                game->Packet_AimSync(packet);
                break;
            case 206:
                game->Packet_BulletSync(packet);
                break;
            case 207:
                game->Packet_PlayerSync(packet);
                break;
            case 208:
                game->Packet_MarkersSync(packet);
                break;
            case 209:
                game->Packet_UnoccupiedSync(packet);
                break;
            case 210:
                game->Packet_TrailerSync(packet);
                break;
            case 211:
                game->Packet_PassengerSync(packet);
                break;
            default: break;
        }
        game->m_pRakClient->DeallocatePacket(packet);
    }
}



В чем может быть дело? структура Packet взяты из этого репозитория:


рак нет для сампа

и еще: работает ли правильно структура Packet2 от этого же репозитория
 
Ответить с цитированием

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

Репутация: 3


По умолчанию

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

m_pRakClient->Receive
может возвращать nullptr, поэтому проверяй, что пакет и дата в нем указывают на данные
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...