GTA Builder Форум

GTA San Andreas => Скриптинг => Тема начата: drs36 от Февраль 11, 2014, 08:39:55 am

Название: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 08:39:55 am
Можно ли активировать миссии которые выполняются "по звонку" в начале игры ?
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 04:54:11 pm
Ну ка поподробнее, какие миссии и что значит автивировать?
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 05:15:50 pm
Активировать это значит чтобы они были сначала игры (Миссии которые выполняешь по телефону) .
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 05:46:16 pm
Назови хоть одну миссию, что-то я не помню, вообще, там таких.
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 05:47:42 pm
Миссии каталины
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 05:52:47 pm
Да нет там и такой даже, она звонит один раз и потом появляется маркер, где эту миссию берешь и все. Что-то я все равно не догоняю.
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 05:54:44 pm
:MOB_CAT
set_wb_check_to 1
thread 'MOB_CAT'

:MOB_CAT_15
wait 120
if and
  $ONMISSION == 0
  $CALL_TIME_STORED_FLAG == 0
else_jump @MOB_CAT_56
01BD: $CURRENT_TIME_IN_MS = current_time_in_ms
$CALL_TIME_STORED_FLAG = 1

:MOB_CAT_56
if
  $1411 == 1
else_jump @MOB_CAT_76
end_thread

:MOB_CAT_76
gosub @ENTEXT_214
if
   Player.Defined($PLAYER_CHAR)
else_jump @MOB_CAT_1215
if
  $TIME_FROM_LAST_CALL_GOT_FLAG == 1
else_jump @MOB_CAT_1208
if
001C:   $TIME_FROM_LAST_CALL > $RECALL_TIME // (int)
else_jump @MOB_CAT_1208
if
  $MISSION_BADLANDS_PASSED > 0
else_jump @MOB_CAT_286
if
  $1356 == 0
else_jump @MOB_CAT_286
$CELLPHONE_CALL_ID = 8
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_218
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_218
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_272
$1356 = 1
create_thread @CAT
Marker.Disable($MARKER_CATALINA)
$MARKER_CATALINA = Marker.CreateIconAndSphere(37, $X_MEETING_CATALINA, $Y_MEETING_CATALINA, $Z_MEETING_CATALINA)

:MOB_CAT_272
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_286
if
  $MISSION_BADLANDS_PASSED > 0
else_jump @MOB_CAT_407
if
  $1359 == 0
else_jump @MOB_CAT_407
$CELLPHONE_CALL_ID = 24
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_368
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_368
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_393
$1359 = 1

:MOB_CAT_393
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_407
if and
  $TRUTH_TOTAL_PASSED_MISSIONS == 0
  $CATALINA_TOTAL_PASSED_MISSIONS == 1
else_jump @MOB_CAT_565
if
  $1357 == 0
else_jump @MOB_CAT_565
$CELLPHONE_CALL_ID = 15
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_496
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_496
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_551
$1357 = 1
create_thread @TRU
Marker.Disable($MARKER_TRUTH_FARM)
$MARKER_TRUTH_FARM = Marker.CreateIconAndSphere($ICON_TRUTH, $X_ANGEL_PINE_MOTEL, $Y_ANGEL_PINE_MOTEL, $Z_ANGEL_PINE_MOTEL)

:MOB_CAT_551
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_565
if
  $CATALINA_TOTAL_PASSED_MISSIONS == 3
else_jump @MOB_CAT_866
if
  $1361 == 0
else_jump @MOB_CAT_866
$CELLPHONE_CALL_ID = 0
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_647
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_647
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_852
$1361 = 1
076C: set_zone 'ELCO1' gang 2 density_to 40
076C: set_zone 'ELCO2' gang 2 density_to 40
076C: set_zone 'ELCO1' gang 7 density_to 0
076C: set_zone 'ELCO2' gang 7 density_to 0
076C: set_zone 'ELCO1' gang 1 density_to 0
076C: set_zone 'ELCO2' gang 1 density_to 0
076C: set_zone 'LMEX1A' gang 2 density_to 30
076C: set_zone 'LMEX1B' gang 2 density_to 30
076C: set_zone 'LMEX1A' gang 7 density_to 0
076C: set_zone 'LMEX1B' gang 7 density_to 0
076C: set_zone 'LMEX1A' gang 1 density_to 0
076C: set_zone 'LMEX1B' gang 1 density_to 0

