You are not logged in.
Pages: 1
И ещё два вопроса:
1. как изменить позицию игрока т.е. отклонить от настоящей позиции на n метров по x,y?
2. отчего игра может вылетать при сохранении?
у меня 2 вопроса.
1. как сделать, чтобы определённого скина не была среди прохожих.
2. как сделать работающий таймер.
Поставь тогда вместо той проверки
player.defined()в принципе одно и тоже
Не одно и то же. Я заменил ту функцию на эту - всё наперекосяк пошло. Т.е. прокрутился один раз ролик. Потом запись mission_failed, потом опять ролик, потом опять mission_failed.
Так я и делаю миссию.
:mis4_kill wait 0 if wasted_or_busted jf @mis5_kill jump @MIS1_636 :mis5_kill wait 0 if Actor.Dead(12@) jf @mis5_kill2 jump @MIS1_636 :mis5_kill2 wait 0 if 00EC: actor $PLAYER_ACTOR 0 near_point 345.9446 -1315.1191 radius 8.0 8.0 jf @mis1_15 05E2: actor 13@ kill_actor 12@ 05E2: actor 14@ kill_actor $PLAYER_ACTOR :mis1_15 wait 0 if Actor.HasWeapon($PLAYER_ACTOR,34) jf @mis4_kill //Далее какой то код :MIS1_636 //код провала миссии
По идее в данном цикле опкодов должны работать все проверки, но проверка
wasted_or_busted почему то не работает.
Спасибо.
Тему можете закрыть.
просто не создаётся и всё.
00FE: actor $PLAYER_ACTOR sphere 1.1 in_sphere 2522.5481 -1679.0380 15.4970 1.5 1.5 1.5
Я думал, мб как то влияет Marker.Disable, но там стоит определённая переменная другого маркера.
Ну насчёт справки, я там многих опкодов просто не увидел.
так то норм справочник.
А за опкод спс, пошёл тестить...
p.s. Не пашет, нету маркера xD
00FE: actor $PLAYER_ACTOR sphere 1.1 in_sphere 2511.7988 -1674.3735 13.4818 1.5 1.5 1.5
@hemen - ошибок в коде много. Например, if должен применяться в проверках с одним условием. Если условий несколько, то ставится if and или if or. Если нужно проверить, равно ли значение переменной какому-то числу, то ставится 2 знака равно (1@ == 1). Один знак равно ставим тогда, когда записываем число в переменную. В общем, читай справку СБ раздел Кодинг - там все эти моменты затронуты.
Спс что указал, просто забыл поставить.
Проверки, оказывается, работают. Не работали из-за путаницы с $PLAYER_CHAR и $PLAYER_ACTOR.
Но теперь нужна работающая функция создания маркера без иконки. никак найти не могу
actor.InCar($PLAYER_ACTOR,$car1) 0102: actor $PLAYER_ACTOR stopped_near_point_on_foot 1683.6542 -2240.8057 13.5469 radius 1.2 1.2 3.0 sphere 1От такого хочется ржать до потери пульса...
Мои же слова подтверждаются: Такое ощущение, что взяли какие-то опкоды, прикрутили к ним параметры и пихнули по разным блокам.
Что то не так?
:MIS1_498 if Or 0457: player $PLAYER_ACTOR aiming_at_actor 1@ 0457: player $PLAYER_ACTOR aiming_at_actor 2@ jf @MIS1_498 wait 0 05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR 05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
Ну а дак почему тогда ЭТО не работает?
Специально прицел ставлю - и ничо, садятся, руки за голову. Вместо того, чтоб палить.
Где?
ээ, всё, проехали уже.
изменений никаких.
всё тоже. Если кто может, помогите, скажите, где исправить.
Я просто ржу от такого кода...
1.:MIS1_98 wait 1000 Model.Load(#ARMY) Model.Load(#ARMY) wait 0 if and Model.Available(#ARMY) Model.Available(#ARMY) else_jump @MIS1_98 1@ = Actor.Create(CivMale, #ARMY, 2772.7957,-2423.9497,13.6373) 2@ = Actor.Create(CivMale, #ARMY, 2772.5059,-2411.8274,13.6311) Actor.Angle(1@) = 90.0Код никогда не перейдёт на 1@ = Actor.Create... так как стоит проверка не "если иначе, тогда...", а "если так, тогда...". Короче, заменить else_jump на jf. Это касается и потока STR_33.
2.
0002: jump @MAIN_LOOP end_threadГлупезна полнейшая. После jump никогда не ставится end_thread если далее в потоке код отсутствует.
Да и вообще, смотреть на код без слёз невозможно. Такое ощущение, что взяли какие-то опкоды, прикрутили к ним параметры и пихнули по разным блокам.
А я не виноват,что не одного нормального учебника нету.
Одной справкой sb довольствоваться бесполезно.
В миссии не одна проверка, кроме wasted_or_busted, не работает.
Мейн, состоящий ТОЛЬКО ИЗ ТОГО КОДА, ЧТО ТЫ ПРИВЁЛ???
испацтала
я только определённый код записал.
Вот весь код.
Проверял код через КЛЕО?
Это каким образом?
Проверял как обычно. Скомпилил файл в main.scm, запустил игру.
Model.Load(#PATRIOT) 038B: load_requested_models $car1 = Car.Create(#PATRIOT, 2788.3787,-2417.7288,13.6248 ) Car.Angle($car1) = 90.0 Model.Destroy(#PATRIOT) :MIS1_521 if actor.InCar($PLAYER_ACTOR,$car1) wait 100 jf @MIS1_521 Marker.Disable($marker1) 0167: $marker2 = create_marker_at 1683.6542 -2240.8057 13.5469 0 2 $var1 = 1 03E5: text_box 'ENTRY4' 05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR 05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
Код из миссии. Проверка не работает.
Я даже с трудом понимаю как по коду выше могло вообще что-то создаться...
Спасибо, заработало.
И последний вопрос - как проверить, взял ли игрок данный пикап?
Ну да, я понял:
fade 0 0
У меня тут вторая проблема появилась. Создаётся всего лишь один актёр, вместо двух.
:load1 wait 0 Model.Load(#BALLAS1) :load2 wait 0 if And Model.Available(#BALLAS1) else_jump @load1 Actor.Create(1@,4, #BALLAS1,2775.1240,-2421.6475,13.6368) Model.Destroy(#BALLAS1) :load3 wait 0 Model.Load(#BALLAS2) :load4 wait 0 if And Model.Available(#BALLAS2) else_jump @load3 Actor.Create(2@,4, #BALLAS2,2775.5779,-2413.3684,13.6490) Model.Destroy(#BALLAS2)
Вот, хотел создать миссию:
1. Камера ставиться в одно место.
2. Камера ставиться в другое место.
3. К тому же создаются актёры, им раздаётся оружие.
4. Создаётся пикап.
Вместо того, чтобы показывать определённое место, 8 секунд тупо стоит чёрный экран.
Дальше видно, как камера возвращается к игроку.
:STARTMISSION1 increment_mission_attempts fade 0 0 054C: use_GXT_table 'MTABLE' $ONMISSION = 1 00BA: text_styled 'ENTRY1' 1000 ms 2 create_thread @true1 if And Player.Defined($PLAYER_CHAR) gosub @true1 jf @STARTMISSION1 :true1 Model.Load(280) 10950@ = Actor.Create(Mission1, 280,2775.1240,-2421.6475,13.6368) 10951@ = Actor.Create(Mission2, 280,2775.5779,-2413.3684,13.6490) Model.Destroy(280) Model.Load(#M4) 01B2: give_actor 10950@ weapon 31 ammo 100 01B2: give_actor 10951@ weapon 31 ammo 100 Model.Destroy(#M4) Model.Load(#DESERT_EAGLE) 01B2: give_actor $PLAYER_ACTOR weapon 24 ammo 100 Model.Destroy(#DESERT_EAGLE) Model.Load(#CELLPHONE) 0213: $670 = create_pickup #CELLPHONE type 3 at 2799.5354 -2426.6106 13.6308 Model.Destroy(#CELLPHONE) 0373: set_camera_directly_behind_player Player.CanMove($PLAYER_CHAR) = False wait 0 0826: toggle_hud 0 02A3: toggle_widescreen 1 04E4: unknown_refresh_game_renderer_at 2728.8833 -2382.5771 03CB: set_camera 2728.8833 -2382.5771 17.3403 015F: set_camera_position 2728.8833 -2382.5771 17.3403 0 0 0 0160: point_camera 2774.6436 -2416.6724 13.64488 2 00BA: text_styled 'ENTRY2' 4000 ms 5 wait 4000 03CB: set_camera 2794.0073 -2416.5735 13.6321 015F: set_camera_position 2794.0073 -2416.5735 13.6321 0 0 0 0160: point_camera 2799.5354 -2426.6106 13.6308 2 00BA: text_styled 'ENTRY3' 4000 ms 5 wait 4000 Player.CanMove($PLAYER_CHAR) = True 0373: set_camera_directly_behind_player 0826: toggle_hud 1 02A3: toggle_widescreen 0 return
Pages: 1