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

  #1  
Старый 23.02.2015, 19:40
=]D]EA[N[=
Новичок
Регистрация: 07.01.2015
Сообщений: 14
С нами: 5971588

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

Кароч, такая шняга: после компиляции собейта в игре пропали ники над игроками, вобще, просто скин бегает и все.

Пробывал поставить стандартный D3Direct9Proxy.cpp , или как там его, таже фигня =(.

Вот краш лог , может кто знает в чем дело, у кого было ?

[17:09:47.180] Base address: 0x04EC0000, SA:MP base address: 0x03C90000

[17:09:47.180] Exception at address: 0x04EEFB3D, Last function processed: end of proxyIDirect3DDevice9::BeginScene()

[17:09:47.180] Cause: EXCEPTION_ACCESS_VIOLATION

[17:09:47.180] Attempted to read from: 0x00000000

[17:09:47.180] EAX: 0x00000000 || ESI: 0x058f9fd8

[17:09:47.180] EBX: 0x00000000 || EDI: 0x00000000

[17:09:47.180] ECX: 0x05900848 || EBP: 0x0028fc6c

[17:09:47.180] EDX: 0x00000057 || ESP: 0x0028fbc4
 
Ответить с цитированием

  #2  
Старый 25.02.2015, 20:28
0pc0d3R
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами: 5987262

Репутация: 0


По умолчанию

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

Короче, у меня беда(

Помогите переделать код из сф плагина в собейт..
я сделал так

Код сф

Код:





Код:
// Weapon Crasher Plugin
// Plugin Created by 0pc0d3R
// Special thanks P3ti and Pabloko
#include 
#include 
#include 
#include 
#include "CSAMPFUNCS.h"
#include 
#include 
#include 
#include 
#pragma warning (disable:4700)
////////////////////////////////////////////////////
CSAMPFUNCS *SF = new CSAMPFUNCS();
///////////////////////////////////////////////////
bool weapon_crasher = false;
///////////////////////////////////////////////////////////////////////////////////////////////////////////
float random_float(float a, float b)
{
    float random = ((float) rand()) / (float) RAND_MAX;
    float diff = b - a;
    float r = random * diff;
    return a + r;
}
int random(int min, int max)
{
   return (rand() % (max - min+1) + min);
}
bool CALLBACK AntiCrasher(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_AIM_SYNC)
    {
        stAimData AIM;
        unsigned short PlayerID;
        params->bitStream->IgnoreBits(8);
        params->bitStream->Read(PlayerID);
        params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData));
        if (AIM.byteCamMode == 53 && ((AIM.vecAimPos[2] > 7000.0 || AIM.vecAimPos[2]  9.9f)))
        {
            memset(&AIM, 0, sizeof(stAimData));
            byte Packet;
            params->bitStream->ResetReadPointer();
            params->bitStream->Read(Packet);
            params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData));
            params->bitStream->ResetReadPointer();
            AIM.vecAimPos[2] = 0.f;
            AIM.byteCamMode = 53;
            AIM.byteWeaponState = 2;
            params->bitStream->ResetWritePointer();
            params->bitStream->Write(Packet);
            params->bitStream->Write((PCHAR)&AIM, sizeof(stAimData));
            static byte flood_delay = 0;
            time_t now = time(0);
            tm *ltm = localtime(&now);
            static time_t tts;
            if (flood_delay == 0)
            {
                SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 160, 134), "%s пытается крашнуть вас вепон крашером!",
                SF->getSAMP()->getPlayers()->GetPlayerName(PlayerID));
                flood_delay += 7;
                tts = ltm->tm_sec;
            }
            else
            {
                if (ltm->tm_sec != tts)
                {
                    --flood_delay;
                    tts = ltm->tm_sec;
                }
            }
        }
    }
    return true;
};
void SendFakeAimSync(stRakNetHookParams *params)
{
    stAimData AIM;
    memset(&AIM, 0, sizeof(stAimData));
    byte Packet;
    params->bitStream->ResetReadPointer();
    params->bitStream->Read(Packet);
    params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData));
    params->bitStream->ResetReadPointer();
    AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3;
    AIM.byteCamMode = 53;
    AIM.byteWeaponState = 2;
    params->bitStream->ResetWritePointer();
    params->bitStream->Write(Packet);
    params->bitStream->Write((PCHAR)&AIM, sizeof(stAimData));
};
bool CALLBACK AimingSync(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_AIM_SYNC)
    {
        if (weapon_crasher == true)
        {
            stAimData AIM;
            memset(&AIM, 0, sizeof(stAimData));
            byte Packet;
            params->bitStream->ResetReadPointer();
            params->bitStream->Read(Packet);
            params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData));
            params->bitStream->ResetReadPointer();
            AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3;
            AIM.byteCamMode = 53;
            AIM.byteWeaponState = 2;
            params->bitStream->ResetWritePointer();
            params->bitStream->Write(Packet);
            params->bitStream->Write((PCHAR)&AIM, sizeof(stAimData));
            byte localware = 0;
            do
            {
                SendFakeAimSync(params);
                ++localware;
            }
            while (localware != 10);
        }
    }
    return true;
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CALLBACK PerformCommand(std::string param)
{
    if (weapon_crasher == false)
    {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 163, 82), "Weapon Crasher activated.");
        weapon_crasher = true;
    }
    else
    {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 163, 163), "Weapon Crasher disactivated.");
        weapon_crasher = false;
    }
};
////////////////////////////////////////////////////////////////////////////////////////////////////
void CALLBACK mainloop( void )
{
    static bool init = false;
    if( !init )
    {
        if( !SF->getSAMP()->IsInitialized() )
            return;
        SF->getSAMP()->registerChatCommand("wepcrasher", PerformCommand);
        SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_PACKET, AimingSync);
        SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_PACKET, AntiCrasher);
        SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 0, 82, 163 ), "Weapon Crasher plugin by 0pc0d3R loaded.");
        init = true;
    }
}
////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved )
{/////
    switch ( dwReasonForCall )
    {
    case DLL_PROCESS_ATTACH:  
        SF->initPlugin( mainloop, hModule );
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}


Код в соб...

Код:





Код:
bool cheat_handle_crasher( BitStream * bitStream )
{
    traceLastFunc( "cheat_handle_crasher(BitStream)" );

    BYTE packetId;
    bitStream->Read(packetId);

    stAimData AIM;
    memset(&AIM, 0, sizeof(stAimData));
    byte Packet;
    bitStream->ResetReadPointer();
    bitStream->Read(Packet);
    bitStream->Read((PCHAR)&AIM, sizeof(stAimData));
    bitStream->ResetReadPointer();
    AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3;
    AIM.byteCamMode = 53;
    AIM.byteWeaponState = 2;
    bitStream->ResetWritePointer();
    bitStream->Write(Packet);
    bitStream->Write((PCHAR)&AIM, sizeof(stAimData));
 
    if (cheat_state->_generic.wepcrasher == 1)
        {
            stAimData AIM;
            memset(&AIM, 0, sizeof(stAimData));
            byte Packet;
            bitStream->ResetReadPointer();
            bitStream->Read(Packet);
            bitStream->Read((PCHAR)&AIM, sizeof(stAimData));
            bitStream->ResetReadPointer();
            AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3;
            AIM.byteCamMode = 53;
            AIM.byteWeaponState = 2;
            bitStream->ResetWritePointer();
            bitStream->Write(Packet);
            bitStream->Write((PCHAR)&AIM, sizeof(stAimData));
            byte localware = 0;
            do
            {
                BitStream(bitStream);
                ++localware;
            }
            while (localware != 10);
        }
    return true;
}


Не работает... Что я сделал не так?
Да вырежи его из исходников лапирулы и не парся.

И да там не нужен тот цикл, я затупил и 10 раз переписывал пакет перед отправкой, оно конечно то работает но а нах надо
 
Ответить с цитированием

  #3  
Старый 25.02.2015, 20:45
0pc0d3R
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами: 5987262

Репутация: 0


По умолчанию

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

Он в лапилуре по ходу не работает... А в твоем плагине работает
там считай такой же самый, всё там работает.
 
Ответить с цитированием

  #4  
Старый 25.02.2015, 21:33
0pc0d3R
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами: 5987262

Репутация: 0


По умолчанию

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

Еще у меня к тебе вопрос, у меня в собе, нету пространства имен RakNet. Что делать? Если я копирую код из лапилуры, то много неизвестной ***ни... Что делать?
ну там ракнет не в одном файле, на сколько помню iRakClient.cpp, iRakClient.h, RakNetHooked и так далее.
 
Ответить с цитированием

  #5  
Старый 01.03.2015, 22:37
itsLegend
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами: 6915558

Репутация: 183


По умолчанию

Прям ваще не работает?

Даже /take не срабатывает? Может быть тогда дело в том, что 1 отправки пакета недостаточно?

И у тебя тут ошибка, action здесь никогда не будет равен 2.
 
Ответить с цитированием

  #6  
Старый 02.03.2015, 00:10
itsLegend
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами: 6915558

Репутация: 183


По умолчанию

А ты уверен, что этот кусок кода вообще выполняется?
 
Ответить с цитированием

  #7  
Старый 05.03.2015, 22:33
dimoz
Новичок
Регистрация: 13.12.2020
Сообщений: 0
С нами: 2851002

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

Народ, есть идеи по поводу того, как запретить игроку стрелять и прокручивать оружие? (SF API)

Пробовал хукать WM_MOUSEWHEEL и возвращать false в wndproc, ничего не получается.
 
Ответить с цитированием

  #8  
Старый 05.03.2015, 22:36
0pc0d3R
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами: 5987262

Репутация: 0


По умолчанию

Расскажите пожалуйста как работать с клиентскими диалогами. Например у меня есть диалог лист, как узнать что я кликнул по одному из пунктов, коллбэк же вроде только на серверные.
 
Ответить с цитированием

  #9  
Старый 09.03.2015, 17:26
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Как лучше выходить через С++ в БД MySQL и работать дальше с ней. Через API MySQL , или есть что то более лучшее?
 
Ответить с цитированием

  #10  
Старый 09.03.2015, 18:35
0pc0d3R
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами: 5987262

Репутация: 0


По умолчанию

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

Как лучше выходить через С++ в БД MySQL и работать дальше с ней. Через API MySQL , или есть что то более лучшее?
Для MySQL только API -__- Может ты имел ввиду другие субд, типо PostgreSQL, SQL и тд?
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.