#351 Вопросы по скриптингу » Разжёвывание "известных" команд. » 17-08-2006 23:25

Capushon
Replies: 15

Не хотелось все вопроссы сбрасывать в одну кучу, как это сделано на большинстве форумов по GTA, по-сему создаю эту тему.

Вопрос вот в чём, ещё со времён GTA3, некоторые команды вроде как и содержат некое описание, но их загадочный смысл до конца непонятен,  а поэтому никем не используется в модах.
Начну по-порядку - поправьте если ошибусь:

Игрок видит авто?

00D6: if 0
02CA:   car @61 bounding_sphere_visible
004D: jump_if_false ЈDRUGS3_885

Добавить в группу @50, актёра в качестве лидера - это как?

0630: put_actor @64 in_group @50 as_leader

На предмет чего, может быть такая проверка? Какие будут предположения?
И что вообще такое 1541? Т.е. некий параметр актёра @15 записывается в переменную @13, но что это может быть?

062E: actor @15 1541 @13 
00D6: if 0
04A4:   @13 7 
004D: jump_if_false ЈGFMEET_259

Вот ещё похожее условие, но здесь более-менее понятно, похоже проверяется звучит ли ещё загруженный трек. Или есть другие идеи?

0953: get_soundtrack_status @17 
00D6: if 0
04A4:   @17 3 
004D: jump_if_false ЈЈLOWGAME_150

Здесь вообще у меня нет никаких идей и приблизительно ... :-(

08C3: clear4_bit @3 3

Что это, может задавать?

03CC: set_car @244 enable_stuck_check_distance_to 2.0 = 3000
00D6: if 0
03CE:   car @244 stuck
004D: jump_if_false ЈSYN2_2803
03CD: car @244 remove_from_stuck_car_check

#352 Вопросы по скриптингу » Вопросы по опкодам » 13-08-2006 23:41

Capushon
Replies: 242

<center>В этой теме задаются все вопросы по конкретным опкодам (назначение того или иного опкода, особенности использования, лимиты и т.д.). Все остальные подобные темы будут "приклеиваться" к этой</center>
<hr>

Возможно когда-нибудь разрешиться и этот мой вопрос на счёт непонятного использования кодов в скриптах, думаю в этом форуме будет большинство - проффи, поэтому задаю его и здесь.

Пример непонятного правила, при котором необходимо дублировать строки (оригинальный main.scm трейд :POOL2_6325):

0792: (unknown) $PLAYER_ACTOR
0792: (unknown) $PLAYER_ACTOR
0792: (unknown) $PLAYER_ACTOR
0792: (unknown) $PLAYER_ACTOR
0792: (unknown) $PLAYER_ACTOR

Как после команды "return", что-то ещё может выполняться?
(оригинальный main.scm трейд :QUARRY_2253)

018A: @132 = create_checkpoint_at @215 @216 @217
0006: @239 = 1;; integer values
0051: return;; Bug?
00BF: @200 = current_time_hours, @201 = current_time_minutes
0085: @50 = @202;; integer values and handles
0012: @50 *= 60;; integer values

Пример, когда один и тот же код операции использован и в условии и
самостоятельно(оригинальный main.scm трейд :DRUGS4_5856):

075A: @230 "DONUTDROP" "MD_CHASE" 4.0 0 1

(оригинальный main.scm трейд :WUZI5_2018)

00D6: if 0
075A:   @74 "KAT_THROW_O" "MISC" 10000.0 0 0
004D: jump_if_false ЈWUZI5_2022

Еще пример, когда один и тот же код операции использован и в условии и
самостоятельно (оригинальный main.scm трейд :STEAL4_1089):

04E6: unknown_object @106 near_point @160 @161 @162 radius 5.0 5.0 3.0 unknown 1

(оригинальный main.scm трейд :STEAL4_1110)

00D6: if 0
04E6:   unknown_object @106 near_point @160 @161 @162 radius 6.0 6.0 6.0 unknown 0
004D: jump_if_false ЈSTEAL4_1120

Вот снова, один и тот же код операции использован и в условии и
самостоятельно (оригинальный main.scm трейд :VALET_793):

03D3: find_nearest_route_for_3D_coord @21 @22 @23 get_3D_coord_to $73 $74 $75 get_Z_angle_to @24

(оригинальный main.scm трейд :GFDATE_3266)

00D6: if 0
03D3:   find_nearest_route_for_3D_coord @4 @7 @10 get_3D_coord_to @5 @8 @11 get_Z_angle_to @13;; BUG???
004D: jump_if_false ЈGFDATE_3290

Как это понимать??? Неточность некоторых OPR-кодов?
Я не нахожу объяснений ...

Board footer

Powered by FluxBB