|
Вопросы и ответы
|
|
| ZZet |
Дата: Суббота, 20.02.2016, 12:57 | Сообщение # 2581
|
Любитель
Сообщений: 39
Статус: Offline
|
Вопрос: как можно перевести собейт на новую версию samp (sobeit by Dublyor)
|
|
|
|
|
| fragma |
Дата: Суббота, 20.02.2016, 17:22 | Сообщение # 2582
|
|
|
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));
Я имею виду в чате Как сделать чтоб у каждого ника в чате.. был ID
|
|
|
|
|
| fragma |
Дата: Понедельник, 07.03.2016, 12:33 | Сообщение # 2586
|
|
|
puff2h, в HandleRPCPacket > RPC_ScrClientMessage, читаешь текст, парсишь его в структуру, сверяешь ник с идом из g_Players, формируешь пакет по новой, записываешь его в нужном тебе формате, подменяешь его вместо стандартного.
Пишу на заказ CLEO скрипты, SF и ASI плагины.
|
|
|
|
|
| scorp2007 |
Дата: Четверг, 31.03.2016, 08:27 | Сообщение # 2587
|
Боец
Сообщений: 116
Статус: Offline
|
У кого-нибудь есть код коордмастера для РакСампа? Где-то видел когда искал решение для спавна, но теперь найти не могу  Добавлено (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
|
|
|
Dizel995, обновить адресса и структуры.
Пишу на заказ CLEO скрипты, SF и ASI плагины.
|
|
|
|
|
| Dizel995 |
Дата: Пятница, 29.04.2016, 12:37 | Сообщение # 2595
|
Новичок
Сообщений: 6
Статус: Offline
|
fragma, по конкретней можно? где они находятся?
|
|
|
|
|