[RakSAMP] Использование RPC_ScrSetPlayerPos - Страница 2 - Форум Cheat-Master.ru
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Sanoxxx, Alowir  
[RakSAMP] Использование RPC_ScrSetPlayerPos
Голубь Дата: Понедельник, 20.05.2013, 09:20 | Сообщение # 16
Авторитет
Сообщений: 2137
Статус: Offline
Рудя, RPC SetPlayerHealth установи

двач
https://vk.com/povargek
_Rock_ Дата: Понедельник, 20.05.2013, 16:37 | Сообщение # 17
Советник
Сообщений: 606
Статус: Offline
У меня вот такая ситуация...
Не могу спавниться на респе, может кто то сталкивался? А когда выбираю runmode "2/4" то банит на 24/часа.
Jamely Дата: Вторник, 21.05.2013, 16:59 | Сообщение # 18
Сообщений: 1603
Статус: Offline
Рудя, закомментируй функцию копирования HP и Брони у игрока
Рудя Дата: Вторник, 21.05.2013, 18:00 | Сообщение # 19
Боец
Сообщений: 81
Статус: Offline
Цитата (Ruskadance)
Рудя, закомментируй функцию копирования HP и Брони у игрока.

Я об этом тоже подумал, когда поставил слежку за копом и мой бот броню начитерил. smile
Так вот, где храниться копирование HP и Брони? Я уже предполагаю где, сейчас проверю.

Добавлено (21.05.2013, 18:00)
---------------------------------------------
Всё, спасибо, работает. Только теперь у бота 0 хп, что с этим делать?


Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Jamely Дата: Среда, 22.05.2013, 10:58 | Сообщение # 20
Сообщений: 1603
Статус: Offline
Цитата (Рудя)
Всё, спасибо, работает. Только теперь у бота 0 хп, что с этим делать?

Может не откуда не надо убрал?
Рудя Дата: Среда, 22.05.2013, 15:07 | Сообщение # 21
Боец
Сообщений: 81
Статус: Offline
Цитата (Ruskadance)
Может откуда не надо убрал?

Я убрал из функции SendOnFootFullSyncData в localplayer.cpp:
Код
    pofSync->vecPos[0] = playerInfo[followPlayerID].onfootData.vecPos[0] + settings.fFollowXOffset;
     pofSync->vecPos[1] = playerInfo[followPlayerID].onfootData.vecPos[1] + settings.fFollowYOffset;
     pofSync->vecPos[2] = playerInfo[followPlayerID].onfootData.vecPos[2] + settings.fFollowZOffset;

     pofSync->fQuaternion[0] = playerInfo[followPlayerID].onfootData.fQuaternion[0];
     pofSync->fQuaternion[1] = playerInfo[followPlayerID].onfootData.fQuaternion[1];
     pofSync->fQuaternion[2] = playerInfo[followPlayerID].onfootData.fQuaternion[2];
     pofSync->fQuaternion[3] = playerInfo[followPlayerID].onfootData.fQuaternion[3];

     pofSync->byteCurrentWeapon = playerInfo[followPlayerID].onfootData.byteCurrentWeapon;
     pofSync->byteSpecialAction = playerInfo[followPlayerID].onfootData.byteSpecialAction;

     pofSync->vecMoveSpeed[0] = playerInfo[followPlayerID].onfootData.vecMoveSpeed[0];
     pofSync->vecMoveSpeed[1] = playerInfo[followPlayerID].onfootData.vecMoveSpeed[1];
     pofSync->vecMoveSpeed[2] = playerInfo[followPlayerID].onfootData.vecMoveSpeed[2];

