Вопросы и ответы - Страница 173 - Форум Cheat-Master.ru
Модератор форума: Sanoxxx, Alowir  
Вопросы и ответы
ZZet Дата: Суббота, 20.02.2016, 12:57 | Сообщение # 2581
Любитель
Сообщений: 39
Статус: Offline
Вопрос: как можно перевести собейт на новую версию samp (sobeit by Dublyor)
fragma Дата: Суббота, 20.02.2016, 17:22 | Сообщение # 2582
Новичок
Статус: Offline
ZZet, обновить адресса и структуры.



Пишу на заказ CLEO скрипты, SF и ASI плагины.
puff2h Дата: Среда, 02.03.2016, 18:25 | Сообщение # 2583
Боец
Сообщений: 110
Статус: Offline
Вопрос. Как добавить в собеит админ чекер на худе? Заранее благодарен. Нашел урок. Попытался сделать. Но не вышло. Ошибки разные и так далее

Добавлено (01.03.2016, 23:17)
---------------------------------------------
Вроде сделал по этому уроку.Теперь вопрос. Откуда чекер берет Ники админов.. ?! И в каком формате их добавлять.

Добавлено (02.03.2016, 00:06)
---------------------------------------------
Разобрался. Но теперь проблема. Все ники админов лежат друг на друге.

Как сделать чтоб каждый НИК уходил ниже.

Код
    for (int i = 0; i < SAMP_MAX_PLAYERS; i++)
    {
  for (int x = 0; x < 150; x++)
  {
   if (getPlayerName(i) == NULL || set.admin[x] == NULL)
    break;
   if (!strcmp(getPlayerName(i), set.admin[x]))
   {
    char text[64];
    sprintf(text, "%s [ID: %d]", getPlayerName(i), i);
    pD3DFont->PrintShadow(1, pPresentParam.BackBufferHeight - 400, D3DCOLOR_XRGB(0, 255, 255), "Администраторы Онлайн:");
    pD3DFont->PrintShadow(1, pPresentParam.BackBufferHeight - 378, D3DCOLOR_XRGB(255, 255, 255), text);
    count++;
   }
  }
    } //0 ,255,255  
    if (count == 0) pD3DFont->PrintShadow(1, pPresentParam.BackBufferHeight - 400, D3DCOLOR_XRGB(127, 255, 212), "Admins Offline");


Код
pD3DFont->PrintShadow(1, pPresentParam.BackBufferHeight - 378+count*20, D3DCOLOR_XRGB(255, 255, 255), text);
не помогает. Ники вообще уезжают тогда за экран

Добавлено (02.03.2016, 18:25)
---------------------------------------------
Вопрос решен. Теперь другой. Как сделать ИД возле ников? в с++ вообще не шарю. Так что если можно,то по подробнее

[CM]Дикий Дата: Суббота, 05.03.2016, 06:25 | Сообщение # 2584
Бывалый
Сообщений: 372
Статус: Offline
Цитата puff2h ()
Вопрос решен. Теперь другой. Как сделать ИД возле ников? в с++ вообще не шарю. Так что если можно,то по подробнее

sprintf(text,"[ID: %d]%s " ,i , getPlayerName(i));


Сообщение отредактировал [CM]Дикий - Суббота, 05.03.2016, 06:27
puff2h Дата: Суббота, 05.03.2016, 12:53 | Сообщение # 2585
Боец
Сообщений: 110
Статус: Offline
Цитата [CM]Дикий ()
sprintf(text,"[ID: %d]%s " ,i , getPlayerName(i));


Я имею виду в чате smile Как сделать чтоб у каждого ника в чате.. был ID
fragma Дата: Понедельник, 07.03.2016, 12:33 | Сообщение # 2586
Новичок
Статус: Offline
puff2h, в HandleRPCPacket > RPC_ScrClientMessage, читаешь текст, парсишь его в структуру, сверяешь ник с идом из g_Players, формируешь пакет по новой, записываешь его в нужном тебе формате, подменяешь его вместо стандартного.



Пишу на заказ CLEO скрипты, SF и ASI плагины.
scorp2007 Дата: Четверг, 31.03.2016, 08:27 | Сообщение # 2587
Боец
Сообщений: 116
Статус: Offline
У кого-нибудь есть код коордмастера для РакСампа? Где-то видел когда искал решение для спавна, но теперь найти не могу cry

Добавлено (31.03.2016, 08:27)
---------------------------------------------
Предыдущий вопрос снимается, теперь другой, как сделать АнтиАФК в РакСампе, например чтоб бота грузчика за АФК не кикало? Пробовал и телепорты разнообразить рандомом, но кикает всё же.

