#51 Re: Sanny Builder и CLEO » Sanny Builder v3.xx » 05-08-2015 04:52

yahoo  Спасибо за этот проект!

#52 Re: Sanny Builder и CLEO » CLEO для GTA III » 22-07-2015 06:52

@Shag, можно попробовать запись значения переменной одного скрипта в ini файл и чтение этого значения другим скриптом, вот только, как это сопоставится с очерёдностью выполнения скриптов.
А, кстати, вот и вопрос: в каком порядке загружаются и выполняются скрипты при, допустим, одном wait 0 в каждом скрипте?

#53 Re: Sanny Builder и CLEO » CLEO для GTA III » 11-07-2015 09:44

А новые опкоды только для exe 1.0 или 1.1 тоже поддерживается?

#54 Re: Sanny Builder и CLEO » CLEO для GTA III » 26-05-2015 07:14

Есть ли возможность "восстановить" следующие опкоды для VC и III:

0681: attach_object 71@ to_car 60@ with_offset 0.5 0.3 0.3 rotation 0.0 0.0 0.0
0682: detach_object 38@(119@,4i) 0.0 0.0 0.0 collision_detection 0
0683: attach_car 208@ to_car 188@ with_offset 0.0 -4.6 0.65 rotation 15.0 0.0 0.0
0684: detach_car 208@ 20.0 180.0 0.0 collision_detection 0
0893: put_trailer 37@ on_cab 34@
07AC: detach_trailer 37@ from_cab 34@

и для III:

0464: put_actor 99@ into_turret_on_car 68@ at_car_offset 266@ 267@ 268@ position 0 shooting_angle_limit 0.0 with_weapon 0
0465: remove_actor $PLAYER_ACTOR from_turret_mode

#55 Re: Sanny Builder и CLEO » CLEO для GTA III » 24-05-2015 06:57

Новые опкоды(включая дублирующие из клео4):

Если я правильно понял, то в этой версии получается некоторые опкоды прописаны дважды? Т.е. например: 05E7 и 0A97

прикладываю свои scm.ini + opcodes.txt

Посмотрел scm.ini и opcodes.txt, там:
0400=1,save_mayhem_time %1d%
0407=1,time_taken_defuse_mission = %1d%

а вот 

Также восстановлены следующие опкоды:

подразумевалось это?
0400: create_coordinate $448 $449 $450 from_object $714 offset -0.277 -16.662 3.152
0407: create_coordinate $1202 $1203 $1200 from_car $1185 offset 0.0 -20.0 0.0

#56 Re: Sanny Builder и CLEO » CLEO для GTA III » 18-05-2015 14:32

Sergey81 wrote:

Было бы неплохо иметь какой-нибудь простенький пример скрипта для этих опкодов, чтобы сразу проверить работает или нет. Я имею в виду пример с scm функцией

Вот несколько примеров:
http://rghost.ru/8qJhwQVns

#57 Re: Sanny Builder и CLEO » CLEO для GTA III » 18-05-2015 08:25

Sergey81 wrote:

Про компоненты, если есть scm функции, которые хотелось бы превратить в опкод, просьба выложить здесь.

Из того. что я проверил в скриптах:

gta3 1.0 (gta3 1.1)
0x52E660 (0x52E8A0) // IsComponentPresent
0x545930 (0x545B30)  // GetDoorStatus
0x52EF90 (0x52F1D0) // IsDoorFullyOpen
0x52E750 (0x52E990)  // CAutomobile__OpenDoor
0x5458E0                     // GetComponentStatus
0x4B9160 (0x4B9250) // CMatrix_SetRotateXOnly
0x4B91F0 (0x4B92E0) // CMatrix_SetRotateYOnly

vc 1.0 (vc 1.1)
0x59D1D0 (0x59D1F0) // IsComponentPresent
0x5A9810 (0x5A9830) // GetDoorStatus
0x59C890 (0x59C8B0) // IsDoorFullyOpen
0x59CF50 (0x59CF70) // CAutomobile__OpenDoor
0x645280 (0x6452D0)  // RwFrameRotate
0x4DF620 (0x4DF640) // CMatrix_SetRotateXOnly
0x4DF590                    // CMatrix_SetRotateZOnly
0x4DF6B0 (0x4DF6D0) // CMatrix__setPos (Z Y X)
0x644AD0                   // RwFrameDestroy
0x5A9850                    // GetComponentStatus
0x4DF240 (0x4DF260) // CPlacable__setRotation

