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

  #1  
Старый 11.05.2013, 16:08
im0rg
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами: 6920791

Репутация: 113


По умолчанию

Всем привет это опять урок по RakClient FYP'a
1-й пакет который разберем SendDeath

Код:





Код:
if (KEY_DOWN('8') && KEY_DOWN('9'))
{
    ///////////////////////////////////////////
    /////////////////1-й способ//////////////////////////
    ///////////////////////////////////////////
    BitStream bsDeath;
 
    bsDeath.Write( reason );
    bsDeath.Write( killerId );
    g_RakClient->RPC( RPC_Death, &bsDeath );
    ///////////////////////////////////////////
    ////////////////2-й способ///////////////////////////
    ///////////////////////////////////////////
    g_RakClient->SendDeath( killerId , reason );
}




if (KEY_DOWN('8') && KEY_DOWN('9')) ////Для тех кто в танке тут я написал активацию на 2 кнопки 8 и 9

{

/// С помощью этого можно сделать Fake Kill

/// reason (причина) это оружие допустим rand()%45 будет рандомное оружие в пределе45

/// kileridэто ид убийцы это можно сделать циклом и проверкой на существование игрока

/// Ну и отправка самого пакета

///////////////////////////////////////////

/////////////////1-й способ//////////////////////////

///////////////////////////////////////////

BitStream bsDeath;////Регистрируем пакет

bsDeath.Write( reason );///Тут напишите ID оружия или как я уже говорил рандом

bsDeath.Write( killerId );///Здесь ID убийцы можно циклом

g_RakClient->RPC( RPC_Death, &bsDeath ); /// В этом случае мы используемRPCпакет RPC_Death который равен 12

///////////////////////////////////////////

////////////////2-й способ///////////////////////////

///////////////////////////////////////////

g_RakClient->SendDeath( killerId , reason ); /// А тут мы отправляем готовую функцию

////Примечание g_RakClient->SendDeath( killerId , reason ); это нужно отправлять только такой строчкой

}

2-й пакет который разберем SendPickup

Код:





Код:
if (KEY_DOWN('8') && KEY_DOWN('9'))
{
 
    ///////////////////////////////////////////
    /////////////////1-й способ/////////////////////////
    ///////////////////////////////////////////
 
    BitStream bsPickup;
 
    bsPickup.Write( pickupId );
 
    g_RakClient->RPC( RPC_PickedUpPickup, &bsPickup );
    ///////////////////////////////////////////
    ////////////////2-й способ///////////////////////////
    ///////////////////////////////////////////
    g_RakClient->SendPickUp( int pickupId );
}




{

////Этот пакет даже проще чем предыдущий

//// Он принимает всего 1 аргумент

///////////////////////////////////////////

////////////////1-й способ///////////////////////////

///////////////////////////////////////////

BitStream bsPickup;

bsPickup.Write( pickupId );//// pickupId это ид пикапа который мы собираемся подбирать

g_RakClient->RPC( RPC_PickedUpPickup, &bsPickup );///Ну и сама отправка

///////////////////////////////////////////

////////////////2-й способ///////////////////////////

///////////////////////////////////////////

g_RakClient->SendPickUp( int pickupId ); /// А тут мы отправляем готовую функцию

////Примечание g_RakClient->SendPickUp( int pickupId ); это нужно отправлять только такой строчкой

}

3-й пакет который разберем SendFakeOnfootSyncData

Код:





Код:
stOnfootData sync;
memset(&sync, 0, sizeof(stOnfootData));
BitStream bsOnfootSync;
sync.byteHealth = Health;
 
sync.byteCurrentWeapon = byteCurrentWeapon;
sync.vecPos[0] = fPos[0];
 
sync.vecPos[1] = fPos[1];
sync.vecPos[2] = fPos[2];
 
sync.vecMoveSpeed[0] = speed[0];
sync.vecMoveSpeed[1] = speed[1];
sync.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);




stOnfootData sync; ///Объявляем синхру

memset(&sync, 0, sizeof(stOnfootData)); ////Указываем ей размер

BitStream bsOnfootSync; ///Объявляем пакет

sync.byteHealth = Health; ///Вот тут устанавливается ХП игроку

///Если мы используем еще

///struct actor_info *self = actor_info_get( ACTOR_SELF, ACTOR_ALIVE );

///То можно написать так

///sync.byteHealth = self->hitpoints; в таком случаее

///Будет устанавливать хп столько сколько у нас было

