
23.02.2015, 19:40
|
|
Новичок
Регистрация: 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
|
|
|

25.02.2015, 20:28
|
|
Постоянный
Регистрация: 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 раз переписывал пакет перед отправкой, оно конечно то работает но а нах надо 
|
|
|

25.02.2015, 20:45
|
|
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами:
5987262
Репутация:
0
|
|
Сообщение от slonoboyko
Он в лапилуре по ходу не работает... А в твоем плагине работает
там считай такой же самый, всё там работает.
|
|
|

25.02.2015, 21:33
|
|
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами:
5987262
Репутация:
0
|
|
Сообщение от slonoboyko
Еще у меня к тебе вопрос, у меня в собе, нету пространства имен RakNet. Что делать? Если я копирую код из лапилуры, то много неизвестной ***ни... Что делать?
ну там ракнет не в одном файле, на сколько помню iRakClient.cpp, iRakClient.h, RakNetHooked и так далее.
|
|
|

01.03.2015, 22:37
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Прям ваще не работает?
Даже /take не срабатывает? Может быть тогда дело в том, что 1 отправки пакета недостаточно?
И у тебя тут ошибка, action здесь никогда не будет равен 2.
|
|
|

02.03.2015, 00:10
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
А ты уверен, что этот кусок кода вообще выполняется?
|
|
|

05.03.2015, 22:33
|
|
Новичок
Регистрация: 13.12.2020
Сообщений: 0
С нами:
2851002
Репутация:
0
|
|
Народ, есть идеи по поводу того, как запретить игроку стрелять и прокручивать оружие? (SF API)
Пробовал хукать WM_MOUSEWHEEL и возвращать false в wndproc, ничего не получается.
|
|
|

05.03.2015, 22:36
|
|
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами:
5987262
Репутация:
0
|
|
Расскажите пожалуйста как работать с клиентскими диалогами. Например у меня есть диалог лист, как узнать что я кликнул по одному из пунктов, коллбэк же вроде только на серверные.
|
|
|

09.03.2015, 17:26
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Как лучше выходить через С++ в БД MySQL и работать дальше с ней. Через API MySQL , или есть что то более лучшее?
|
|
|

09.03.2015, 18:35
|
|
Постоянный
Регистрация: 27.12.2014
Сообщений: 550
С нами:
5987262
Репутация:
0
|
|
Сообщение от Ink
Как лучше выходить через С++ в БД MySQL и работать дальше с ней. Через API MySQL , или есть что то более лучшее?
Для MySQL только API -__- Может ты имел ввиду другие субд, типо PostgreSQL, SQL и тд?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|