Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - kenking

Страницы: [1] 2 3 ... 16
1
Спасибо, посмотрю.

2
Где скачать модификацию - я могу сам найти.
Мне она не нужна.
Зачем скачивать более 3 гигов из-за плагинов в несколько КБ?
Просьба была скинуть эти плагины.

3
Это понятно из самой темы и первого сообщения. У меня нет этой модификации.

4
После ремонта компа начал всё восстанавливать для модов GTA. Установил игру VC в том числе. Рушил обновить кое-что из своих плагинов. Вот и начала выходить ошибка 0x640D0B
@xanser,  скинь пожалуйста эти файлы: 0x541109.asi, 0x582739.asi, 0x640D0B.asi, 0x6616B7.asi
попробую разобраться.

5
Цитировать
при установке количество денег педа, при его смерти, выпадает сумма денег, которая отличается от установленной, в чём причина такой ситуации?
Функцию CPed::CreateDeadPedMoney открой в IDA (нажми F5 для генерации псевдокода на С++)

6
Цитировать
Интересно, можно ли  заменить их функциями?
Как я уже писал ранее, надо открыть базу и посмотреть соответствующие опкоды. Для разбора опкодов можно взять базу для GTA3, большинство опкодов для VC и тройки одинаковые. А база для тройки разобрана намного больше.

опкод 01F0: set_max_wanted_level_to 6 - CWanted::SetMaximumWantedLevel

опкод 010D: set_player $PLAYER_CHAR wanted_level_to 6 - CPlayerPed::SetWantedLevel

7
Общие вопросы / Re: Помощь с CLEO
« : Январь 09, 2020, 02:26:11 pm »
Судя по состоянию базы на данный момент, это:
0x1D1 (3b)
0x209 (3b)
0x235 (3b)

8
Общие вопросы / Re: Помощь с CLEO
« : Январь 09, 2020, 08:01:30 am »
В структуре транспорта есть неиспользуемые байты. Можно записывать количество бензина в них.
Для SA делали подобные моды. Почитай здесь:

https://sannybuilder.com/forums/viewtopic.php?pid=11512#p11512
https://sannybuilder.com/forums/viewtopic.php?pid=4482#p4482

9
Общие вопросы / Re: Ошибка
« : Декабрь 27, 2019, 10:41:57 am »
фастман лимит аджастер стоит
У меня игра с тем аджастером вообще не запускается. Использую III.VC.SA.LimitAdjuster. Попробуй поменять аджастер.

10
Общие вопросы / Re: Ошибка
« : Декабрь 26, 2019, 09:08:34 am »
CARCOLS.DAT

11
Плагин для игры GTA Vice City (версии 1.0)  https://gta.com.ua/forum/index.php?showtopic=4982&page=7#entry2245903
Плагин написан на основе plugin-sdk https://github.com/DK22Pac/plugin-sdk
Код https://github.com/kenkingGitHub/GTA-Projects/blob/master/VC_AddSpecialCars/VC_AddSpecialCars.cpp

Возможности плагина:
1)  Дополнительный транспорт полиции с дополнительными копами будут в соответствующих районах карты игры. Дополнительные модели приезжают при наличии соответствующего уровня розыска и задействуются в дорожных блоках аналогично стандартным моделям. 
2)  На дополнительном транспорте сирена и маячки работают аналогично стандартным.
3)  Дополнительные модели ambulan и firetruk, а также стандартные такие модели задействованы в трафик.
4)  Количество дополнительных моделей персонажей и транспорта в секции не ограничено.
5)  Выбор дополнительной модели транспорта из соответствующей секции происходит случайным образом.
6)  Не обязательно задействовать все секции файла SpecialCars.dat. Можно прописывать интересующие вас модели в соответствующую секцию, остальные оставить пустыми.
7)  На всех дополнительных моделях спецтранспорта можно выполнять соответствующие миссии.
8 )  Модели patriot, fbicar задействованы в погонях при наличии соответствующего уровня розыска.
9)  Возможность отключать/включать модели пожарных и скорых в трафике. # Emergency Services: enable 1; disable 0; В файле SpecialCars.dat изначально генерация отключена (emergency = 0). Время между генерацией таких моделей в трафик можно настроить (time = 30).
10) Разные персонажи спецслужб в одном транспорте. Если персонажей четыре, то какие-то из них будут одинаковыми.
11) Возможность выдать персонажам силовых структур разное оружие из этих ID: 274, 277-280, 282, 284. У всех персонажей силовых структур, кроме персонажей cop, в первом слоте для оружия пистолет. Количество патронов - семь. Когда закончатся эти боеприпасы, персонаж меняет оружие на дополнительное (имеется ввиду дополнительно прописанное стандартное, а не дополнительно установленное в игру) или стандартное, если дополнительное не было прописано в соответствующую секцию.
12) Возможность установить дополнительные модели медиков и пожарных.

Видео https://www.youtube.com/watch?v=AxTNslmakDk&feature=emb_logo

Версия для GTA San Andreas https://gta.com.ua/forum/index.php?showtopic=4982&page=1#entry2244938

Версия для Grand Theft Auto III https://gta.com.ua/forum/index.php?showtopic=4982&page=1#entry2244957

