You are not logged in.
Автор: Olegator.
Текстуры: FunGt.
Кардинальное редактирование (оптимизация скрипта [код сокращен на 43%], вывод информации о текущей передаче current_gear [в нижней части спидометра], да и вообще куча мелких, но важных изменений): Seemann
Добавление проверки на возгорание авто, совмещение текстур с радаром, ночная подсветка: я, (Svetka)
{$CLEO}
0000:
:NONAME_2
wait 250
Player.Defined($PLAYER_CHAR)
jf @NONAME_2
if and
Actor.Driving($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A7: not actor $PLAYER_ACTOR driving_boat
jf @NONAME_2
wait 250
03C0: 10@ = actor $PLAYER_ACTOR car
0390: load_txd_dictionary "SPEED"
038F: load_texture "STRELK" as 15 // Load dictionary with 0390 first
038F: load_texture "CIF" as 16 // Load dictionary with 0390 first
038F: load_texture "CIFN" as 17 // Load dictionary with 0390 first
038F: load_texture "STRELKN" as 18 // Load dictionary with 0390 first
gosub @NONAME_122
0391: release_txd_dictionary
jump @NONAME_2
:NONAME_122
wait 0
Actor.Driving($PLAYER_ACTOR)
jf @NONAME_2
0AA1: return_if_false
8495: not car 10@ burning
0AA1: return_if_false
00BF: 12@ = current_time_hours, 13@ = current_time_minutes
if and
12@ >= 6
21 > 12@
jf @NONAME_194
8@ = 16
9@ = 15
jump @NONAME_208
:NONAME_194
8@ = 17
9@ = 18
:NONAME_208
02E3: 2@ = car 10@ speed
2@ *= 4.0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 8@ position 83.5 385.0 size 281.0 260.0 RGBA 255 255 255 255
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 9@ position 83.5 385.0 scale 281.0 260.0 angle 2@ color_RGBA 255 255 255 255
0AB8: get_vehicle 10@ current_gear_to 11@
0340: set_text_draw_RGBA 231 225 29 255
045A: draw_text_1number 85.5 428.2 GXT 'BJ_0' number 11@ // ~1~
jump @NONAME_122
Last edited by svetka (16-06-2008 13:02)
Offline
Здорово, мой спидометр модифицировали:D и снова без битого стекла:D
сейчас заценим=)
[large]Updated[/large]
Передачу лучше выводить текстурой, чтобы цыфра не перекрывала стрелку.
Last edited by flashTrash (16-06-2008 12:17)
Offline
Capushon, сейчас мне трудно что-то сообразить. В голове 100 дел ) Позже отвечу )
flashTrash, так Olegator - это ты?
Заценивай и говори, как тебе? 
Offline
2svetka.
Угу, он самый=)
Я его всё хотел переписать, но меня останавливало одно - это всплывающие надписи, которые наплывают на спидометр. Я сперва хотел найти адреса координат отображения названия зон, чтобы их переместить немного, но не нашел.
Текстурки бы перерисовать еще. Как насчет такой?
Если нравится, то до делаю её.=)
И, еще у меня спидометр как то приплюснутым выглядит, у всех так?
Last edited by flashTrash (16-06-2008 12:31)
Offline
flashTrash, так Olegator - это ты?
Угу, он самый
Вау, вот это новость для меня. Я и не знал
То-то я думал, кто это к нам с keiby.com пожаловал.. 
По теме: @Capushon - верное замечание, второй enable_text_draw 1 конечно лишний. Убрал.
@flashTrash -
Передачу лучше выводить текстурой, чтобы цыфра не перекрывала стрелку.
Лучше сдвинуть ее (цифру) чуть правее, где стрелка не достанет
Last edited by Seemann (16-06-2008 12:32)
Offline
flashTrash, здорово! Так ведь ты и машины делаешь?
А по-поводу вывода текстур передач... А вот взял бы, да и дописал!
Cпидометр же твой )
Бьющийся спидометр - это здорово. Я и текстуру соответствующую сделала. Но вот только лично я наверное не самый лучший ездок. Стоит чуть кого-нибудь задеть, и езди потом с битым спидометром всю дорогу. А в покрасочную не накатаешься ) Поэтому я убрала это и из скрипта, и из txd.
*****
Спидометр приплюснут из-за радара. Радар не круглый, а слегка овальный ) Сначала я его круглым и делала. А мне даже наоборот нравится, что он слегка приплюснут.
А вот текстуры мне нравятся те, что сейчас. Хотя твой новый вариант тоже неплохой. Только черточек между цифрами бы прибавить )
А еще мне нравился спидометр, который был в папке возможных вариантов: gauge speedometer chart .
*****
Seemann, сейчас подвигаю цифры передачи )
*****
Подвинула. Цифры четко рядом со стрелкой.
Seemann, но ведь тогда придется установки для всех авто редактировать.
Last edited by svetka (16-06-2008 13:04)
Offline
Стоит чуть кого-нибудь задеть, и езди потом с битым спидометром всю дорогу.
зависит от того, при каких повреждениях машины "бить" спидометр. если поставить проверку на жизнь машины в районе 600-700, то спидометр будет биться не сразу.
Offline
Уважаемые! Пожалуста измените текстуру, я не умею, пускай будет такая, которую дал flashTrash, только без рамки и вместо черного - прозрачность! И пожалуста уберите внизу спидометра цифры скоростей! А спидометр отличный! Это первый спид, из-за которого у меня игрушка не тупит! Ура! Только отредактируйте плиииз!
Offline
svetka
Машины я одно время моделил(вернее конвертировал), но давно это дело забросил, ибо не моё это.
Насчет битого стекла - мне и самому эта идея уже давно разонравилась.
А вот взял бы, да и дописал!
Допишу попозже, как текстуры сделаю=) .
Seemann
Лучше сдвинуть ее (цифру) чуть правее, где стрелка не достанет
можно и так, но текстурами можно сделать цифру любым шрифтом, в тон спидометру=)
Offline
Seemann, но ведь тогда придется установки для всех авто редактировать.
ничего не придется. Стартовый показатель здоровья для каждой машины = 1000. ты проверяешь здоровье текущей машины, если оно меньше 600 - "бьешь" спидометр.
Offline
Спасите меня!:crazy:
Offline
Worm, у меня нет слов )) Собирай подписи в защиту своей просьбы, желательно на сторублевых банкнотах )
flashTrash,
Допишу попозже, как текстуры сделаю
Было бы очень здорово )
Seemann, вот видишь, ты как рыба в воде в этом скриптинге )
Offline
Seemann,
Стартовый показатель здоровья для каждой машины = 1000. ты проверяешь здоровье текущей машины, если оно меньше 600 - "бьешь" спидометр.
Ё-мое. До меня только сейчас дошло. А ведь очень хорошая идея!
Просто что-то голова медленно соображает. Жара что ли ) Еле дошло до меня ))
Offline
Вот, отрисовка передачи текстурами и заготовка для отрисовки битого спидометра.
{$CLEO}
0000:
var
0@ :Array 6 of Integer
17@ :Integer
14@ :Integer
end // var
const
Gear = 0@
end // const
:NONAME_2
wait 250
Player.Defined($PLAYER_CHAR)
jf @NONAME_2
if and
Actor.Driving($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A7: not actor $PLAYER_ACTOR driving_boat
jf @NONAME_2
wait 250
03C0: 10@ = actor $PLAYER_ACTOR car
0390: load_txd_dictionary "SPEED"
038F: load_texture "STRELK" as 15 // Load dictionary with 0390 first
038F: load_texture "CIF" as 16 // Load dictionary with 0390 first
038F: load_texture "CIFN" as 17 // Load dictionary with 0390 first
038F: load_texture "STRELKN" as 18 // Load dictionary with 0390 first
///////////
038F: load_texture "1" as 1 // Load dictionary with 0390 first
038F: load_texture "2" as 2 // Load dictionary with 0390 first
038F: load_texture "3" as 3 // Load dictionary with 0390 first
038F: load_texture "4" as 4 // Load dictionary with 0390 first
038F: load_texture "5" as 5 // Load dictionary with 0390 first
038F: load_texture "r" as 6 // Load dictionary with 0390 first
0@ = 6
1@ = 1
2@ = 2
3@ = 3
4@ = 4
5@ = 5
0209: 17@ = random_int_in_ranges 300 601
///////////
gosub @NONAME_122
0391: release_txd_dictionary
jump @NONAME_2
:NONAME_122
wait 0
Actor.Driving($PLAYER_ACTOR)
jf @NONAME_2
0AA1: return_if_false
8495: not car 10@ burning
0AA1: return_if_false
00BF: 12@ = current_time_hours, 13@ = current_time_minutes
if and
12@ >= 6
21 > 12@
jf @NONAME_194
8@ = 16
9@ = 15
jump @NONAME_208
:NONAME_194
8@ = 17
9@ = 18
:NONAME_208
02E3: 7@ = car 10@ speed
//14@ = Car.Health(10@)
7@ *= 4.0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 8@ position 83.5 385.0 size 281.0 260.0 RGBA 255 255 255 255
///////// отрисовка передачи
0AB8: get_vehicle 10@ current_gear_to 11@
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture Gear[11@] position 83.5 428.2 size 67.5 60.0 RGBA 255 255 255 255
/////////
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 9@ position 83.5 385.0 scale 281.0 260.0 angle 7@ color_RGBA 255 255 255 255 //1,125
//if and
//not 14@ >= 17@
//03C9: car 10@ damaged
//jf @NONAME_122
//
// отрисовка битого стекла
//
jump @NONAME_122И мой вариант расположения спидометра(АХТУНГ! текстуры названны подругому!) 
{$CLEO}
0000:
var
0@ :Array 6 of Integer
end // var
const
Gear = 0@
end // const
:NONAME_2
wait 250
Player.Defined($PLAYER_CHAR)
jf @NONAME_2
if and
Actor.Driving($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A7: not actor $PLAYER_ACTOR driving_boat
jf @NONAME_2
wait 250
03C0: 10@ = actor $PLAYER_ACTOR car
0390: load_txd_dictionary "SPEED2"
038F: load_texture "1" as 1 // Load dictionary with 0390 first
038F: load_texture "2" as 2 // Load dictionary with 0390 first
038F: load_texture "3" as 3 // Load dictionary with 0390 first
038F: load_texture "4" as 4 // Load dictionary with 0390 first
038F: load_texture "5" as 5 // Load dictionary with 0390 first
038F: load_texture "r" as 6 // Load dictionary with 0390 first
038F: load_texture "sp" as 7 // Load dictionary with 0390 first
038F: load_texture "spnight" as 8 // Load dictionary with 0390 first
038F: load_texture "spar" as 9 // Load dictionary with 0390 first
038F: load_texture "sparnight" as 10 // Load dictionary with 0390 first
0@ = 6
1@ = 1
2@ = 2
3@ = 3
4@ = 4
5@ = 5
gosub @NONAME_122
0391: release_txd_dictionary
jump @NONAME_2
:NONAME_122
wait 0
Actor.Driving($PLAYER_ACTOR)
jf @NONAME_2
0AA1: return_if_false
8495: not car 10@ burning
0AA1: return_if_false
00BF: 12@ = current_time_hours, 13@ = current_time_minutes
if and
12@ >= 6
21 > 12@
jf @NONAME_194
8@ = 7
9@ = 9
jump @NONAME_208
:NONAME_194
8@ = 8
9@ = 10
:NONAME_208
02E3: 7@ = car 10@ speed
7@ *= 3.7
7@ += 40.0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 8@ position 550.0 360.0 size 180.0 160.0 RGBA 255 255 255 255
0AB8: get_vehicle 10@ current_gear_to 11@
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture Gear[11@] position 550.0 406.2 size 67.5 60.0 RGBA 255 255 255 255
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 9@ position 550.0 360.0 scale 180.0 160.0 angle 7@ color_RGBA 255 255 255 255 //1,125
jump @NONAME_122[large]Обновленно.[/large]
Last edited by flashTrash (16-06-2008 20:06)
Offline
flashTrash, я опробовала твой вариант (тот, что в sp3.rar )3 раза подряд. На сороковой секунде езды картинка застывает и игрушка вылетает (
Offline
Если вылетает на большой скорости, то потому, что я пятую передачу непридусмотрел. длин, а всё из-за того, что я езжу на четырёх ступенчатой...
Offline
flashTrash, теперь всё хорошо ) Но вот всплывающие названия зон... Да еще во время гонок текущее время висит на правой части спидометра.
А твои новые текстуры лучше оценивать в игре. Там они смотрятся конечно же по-другому. Мне понравились )
Offline
svetka
С названиями зон да, беда=(. А вот в гонках(для праворасположенного сп.), лоурайдерских соревнованиях и еще где-то(непомню где) спидометр надо отключать.
И потом хочу нарисовать текстуру для леворасположенного спидометра=)
Также неплохо бы решить какой коэфициэнт умножения нужен, чтобы переводить скорость непонятно в чем в километры(мили).
P.S.
Объясните тёмному, как работает эта конструкция?
0AA1: return_if_false 8495: not car 10@ burning 0AA1: return_if_false
и почему 0AA1: до и после проверки?
Offline
flashTrash, почему надо отключать? Для эстетики восприятия?
И потом хочу нарисовать текстуру для леворасположенного спидометра
А почему ту, что есть не приспособить?
Также неплохо бы решить какой коэфициэнт умножения нужен, чтобы переводить скорость непонятно в чем в километры(мили).
Лично для меня это пока такой темный лес, что в глазах туман от одной только мысли о перспективах подобных изысканий ))
Объясните тёмному, как работает эта конструкция?
Эх... Seemann где-то ведь объяснял... Поискала по форуму - не нашла (
Offline
svetka, в соревнованиях лоурайдеров тоже используются текстуры из внешнего TXD, и текстуры от туда "затирают" текстуры спидометра. Да и играть он там мешает. В гонках можно оставить левый сп. , думаю несовместимостей у них не будет.
В остальных миссиях может и можно оставить, не знаю даже как лучше.
А почему ту, что есть не приспособить?
Если текстуру FunGt, то её надо подровнять слегка. Если ту, что я нарисовал, то там, если сделать дырку для радара и отмасштабировать сп, чтоб за края экрана не вылезал, то текстура будет либо закрывать часть радара, либо если, дырку увеличить, обрешутся цифры. Ну и стрелку надо нарисовать такую, чтобы не мешала.
Лично для меня это пока такой темный лес
Для меня лично тоже, т. к. не имею понятия в чем исчисляется скорость "в стандарте". И как высчитывается максимальная скорость у машины.
Offline
Объясните тёмному, как работает эта конструкция?
В моем варианте это выглядело так:
0001: wait 0 ms 00DF: actor $PLAYER_ACTOR driving 0AA1: return_if_false 8495: not car 10@ burning 0AA1: return_if_false
Т.е. здесь идут подряд 2 условия, только вместо jump_if_false используется return_if_false. 00D6 для одиночных условий можно пропускать.
В варианте из первого сообщения jf @NONAME_2 конечно лишнее.
Offline
Offtop
Seemann.
Тоесть 0AA1: может работать и с простым gosub'ом 0050: ? Я то думал он только с 0AA0: работает...
Может.
Last edited by Seemann (17-06-2008 14:41)
Offline
Также неплохо бы решить какой коэфициэнт умножения нужен, чтобы переводить скорость непонятно в чем в километры(мили).
Опкод 02E3 возвращает следующее число: скорость машины (velocity) * 50.0
Смотрим handing.cfg на предмет velocity:
; velocity in Km/h
; (N) TransmissionData.fMaxVelocity [5.0 to 150.0]
Дальше думаем сами.
Offline
Я тоже недавно написал спдметр...зацените http://webfile.ru/2027661
Писал сам, чтобы научиться)))
Last edited by 3Doomer (17-06-2008 19:08)
GIMS developer
Offline