You are not logged in.
Pages: 1
при нажатии R всё вокруг заливает зелёным цветом , время замедляеться в4 раза и:
1) если вы пешком то гравитация слабеет и вы прыгаете на более дальние расстояния
отключается при нажатии R ,при посадке в машину и попадании в воду
2)если за рулём то гравитация усиливаеться и вследствие улутшается сцепление с дорогой+машина становиться очень тяжелой
отключаеться при нажатии R при слетания с мотоцикла и попадании в воду
3)не действует в лодках в самолётах и в воде
4)над радаром появляется уменьшающаяся полоска показывающая сколько ещё времени можно находиться в этом состоянии, если вы в нём не находитесь она накапливается, и когда она полная исчезает
Last edited by gooser (03-02-2009 18:14)
Offline
уменьшать размер не пробовал но она ведь наверно будет уменьшаться с обеих сторон или она обрезаеться а не масштабируется?
а скрипт то как ,не плох , токо срого не суди редко я скриптю сам, восновном переделываю
Last edited by gooser (07-01-2009 20:18)
Offline
а мне кажется, что будет масштабироваться относительно левого верхнего угла (ведь мы его устанавливаем в качестве первых 2-х параметров положения текстуры на экране). Их надо тоже менять в цикле, если хотим, чтобы полоски сужались с течением времени относительно середины, а не левого края... То есть, пусть сужение текстуры происходит со скоростью v, тогда смещение левого края должно происходить со скоростью -v/2 ( в противоположную сужению сторону, то есть увеличиваться, тогда как ширина уменьшается)
Offline
ЗАИПАЛСЯ уже честно говоря:mad: разные способы пробовал , и перемещение и масштабирование текстуры , ставил разные цифры , в результате она либо на месте стоит , либо в углу ваще появляеться и опять не меняется либо её тупо нет , плиз покажите на примере:cry:
Offline
0@ = 100.0 //начальный масштаб по Х :texture_scale wait 0 03F0: enable_text_draw 0 //очистили экран от текстур 03E3: set_texture_to_be_drawn_antialiased 1 //сглаживаем текстуру 038D: draw_texture 1 position 320.0 240.0 size 0@ 100.0 RGBA 255 255 255 255 //выводим текстуру на экран, в качестве масштаба по Х переменная 0@ 0@ -= 1.0 //уменьшаем масштаб по Х if 0@ == 0.0 //если текстура уменьшена до минимума, конец jf @texture_scale //конец
GIMS developer
Offline
С войт 0 она наверно моментально уменьшиться и опять же даже не успееш её увидеть
если поставиь 1 то будет уменьшаться 100 милисекунд
как растянуть етот процесс вот в чём вопрос?
зы правда я не пробовал мне гта над переустановить
Last edited by gooser (11-01-2009 14:30)
Offline
а параметр который ты меняешь на переменую обозначает размер в пикселях или масштаб?
Offline
@3Doomer - при 03F0: enable_text_draw 0 экран не очищается, а наоборот замусоривается.
Экран автоматически стирается при 03F0: enable_text_draw 1. К тому же полоска будет укорачиваться с двух сторон в твоём примере.
@gooser -
пример вывода полоски:
var 0@: Float // Переменная в процентах, 100.0 - max 1@: Float 2@: Float //X 3@: Float //Scale X end 0@ = 100.0 while 0@ >= 0.1 0@ -= 0.1 // Сколько процентов отнимается за один раз 3@ = 0@ 3@ /= 100.0 3@ *= 250.0 // Масштаб по X 2@ = 3@ 2@ /= 2.0 2@ += 209.0 // X координата левого края 03F0: enable_text_draw 1 038E: draw_box_position 334.0 409.27 size 254.0 14.0 RGBA 0 0 0 255 038E: draw_box_position 334.0 409.27 size 250.0 8.4 RGBA 4 0 157 255 038E: draw_box_position 2@ 409.27 size 3@ 8.4 RGBA 139 136 255 255 wait 0 end
Реальный пример вывода полоски (отображение здоровья машины):
thread 'CarWr' {$CLEO} wait 3500 :Begin var $PLAYER_CHAR: Player $PLAYER_ACTOR: Actor 0@: Float // Переменная в процентах, 100.0 - max 1@: Float 2@: Float //X 3@: Float //Scale X 5@: Integer 6@: Integer 7@: Integer 8@: Integer 10@: Car end 0@ = 100.0 while true if $PLAYER_CHAR.Defined then if $PLAYER_ACTOR.Driving then 03c0: 10@ = actor $PLAYER_ACTOR car while $PLAYER_ACTOR.InCar(10@) 0@ = 10@.Health {0@ -= 1 10@.Health = 0@} 0093: 0@ = integer 0@ to_float 0@ -= 250.0 if 0@ < 0.0 then 0@ = 0.0 end if 0@ >= 750.0 then 0@ = 749.9 end 3@ = 0@ 3@ /= 750.0 3@ *= 250.0 // Масштаб по X 2@ = 3@ 2@ /= 2.0 2@ += 209.0 // X координата левого края 0@ /= 2.9411764705882352 0092: 7@ = float 0@ to_integer if 7@ > 127 then 8@ = 255 7@ -= 127 7@ *= -2 7@ += 255 0513: show_text_box_1number 'NUMBER' number 7@ else 8@ = 7@ 8@ *= 2 7@ = 255 end 5@ = 7@ 6@ = 8@ 5@ *= 0.5 6@ *= 0.5 03F0: enable_text_draw 1 038E: draw_box_position 334.0 409.27 size 254.0 14.0 RGBA 0 0 0 255 038E: draw_box_position 334.0 409.27 size 250.0 8.4 RGBA 5@ 6@ 0 255 038E: draw_box_position 2@ 409.27 size 3@ 8.4 RGBA 7@ 8@ 0 255 wait 0 end //While 10@.RemoveReferences end // if Driving end // if Def wait 0 end
EDIT: Извиняюсь, скрипт вывода здоровья машины был с ошибкой, сейчас подправлено
Last edited by VcSaJen (12-01-2009 12:44)
[small][/small]
Offline
Посмотри MAIN.SCM, как разработчики поступают с рисованием. В начале миссии устанавливается enable_text_draw 1, в конце миссии - enable_text_draw 0. При нормальном использовании enable_text_draw 0 обычно текстуры перестают стираться. При нормальном использовании enable_text_draw 1 текстуры начинают стираться автоматически через несколько миллисекунд. Я использовал enable_text_draw 1 в цикле, потому что всякое может случиться (например в раздевалке игра почему-то устанавливает enable_text_draw 0), а если проверять $ONMISSION (и естест. Driving), то можно и enable_text_draw 1 поставить только при входе в машину.
Если поставить несколько команд enable_text_draw, игра что-то глючила (не устанавливала нормально этот флаг).
Если поставить enable_text_draw 0 в цикле, это будет подобно enable_text_draw 1, но ты подумал об остальных скриптах? например, во время скрипта татуировки ты включаешь свой скрипт. Пока всё нормально, т. к. твой скрипт пока очищает экран. Но при выключении твоего скрипта игра через несколько секунд вылетит. Проверено мной. Скомпили этот скрипт:
thread 'Zavis' {$CLEO} wait 3500 :begin var 0@: Float // Переменная в процентах, 100.0 - max 1@: Float 2@: Float //X 3@: Float //Scale X end while 8AB0: not key_pressed 0x42 // 'B' key wait 0 end 0@ = 100.0 while 0@ >= 0.1 0@ -= 0.1 // Сколько процентов отнимается за один раз 3@ = 0@ 3@ /= 100.0 3@ *= 250.0 // Масштаб по X 2@ = 3@ 2@ /= 2.0 2@ += 209.0 // X координата левого края 03F0: enable_text_draw 0 038E: draw_box_position 334.0 409.27 size 254.0 14.0 RGBA 0 0 0 255 038E: draw_box_position 334.0 409.27 size 250.0 8.4 RGBA 4 0 157 255 038E: draw_box_position 2@ 409.27 size 3@ 8.4 RGBA 139 136 255 255 if 0AB0: key_pressed 0x4E // 'N' key then Break end wait 0 end jump @begin
Теперь зайди в тату-салон, выбери какую-нибудь татуировку (чтоб на экране была её рисунок).
Теперь включи скрипт, нажав клавишу B. Всё работает. Теперь выключи скрипт, нажав клавишу N. Через секунду игра зависнет.
Теперь замени enable_text_draw 0 на enable_text_draw 1. Всё будет работать.
Last edited by VcSaJen (13-01-2009 10:29)
[small][/small]
Offline
сделал как и хотел, перезалил
но полоска моргает когда пополняеться , ето можно как нить убрать
зы 03F0: enable_text_draw что 1 что 0 что вапще заккоментирована скрипту насрать в етом случае
Offline
Смотрю тема старая, но если аффтар ещё жив то у меня вопрос:
Когда включаеться режим матрицы часто не срабатывает и скорость игры не изменяется. Полоска есть и она уменьшается но скорость нормальная. А зеленого экрана вообще нету...
Last edited by Driver (22-04-2009 20:11)
Offline
Pages: 1