:MOB_CAT_852
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_866
if and
  $CATALINA_TOTAL_PASSED_MISSIONS > 1
  $CESAR_TOTAL_PASSED_MISSIONS == 0
else_jump @MOB_CAT_1047
if
  $1362 == 0
else_jump @MOB_CAT_1047
$CELLPHONE_CALL_ID = 10
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_955
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_955
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_1033
$1362 = 1
create_thread @BCESAR
Marker.Disable($MARKER_CESAR_MONTGOMERY)
$MARKER_CESAR_MONTGOMERY = Marker.CreateIconAndSphere($ICON_CESAR, $X_MONTGOMERY, $Y_MONTGOMERY, $Z_MONTGOMERY)
018B: set_marker $MARKER_CESAR_MONTGOMERY radar_mode 2
00BB: show_text_lowpriority GXT 'BC4_1' time 8000 flag 1  // ~s~­aќљњ ЇaҐњ®y љћ¬ ™o®kњ њ ўc¦pe¤aќc¬ c ~b~CњџapoЇ~s~ y c¦ap¦a.

:MOB_CAT_1033
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_1047
if and
  $CATALINA_TOTAL_PASSED_MISSIONS > 3
  $CESAR_TOTAL_PASSED_MISSIONS > 9
else_jump @MOB_CAT_1208
if
  $1363 == 0
else_jump @MOB_CAT_1208
$CELLPHONE_CALL_ID = 16
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_1136
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_1136
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_1194
$1363 = 1
Marker.Disable($MARKER_TRUTH_FARM)
$MARKER_TRUTH_FARM = Marker.CreateIconAndSphere($ICON_TRUTH, $X_TRUTH_FARM, $Y_TRUTH_FARM, $Z_TRUTH_FARM)
01F0: set_max_wanted_level_to 5
$1411 = 1

:MOB_CAT_1194
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_1208
jump @MOB_CAT_1222

:MOB_CAT_1215
$PHONE_RINGING_FLAG = 0

:MOB_CAT_1222
jump @MOB_CAT_15
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 06:02:38 pm
:MOB_CAT
set_wb_check_to 1
thread 'MOB_CAT'

:MOB_CAT_15
wait 120
if and
  $ONMISSION == 0
  $CALL_TIME_STORED_FLAG == 0
else_jump @MOB_CAT_56
01BD: $CURRENT_TIME_IN_MS = current_time_in_ms
$CALL_TIME_STORED_FLAG = 1

:MOB_CAT_56
if
  $1411 == 1
else_jump @MOB_CAT_76
end_thread

:MOB_CAT_76
gosub @ENTEXT_214
if
   Player.Defined($PLAYER_CHAR)
else_jump @MOB_CAT_1215
if
  $TIME_FROM_LAST_CALL_GOT_FLAG == 1
else_jump @MOB_CAT_1208
if
001C:   $TIME_FROM_LAST_CALL > $RECALL_TIME // (int)
else_jump @MOB_CAT_1208
if
  $MISSION_BADLANDS_PASSED > 0
else_jump @MOB_CAT_286
if
  $1356 == 0
else_jump @MOB_CAT_286
$CELLPHONE_CALL_ID = 8
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_218
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_218
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_272
$1356 = 1
create_thread @CAT
Marker.Disable($MARKER_CATALINA)
$MARKER_CATALINA = Marker.CreateIconAndSphere(37, $X_MEETING_CATALINA, $Y_MEETING_CATALINA, $Z_MEETING_CATALINA)