ReDuSt Дата: Пятница, 01.04.2016, 20:15 | Сообщение # 2588
Новичок
Сообщений: 8
Статус: Offline
Вопрос: Как повернуть игрока (собейт)?
Вопрос: Как изменить размеры нижней рамки собейта?


Сообщение отредактировал ReDuSt - Пятница, 01.04.2016, 20:15
Dizel995 Дата: Суббота, 23.04.2016, 11:48 | Сообщение # 2589
Новичок
Сообщений: 6
Статус: Offline
Всем привет. Хотелось бы узнать, что такое пакеты? как их отправлять и вообще как с ними работать. Спасибо за ответ.
QnewRoute Дата: Воскресенье, 24.04.2016, 17:06 | Сообщение # 2590
Боец
Сообщений: 154
Статус: Offline
RakNet - это сетевой движок, используемый в SA:MP для обмена данными между игроками и сервером. Клиент отправляет пакет серверу, сервер его обрабатывает и рассылает другим игрокам - таким образом это работает. В этом уроке я покажу как отправлять свои пакеты и заносить в них данные, и как перехватывать отправляемые/получаемые пакеты и читать/перезаписывать данные.

Отправка пакетов

Пример отправки пакета ID_PLAYER_SYNC:
Код

stOnFootData sync; // объявляем объект структуры stOnFootData, в которой хранятся данные.
memset( &sync, 0, sizeof( stOnFootData ) ); // обнуляем.

sync = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData; // копируем данные из структуры локального игрока.

sync.byteHealth = 100; // записываем значение кол-ва жизней ( к примеру ).

BitStream bsActorSync; // объявляем объект класса BitStream, в котором хранятся пакетные данные.
bsActorSync.Write( ( BYTE ) ID_PLAYER_SYNC ); // записываем ID пакета.
bsActorSync.Write( ( PCHAR ) &sync, sizeof( stOnFootData ) ); // записываем данные из структуры sync
SF->getRakNet()->SendPacket( &bsActorSync ); // отправляем пакет на сервер.

RPC ( Remote procedure call ) - оболочка пакета ID_RPC, предназначена для удаленного выполнения определенных событий. Все RPC перечислены в RPCEnumeration и ScriptRPCEnumeration. Пример использования RPC_RequestClass, который запрашивает у сервера сменить наш класс ( скин ) на сервере:
Код

void CALLBACK cmd_setclass( std::string param ) // объявляем чат-команду /setclass < id >
{
    BitStream bsClass; // объявляем объект класса BitStream, в котором хранятся пакетные данные.
    bsClass.Write( std::stoi( param ) ); // записываем в него ID переданный в команду.
    SF->getRakNet()->SendRPC( RPC_RequestClass, &bsClass );    // отправляем RPC
};

SF->getSAMP()->registerChatCommand( "setclass", cmd_setclass );    // регистрируем команду

Перехват пакетов

Средствами API можно установить четыре вида перехватов:

RAKHOOK_TYPE_OUTCOMING_RPC - RPC отправленный серверу

RAKHOOK_TYPE_OUTCOMING_PACKET - Пакет отправленный серверу

RAKHOOK_TYPE_INCOMING_RPC - RPC пришедший от сервера.

RAKHOOK_TYPE_INCOMING_PACKET - Пакет пришедший от сервера.

Пример перехвата отправляемого пакета ID_PLAYER_SYNC:
Код

bool CALLBACK outcomingData( stRakNetHookParams *params ) // определение callback-функции которая будет вызвана при отправке какого либо пакета
{
    if( params->packetId == PacketEnumeration::ID_PLAYER_SYNC ) // если отправляемый пакет ID_PLAYER_SYNC
    {
  stOnFootData data; // определяем объект в который сохраним отправляемые данные
  memset( &data, 0, sizeof( stOnFootData ) ); // обнуляем
  byte packet;

  params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
  params->bitStream->Read( packet ); // читаем ID пакета
  params->bitStream->Read( (PCHAR)&data, sizeof( stOnFootData ) ); // читаем отправляемые данные
  params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения

  SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 255, 255, 0 ), "Наша скорость: %.2f %.2f %.2f",
   data.fMoveSpeed[0], data.fMoveSpeed[1], data.fMoveSpeed[2] ); // пишем в чат скорость нашего передвижения записанную в пакет

                data.fMoveSpeed[0] = rand()%10;
  data.fMoveSpeed[1] = rand()%10;
  data.fMoveSpeed[2] = rand()%10; // перезаписали скорость на случайную, получается эффект похожий на Pizdarvanka.

  params->bitStream->ResetWritePointer(); // обнуляем оффсет записи
  params->bitStream->Write( packet ); // пишем ид пакета
  params->bitStream->Write( (PCHAR)&data, sizeof( stOnFootData ) ); // пишем обновленные данные    
    };

    return true; // успешно завершаем отправку пакета
};

