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