You are not logged in.
Offline
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
Код из миссии. Проверка не работает.
Offline
Проверял код через КЛЕО?
Offline
Проверял код через КЛЕО?
Это каким образом?
Проверял как обычно. Скомпилил файл в main.scm, запустил игру.
Offline
Мейн, состоящий ТОЛЬКО ИЗ ТОГО КОДА, ЧТО ТЫ ПРИВЁЛ???
испацтала
Offline
Мейн, состоящий ТОЛЬКО ИЗ ТОГО КОДА, ЧТО ТЫ ПРИВЁЛ???
испацтала
я только определённый код записал.
Вот весь код.
Offline
Player.Money($10) += 1000
Что за переменная $10?
Player.Money($PLAYER_CHAR) += 1000
[---]
end_thread end_thread
Зачем второй энд_срэд?[---]Довольно странный поток MAIN, он должен циклиться
:MAIN_LOOP 0001: wait 1000 ms 00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes 0002: jump @MAIN_LOOP
а свои темы мути в других потоках.
Last edited by ~AquaZ~ (07-06-2010 08:01)
Offline
В миссии не одна проверка, кроме wasted_or_busted, не работает.
Last edited by hemen (07-06-2010 10:50)
Offline
Я просто ржу от такого кода...
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 если далее в потоке код отсутствует.
Да и вообще, смотреть на код без слёз невозможно. Такое ощущение, что взяли какие-то опкоды, прикрутили к ним параметры и пихнули по разным блокам.
Last edited by Sw[ee]t (07-06-2010 12:11)
Offline
Я просто ржу от такого кода...
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 довольствоваться бесполезно.
Offline
Никто кроме тебя такой бред не писал. Справка отличная. (Лучше я справки не видел - отвечаю!)
Offline
изменений никаких.
всё тоже. Если кто может, помогите, скажите, где исправить.
Last edited by hemen (07-06-2010 13:24)
Offline
Где?
Offline
Где?
ээ, всё, проехали уже.
Offline
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
От такого хочется ржать до потери пульса...
Мои же слова подтверждаются: Такое ощущение, что взяли какие-то опкоды, прикрутили к ним параметры и пихнули по разным блокам.
Offline
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
Ну а дак почему тогда ЭТО не работает?
Специально прицел ставлю - и ничо, садятся, руки за голову. Вместо того, чтоб палить.
Last edited by hemen (07-06-2010 13:33)
Offline
Код никогда не перейдёт на 1@ = Actor.Create... так как стоит проверка не "если иначе, тогда...", а "если так, тогда...". Короче, заменить else_jump на jf. Это касается и потока STR_33.
Вообще-то else_jump и jf - это одно и то же: опкод 004D: jump_if_false @Metka.
Но возникает другой вопрос - зачем проверять два одинаковых условия?
Глупезна полнейшая. После jump никогда не ставится end_thread если далее в потоке код отсутствует.
end_thread сюда поставить можно, просто он будет бесполезен, т.к. никогда не выполнится.
Ну а дак почему тогда ЭТО не работает?
Должно быть if or, а не if 0r
@hemen - ошибок в коде много. Например, if должен применяться в проверках с одним условием. Если условий несколько, то ставится if and или if or. Если нужно проверить, равно ли значение переменной какому-то числу, то ставится 2 знака равно (1@ == 1). Один знак равно ставим тогда, когда записываем число в переменную. В общем, читай справку СБ раздел Кодинг - там все эти моменты затронуты.
@Sw[ee]t, наверно стоит посдержаннее быть, ведь все были новичками.
Last edited by Den_spb (07-06-2010 13:43)
Offline
@hemen - ошибок в коде много. Например, if должен применяться в проверках с одним условием. Если условий несколько, то ставится if and или if or. Если нужно проверить, равно ли значение переменной какому-то числу, то ставится 2 знака равно (1@ == 1). Один знак равно ставим тогда, когда записываем число в переменную. В общем, читай справку СБ раздел Кодинг - там все эти моменты затронуты.
Спс что указал, просто забыл поставить.
Проверки, оказывается, работают. Не работали из-за путаницы с $PLAYER_CHAR и $PLAYER_ACTOR.
Но теперь нужна работающая функция создания маркера без иконки. никак найти не могу
Last edited by hemen (07-06-2010 16:41)
Offline
наверно стоит посдержаннее быть, ведь все были новичками.
А если читать справку не хотят, как быть? Эти новички даже отказываются от чтения этой самой справки ссылаясь на непонятность. Хорошо. Не надо её читать, но ведь на форуме пруд-пруди исходного кода к модам. Встречаются даже с комментариями (в основном от симэна).
@hemen - В смысле "маркер без иконки"? То есть просто маркер в каком-то месте на которое нужно приехать и тогда что-то произойдёт, то это опкод 00FE.
Сразу пример:
00FE: actor $PLAYER_ACTOR sphere 0 (больше чем 1,5 ставить не рекомендую, сфера будет слишком большой) in_sphere координаты (3 значения) radius радиус (3 значения)
Если же ты имел в виду что-то другое то не знаю.
Offline
Ну насчёт справки, я там многих опкодов просто не увидел.
так то норм справочник.
А за опкод спс, пошёл тестить...
p.s. Не пашет, нету маркера xD
00FE: actor $PLAYER_ACTOR sphere 1.1 in_sphere 2511.7988 -1674.3735 13.4818 1.5 1.5 1.5
Last edited by hemen (07-06-2010 18:12)
Offline
время моего вопроса...
Как можно изменить размер существуещеё короны...
(опкоды не пишУ))
:sizeing
10@ = 500
create_corona_at 1@ 2@ 3@ radius 10@ type 2 flare 2 RGB 255 255 255
if
not 10@ = 1
jf @blahblahblah
10@ -= 10
jump @sizeing
:blahblahblah
Вызывает вылет...так как сменить размер короны...
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
1. Расстояния, скорости, углы и другие подобные величины в игре выражаются дробными числами (здесь это относится к размеру короны)
2. Если нужно сравнить значение переменной с числом, то ставится 2 знака равно: not 10@ == 1.0
Offline
3. После того, как ты из 10@ вычтешь 10 и прыгнешь на sizeing, 10@ снова станет 500.
4. В слове sizing нет буквы e.
Offline
так блин как менять размер созданной короны?
~Надо уметь жить~
~1 правило хакера - не убей и не повреди без особой нужды~
Offline
так блин как менять размер созданной короны?
Не блинкай!
Размер менять через память, либо просто удалить старую, создать новую корону.
Offline