Вот там были ещё Health и Armor вот их я и убрал.
Полный код:
Код
void SendOnFootFullSyncData(ONFOOT_SYNC_DATA *pofSync, int sendDeathNoti, PLAYERID followPlayerID)
{
  if(pofSync == NULL)
   return;

  RakNet::BitStream bsPlayerSync;

  if(dwLastOnFootDataSentTick && dwLastOnFootDataSentTick < (GetTickCount() - iNetModeNormalOnfootSendRate))
  {
   if(followPlayerID != (PLAYERID)-1)
   {
    if(!playerInfo[followPlayerID].iIsConnected)
     return;
    if(iFollowingPassenger || iFollowingDriver)
     return;

    pofSync->lrAnalog = playerInfo[followPlayerID].onfootData.lrAnalog;
    pofSync->udAnalog = playerInfo[followPlayerID].onfootData.udAnalog;
    pofSync->wKeys = playerInfo[followPlayerID].onfootData.wKeys;

    pofSync->vecPos[0] = playerInfo[followPlayerID].onfootData.vecPos[0] + settings.fFollowXOffset;
    pofSync->vecPos[1] = playerInfo[followPlayerID].onfootData.vecPos[1] + settings.fFollowYOffset;
    pofSync->vecPos[2] = playerInfo[followPlayerID].onfootData.vecPos[2] + settings.fFollowZOffset;

    pofSync->fQuaternion[0] = playerInfo[followPlayerID].onfootData.fQuaternion[0];
    pofSync->fQuaternion[1] = playerInfo[followPlayerID].onfootData.fQuaternion[1];
    pofSync->fQuaternion[2] = playerInfo[followPlayerID].onfootData.fQuaternion[2];
    pofSync->fQuaternion[3] = playerInfo[followPlayerID].onfootData.fQuaternion[3];

    pofSync->byteCurrentWeapon = playerInfo[followPlayerID].onfootData.byteCurrentWeapon;
    pofSync->byteSpecialAction = playerInfo[followPlayerID].onfootData.byteSpecialAction;

    pofSync->vecMoveSpeed[0] = playerInfo[followPlayerID].onfootData.vecMoveSpeed[0];
    pofSync->vecMoveSpeed[1] = playerInfo[followPlayerID].onfootData.vecMoveSpeed[1];
    pofSync->vecMoveSpeed[2] = playerInfo[followPlayerID].onfootData.vecMoveSpeed[2];

    pofSync->iCurrentAnimationID = playerInfo[followPlayerID].onfootData.iCurrentAnimationID;

    bsPlayerSync.Write((BYTE)ID_PLAYER_SYNC);
    bsPlayerSync.Write((PCHAR)pofSync, sizeof(ONFOOT_SYNC_DATA));
    pRakClient->Send(&bsPlayerSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);

    if(sendDeathNoti && pofSync->byteHealth == 0)
     SendWastedNotification(0, -1);

    dwLastOnFootDataSentTick = GetTickCount();
   }
   else
   {
    bsPlayerSync.Write((BYTE)ID_PLAYER_SYNC);
    bsPlayerSync.Write((PCHAR)pofSync, sizeof(ONFOOT_SYNC_DATA));
    pRakClient->Send(&bsPlayerSync, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);

    if(sendDeathNoti && pofSync->byteHealth == 0)
     SendWastedNotification(0, -1);

    dwLastOnFootDataSentTick = GetTickCount();
   }
  }
}


Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g

Сообщение отредактировал Рудя - Среда, 22.05.2013, 15:08
Jamely Дата: Пятница, 24.05.2013, 16:42 | Сообщение # 22
Сообщений: 1603
Статус: Offline
Цитата (Рудя)
RPC SetPlayerHealth установи

зарегай RPC SetPlayerHealth, при вызове этой процедуры сделал чтобы выдавалось хэпэ
Рудя Дата: Суббота, 25.05.2013, 11:19 | Сообщение # 23
Боец
Сообщений: 81
Статус: Offline
И снова, спасибо. Пойду пробовать. А если я установлю SetPlayerHealth, то у бомжей не будет ГМа?
Ещё вопрос: как мне избавиться от цикла? Ну или сделать команду остановки?
Код

int x;
while(x)
{
// Тут вызов процедуры слежки.
}


Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g

