Вопросы и ответы
|
|
Gremech |
Дата: Воскресенье, 22.02.2015, 14:39 | Сообщение # 2386
|
Новичок
Сообщений: 5
Статус: Offline
|
iMaddy, но чтобы отправить синхронизацию - надо отправлять ID. В структуре stOnFootData есть iCurrentAnimationID - целое число. А как его получить с имени библиотеки и названия анимации?
Сообщение отредактировал Gremech - Воскресенье, 22.02.2015, 18:21 |
|
|
|
=]D]EA[N[= |
Дата: Воскресенье, 22.02.2015, 14:58 | Сообщение # 2387
|
Боец
Сообщений: 74
Статус: Offline
|
slonoboyko, через С++ там будет кнопка компиляции (зеленый треугольник) потом в папке bin появится файл собейта. C++ есть то у тебя ?
|
|
|
|
[CM]MishaN |
Дата: Понедельник, 23.02.2015, 17:54 | Сообщение # 2388
|
Cheat-Master
Сообщений: 1308
Статус: Offline
|
Gremech, есть такая функция в samp.dll short __cdecl GetAnimationIDByName( char *pszFile, char *pszAnim ) = 0x609E0 char * __cdecl GetAnimNameByID( short sAnimId ) = 0x60AC0Добавлено (23.02.2015, 17:52) --------------------------------------------- Вызов(сначала нужно подключить библиотеку, и я не уверен точно, что без игры будет работать, все в теории): WORD wAnimID = ((WORD(__cdecl *)(char *, char *))(dwSAMP + 0x609E0))(animlib, animname); Добавлено (23.02.2015, 17:53) --------------------------------------------- dwSAMP - начальный адрес библиотеки Добавлено (23.02.2015, 17:54) --------------------------------------------- Библиотека нужна SAMP 0.3z R1, на других адрес отличается
100$ баланса за регистрацию на Digital Ocean [только по данной ссылке] (один из лучших хостингов) RakBot - Качай аккаунты не напрягаясь! Мои товары в CM Shop (NEW!!!)
|
|
|
|
Ворона |
Дата: Понедельник, 23.02.2015, 21:13 | Сообщение # 2389
|
Новичок
Сообщений: 22
Статус: Offline
|
Как сделать что бы все строки были пронумерованы? 1 2 3 и т.д
Изучаю PAWN , С++ Skype : Tarasovvv7
|
|
|
|
|
Ворона |
Дата: Вторник, 24.02.2015, 00:22 | Сообщение # 2391
|
Новичок
Сообщений: 22
Статус: Offline
|
Цитата [CM MishaN;2752538]Ворона, то есть? Где именно? Что бы легче было ориентироваться в коде вот примерно вот так
Изучаю PAWN , С++ Skype : Tarasovvv7
Сообщение отредактировал Ворона - Вторник, 24.02.2015, 13:12 |
|
|
|
[CM]MishaN |
Дата: Вторник, 24.02.2015, 14:45 | Сообщение # 2392
|
Cheat-Master
Сообщений: 1308
Статус: Offline
|
А, так это где то в сервис -> настройки -> редактор. И там далее поищи, точно не помню.
100$ баланса за регистрацию на Digital Ocean [только по данной ссылке] (один из лучших хостингов) RakBot - Качай аккаунты не напрягаясь! Мои товары в CM Shop (NEW!!!)
|
|
|
|
fragma |
Дата: Вторник, 24.02.2015, 19:18 | Сообщение # 2393
|
|
Ворона, сервис > параметры > текстовый редактор >
Пишу на заказ CLEO скрипты, SF и ASI плагины.
|
|
|
|
slonoboyko |
Дата: Вторник, 24.02.2015, 21:00 | Сообщение # 2394
|
Боец
Сообщений: 254
Статус: Offline
|
Короче, у меня беда(
Помогите переделать код из сф плагина в собейт.. я сделал так
Код сф
Код // Weapon Crasher Plugin // Plugin Created by 0pc0d3R // Special thanks P3ti and Pabloko #include <windows.h> #include <string> #include <stdlib.h> #include <assert.h> #include "CSAMPFUNCS.h" #include <math.h> #include <stdio.h> #include <conio.h> #include <ctime> #pragma warning (disable:4700) //////////////////////////////////////////////////// CSAMPFUNCS *SF = new CSAMPFUNCS(); /////////////////////////////////////////////////// bool weapon_crasher = false; /////////////////////////////////////////////////////////////////////////////////////////////////////////// float random_float(float a, float b) { float random = ((float) rand()) / (float) RAND_MAX; float diff = b - a; float r = random * diff; return a + r; } int random(int min, int max) { return (rand() % (max - min+1) + min); } bool CALLBACK AntiCrasher(stRakNetHookParams *params) { if (params->packetId == PacketEnumeration::ID_AIM_SYNC) { stAimData AIM; unsigned short PlayerID; params->bitStream->IgnoreBits(8); params->bitStream->Read(PlayerID); params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData)); if (AIM.byteCamMode == 53 && ((AIM.vecAimPos[2] > 7000.0 || AIM.vecAimPos[2] < -7000.0) || (AIM.vecAimf1[2] < -9.9f || AIM.vecAimf1[2] > 9.9f))) { memset(&AIM, 0, sizeof(stAimData)); byte Packet; params->bitStream->ResetReadPointer(); params->bitStream->Read(Packet); params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData)); params->bitStream->ResetReadPointer(); AIM.vecAimPos[2] = 0.f; AIM.byteCamMode = 53; AIM.byteWeaponState = 2; params->bitStream->ResetWritePointer(); params->bitStream->Write(Packet); params->bitStream->Write((PCHAR)&AIM, sizeof(stAimData)); static byte flood_delay = 0; time_t now = time(0); tm *ltm = localtime(&now); static time_t tts; if (flood_delay == 0) { SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 160, 134), "%s пытается крашнуть вас вепон крашером!", SF->getSAMP()->getPlayers()->GetPlayerName(PlayerID)); flood_delay += 7; tts = ltm->tm_sec; } else { if (ltm->tm_sec != tts) { --flood_delay; tts = ltm->tm_sec; } } } } return true; }; void SendFakeAimSync(stRakNetHookParams *params) { stAimData AIM; memset(&AIM, 0, sizeof(stAimData)); byte Packet; params->bitStream->ResetReadPointer(); params->bitStream->Read(Packet); params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData)); params->bitStream->ResetReadPointer(); AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3; AIM.byteCamMode = 53; AIM.byteWeaponState = 2; params->bitStream->ResetWritePointer(); params->bitStream->Write(Packet); params->bitStream->Write((PCHAR)&AIM, sizeof(stAimData)); }; bool CALLBACK AimingSync(stRakNetHookParams *params) { if (params->packetId == PacketEnumeration::ID_AIM_SYNC) { if (weapon_crasher == true) { stAimData AIM; memset(&AIM, 0, sizeof(stAimData)); byte Packet; params->bitStream->ResetReadPointer(); params->bitStream->Read(Packet); params->bitStream->Read((PCHAR)&AIM, sizeof(stAimData)); params->bitStream->ResetReadPointer(); AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3; AIM.byteCamMode = 53; AIM.byteWeaponState = 2; params->bitStream->ResetWritePointer(); params->bitStream->Write(Packet); params->bitStream->Write((PCHAR)&AIM, sizeof(stAimData)); byte localware = 0; do { SendFakeAimSync(params); ++localware; } while (localware != 10); } } return true; }; ///////////////////////////////////////////////////////////////////////////////////////////////////////////// void CALLBACK PerformCommand(std::string param) { if (weapon_crasher == false) { SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 163, 82), "Weapon Crasher activated."); weapon_crasher = true; } else { SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 163, 163), "Weapon Crasher disactivated."); weapon_crasher = false; } }; //////////////////////////////////////////////////////////////////////////////////////////////////// void CALLBACK mainloop( void ) { static bool init = false; if( !init ) { if( !SF->getSAMP()->IsInitialized() ) return; SF->getSAMP()->registerChatCommand("wepcrasher", PerformCommand); SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_PACKET, AimingSync); SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_PACKET, AntiCrasher); SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 0, 82, 163 ), "Weapon Crasher plugin by 0pc0d3R loaded."); init = true; } } //////////////////////////////////////////////////////////////////////////////////////////////////// BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved ) {///// switch ( dwReasonForCall ) { case DLL_PROCESS_ATTACH: SF->initPlugin( mainloop, hModule ); break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; }
Переписал в соб так
Код bool cheat_handle_crasher( BitStream * bitStream ) { traceLastFunc( "cheat_handle_crasher(BitStream)" );
BYTE packetId; bitStream->Read(packetId);
stAimData AIM; memset(&AIM, 0, sizeof(stAimData)); byte Packet; bitStream->ResetReadPointer(); bitStream->Read(Packet); bitStream->Read((PCHAR)&AIM, sizeof(stAimData)); bitStream->ResetReadPointer(); AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3; AIM.byteCamMode = 53; AIM.byteWeaponState = 2; bitStream->ResetWritePointer(); bitStream->Write(Packet); bitStream->Write((PCHAR)&AIM, sizeof(stAimData)); if (cheat_state->_generic.wepcrasher == 1) { stAimData AIM; memset(&AIM, 0, sizeof(stAimData)); byte Packet; bitStream->ResetReadPointer(); bitStream->Read(Packet); bitStream->Read((PCHAR)&AIM, sizeof(stAimData)); bitStream->ResetReadPointer(); AIM.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3; AIM.byteCamMode = 53; AIM.byteWeaponState = 2; bitStream->ResetWritePointer(); bitStream->Write(Packet); bitStream->Write((PCHAR)&AIM, sizeof(stAimData)); byte localware = 0; do { BitStream(bitStream); ++localware; } while (localware != 10); } return true; }
Не работает... Что я сделал не так?
Пишу на заказ CLEO скрипты, SF и ASI плагины, а так же модификации собейтов. Связь со мной:VK.COM
|
|
|
|
=]D]EA[N[= |
Дата: Вторник, 03.03.2015, 16:59 | Сообщение # 2395
|
Боец
Сообщений: 74
Статус: Offline
|
Флуд в чат по комманде, дайте код, пожалуйста
|
|
|
|
YOODA |
Дата: Суббота, 07.03.2015, 17:13 | Сообщение # 2396
|
Новичок
Сообщений: 4
Статус: Offline
|
Цитата fragma ( ) Ворона, сервис > параметры > текстовый редактор > Спасибо помог
Работай, как-будто тебе не надо денег. Люби, как-будто тебе никто никогда не причинял боль. Танцуй, как-будто никто не смотрит. Пой,словно никто не слышит. Живи, как-будто на земле рай...
pawno, cleo, c++, php
Всем добра:) BY YOODA
|
|
|
|
FK-227 |
Дата: Четверг, 12.03.2015, 15:51 | Сообщение # 2397
|
Новичок
Сообщений: 12
Статус: Offline
|
slonoboyko, а не проще так было сделать? Код if(cheat_state->_generic.weaponcrasher) { OutgoingAimData.vecAimPos[2] = pow(10.f + random_float(0, 1), random_float(6, 9))*(int)random(-1, 1) * 3; OutgoingAimData.byteCamMode = 53; OutgoingAimData.byteWeaponState = WS_MORE_BULLETS; }
МСТИЛЕ, АБИДА ПО ЖИЗНЕННА!1!
|
|
|
|
Oxsen |
Дата: Среда, 18.03.2015, 10:09 | Сообщение # 2398
|
Новичок
Сообщений: 8
Статус: Offline
|
Как можно сделать проверку на "Server closed the connection." и "You are banned from this server."? С помощью RPC_ClientMessage нельзя проверить.
Сообщение отредактировал Oxsen - Среда, 18.03.2015, 11:41 |
|
|
|
FK-227 |
Дата: Среда, 18.03.2015, 13:35 | Сообщение # 2399
|
Новичок
Сообщений: 12
Статус: Offline
|
Расскажите как объявить SendFakeDriverSyncData
МСТИЛЕ, АБИДА ПО ЖИЗНЕННА!1!
|
|
|
|
[CM]MishaN |
Дата: Среда, 18.03.2015, 16:27 | Сообщение # 2400
|
Cheat-Master
Сообщений: 1308
Статус: Offline
|
Oxsen, смотри входящие пакеты, если ID_DISCONNECTION_NOTIFICATION или ID_CONNECTION_BANNED пришло, то выполняй свой код.
100$ баланса за регистрацию на Digital Ocean [только по данной ссылке] (один из лучших хостингов) RakBot - Качай аккаунты не напрягаясь! Мои товары в CM Shop (NEW!!!)
|
|
|
|