:MOB_CAT_272
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_286
if
  $MISSION_BADLANDS_PASSED > 0
else_jump @MOB_CAT_407
if
  $1359 == 0
else_jump @MOB_CAT_407
$CELLPHONE_CALL_ID = 24
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_368
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_368
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_393
$1359 = 1

:MOB_CAT_393
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_407
if and
  $TRUTH_TOTAL_PASSED_MISSIONS == 0
  $CATALINA_TOTAL_PASSED_MISSIONS == 1
else_jump @MOB_CAT_565
if
  $1357 == 0
else_jump @MOB_CAT_565
$CELLPHONE_CALL_ID = 15
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_496
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_496
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_551
$1357 = 1
create_thread @TRU
Marker.Disable($MARKER_TRUTH_FARM)
$MARKER_TRUTH_FARM = Marker.CreateIconAndSphere($ICON_TRUTH, $X_ANGEL_PINE_MOTEL, $Y_ANGEL_PINE_MOTEL, $Z_ANGEL_PINE_MOTEL)

:MOB_CAT_551
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_565
if
  $CATALINA_TOTAL_PASSED_MISSIONS == 3
else_jump @MOB_CAT_866
if
  $1361 == 0
else_jump @MOB_CAT_866
$CELLPHONE_CALL_ID = 0
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_647
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_647
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_852
$1361 = 1
076C: set_zone 'ELCO1' gang 2 density_to 40
076C: set_zone 'ELCO2' gang 2 density_to 40
076C: set_zone 'ELCO1' gang 7 density_to 0
076C: set_zone 'ELCO2' gang 7 density_to 0
076C: set_zone 'ELCO1' gang 1 density_to 0
076C: set_zone 'ELCO2' gang 1 density_to 0
076C: set_zone 'LMEX1A' gang 2 density_to 30
076C: set_zone 'LMEX1B' gang 2 density_to 30
076C: set_zone 'LMEX1A' gang 7 density_to 0
076C: set_zone 'LMEX1B' gang 7 density_to 0
076C: set_zone 'LMEX1A' gang 1 density_to 0
076C: set_zone 'LMEX1B' gang 1 density_to 0

:MOB_CAT_852
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_866
if and
  $CATALINA_TOTAL_PASSED_MISSIONS > 1
  $CESAR_TOTAL_PASSED_MISSIONS == 0
else_jump @MOB_CAT_1047
if
  $1362 == 0
else_jump @MOB_CAT_1047
$CELLPHONE_CALL_ID = 10
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_955
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_955
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_1033
$1362 = 1
create_thread @BCESAR
Marker.Disable($MARKER_CESAR_MONTGOMERY)
$MARKER_CESAR_MONTGOMERY = Marker.CreateIconAndSphere($ICON_CESAR, $X_MONTGOMERY, $Y_MONTGOMERY, $Z_MONTGOMERY)
018B: set_marker $MARKER_CESAR_MONTGOMERY radar_mode 2
00BB: show_text_lowpriority GXT 'BC4_1' time 8000 flag 1  // ~s~­aќљњ ЇaҐњ®y љћ¬ ™o®kњ њ ўc¦pe¤aќc¬ c ~b~CњџapoЇ~s~ y c¦ap¦a.

:MOB_CAT_1033
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_1047
if and
  $CATALINA_TOTAL_PASSED_MISSIONS > 3
  $CESAR_TOTAL_PASSED_MISSIONS > 9
else_jump @MOB_CAT_1208
if
  $1363 == 0
else_jump @MOB_CAT_1208
$CELLPHONE_CALL_ID = 16
gosub @MOB_GF_1087
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_1136
gosub @CELLFON_60
gosub @MOB_GF_3328

:MOB_CAT_1136
if
  $CALL_ANSWERED == 1
