PDA

Просмотр полной версии : SendFakeOnfootSyncData


Cer20124
23.06.2017, 23:44
Написал в RakClient.cpp

Код:






void SendFakeOnfootSyncData(float fPos[3], float speed[3])
{
stOnFootData pSync;
memset(&pSync, 0, sizeof(stOnFootData));
BitStream bsOnfootSync;
picSync.byteHealth = 100;
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)&pSync, sizeof(stOnFootData));
g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}




В RakClient.h кинул так:

Код:






void SendFakeOnfootSyncData(float fPos[3], float speed[3]);




и так:



Код:






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;




Выдает ошибку:

E0020 идентификатор "picSync" не определен

ishi
23.06.2017, 23:52
stOnFootData pSync;





picSync

Cer20124
23.06.2017, 23:59
И куда ето пихнуть?

ishi
24.06.2017, 00:01
И куда ето пихнуть?


переименуй в объявлении с pSync на picSync

хотя не, у тебя надо все упоминания pSync заменить на picSync

Cer20124
24.06.2017, 00:01
переименуй в объявлении с pSync на picSync
хотя не, у тебя надо все упоминания pSync заменить на picSync



Понял но теперь другая проблема

Код:






Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E0135 class "stOnFootData" не содержит члена "vecPos" mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 103
Ошибка (активно) E0020 идентификатор "pSync" не определен mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 100
Ошибка (активно) E0135 class "stOnFootData" не содержит члена "vecPos" mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 104
Ошибка (активно) E0135 class "stOnFootData" не содержит члена "vecPos" mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 105
Ошибка (активно) E0135 class "stOnFootData" не содержит члена "vecMoveSpeed" mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 106
Ошибка (активно) E0135 class "stOnFootData" не содержит члена "vecMoveSpeed" mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 107
Ошибка (активно) E0135 class "stOnFootData" не содержит члена "vecMoveSpeed" mod_sa c:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 108
Ошибка C2065 pSync: необъявленный идентификатор mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 100
Ошибка C2039 vecPos: не является членом "stOnFootData" mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 103
Ошибка C2039 vecPos: не является членом "stOnFootData" mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 104
Ошибка C2039 vecPos: не является членом "stOnFootData" mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 105
Ошибка C2039 vecMoveSpeed: не является членом "stOnFootData" mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 106
Ошибка C2039 vecMoveSpeed: не является членом "stOnFootData" mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 107
Ошибка C2039 vecMoveSpeed: не является членом "stOnFootData" mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 108
Ошибка C2065 pSync: необъявленный идентификатор mod_sa C:\Users\Riko\Desktop\mod_s0beit_sa-4.4.1.2\src\RakClient.cpp 110

ishi
24.06.2017, 00:06
я не знаю что у тебя в этих файлах. если ты собирал код написанный другими кодерами, там могут быть другие названия

стоит посмотреть, что в них написано, и обращаться к тому что есть

ishi
24.06.2017, 00:10
ass "stOnFootData" не содержит члена "vecPos"


если ты брал с репозитория бластхака, то там действительно нет такого члена

C++:






struct
stOnFootData
{
uint16_t
sLeftRightKeys
;
uint16_t
sUpDownKeys
;
union
{
uint16_t
sKeys
;
struct
stSAMPKeys
stSampKeys
;
}
;
float
fPosition
[
3
]
;
float
fQuaternion
[
4
]
;
uint8_t
byteHealth
;
uint8_t
byteArmor
;
uint8_t
byteCurrentWeapon
;
uint8_t
byteSpecialAction
;
float
fMoveSpeed
[
3
]
;
float
fSurfingOffsets
[
3
]
;
uint16_t
sSurfingVehicleID
;
short
sCurrentAnimationID
;
short
sAnimFlags
;
}
;




но зато там есть fPosition



lass "stOnFootData" не содержит члена "vecMoveSpeed"


а ещё там есть fMoveSpeed, тоже вероятно что тебе это нужно

Cer20124
24.06.2017, 00:17
я не знаю что у тебя в этих файлах. если ты собирал код написанный другими кодерами, там могут быть другие названия
стоит посмотреть, что в них написано, и обращаться к тому что есть




Вот кусок на который ругается

Код:






void SendFakeOnfootSyncData(float fPos[3], float speed[3])
{
stOnFootData picSync;
memset(&picSync, 0, sizeof(stOnFootData));
BitStream bsOnfootSync;
picSync.byteHealth = 100;
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(stOnFootData));
g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
}

Cer20124
24.06.2017, 00:22
Все нашел спасибо