Помогите разобраться
#1
Я тут мобы поковырял. Результат можно видеть на картинке. Это из файла z17q3.mob (квест с циклопами). Вопрос к Гипатовцам: объясните назначение двух средних полей (HZ [longword] и Eshe HZ [byte]).

З.Ы. Я так понял, что эта секция моба отвечает за все юниты, которые описаны в скриптах (как object).

З.З.Ы. Извиняюсь за какчество Гифа, БМПшник почему-то не захотел поститься Wink


Файлы вложений Эскизы(ов)
   
Duty is everything, the greatest of joys, the deepest of sorrows.
#2
Это скорее всего какие то параметры объекта , так как в скриптах которые в мобе юниты кажись не указываются.Там указываются их идентификаторы.
UID это если я не ошибаюсь Unit Identificator то есть его идентификатор в мобе и вобще в игре.Остальное и впрямь туманно но может позже я разберусь с этим по подробнее.

А чем ты ковырял моб ?
"{}•••®/A//P][R[$®•••{}"
#3
Этот участок - относится к визуальному представлению скрипта.
На основании этих данных генерируется скрип, тот, который зашифрован.

0x0000E003 = (Целое число) ID Сущности (Под сущностью подразумевается объект или группа объектов)
0x0000E004 = (Целое число) Код группы Родителя (см. в файле zone17-lmp.mob, группа с именем "Ciclopa3" )
0x0000E005 = (Целое число) Тип (1=для группы, 2=для объекта)
0x0000E002 = (Строка) Имя (Юнита или группы)

В данном случае мы имеем:
1000263
-4100
2
LMPCyclop47386


А вот это из файла zone17-lmp.mob, смещение: 0x00001D6C
-4100
-10
1
Ciclopa3


Это скрипт из файла: "z17q3.mob"
Код:
GlobalVars (
 NULL : object,
 VSS#i#val : object,
 i : object,
 LMPCyclop47386 : object,
 LMPCyclops47384 : object
)

DeclareScript VTriger#3#1 (  this : object )

Script VTriger#3#1
(
 if
 (
 )
 then
 (
   KillScript(  )
   QStart( "z17q3" )
   QObjKillGroup( "Ciclopa3" )
   QFinish(  )
 )
)

WorldScript
(
 Sleep( 2 )
 LMPCyclop47386 = GetObjectByID( "1000263" )
 LMPCyclops47384 = GetObjectByID( "1000264" )
 AddObject( Ciclopa3, GetObject( 1000263 )  )
 AddObject( Ciclopa3, GetObject( 1000264 )  )
 AddObject( Ciclopa3, GetObject( 1000265 )  )
 VTriger#3#1( NULL )
)

Это скрипт из файла: "zone17-lmp.mob"
Код:
GlobalVars (
 NULL : object,
 VSS#i#val : object,
 i : object,
 NecroKeyDoor : object,
 NecroLabDoor : object,
 HadoganGate00-359c : object,
 HadoganGate01-45256b : object,
 HadoganGate00-359b : object,
 HadoganGate01-45256a : object,
 HadoganGate00-14483i : object,
 HadoganGate00-359d : object,
 Vivary00-362g : object,
 HadoganGate00-14483dd : object,
 HadoganGate00-14483cd : object,
 HadoganGate00-14483b : object,
 HadoganGate00-14483a : object,
 HadoganGate00-14483h : object,
 HadoganGate00-359a : object,
 HadoganGate00-14483d : object,
 Vivary00-362f : object,
 Vivary00-362c : object,
 Vivary00-362a : object,
 Vivary00-362d : object,
 HadoganGate00-14483c : object,
 Vivary00-362b : object,
 HadoganGate00-14483g : object,
 Vivary00-362e : object,
 HadoganGate00-14483f : object,
 Headless-46306b : object,
 DeadS : object,
 Headless-46306 : object,
 HadoganCaveDoor00-47470 : object,
 Heroes : group,
 Ciclopa3 : group
)

DeclareScript #OnBriefingComplete (  nPlayer : float,  szComplete : string )

Script #OnBriefingComplete
(
 if
 (
 )
 then
 (
   KillScript(  )
 )
)

WorldScript
(
 Sleep( 2 )
 NecroKeyDoor = GetObjectByID( "45069" )
 NecroLabDoor = GetObjectByID( "45103" )
 HadoganGate00-359c = GetObjectByID( "45245" )
 HadoganGate01-45256b = GetObjectByID( "45256" )
 HadoganGate00-359b = GetObjectByID( "45283" )
 HadoganGate01-45256a = GetObjectByID( "45285" )
 HadoganGate00-14483i = GetObjectByID( "45356" )
 HadoganGate00-359d = GetObjectByID( "359" )
 Vivary00-362g = GetObjectByID( "362" )
 HadoganGate00-14483dd = GetObjectByID( "370" )
 HadoganGate00-14483cd = GetObjectByID( "371" )
 HadoganGate00-14483b = GetObjectByID( "436" )
 HadoganGate00-14483a = GetObjectByID( "573" )
 HadoganGate00-14483h = GetObjectByID( "45678" )
 HadoganGate00-359a = GetObjectByID( "45750" )
 HadoganGate00-14483d = GetObjectByID( "45823" )
 Vivary00-362f = GetObjectByID( "45898" )
 Vivary00-362c = GetObjectByID( "45908" )
 Vivary00-362a = GetObjectByID( "45912" )
 Vivary00-362d = GetObjectByID( "45914" )
 HadoganGate00-14483c = GetObjectByID( "45824" )
 Vivary00-362b = GetObjectByID( "45917" )
 HadoganGate00-14483g = GetObjectByID( "45930" )
 Vivary00-362e = GetObjectByID( "45919" )
 HadoganGate00-14483f = GetObjectByID( "45953" )
 Headless-46306b = GetObjectByID( "46306" )
 DeadS = GetObjectByID( "47217" )
 Headless-46306 = GetObjectByID( "47219" )
 HadoganCaveDoor00-47470 = GetObjectByID( "47470" )
)
#4
Спасибо Джету за столь подробное объяснение.

Mephisto Написал:А чем ты ковырял моб ?
Эмм. Руками + Delphi 6 Smile
Duty is everything, the greatest of joys, the deepest of sorrows.


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)