12
Цитировать
сколько не бился, никак не получилось создать специального актера через скриптовые команды
Можно обойтись без скриптовых команд, все нужные для этого функции в sdk есть. Только обрати внимание, что в отличие от опкода, здесь надо использовать специальный слот на 1 меньше при том же ID спецактёра
Код: C++
  1. #include "plugin.h"
  2. #include "extensions\KeyCheck.h"
  3. #include "CStreaming.h"
  4. #include "CCivilianPed.h"
  5. #include "CWorld.h"
  6.  
  7. using namespace plugin;
  8.  
  9. class Test {
  10. public:
  11.     Test() {
  12.         Events::gameProcessEvent += [] {
  13.             KeyCheck::Update();
  14.             if (KeyCheck::CheckWithDelay('M', 2000)) {
  15.                 CStreaming::RequestSpecialChar(20, "SAM", 6); // 023C: load_special_actor 21 'SAM'
  16.                 if (CStreaming::HasSpecialCharLoaded(20)) {   // 023D: special_actor 21 loaded
  17.                     CPed *ped = new CCivilianPed(PEDTYPE_CIVMALE, 129);
  18.                     if (ped) {
  19.                         ped->SetPosition(FindPlayerPed()->TransformFromObjectSpace(CVector(0.0f, 2.0f, 0.0f)));
  20.                         CWorld::Add(ped);
  21.                     }
  22.                     CStreaming::SetMissionDoesntRequireSpecialChar(20); // 0296: unload_special_actor 21
  23.                 }
  24.             }
  25.         };
  26.     }
  27. } test;

Цитировать
Например, починка шин.
Код: C++
  1. #include "plugin.h"
  2. #include "extensions\KeyCheck.h"
  3. #include "CMessages.h"
  4.  
  5. using namespace plugin;
  6.  
  7. class Test {
  8. public:
  9.     Test() {
  10.         Events::gameProcessEvent += [] {
  11.             KeyCheck::Update();
  12.             if (KeyCheck::CheckWithDelay('N', 2000)) {
  13.                 CVehicle *vehicle = FindPlayerVehicle();
  14.                 if (vehicle && vehicle->m_nVehicleClass == VEHICLE_AUTOMOBILE) {
  15.                     CAutomobile *automobile = reinterpret_cast<CAutomobile *>(vehicle);
  16.                     if (!automobile->m_carDamage.GetWheelStatus(0)) {
  17.                         automobile->m_carDamage.SetWheelStatus(0, 1);
  18.                         CMessages::AddMessageJumpQ(L"damage", 2000, false);
  19.                     }
  20.                     else {
  21.                         automobile->m_carDamage.SetWheelStatus(0, 0);
  22.                         CMessages::AddMessageJumpQ(L"fix", 2000, false);
  23.                     }
  24.                 }
  25.             }
  26.         };
  27.     }
  28. } test;

Добавлено:
Цитировать
стараюсь найти способ смены скина педа.
Посмотрел опкоды, получается так:
Код: C++
  1. #include "plugin.h"
  2. #include "extensions\KeyCheck.h"
  3. #include "extensions\ScriptCommands.h"
  4. #include "eScriptCommands.h"
  5. #include "CStreaming.h"
  6. #include "CWorld.h"
  7.  
  8. using namespace plugin;
  9.  
  10. class Test {
  11. public:
  12.     Test() {
  13.         Events::gameProcessEvent += [] {
  14.             KeyCheck::Update();
  15.             if (KeyCheck::CheckWithDelay('N', 2000)) {
  16.                 CPed *player = FindPlayerPed();
  17.                 if (player) {
  18.                     //Command<COMMAND_UNDRESS_CHAR>(CPools::GetPedRef(player), "STRIPA");
  19.                     int modelIndex = player->m_nModelIndex;
  20.                     player->DeleteRwObject();
  21.                     if (player->IsPlayer())
  22.                         modelIndex = 0;
  23.                     CStreaming::RequestSpecialModel(modelIndex, "STRIPA", 6);
  24.                     CWorld::Remove(player);
  25.                     //Command<COMMAND_LOAD_ALL_MODELS_NOW>();
  26.                     CTimer::Stop();
  27.                     CStreaming::LoadAllRequestedModels(false);
  28.                     CTimer::Update();
  29.                     //Command<COMMAND_DRESS_CHAR>(CPools::GetPedRef(player));
  30.                     player->m_nModelIndex = -1;
  31.                     player->SetModelIndex(modelIndex);
  32.                     CWorld::Add(player);
  33.                 }
  34.             }
  35.         };
  36.     }
  37. } test;

13
Есть какие подвижки в этом вопросе? Тоже хочется глянуть код реализации того плагина.

14
Цитировать
не знаю как выводить gtx записи
Класс CText пока в sdk не добавлен. Пока можно скриптовыми командами:
Код: C++
  1. #include "plugin.h"
  2. #include "eScriptCommands.h"
  3. #include "extensions\ScriptCommands.h"
  4. #include "extensions\KeyCheck.h"
  5.  
  6. using namespace plugin;
  7.  
  8. class Test {
  9. public:
  10.     Test() {
  11.         Events::gameProcessEvent += [] {
  12.             KeyCheck::Update();
  13.             if (KeyCheck::CheckWithDelay('M', 2000)) {
  14.                 Command<COMMAND_LOAD_MISSION_TEXT>("GENERA1");
  15.                 Command<COMMAND_PRINT_NOW>("GEN1_A", 2000, 1);
  16.             }
  17.         };
  18.     }
  19. } test;

Цитировать
ищу аналоги 0A8C: write_memory 0xC0BC15 size 1 value 1 virtual_protect 0
и 0A8D: $result = read_memory 1@ size 4 virtual_protect 0
чтобы поработать с памятью
Для этого есть patch::Set и patch::Get
Но можно просто работать через свою переменную, например, как показал выше в примере с таймерами.
Код: C++
  1. int &var_$3402 = *(int *)0x8247A8;

15
Цитировать
как в данной функции обойтись без использования скриптовой команды?
Код: C++
  1. CPed *ped; CVehicle *vehicle;
  2. ped->SetObjective(OBJECTIVE_ENTER_CAR_AS_DRIVER, vehicle);
  3. ped->WarpPedIntoCar(vehicle);

Страницы: [1] 2 3 ... 16