sync.byteCurrentWeapon = byteCurrentWeapon;///Это оружие аналогично ХП

///Можно записать sync.byteCurrentWeapon = self->weapon;

sync.vecPos[0] = fPos[0];///Это позиция можно создать масив с позицеей игрока

///И тащить от туда позицию, а можно

sync.vecPos[1] = fPos[1];

sync.vecPos[2] = fPos[2];

///Записать позицию так

///vect3_copy(&self->base.matrix[12], sync.vecPos);

/// И уже использовать sync.vecPos[2] += 0.0012; это позиция поZ координате

sync.vecMoveSpeed[0] = speed[0];

sync.vecMoveSpeed[1] = speed[1];

sync.vecMoveSpeed[2] = speed[2];

///Со скоростью работа аналогична

///vect3_copy(&self->base.matrix[12], sync.vecMoveSpeed);

/// self->speed[2] += 10; это разгонит перса по Z координате

///Можете найти у меня в уроках как использовать разгон в сторону камеры

bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);///Тут мы говорим то что используем

///PLAYER_SYNC

bsOnfootSync.Write((PCHAR)&picSync,sizeof(stOnfoot Data)); ////Ну и все упаковываем

////Все это в пакет

g_RakClient->Send(&bsOnfootSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);

///И отправляем

С вами былJesus, урок написан по просьбе RickAstley

Специально для сайта BlastHack.Net

При копировании указывать источникBlastHack.Net
 
Ответить с цитированием

  #2  
Старый 11.05.2013, 18:52
RickAstley
Участник форума
Регистрация: 19.03.2013
Сообщений: 144
С нами: 6921041

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

Подскажи плизз куда это вставлять????

у меня ошибки( в последнем коде

Код:





Код:
1>cheat_generic.cpp(1321): warning C4101: 'temp' : unreferenced local variable
1>cheat_generic.cpp(1338): warning C4018: '>' : signed/unsigned mismatch
1>cheat_generic.cpp(1388): warning C4018: '>' : signed/unsigned mismatch
1>cheat_generic.cpp(1455): error C2065: 'stOnfootData' : undeclared identifier
1>cheat_generic.cpp(1455): error C2146: syntax error : missing ';' before identifier 'sync'
1>cheat_generic.cpp(1455): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1456): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1456): error C2065: 'stOnfootData' : undeclared identifier
1>cheat_generic.cpp(1456): error C2070: ''unknown-type'': illegal sizeof operand
1>cheat_generic.cpp(1458): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1458): error C2228: left of '.byteHealth' must have class/struct/union
1>          type is ''unknown-type''
1>cheat_generic.cpp(1458): error C2065: 'Health' : undeclared identifier
1>cheat_generic.cpp(1460): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1460): error C2228: left of '.byteCurrentWeapon' must have class/struct/union
 
Ответить с цитированием

  #3  
Старый 11.05.2013, 18:53
im0rg
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами: 6920791

Репутация: 113


По умолчанию

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

Подскажи плизз куда это вставлять????
у меня ошибки( в последнем коде

Код:





Код:
1>cheat_generic.cpp(1321): warning C4101: 'temp' : unreferenced local variable
1>cheat_generic.cpp(1338): warning C4018: '>' : signed/unsigned mismatch
1>cheat_generic.cpp(1388): warning C4018: '>' : signed/unsigned mismatch
1>cheat_generic.cpp(1455): error C2065: 'stOnfootData' : undeclared identifier
1>cheat_generic.cpp(1455): error C2146: syntax error : missing ';' before identifier 'sync'
1>cheat_generic.cpp(1455): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1456): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1456): error C2065: 'stOnfootData' : undeclared identifier
1>cheat_generic.cpp(1456): error C2070: ''unknown-type'': illegal sizeof operand
1>cheat_generic.cpp(1458): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1458): error C2228: left of '.byteHealth' must have class/struct/union
1>          type is ''unknown-type''
1>cheat_generic.cpp(1458): error C2065: 'Health' : undeclared identifier
1>cheat_generic.cpp(1460): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1460): error C2228: left of '.byteCurrentWeapon' must have class/struct/union

Ты его можешь и cheat_generic.cpp вставить и в samp.cpp. А ошибки как я понял у тебя stOnfootData не нашло
 
Ответить с цитированием

  #4  
Старый 11.05.2013, 18:57
RickAstley
Участник форума
Регистрация: 19.03.2013
Сообщений: 144
С нами: 6921041

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

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