Хорошо бы ещё оформить в опкоды вот это

#58 Re: Sanny Builder и CLEO » CLEO для GTA III » 17-05-2015 06:30

Хорошо бы по-возможности добавить опкоды для работы с ini файлами, внешними звуковыми файлами, битами, компонентами моделей (особо интересует поиск компонента по его названию).

#59 Re: Sanny Builder и CLEO » CLEO для GTA Vice City » 27-02-2015 18:59

И, кстати, если кому надо, то скрипты для показа названий районов и транспорта после заглушки стандартного вывода я написал. Вот здесь можно взять в архиве с скриптом спауна транспорта.

#60 Re: Sanny Builder и CLEO » CLEO для GTA Vice City » 27-02-2015 07:15

exe 1.0
05DF: write_memory 0x5599C2 size 5 value 0x90 virtual_protect 1  // hide zone name
05DF: write_memory 0x559E8E size 5 value 0x90 virtual_protect 1  // hide car name

exe 1.1
05DF: write_memory 0x5599E2 size 5 value 0x90 virtual_protect 1  // hide zone name
05DF: write_memory 0x559EAE size 5 value 0x90 virtual_protect 1  // hide car name

#61 Re: Sanny Builder и CLEO » CLEO для GTA III » 16-02-2015 07:35

DK22Pac wrote:

Да, я уже почти закончил с версией для III. Осталось только сделать опкоды поиска.

Это хорошо! Опкоды для работы с ini файлами и опкоды для работы с внешними звуковыми файлами будут?
Список новых опкодов можно посмотреть?
Огласите весь список пожалуйста. grin

#62 Re: Sanny Builder и CLEO » CLEO для GTA III » 14-02-2015 07:38

DK22Pac wrote:

После потери своих же исходников для CLEO III, желания писать "по новой" совсем не было... Но вчера что-то перевернулось.

Т.е. новая версия клео всё же будет? yahoo

#63 Re: Sanny Builder и CLEO » Sanny Builder v3.xx » 12-02-2015 06:56

А лучше сделать возможность настраивать временной промежуток для автосохранения.

#64 Re: Справочная информация » Адреса и функции gta_vc.exe 1.0 » 03-02-2015 14:47

DK22Pac wrote:

Это в СА только остался весь "мусор" в ексе. В 3/вс есть только функции, которые реально используются в игре.

В GTA3 есть все три такие функции так же, как в SA. В вайсе нашёл только две из них. Либо плохо искал, либо их действительно только две из трёх, но это довольно странно. wow

#65 Re: Справочная информация » Адреса и функции gta_vc.exe 1.0 » 28-01-2015 07:15

Кто-нибудь находил адрес CMatrix__rotateAroundY ? Вроде уже всё просмотрел, но не могу найти.  wall  В SA есть в VC тоже должен быть аналогичный адрес или его нет? Но CMatrix__rotateAroundX и CMatrix__rotateAroundZ  есть. Разве могут два из трёх подобных адресов быть, а третьего нет?

#66 Re: Вопросы по скриптингу » Один вопрос » 21-01-2015 14:04

Спасибо за наводку на смещение 0x1F9.  good

#67 Re: Вопросы по скриптингу » Один вопрос » 21-01-2015 09:09

Подскажите пожалуйста, как узнать включен или выключен двигатель на транспорте в VC. По какому-то смещению в структуре транспорта это наверняка есть?

#68 Re: О сайте и форумах » Вопросы и предложения » 08-01-2015 14:51

Ну  и поставь +5 из имеющегося списка (UTC+05:00) Pakistan
В чём проблема?

#69 Re: О сайте и форумах » Вопросы и предложения » 08-01-2015 06:25

И, что не один часовой пояс, что там есть не подходит?

#71 Re: Sanny Builder и CLEO » CLEO для GTA Vice City » 03-01-2015 08:14

DK22Pac wrote:

Какую проблему?

Зависание игры при показе названия транспорта и районов после использования в скриптах enable_text_draw


Shag wrote:

