GTA Builder Форум
GTA San Andreas => Скриптинг => Тема начата: drs36 от Февраль 11, 2014, 08:39:55 am
-
Можно ли активировать миссии которые выполняются "по звонку" в начале игры ?
-
Ну ка поподробнее, какие миссии и что значит автивировать?
-
Активировать это значит чтобы они были сначала игры (Миссии которые выполняешь по телефону) .
-
Назови хоть одну миссию, что-то я не помню, вообще, там таких.
-
Миссии каталины
-
Да нет там и такой даже, она звонит один раз и потом появляется маркер, где эту миссию берешь и все. Что-то я все равно не догоняю.
-
: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
-
: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
-
Это я понял не понял где,и что надо это прописать.
-
А что именно не понятного? Может быть лучше логику скрипта изучить, научиться работать с потоками, скриптинг кстати напоминает чем-то программирование. Т.е надо изначально флагам присвоить по 1. Это надо искать, где-то или в MISSION 0 или в самом главном thread, используйте поиск.
-
create_thread @CAT это вызов стартера миссии например из этого куска кода.
create_thread @TRU
create_thread @BCESAR
-
$1363 = 1 а это где надо прописать.
-
$1363 = 1 а это где надо прописать.
Про это забудь это внутрителефонные флаги, тебе главное стартеры)
-
А кроме стартера ?
-
А кроме стартера ?
ну если ты хочешь чтоб был маркер и на всякий отрубить телефонный стартер, то нужно сделать вот так ->
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)
-
Так мне и нужен телефонный стартер я и спрашиваю как его вначале игры сделать.
-
Ну тогда еще проще, вставляешь это куда надо в мейне ->
end_thread_named 'MOB_CAT'
create_thread @MOB_CAT
-
Почему-то не работает ?
-
Почему-то не работает ?
Убери в телефонном стартере все такие проверки ->
$Mission_Badlands_Passed > 0
-
В смысле убрать вырезать или вместо 0 1 поставить
-
В смысле убрать вырезать или вместо 0 1 поставить
Вообще убрать проверку if убрать, строку условия и ниже, всего три строки короче.
-
end_thread_named 'MOB_CAT'
create_thread @MOB_CAT
end_thread_named 'MOB_VEG'
create_thread @MOB_VEG
Если я пропишу это в мейне,то как звонки будут последовательно,или IF надо убрать под ней строчку,и под ней.
-
Там для каждого стартера аналогичные проверки по три строки их надо удлять
-
За это за все спасибо.
Но оказался способ проще: 1) Есть поток INITIAL,и там проставить на интересующие миссии флаг 1
2) Но и поставить потоки миссий например эти: end_thread_named 'MOB_VEG',
create_thread @MOB_VEG