у тебя stOnfootData не нашло
Но я ведь его указывал вроде бы!( вот весь код

Код:





Код:
void SendFakeOnfootSyncData ( float coord[3], float speed[3] ) 
{ 
stOnfootData sync;
memset(&sync, 0, sizeof(stOnfootData));
BitStream bsOnfootSync;
sync.byteHealth = Health;
 
sync.byteCurrentWeapon = byteCurrentWeapon;
sync.vecPos[0] = fPos[0];
 
sync.vecPos[1] = fPos[1];
sync.vecPos[2] = fPos[2];
 
sync.vecMoveSpeed[0] = speed[0];
sync.vecMoveSpeed[1] = speed[1];
sync.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);
}
 
Ответить с цитированием

  #5  
Старый 11.05.2013, 18:58
im0rg
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами: 6920791

Репутация: 113


По умолчанию

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

Подскажи плизз куда это вставлять????
у меня ошибки( в последнем коде
Смотри

Это







Код:





Код:
stOnfootData


замени на







Код:





Код:
ONFOOT_SYNC_DATA


И в RakClient.h в самый низ добавь

Код:





Код:
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;
 
Ответить с цитированием

  #6  
Старый 11.05.2013, 19:01
RickAstley
Участник форума
Регистрация: 19.03.2013
Сообщений: 144
С нами: 6921041

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

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

Смотри
Это







Код:





Код:
stOnfootData


замени на







Код:





Код:
ONFOOT_SYNC_DATA


И в RakClient.h в самый низ добавь
Отлично, сделал, теперь варнингов меньше, но все же...

Код:





Код:
1>cheat_generic.cpp(1458): error C2065: 'Health' : undeclared identifier
1>cheat_generic.cpp(1460): error C2065: 'byteCurrentWeapon' : undeclared identifier
1>cheat_generic.cpp(1461): error C2065: 'fPos' : undeclared identifier
1>cheat_generic.cpp(1463): error C2065: 'fPos' : undeclared identifier
1>cheat_generic.cpp(1464): error C2065: 'fPos' : undeclared identifier
1>cheat_generic.cpp(1471): error C2065: 'picSync' : undeclared identifier
 
Ответить с цитированием

  #7  
Старый 11.05.2013, 19:11
rafael
Новичок
Регистрация: 17.08.2023
Сообщений: 5
С нами: 1444419

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

Нифига себе сколько строк
 
Ответить с цитированием

  #8  
Старый 11.05.2013, 19:13
im0rg
Постоянный
Регистрация: 19.03.2013
Сообщений: 586
С нами: 6920791

Репутация: 113


По умолчанию

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

Отлично, сделал, теперь варнингов меньше, но все же...

Код:





Код:
1>cheat_generic.cpp(1458): error C2065: 'Health' : undeclared identifier
1>cheat_generic.cpp(1460): error C2065: 'byteCurrentWeapon' : undeclared identifier
1>cheat_generic.cpp(1461): error C2065: 'fPos' : undeclared identifier
1>cheat_generic.cpp(1463): error C2065: 'fPos' : undeclared identifier
1>cheat_generic.cpp(1464): error C2065: 'fPos' : undeclared identifier
1>cheat_generic.cpp(1471): error C2065: 'picSync' : undeclared identifier

Я же там писал используйте self

и пример писал self->hitpoints;

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

  #9  
Старый 11.05.2013, 23:41
Charlatan
Участник форума
Регистрация: 12.04.2013
Сообщений: 290
С нами: 6885795

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

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

Нифига себе сколько строк
Я вот тоже смотрю, и вдупляю как я дурак
 
Ответить с цитированием

  #10  
Старый 12.05.2013, 07:29
RickAstley
Участник форума
Регистрация: 19.03.2013
Сообщений: 144
С нами: 6921041

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

блин, постоянно ошибки появляются, я лишние строки удалил (которые писали что-то вроде







Код:





Код:
Error C2440: '=': cannot convert from 'weapon [13]' to 'BYTE' // \n There is no context in which this conversion is possible


и теперь при запуске функции он как будто много раз нажимает среднюю кнопку мыши, потому что экран крутится и от сервера поступает сообщение "вы должны быть в машине"(

и меня как будто слишком далеко уносит, т.к. ближайшие игроки и пикапы пропадают
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

Сумма USDT:

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

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

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

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

×

Мои сделки

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

Сделка


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