SF->getRakNet()->registerRakNetCallback( RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_PACKET, outcomingData ); // регистрируем callback

Пример перехвата входящего( пришедшего от сервера ) RPC_ScrServerJoin:
Код

bool CALLBACK incomingRPC( stRakNetHookParams *params ) // определение callback-функции которая будет вызвана если от сервера был получен новый RPC.
{
    if( params->packetId == ScriptRPCEnumeration::RPC_ScrServerJoin ) // если это RPC_ScrServerJoin
    {
  short int sPlayerID;    
  D3DCOLOR D3DPlayerColor;
  byte isNPC, nameLen;
  char szPlayerName[25];

  params->bitStream->ResetReadPointer(); // обнуляем оффсет чтения.
  params->bitStream->Read( sPlayerID ); // читаем ID игрока.
  params->bitStream->Read( D3DPlayerColor ); // цвет ника игрока.
  params->bitStream->Read( isNPC ); // флаг говорящий о том, NPC это или нет.
  params->bitStream->Read( nameLen ); // длина ника.
  params->bitStream->Read( szPlayerName, nameLen ); // ник.
  szPlayerName[ nameLen ]= '\0'; // обрезаем чтоб не было мусора
  params->bitStream->ResetReadPointer(); // обнуляем оффсет чтения

  SF->getSAMP()->getChat()->AddChatMessage( D3DPlayerColor, "%s[%d] Подключился к серверу.",
   szPlayerName, sPlayerID ); // добавляем сообшение в чат.   
    };

    return true; // успешно завершаем обработку RPC.
};

SF->getRakNet()->registerRakNetCallback( RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC ); // регистрируем callback

by urShadow


* Мои работы:
- [CLEO] Brute Bank Code for Advance RP - http://cheat-master.ru/forum/129-549067-1
- [CLEO] Make Ammo for Arizona RP - http://cheat-master.ru/forum/129-579088-1
- [CLEO] Teleport for Evolve RP - http://cheat-master.ru/forum/129-689462-1
- [CLEO] Sliv Form for Evolve RP - http://cheat-master.ru/forum/129-690294-1
- [CLEO] /ad for Evolve RP - http://cheat-master.ru/forum/129-691037-1
- [CLEO] Killer for Evolve RP - http://cheat-master.ru/forum/129-691847-1

19.05.17 - Cheater CM

* Помогаю с CLEO-скриптингом/C# - пишите в личку
k1sher Дата: Воскресенье, 24.04.2016, 21:58 | Сообщение # 2591
Любитель
Сообщений: 32
Статус: Offline
Вопрос: Можете пожалуйста дать C++ код для создания AutoShot for samp
QnewRoute Дата: Понедельник, 25.04.2016, 13:33 | Сообщение # 2592
Боец
Сообщений: 154
Статус: Offline
k1sher, за тебя никто не будет писать полный код

* Мои работы:
- [CLEO] Brute Bank Code for Advance RP - http://cheat-master.ru/forum/129-549067-1
- [CLEO] Make Ammo for Arizona RP - http://cheat-master.ru/forum/129-579088-1
- [CLEO] Teleport for Evolve RP - http://cheat-master.ru/forum/129-689462-1
- [CLEO] Sliv Form for Evolve RP - http://cheat-master.ru/forum/129-690294-1
- [CLEO] /ad for Evolve RP - http://cheat-master.ru/forum/129-691037-1
- [CLEO] Killer for Evolve RP - http://cheat-master.ru/forum/129-691847-1

19.05.17 - Cheater CM

* Помогаю с CLEO-скриптингом/C# - пишите в личку
Dizel995 Дата: Пятница, 29.04.2016, 11:27 | Сообщение # 2593
Новичок
Сообщений: 6
Статус: Offline
Где взять исходник собейта для 0.3.7? или как старые исходники обновить?

Добавлено (29.04.2016, 11:27)
---------------------------------------------
Как старый исходник собейта перевести на 0.3.7?

fragma Дата: Пятница, 29.04.2016, 11:47 | Сообщение # 2594
Новичок
Статус: Offline
Dizel995, обновить адресса и структуры.



Пишу на заказ CLEO скрипты, SF и ASI плагины.
Dizel995 Дата: Пятница, 29.04.2016, 12:37 | Сообщение # 2595
Новичок
Сообщений: 6
Статус: Offline
fragma, по конкретней можно? где они находятся?
Поиск:
Статистика Форума