else_jump @MOB_CAT_1194
$1363 = 1
Marker.Disable($MARKER_TRUTH_FARM)
$MARKER_TRUTH_FARM = Marker.CreateIconAndSphere($ICON_TRUTH, $X_TRUTH_FARM, $Y_TRUTH_FARM, $Z_TRUTH_FARM)
01F0: set_max_wanted_level_to 5
$1411 = 1

:MOB_CAT_1194
gosub @MOB_GF_3168
jump @MOB_CAT_15

:MOB_CAT_1208
jump @MOB_CAT_1222

:MOB_CAT_1215
$PHONE_RINGING_FLAG = 0

:MOB_CAT_1222
jump @MOB_CAT_15

Вот эти флаги отвечают за начало миссий: проверь их по мейну и поймешь))
$1356 = 1
$1362 = 1
$1363 = 1
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 06:12:58 pm
Это я понял не понял где,и что надо это прописать.
Название: Re: Можно ли активировать миссии
Отправлено: Sektor от Февраль 11, 2014, 06:55:16 pm
А что именно не понятного? Может быть лучше логику скрипта изучить, научиться работать с потоками, скриптинг кстати напоминает чем-то программирование. Т.е надо изначально флагам присвоить по 1. Это надо искать, где-то или в MISSION 0 или в самом главном thread, используйте поиск.
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 07:04:15 pm
create_thread @CAT это вызов стартера миссии например из этого куска кода.

create_thread @TRU

create_thread @BCESAR
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 07:18:12 pm
$1363 = 1 а это где надо прописать.
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 07:23:29 pm
$1363 = 1 а это где надо прописать.

Про это забудь это внутрителефонные флаги, тебе главное стартеры)
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 07:26:47 pm
А кроме стартера ?
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 07:36:35 pm
А кроме стартера ?
ну если ты хочешь чтоб был маркер и на всякий отрубить телефонный стартер, то нужно сделать вот так ->

while true
    wait 0
    0AAA: 31@ = thread 'MOB_CAT' pointer
    if
        31@ <> 0
    then
        0459: end_thread_named 'MOB_CAT'
    end
end
это оформляешь в отдельный поток

+ где-то прописываешь вот это ->

create_thread @CAT
Marker.Disable($Marker_Catalina)
$Marker_Catalina = Marker.CreateIconAndSphere(37, $X_Meeting_Catalina, $Y_Meeting_Catalina, $Z_Meeting_Catalina)
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 07:47:55 pm
Так мне и нужен телефонный стартер я и спрашиваю как его вначале игры сделать.
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 07:51:44 pm
Ну тогда еще проще, вставляешь это куда надо в мейне ->

end_thread_named 'MOB_CAT'
create_thread @MOB_CAT
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 07:56:39 pm
Почему-то не работает ?
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 08:07:06 pm
Почему-то не работает ?

Убери в телефонном стартере все такие проверки ->

$Mission_Badlands_Passed > 0
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 08:22:39 pm
В смысле убрать вырезать или вместо 0 1 поставить
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 08:56:34 pm
В смысле убрать вырезать или вместо 0 1 поставить

Вообще убрать проверку if убрать, строку условия и ниже, всего три строки короче.
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 10:24:32 pm
end_thread_named 'MOB_CAT'
create_thread @MOB_CAT
end_thread_named 'MOB_VEG'
create_thread @MOB_VEG

Если я пропишу это в мейне,то как звонки будут последовательно,или IF надо убрать под ней строчку,и под ней.
Название: Re: Можно ли активировать миссии
Отправлено: mfisto от Февраль 11, 2014, 10:39:52 pm
Там для каждого стартера аналогичные проверки по три строки их надо удлять
Название: Re: Можно ли активировать миссии
Отправлено: drs36 от Февраль 11, 2014, 11:03:21 pm
За это за все спасибо.

Но оказался способ проще: 1) Есть поток INITIAL,и там проставить на интересующие миссии флаг 1
2) Но и поставить потоки миссий например эти: end_thread_named 'MOB_VEG',
create_thread @MOB_VEG