Сообщение отредактировал Рудя - Суббота, 25.05.2013, 11:22
Jamely Дата: Суббота, 25.05.2013, 12:30 | Сообщение # 24
Сообщений: 1603
Статус: Offline
Рудя, да ГМа не будет, но можешь сделать функцию чтобы на команду !gm включался GM
"while" переводится на русский язык как "пока", т.е. цикл будет продолжаться пока то, что указано в скобках равно истине (true)
Например у тебя есть логическая переменная "var", ей устанавливаешь значение (true or false) командой !follow (var = true; или var = false;)
И где-нибудь ставишь цикл while(var), и пока var будет равно true, цикл будет идти
Рудя Дата: Суббота, 25.05.2013, 17:44 | Сообщение # 25
Боец
Сообщений: 81
Статус: Offline
Да оно понятно, но как сделать эту команду внутри цикла.
Эм... Вообщем, как всунуть команду в этот цикл, которая будет переключать var в положение false.
Код
if(!strncmp(szCMD, "follow", 6) || !strncmp(szCMD, "FOLLOW", 6))
  {
          char *nick = &szCMD[7];  
   Log("Вы начали следить за %s", nick);
   int x;
   while (x)
   {
    PLAYERID copyingID = getPlayerIDFromPlayerName(nick);
           if(copyingID != (PLAYERID)-1)
             onFootUpdateFollow(copyingID);

                          if(!strncmp(szCMD, "follow", 6) || !strncmp(szCMD, "FOLLOW", 6))
                    {
                    x = false;
                           }
   }
   return 1;
  }

Точно не помню, но вроде бы когда я так делал не работало.


Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
iMaddy Дата: Воскресенье, 26.05.2013, 00:47 | Сообщение # 26
Cheat-Master
Сообщений: 2855
Статус: Offline
По поводу #0555. Я например регистрирую хп в отдельную переменную и в самих синхрах параметр хп = этой переменной

Код
void SetHPPlayer(RPCParameters *rpcParams)  
{  
   PCHAR Data = reinterpret_cast<PCHAR>(rpcParams->input);  
   int iBitLength = rpcParams->numberOfBitsOfData;  
   RakNet::BitStream bsData((unsigned char *)Data,(iBitLength/8)+1,false);  
   float hp;  
   bsData.Read(hp);  
   Log("- [AntiAFK] Игроку было выданно сервером %d HP", (int)hp );  
   settings.currenthp = hp;
}



Вопросами по сайту и так же игровому рынку (развод, невалидные товары, добавление в ЧС, проведение сделок)
не занимаюсь



Рудя Дата: Воскресенье, 26.05.2013, 11:36 | Сообщение # 27
Боец
Сообщений: 81
Статус: Offline
По поводу этого спасибо.
А что делать с киком за #333, когда я должен скин выбрать (!menusel 2), а меня кикает?
P.S. iMaddy, а можно мой модифицированный RakSAMP в паблик выложить?


Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Jamely Дата: Воскресенье, 26.05.2013, 16:24 | Сообщение # 28
Сообщений: 1603
Статус: Offline
Рудя, зарегай RPC_ScrSetPlayerSpawn, ну а дальше сам поймешь надеюсь
Рудя Дата: Воскресенье, 26.05.2013, 17:51 | Сообщение # 29
Боец
Сообщений: 81
Статус: Offline
Цитата (Ruskadance)
Рудя, зарегай RPC_ScrSetPlayerSpawn, ну а дальше сам поймешь надеюсь

Думаю, что пойму, но пока не понимаю, почему с первого раза не выбирает скин.
То есть:
1. Начинаю регистрироваться.
2. Дохожу до выбора скина - кикает за #333.
3. Перезапускаю RakSAMP.
4. Ввожу пароль.
5. Пишу !menusel 2 - всё хорошо.
6. Спавнюсь.

Добавлено (26.05.2013, 17:50)
---------------------------------------------
iMaddy, исправь "выданно" на "выдано".


Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g

Сообщение отредактировал Рудя - Воскресенье, 26.05.2013, 18:10
[L]ebron[CM] Дата: Воскресенье, 26.05.2013, 17:55 | Сообщение # 30
Новичок
Сообщений: 25
Статус: Offline
Спасибо)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
billienq1 [01:47]

staciah1 [01:15]

maksmovictimofej [00:18]

jamiedv6 [21:25]

billieds7 [20:51]

aprilez9 [15:57]

am9350450 [14:36]

dcvfre [11:04]

Sheroz [10:38]

dominiquevp60 [08:59]

derrickuy11 [05:48]

leannaaw60 [04:45]

nonaxn11 [23:52]