Обнови адресса все, а так же структуры.Здравствуйте, подскажете пожалуйста как перевести собейт с SA:MP 0.3z на SA:MP 0.3.7
Подскажи в каких файлах надо обновлять?Обнови адресса все, а так же структуры.
samp.cpp в первую очередь.Подскажи в каких файлах надо обновлять?
Это что вот так #define FUNC_SPAWN 0x36D0 Это на это заменять 0x36A0samp.cpp в первую очередь.
Как все на 0.3.7 перейдут, потом через какое то время адресса выложат если сам не умеешь.Это что вот так #define FUNC_SPAWN 0x36D0 Это на это заменять 0x36A0
g_SAMP->
void SendFakeOnfootSyncData(float fPos[3], float Health, int byteCurrentWeapon, float speed[3])
{
ONFOOT_SYNC_DATA picSync;
memset(&picSync, 0, sizeof(ONFOOT_SYNC_DATA));
::BitStream bsOnfootSync;
picSync.byteHealth = Health;
picSync.byteCurrentWeapon = byteCurrentWeapon;
picSync.vecPos[0] = fPos[0];
picSync.vecPos[1] = fPos[1];
picSync.vecPos[2] = fPos[2];
picSync.vecMoveSpeed[0] = speed[0];
picSync.vecMoveSpeed[1] = speed[1];
picSync.vecMoveSpeed[2] = speed[2];
bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
bsOnfootSync.Write((PCHAR)&picSync,sizeof(ONFOOT_SYNC_DATA));
g_SAMP->pRakClientInterface->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}
Ошибка 1 error C2227: выражение слева от "->Send" должно указывать на тип класса, структуры или объединения либо на универсальный тип C:\Users\Денис\Desktop\Новая папка\mod_s0beit_sa-master\src\RakClient.cpp 94 1 mod_sa
::BitStream bsOnfootSync;
RakNet::BitStream bsOnfootSync;
pRakClientInterface->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
SendFakeOnfootSyncData индефикатор не определен
Да все сделал.А в RakClient.h ?
Покажи сигнатуру определения.Скажите почему всегда ошибка типо
Хотя я его в RakClient определялКод:SendFakeOnfootSyncData индефикатор не определен
В РакКлиент.кппПокажи сигнатуру определения.
void SendFakeOnfootSyncData(float fPos[3], float Health, int byteCurrentWeapon, float speed[3])
{
ONFOOT_SYNC_DATA picSync;
memset(&picSync, 0, sizeof(ONFOOT_SYNC_DATA));
BitStream bsOnfootSync;
picSync.byteHealth = Health;
picSync.byteCurrentWeapon = byteCurrentWeapon;
picSync.vecPos[0] = fPos[0];
picSync.vecPos[1] = fPos[1];
picSync.vecPos[2] = fPos[2];
picSync.vecMoveSpeed[0] = speed[0];
picSync.vecMoveSpeed[1] = speed[1];
picSync.vecMoveSpeed[2] = speed[2];
bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
bsOnfootSync.Write((PCHAR)&picSync,sizeof(ONFOOT_SYNC_DATA));
g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}
typedef struct _ONFOOT_SYNC_DATA
{
#pragma pack ( 1 )
WORD lrAnalog;
WORD udAnalog;
WORD wKeys;
float vecPos[3];
float fQuaternion[4];
BYTE byteHealth;
BYTE byteArmour;
BYTE byteCurrentWeapon;
BYTE byteSpecialAction;
float vecMoveSpeed[3];
float vecSurfOffsets[3];
WORD wSurfInfo;
int iCurrentAnimationID;
} ONFOOT_SYNC_DATA;
void SendFakeOnfootSyncData(float fPos[3], float speed[3]);
Я так и делаю, но в любом случае выдает ошибкуКороче, ты как функу вызываешь?
Вызывай так
g_RakClient->SendFakeOnfootSyncData(Бла, Бла, Бла)
Можно изменить исходящий пакет (sKeys), либо использовать 0xB73458 + оффсет игровых клавишКак эмулировать нажатие игровой клавиши? Тип игровое действие. Там через память над, или как?
void cheat_handle_gotocheck(){
if( cheat_state->_generic.gotocheck == 1 )
{
for(int i=0; i <= 32; i++) {
float x = *(float *)(0xC7DD58+48+160*i);
float y = *(float *)(0xC7DD58+52+160*i);
float z = *(float *)(0xC7DD58+56+160*i);
if((x > 2695 && x < 2696 && y > -1705 && y < -1704) || (x > 1099 && x < 1100 && y > 1601 && y < 1602) || (x == 0 && y == 0) || *(WORD *)(0xC7DD58+80+160*i) != 1) continue;
else {
float pos[3] = {x,y,z+1};
cheat_teleport(pos,0);
Sleep(9000);
{
return;
}
}
}
}
}