Проблему с текстом никто пока не решил?

ну вот же

mfisto wrote:

отключать вывод текста районов и тачек, а вместо него делать свой.

#72 Re: Беседка » С новым годом! » 30-12-2014 08:47

Поздравляю всех пользователей и гостей форума с наступающим 2015-м Новым Годом! Желаю здоровья, материального благополучия и мира.
t07086.gif

#73 Re: Программирование » Создание плагина » 17-12-2014 08:06

Спасибо! Теперь получил размер плагина 4 КВ, совсем другое дело.

#74 Re: Программирование » Создание плагина » 16-12-2014 08:12

Ага так робит. good Спасибо!

Ещё вопрос: при компиляции asi плагинов в настройках, какие параметры лучше выставить, чтобы:
1) плагин работал у тех пользователей, где не установлен Microsoft Visual C++
2) размер плагина при этом был бы минимальным

а то у меня получился размер этого плагина 33 КВ
для сравнения посмотрел размер CLEO.asi = 16 КВ
VC_SCMLOG.asi = 11,5 КВ

#75 Re: Программирование » Создание плагина » 15-12-2014 08:40

мда... видно рано мне ещё за плагины браться, blush С++ только начал изучать...
в общем не получается, сделал вот так:

#include <Windows.h>
#include <CPatch.h>

#define gGameVersion (*(unsigned int *)0x601048)
#define GTA_VC_1_0 0x53FF1B8B
#define GTA_VC_STEAM 0xF04F883
#define GTA_VC_1_1 0x783EE8

int gVersion;
unsigned int gLastTimeKeyPressed;
unsigned int gTimer;
int gInitPerFrame;
int gFunc;
DWORD pMoney;

void Thread()
{
 switch(gGameVersion)
 {
  case GTA_VC_1_0:
    gVersion = 0;
	break;

  case GTA_VC_1_1:
    gVersion = 1;
    break;

  case GTA_VC_STEAM:
    gVersion = 2;
    break;
 } 
 /*if (gVersion == 0)
   {
	unsigned int* gTimer = (unsigned int *)0x974B2C;
    int* gInitPerFrame = (int *)0x4A5D91;
    int* gFunc = (int *)0x5522B0;
    DWORD* pMoney = (DWORD*)0x94ADC8;
   }
 else if (gVersion == 1)
   {
	unsigned int* gTimer = (unsigned int *)0x974B34;
    int* gInitPerFrame =  (int *)0x4A5DB1;
    int* gFunc = (int *)0x5522D0;
    DWORD* pMoney = (DWORD*)0x94ADD0;
   }*/
}

void OurFunc();

BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved)
{
 if(reason == DLL_PROCESS_ATTACH)
    {
     Thread();
	 CPatch::RedirectCall(gInitPerFrame, OurFunc); 
	 // Обнуляем таймер
     gLastTimeKeyPressed = 0;
    }
    return TRUE;
}

void OurFunc()
{
    // Проверяем нажатие клавиши "M" и  таймер (если прошлa 1 секундa после последнего нажатия клавиши)
    if(HIBYTE(GetKeyState(0x4D)) == 0xFF && gTimer - gLastTimeKeyPressed > 1000)
     {
       if (gVersion == 0)
	    {
		 unsigned int* gTimer = (unsigned int *)0x974B2C;
         int* gInitPerFrame = (int *)0x4A5D91;
         int* gFunc = (int *)0x5522B0;
         DWORD* pMoney = (DWORD*)0x94ADC8;
	    }
	   else if (gVersion == 1)
	    {
		 unsigned int* gTimer = (unsigned int *)0x974B34;
         int* gInitPerFrame =  (int *)0x4A5DB1;
         int* gFunc = (int *)0x5522D0;
         DWORD* pMoney = (DWORD*)0x94ADD0;
	    }
	   //Добавляем денег игроку
	   pMoney += 1000;
	   // Устанавливаем новое время последнего нажатия клавиши
       gLastTimeKeyPressed = gTimer;
     }
     // Вызываем стандартную функцию игры (0x5522B0)
     ((void (__cdecl *)())gFunc)();
}

ни один из вариантов не работает wall
Кому не сложно поправьте код до рабочего и правильного варианта.

Board footer

Powered by FluxBB