[RakSAMP] Использование RPC_ScrSetPlayerPos
Голубь
Дата: Четверг, 03.01.2013, 17:00 | Сообщение # 1
Авторитет
Сообщений: 2137
Статус: Offline
Чтобы не кикало на самп рп: Копируем мои пакеты в SAMPRPC.cpp: http://cheat-master.ru/forum/118-40690-1 Цитата
int RPC_ScrSetPlayerPos = 22; //by PovarGek(Golub) - 0.3e
Идем в netrpc.cpp, вставляем перед Цитата
void RegisterRPCs(RakClientInterface *pRakClient) {
Это: Код
void ScrSetPos(RPCParameters *rpcParams) { PCHAR Data = reinterpret_cast<PCHAR>(rpcParams->input); int iBitLength = rpcParams->numberOfBitsOfData; RakNet::BitStream bsData((unsigned char *)Data,(iBitLength/8)+1,false); float pos[3]; bsData.Read(pos[0]); bsData.Read(pos[1]); bsData.Read(pos[2]); ONFOOT_SYNC_DATA ofSync; memset(&ofSync, 0, sizeof(ONFOOT_SYNC_DATA)); ofSync.byteHealth = 100; ofSync.vecPos[0] = pos[0]; ofSync.vecPos[1] = pos[1]; ofSync.vecPos[2] = pos[2]; SendOnFootFullSyncData(&ofSync, 0, -1); }
Потом после Цитата
// Core RPCs pRakClient->RegisterAsRemoteProcedureCall(&RPC_ServerJoin, ServerJoin);
Это:Цитата
pRakClient->RegisterAsRemoteProcedureCall(&RPC_ScrSetPlayerPos, ScrSetPos);
Создаем команду для входа (cmds.cpp): Цитата
if(!strncmp(szCMD, "samplogin", 9) || !strncmp(szCMD, "SAMPLOGIN", 9)) { sendDialogResponse(1,1,1,ПЕРЕМЕННАЯ С ПАРОЛЕМ К АККУНУТУ); sampSpawn(); return 1; }
двач https://vk.com/povargek
T3N_Project
Дата: Четверг, 03.01.2013, 17:08 | Сообщение # 2
Любитель
Сообщений: 36
Статус: Offline
спасиб
T3N_Project
Сообщение отредактировал T3N_Project - Четверг, 03.01.2013, 17:41
NRG-500
Дата: Четверг, 03.01.2013, 17:15 | Сообщение # 3
Боец
Сообщений: 96
Статус: Offline
Голубь , Как понять не kick против чего он работает ? типо админы не могу кикнуть или что ?
Голубь
Дата: Четверг, 03.01.2013, 17:24 | Сообщение # 4
Авторитет
Сообщений: 2137
Статус: Offline
T3N_Project , GetTickCount или поток
двач https://vk.com/povargek
Рудя
Дата: Вторник, 14.05.2013, 18:59 | Сообщение # 5
Боец
Сообщений: 81
Статус: Offline
А что писать вместо ПЕРЕМЕННАЯ С ПАРОЛЕМ К АККАУНТУ? Можно ли просто написать "123456"?
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
iMaddy
Дата: Среда, 15.05.2013, 15:42 | Сообщение # 6
Cheat-Master
Сообщений: 2855
Статус: Offline
Рудя , можно
Вопросами по сайту и так же игровому рынку (развод, невалидные товары, добавление в ЧС, проведение сделок) не занимаюсь
Рудя
Дата: Среда, 15.05.2013, 20:58 | Сообщение # 7
Боец
Сообщений: 81
Статус: Offline
Цитата (iMaddy )
Рудя, можно
Так я и пишу, но не работает. Помоги. Как это на 0.3x переделать?
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
iMaddy
Дата: Суббота, 18.05.2013, 10:43 | Сообщение # 8
Cheat-Master
Сообщений: 2855
Статус: Offline
Рудя , сначало вызови диалог с идом 1 ( RPC_RequestClass ) , потом уже посылай пакет
Вопросами по сайту и так же игровому рынку (развод, невалидные товары, добавление в ЧС, проведение сделок) не занимаюсь
Рудя
Дата: Суббота, 18.05.2013, 22:14 | Сообщение # 9
Боец
Сообщений: 81
Статус: Offline
Всё, разобрался. Если ещё кто-то будет пытаться, то нужно писать так: Код
if(!strncmp(szCMD, "samplogin", 9) || !strncmp(szCMD, "SAMPLOGIN", 9)) { sampRequestClass(1); sendDialogResponse(1,1,1,"123456"); sampSpawn(); return 1; }
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Сообщение отредактировал Рудя - Суббота, 18.05.2013, 22:46
Jamely
Дата: Воскресенье, 19.05.2013, 11:24 | Сообщение # 10
Сообщений: 1603
Статус: Offline
мм, спасибо можно вот так: Код
if(!strncmp(szCMD, "samplogin", 9) || !strncmp(szCMD, "SAMPLOGIN", 9)) { char *passwrd = &szCMD[10]; sendDialogResponse(1, 1, 1, passwrd); sampSpawn(); return 1; }
!samplogin [пароль]
Сообщение отредактировал Ruskadance - Воскресенье, 19.05.2013, 11:24
Рудя
Дата: Воскресенье, 19.05.2013, 12:36 | Сообщение # 11
Боец
Сообщений: 81
Статус: Offline
Цитата (Ruskadance )
Можно вот так...
Спасибо, но это не главное.
Лучше объясни почему моего бота кикает за #555.
Вообщем смотри, я пишу так:
Код
if(!strncmp(szCMD, "follow", 6) || !strncmp(szCMD, "FOLLOW", 6)) { int x; while (x) { PLAYERID copyingID = getPlayerIDFromPlayerName(settings.szFollowingPlayerName); if(copyingID != (PLAYERID)-1) onFootUpdateFollow(copyingID); } return 1; }
Порядок моих действий:
1. Я захожу за бомжа, который в XML прописан, как тот за кем следить.
2. Захожу через RakSAMP.
3. Пишу !follow
4. Открываю игру.
5. Теперь мой бот бегает за мной.
6. Через 2-3 секунды бота кикает за #555, то бишь HP.
7. Я расстроен, что мой бот не бегает за мной как iBot by iMaddy.
Уже разобрался. Оказалось тогда 2 раза его случайно кикнуло. Теперь мой бомж бегает за мной. ---Спустя 6 минут--- Опять кикет, всё ещё требуется помощь. Как я думаю, это из-за неодинаковых HP главного бомжа и бота. Тогда бот меняет HP на то которое у главного бомжа и его кикает.
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Сообщение отредактировал Рудя - Воскресенье, 19.05.2013, 13:20
Рудя
Дата: Воскресенье, 19.05.2013, 12:45 | Сообщение # 12
Боец
Сообщений: 81
Статус: Offline
И ещё маленький вопросик: как сделать так, чтобы по-русски писало?
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Jamely
Дата: Воскресенье, 19.05.2013, 17:27 | Сообщение # 13
Сообщений: 1603
Статус: Offline
в console.cpp подключи #include <locale> и потом, например, в void SetUpConsole() : Код
setlocale(LC_ALL,"Russian");
И еще - sampRequestClass(1); можно убрать из команды !samplogin , а вписать его в netrpc.cpp после строки Log("Подключено к %.64s\n", g_szHostName);
Сообщение отредактировал Ruskadance - Воскресенье, 19.05.2013, 17:32
Рудя
Дата: Воскресенье, 19.05.2013, 21:41 | Сообщение # 14
Боец
Сообщений: 81
Статус: Offline
Всё это спасибо, но всё-таки: почему бота кикает за #555, когда он начинает за кем-то по-пятам бегать?
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
_Rock_
Дата: Понедельник, 20.05.2013, 05:52 | Сообщение # 15
Советник
Сообщений: 606
Статус: Offline
Рудя , Он сначало телепортируется к нему, а только потом бегаетДобавлено (20.05.2013, 05:52) --------------------------------------------- Пацаны, всё вчера норм было, сегодня захожу, делаю регистрацию, и там выбор пола, но почему-то не появляется "Выбор класса:. Помогите