#1 07-01-2009 16:55

gooser
Registered: 06-01-2009
Posts: 17

[SA WIP] реальная матрица

при нажатии R всё вокруг заливает зелёным цветом , время замедляеться в4 раза и:

1) если вы пешком то гравитация слабеет и вы прыгаете на более дальние расстояния
отключается  при нажатии R ,при посадке в машину и попадании в воду

2)если за рулём то гравитация усиливаеться и вследствие улутшается сцепление с дорогой+машина становиться очень тяжелой
отключаеться при нажатии R при слетания с мотоцикла и попадании в воду

3)не действует в лодках в самолётах и в воде

4)над радаром появляется уменьшающаяся полоска показывающая сколько ещё времени можно находиться в этом состоянии, если вы в нём не находитесь она накапливается, и когда она полная исчезает

Last edited by gooser (03-02-2009 18:14)

Offline

#2 07-01-2009 18:57

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

чтобы сделать полоску, выведи на экран текстуру и уменьшай её размер по оси Х с течением времени, например


GIMS developer

Offline

#3 07-01-2009 19:16

gooser
Registered: 06-01-2009
Posts: 17

Re: [SA WIP] реальная матрица

уменьшать размер не пробовал но она ведь наверно будет уменьшаться с обеих сторон или она обрезаеться а не масштабируется?
а скрипт то как ,не плох , токо срого не суди редко я скриптю сам, восновном переделываю

Last edited by gooser (07-01-2009 20:18)

Offline

#4 08-01-2009 12:25

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

будет масштабироваться относительно центра


GIMS developer

Offline

#5 08-01-2009 13:27

Alien
Registered: 12-10-2008
Posts: 564

Re: [SA WIP] реальная матрица

а мне кажется, что будет масштабироваться относительно левого верхнего угла (ведь мы его устанавливаем в качестве первых 2-х параметров положения текстуры на экране). Их надо тоже менять в цикле, если хотим, чтобы полоски сужались с течением времени относительно середины, а не левого края... То есть, пусть сужение текстуры происходит со скоростью v, тогда смещение левого края должно происходить со скоростью -v/2 ( в противоположную сужению сторону, то есть увеличиваться, тогда как ширина уменьшается)

Offline

#6 08-01-2009 15:41

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

масштабирование делается относительно центра, я проверял))))))


GIMS developer

Offline

#7 10-01-2009 14:18

gooser
Registered: 06-01-2009
Posts: 17

Re: [SA WIP] реальная матрица

ЗАИПАЛСЯ уже честно говоря:mad: разные способы пробовал , и перемещение и масштабирование текстуры , ставил разные цифры , в результате она либо на месте стоит , либо в углу ваще появляеться и опять не меняется либо её тупо нет , плиз покажите на примере:cry:

Offline

#8 10-01-2009 18:38

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

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

#9 11-01-2009 14:28

gooser
Registered: 06-01-2009
Posts: 17

Re: [SA WIP] реальная матрица

С войт 0 она наверно моментально уменьшиться и опять же даже не успееш её увидеть
если поставиь 1 то будет уменьшаться 100 милисекунд
как растянуть етот процесс вот в чём вопрос?
зы правда я не пробовал мне гта над переустановить

Last edited by gooser (11-01-2009 14:30)

Offline

#10 11-01-2009 18:48

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

ошибаешься, с 0 мсек она будет не очень быстро уменьшаться....около секунды

если не проверил, не спорь :Р   это бесполезно)))))

Last edited by 3Doomer (11-01-2009 22:28)


GIMS developer

Offline

#11 11-01-2009 19:12

gooser
Registered: 06-01-2009
Posts: 17

Re: [SA WIP] реальная матрица

а параметр который ты меняешь на переменую обозначает размер в пикселях или масштаб?

Offline

#12 11-01-2009 22:28

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

блин.....я загнался grin
масштаб это

процесс не ускоришь, а вот замедлить можно путём увеличения интервала


GIMS developer

Offline

#13 12-01-2009 11:31

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: [SA WIP] реальная матрица

@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

#14 12-01-2009 14:54

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: [SA WIP] реальная матрица

Я всегда очищаю через enable_text_draw 0, и всегда экран очищается от текстур........кто-то из нас что-то путает.
А параметр 1 работает также, как 0 вроде)))))


GIMS developer

Offline

#15 13-01-2009 10:27

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: [SA WIP] реальная матрица

Посмотри 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

#16 29-01-2009 14:33

gooser
Registered: 06-01-2009
Posts: 17

Re: [SA WIP] реальная матрица

сделал как и хотел, перезалил
но полоска моргает когда пополняеться , ето можно как нить убрать
зы 03F0: enable_text_draw что 1 что 0 что вапще заккоментирована скрипту насрать в етом случае

Offline

#17 22-04-2009 20:11

Driver
Registered: 11-04-2009
Posts: 7

Re: [SA WIP] реальная матрица

Смотрю тема старая, но если аффтар ещё жив то у меня вопрос:
Когда включаеться режим матрицы часто не срабатывает и скорость игры не изменяется. Полоска есть и она уменьшается но скорость нормальная. А зеленого экрана вообще нету...

Last edited by Driver (22-04-2009 20:11)

Offline

Board footer

Powered by FluxBB