Форум » Кампании » The Race » Ответить

The Race

Anti_Killer: Лог нововведений Компании [more] (обновление от 14.08.10) -Исправлены ошибки\подправлен код -Добавлено меню компании (убраны активирующие триггеры для диалоговых окон на карте) -Добавлены уровни сложности (обновление от 18.08.10) -Добавлен код для реализации ночных миссий + 1 ночная миссия [/more] Лог нововведений неофициальной версии игры [more](обновление от 14.08.10) - Cервис menu для реализации меню у компаний Описание : service("menu",{title="mytitle",name="menu",names="Игра|Генератор|Настройки|О Аддоне",on_select="user.MainMenu(n)"}) имеет свойства: title - текстура для главного экрана меню , по умолчанию gui_splash names - Список кнопок меню (максимум 6). Отделять друг от друга символом | on_select - аналогично on_select для messagebox'a при клике на одну из кнопок в меню, возвратится её порядковый номер от 1 до 6 в зависимости от того какая она по порядку. Следуя из примера выше, если нажать в главном меню кнопку "Генератор" , то выполнится функция user.MainMenu(2) open - действует как переключатель. Если задать 1 , то он опять станет 0 и если открыто главное меню то он его закроет и наоборот если закрыто откроет Внимание: небольшая формальность, переключатель open не подействует, если запускать меню вашей компании сразу после запуска её скрипта, нужно это делать с задержкой через pushcmd (примеры использования есть в компании TheRace.lua и в скрипте test.lua) В каком виде эта функция доживет до официального релиза основной версии не известно. - Исправлен и доработан Объект Танк . Теперь любой танк можно выделить в редакторе и изменить его свойства Добавлена возможность посадить\пересадить в него бота\игрока примеры использования есть в компании TheRace.lua и в скрипте test.lua Внимание: класс танка и его параметры диктует игрок. При пересадке танк теряет свой класс и его нужно настроить через сервис ai\player_lockal - Альтернативный вариант заезда за границу карты. Включается он либо в режиме "Мясо" кнопкой "Бесконечная карта" либо задается в конфиге\скрипте параметром cl_unlimmap При заеде за границу карты вы не взорветесь, а окажитесь на противоположном конце карты Все предыдущие наработки Инсерт так или иначе включил в основной проект, так что они потерянными не останутся и рано или поздно выйдут с новой официальной версией :) По новым спишусь с ним на следующей неделе (обновление от 18.08.10) Объект Прожектор нельзя было через скрипты вертеть (добавил параметр dir) (при реализации ночных миссий столкнулся с этой проблемой, пришлось сразу поправлять собственно) (обновление от 24.08.10) - добавлен параметр class объекту tank он равен параметру class игрока\бота и по умолчанию не задан , но теперь если задать объекту tank параметр class то игра будет использовать класс танка, а не игрока. - Исправлен Объект Танк [/more] Компания The Race Описание Идея пришла когда вспоминал игрушки детства и дабы Т-ЗОД не надоел медленным транспортом, решил разнообразить его альтернативной вселенной, в которой проводят гонки на обычных супер карах нашего времени. Обычный олдскул кольцевой режим как в старых добрых DOSовских гоночках \ аркадах вроде MicroMachiness и тд. Простым катанием по кругу с противниками дело не ограничивается, разнообразие вносит движок именно Т ЗОДа В этой версии 6 Уровней(Миссий). Они идут по порядку при прохождении но их можно загрузить и прямо через консоль используя user.Int(номер уровня компании (всего в компании 6 уровней с разными заданиями)), также можно создавать бесконечно много самому. Создавать можно с помощью генератора (в меню кнопка Генератор) Чтобы Перезапустить\Перейти к следующей миссии нажмите Игра в меню Либо создать новый уровень можно через команду user.new(...куча параметров... (если ввести в консоле user.new() то выведет список параметров и в каком порядке их вводить) Все параметры в ней имеют числовые значения и только параметр Машина задается пропись в ковычках "" либо '' принимает значение "спортмашина" (гоночная тачка) "формула" (болид формула-1) В добавок еще есть скрытый транспорт Грузовик, но его я использую только "по праздникам" пока и его там задать нельзя:) Кодерам Если кого-то из очень хорошо шарящих в скриптах заинтересовала концепция. То можете создать новых Миссий (или хотябы карт для генератора (по больше карт с турелями\оружием может быть) либо помочь в доведении до ума этой версии. Т.к. много еще не успел реализовать. Краткий ---TODO--- лист описан в скрипте TheRace.lua в функции user.Int() если хотите , можете помоч в написании. Фотошоперам\Скиноделам и т.д. Если чувствуете что можете нарисовать лучше\подобрать текстурки по качественней, то милости прошу. Так же нужны текстурки домов\ и прочих объектов с видом TOP DOWN т.к. окружения на трассе маловато. По легкости\сложности в меню есть кнопка Настройка->Сложность, можно попробовать задать. Только не забудьте перезапустить уровень Настройки Если в скрипте wathtype=0 установить значение 1 то будет использоваться динамический режим отображения круга с использованием setposition user.m("название без .ogg") В папку music закидываем треки (по умолчанию играет трек с именем 1.ogg , если хотите другой послушать то в консоле пишите m("название без .ogg") ) старые наработки Работает эта Компания только на моей версии T-ZOD (хотя при желании можно легко адаптировать под старые версии т.к. функций она секретных никаких не использует. Просто мне нужны были сплайны нестандартного размера - тобишь конкретно здесь >=128х128 ) И т.к. сплайн это объект не каким боком не осязаемый вообще никем, только визуально , то и снятие ограничения размера никаких проблем за собой не понесло. Так что теперь можно делать дома неограниченных размеров и т.д. (только надо их внутри обводить бетоном чтобы не проходить сквозь) Вобщем в этой версии T-ZOD все тоже что и в предыдущей моей версии НО -Убрано ограничение размера текстуры у объекта "Декорация" -И как и обещал сделал функцию setposition("объект", точка_x, точка_у) (была возможность протестировать со статичными объектами и со спрайтами) Дистрибутив Компания The Race + новая версия T ZOD + Компания-пример демонстрирующая setposition и прочее Скачать Заменить файлы в папке с игрой.

Ответов - 103, стр: 1 2 3 4 5 6 All

Diamond00744: У меня не качает с этого "Странного" файлообменника

Anti_Killer: Исправил на Народ. Тот Хабаровский наш. Думал хоть для чего то пригодится, а эти ОЧЕНЬ хорошие люди видимо доступ из внешки еще перекрыли

slava98: Насчёт версии - отлично! Теперь можно передвигать объекты не убирая и сделать титры)) А машинки я попробую достать из GTA. Тогда будет лучше и реалистичнее.


VIRUS: У меня на все это одна реакция Anti_Killer ты наш Инс на замене

VIRUS: У меня левела не меняются

Anti_Killer: У меня левела не меняются Я в описании пометку делал. Если ты в гонке победил, то надо заехать на MENU.EXE , тогда предложит перейти на следующий лвл . ты наш Инс на замене ну тык пока каникулы, грех не помочь) ----- Добавил компанию-пример в шапку, демонстрирует перемещение объектов. Вроде работает как часы

slava98: С такой функцией можно хоть телепорт сделать.

Anti_Killer: С такой функцией можно хоть телепорт сделать. да . Надо потестить на vehname игрока. Доработаю потом

VIRUS: Anti_Killer а добавить координаты в свойства объекта?

Anti_Killer: Anti_Killer а добавить координаты в свойства объекта? это не совсем типичный параметр , их лучше было вынести в отдельную ф-цию

VIRUS: Блин с моим IQ это невозможно :)

Diamond00744: Крутяк! Добавь еще что-нибудь из Rock'n'Roll Racing и вообще идеально будет!

slava98: Отлично, только сетка не работает.

Anti_Killer: Отлично, только сетка не работает. Ну да. Это печальный факт. Книжку по сокетам и прочей сетевой вещи осваивать долго, а с C++ от силы только месяц работаю, так что еще не дорос :) Поспрашиваю на днях как там у Инса дела обстоят, может все таки нашел время, да намутил чего. Так что этот вопрос пока на его совести Крутяк! Добавь еще что-нибудь из Rock'n'Roll Racing и вообще идеально будет! Была мысля сделать трамплины и чтобы машина прыгала. С setposition теперь я думаю это реально реализовать. С такой функцией можно хоть телепорт сделать. Исправил. На танки функция действительно не работала, обновил ссылку на исправленую версию . Возможно еще будут исключения , пишите если что не так с перемещением

slava98: Anti_Killer пишет: Ну да. Это печальный факт. Книжку по сокетам и прочей сетевой вещи осваивать долго, а с C++ от силы только месяц работаю, так что еще не дорос :) Поспрашиваю на днях как там у Инса дела обстоят, может все таки нашел время, да намутил чего. Так что этот вопрос пока на его совести Но в предыдущей версии сеть работала . Anti_Killer пишет: Была мысля сделать трамплины и чтобы машина прыгала. С setposition теперь я думаю это реально реализовать. Интересно будет. Anti_Killer пишет: Исправил. На танки функция действительно не работала, обновил ссылку на исправленую версию . Возможно еще будут исключения , пишите если что не так с перемещением УРА! Anti_Killer у меня есть ещё одно пожелание . Неплохо бы было сделать скрипт, который заменяет стандартные звуки (стрельбы и т.д.). Так можно будет сделать звук мотора машины. К примеру: sound_edit("sounds/weapons/shot.ogg","campaign/test/shot.ogg")

VIRUS: Надо сделать миссию за копа :) Как пользоваться новой функцией

VIRUS: У кого осталась версия с сетевой?

slava98: VIRUS у меня. Я же тебе 2 раза скачал.

VIRUS: slava98 еще разок :)

Anti_Killer: Anti_Killer у меня есть ещё одно пожелание . Неплохо бы было сделать скрипт, который заменяет стандартные звуки (стрельбы и т.д.). Так можно будет сделать звук мотора машины. Ну если сделаю у себя, то не факт что Инсерт добавит в свои наработки. По крайней мере только самое наболевшее, так чтобы не получилось потом что вы делали скрипты под мою версию, а Инс не добавил чего то в свою и пустил таким образом все ваши наработки в расход. Но в седующей версии своей думаю добавлю такую возможность в любом случае. Вообще та команда которая у меня называлась play_sound работала по этой аналогии, её только надо слегка доработать. Но в предыдущей версии сеть работала Да. Пока как вариант играть в старую версию, скрипты в онлайне все равно не работают (а ведь это реально сделать теоретически), а движок в старой версии хоть визуально не отличается, но по коду это совсем другой движок и перенести безболезненно весь сетевой код не удастся, так как концепция в отличии от 1.5 не осталась прежней. С той концепцией что применена в 1.5. как я уже говорил надо применять другой сетевой протокол, тобиш полностью переписывать весь сетевой код под него и применить что реализовано в 1.49 нельзя. Как пользоваться новой функцией если про setposition то создавай любого actora \ service (player_local\ai) и пробуй на нем эту функцию setposition ("Его_имя", новая кордината x , y)

slava98: Да. Пока как вариант играть в старую версию, скрипты в онлайне все равно не работают (а ведь это реально сделать теоретически), а движок в старой версии хоть визуально не отличается, но по коду это совсем другой движок и перенести безболезненно весь сетевой код не удастся, так как концепция в отличии от 1.5 не осталась прежней. С той концепцией что применена в 1.5. как я уже говорил надо применять другой сетевой протокол, тобиш полностью переписывать весь сетевой код под него и применить что реализовано в 1.49 нельзя. Я знаю что занести код 1.49 в 1.5 просто так нельзя. Я говорю про 1.51.4 (Unoffical). А вообще мне нравится 1.48/9. Я даже делаю карту кампании на ней. Но в 1.51.4 она тоже работает. Ну если сделаю у себя, то не факт что Инсерт добавит в свои наработки. По крайней мере только самое наболевшее, так чтобы не получилось потом что вы делали скрипты под мою версию, а Инс не добавил чего то в свою и пустил таким образом все ваши наработки в расход. Но в седующей версии своей думаю добавлю такую возможность в любом случае. Вообще та команда которая у меня называлась play_sound работала по этой аналогии, её только надо слегка доработать. Почему Инс всё не добавляет ? VIRUS Держи!

Anti_Killer: Почему Инс всё не добавляет ? Смотря какая идея и на сколько это рационально. Если идея адекватная то почему бы и не добавить. Пока все что я ему писал и кодил, так или иначе он добалял в официалку над которой он работает. По всему новому ему сегодня отписал, ждем ответа. VIRUS Держи! не пиши только плз что "сеть рабочая" она там была в тестовом режиме и для тестов .Создатель забраковал тот метод которым я шел и я собственно прекратил идти дальше, сказано было все будет переделываться в сетке под корень.

slava98: Anti_Killer пишет: не пиши только плз что "сеть рабочая" она там была в тестовом режиме и для тестов .Создатель забраковал тот метод которым я шел и я собственно прекратил идти дальше, сказано было все будет переделываться в сетке под корень. Всё учтено.

VIRUS: Anti_Killer пишет: если про setposition то создавай любого actora \ service (player_local\ai) и пробуй на нем эту функцию setposition ("Его_имя", новая кордината x , y) А можно пользоваться это функцией. На уже созданном объекте?

slava98: VIRUS пишет: А можно пользоваться это функцией. На уже созданном объекте? Да. Ты посмотри test.lua (я видел он у тебя есть). И вообще засунь его в campaign.

VIRUS: slava98 пишет: Да. Ты посмотри test.lua (я видел он у тебя есть). И вообще засунь его в campaign. Я имею введу не сгенерированую карту. А созданную в редакторе

Anti_Killer: А можно пользоваться это функцией. На уже созданном объекте? задай ему имя в редакторе и используй это имя в setposition =/

VIRUS: Anti_Killer попробую

slava98: VIRUS это легко. А куда делись проперти health и atacker?

Anti_Killer: health и atacker? Инс сказал их не дублировать. Вот как сейчас их можно получить: health = есть у vehname плеера, можно получить или изменить после респавна танка. attacker - теперь это событие on_damage которое возвращает в переменной who танк того кто напал на твой танк например узнать жизни игрока + сказать что меня бьют. service("player_local",{vehname="tank" , on_respawn="message(pget('tank','health')) pset('tank','on_damage',' message(who.name) ') "}) при повреждении вернет tank если сам себя повредишь

Максим: Упс... У меня с ума сошёл DirectX...

Anti_Killer: Обновился чуть чуть

Anti_Killer: К стати прошу обратить внимание вот сюда http://code.google.com/p/tzod/source/list

Максим: Ты какие там ошибки добавил (накалякал?)? Я даже игру запустить не могу.

Anti_Killer: по факту ничего не изменилось. Что за ошибку кидает ? 1.51.3 обычная тоже не работает ?

Максим: tank.exe - обнаружена ошибка (могу продолжить). Да, запускает.

Anti_Killer: Как вариант нашел один баг там сейчас, возможно из за него так. Обновил ссылку. Не забывай что там не полный архив и он работает если его закинуть в папку с игрой от версии 1.51.3 официальной

slava98: Anti_Killer пишет: - сервис menu для реализации меню у компаний например :service("menu",{title="mytitle",name="menu",names="Игра|Генератор|Настройки|О Аддоне",on_select="user.MainMenu(n)"}) имеет свойства: title - текстура для главного экрана меню , по умолчанию gui_splash names - Список кнопок меню (максимум 6). Отделять друг от друга символом | on_select - аналогично on_select для messagebox'a при клике на одну из кнопок в меню, возвратится её порядковый номер от 1 до 6 в зависимости от того какая она по порядку. Следуя из примера выше, если нажать в главном меню кнопку "Генератор" , то выполнится функция user.MainMenu(2) open - действует как переключатель. Если задать 1 , то он опять станет 0 и если открыто главное меню то он его закроет и наоборот если закрыто откроет примеры использования есть в компании TheRace.lua и в скрипте test.lua Внимание: небольшая формальность, open не подействует, если запускать меню вашей компании сразу после запуска её скрипта, нужно это делать с задержкой через pushcmd В каком виде эта функция доживет до официального релиза основной версии не известно. Интересно. Функции, наверное, нужные. Anti_Killer пишет: - Исправлен и доработан Объект Танк . Теперь любой танк можно выделить в редакторе и изменить его свойства Добавлена возможность посадить\пересадить в него бота\игрока примеры использования есть в компании TheRace.lua и в скрипте test.lua Внимание: класс танка и его параметры диктует игрок. При пересадке танк теряет свой класс и его нужно настроить через сервис ai\player_lockal Отлично! Спасибо, Anti_Killer. Anti_Killer пишет: - Альтернативный вариант заезда за границу карты. Включается он либо в режиме "Мясо" кнопкой "Бесконечная карта" либо задается в конфиге\скрипте параметром cl_unlimmap При заеде за границу карты вы не взорветесь, а окажитесь на противоположном конце карты Это очень интересно! Надо посмотреть.

slava98: За кампанию и версию 1000+/10. А разве нельзя вместо создания карты и вписывания в папку и скрипты просто использовать newmap?

Anti_Killer: да не удобно все таки.При newmap игра по умолчанию входит в режим редактора в котором нельзя сохранится, сохранится только карта. Да и теперь в картах встроен скрипт инициализации, что убирает надобность подгружать текстуры через скрипт

VIRUS: Anti_Killer а можно ли сделать триггеру параметр texture? Очень нужно.

Anti_Killer: Anti_Killer а можно ли сделать триггеру параметр texture? Очень нужно. В танкопедии не прописано, но уже давно существует такой объект как user_sprite (или Объект Декорация). Помнишь у меня в компании были кнопки на карте вместо меню? Вот их код function user.CreateExe() actor("trigger", 3*32,3*32, {name="menu", on_enter="user.ShowMenu(1)", only_human=1}); actor("user_sprite", 3*32,3*32, {name="menu_vis", texture="user/menu", layer=0}); actor("trigger", 5*32,3*32, {name="gen", on_enter="user.RandomMessageBox()", only_human=1}); actor("user_sprite", 5*32,3*32, {name="gener", texture="user/gen", layer=0}); end по наезду на картинку срабатывал и триггер.

slava98: Только что посмотрел вверх и увидел новую версию .VIRUS пишет: Anti_Killer а можно ли сделать триггеру параметр texture? Мне интересно как. Почему ты так не дружишь с декорацией?

VIRUS: Anti_Killer спасибо очень нужно было

Anti_Killer: Только что посмотрел вверх и увидел новую версию Да это то, в каком виде я уже Инсерту кидал, решил здесь отпостить, лишним не будет. Там изменений за 4 дня немножко появилось

VIRUS: Anti_Killer а можешь в кампашку кинуть новых тачек?

Anti_Killer: Нашел отличный сайт со сплайнами из GTA 1 http://gtaworld.org.ua/gta1_vehicles_lc.html но вроде как воровать не хорошо, да и в сравнении с моими hand-made тырчиками они не совсем вписываются по графическому оформлению. Вобщем если что то дельное сам нарисую , то обязательно добавлю

VIRUS: А вмести еще свою машину из Fire и эфект побития

Anti_Killer: А вмести еще свою машину из Fire и эфект побития там текстура реалистичная и ближе к GTAшным. + там пропорции не совпадают и её надо перерисовать. Плюс если её вводить это надо делать еще 8 скинов побитых для остальных моделек. А я не представляю что там может у них отвалиться или измениться при ударе. Они слишком малодетализированные т.е. это надо еще 4 модельки перерисовывать :) т.е. уже в общей сложности 8(побитые скины для текущих моделек)+4(новые скины для текущий моделек)+3(скины минивэна из Fire) скинов необходимо (не включая ZIL и киллботов) Вобщем нужен художник как я писал выше т.к. работы для реализации еще много.

VIRUS: Anti_Killer я бы рисовал если бы был фотошоп и нормальный комп.

slava98: А ябы мог из GTA 3, SA или VC что-нибудь взять.

slava98: У меня появился баг с танками (раньше его не было). Если я ставлю танк, то игра вылетает.

Anti_Killer: Сорри , заигрался в Mafia 2 и совсем забыл выложить новую версию. Проверь. Вот новая версия . Там с танками фиксы делал. Может твой баг там исправлен. Если не пройдут вылеты то пиши в подробностях что и как

Anti_Killer: и для тестов или может если кому надо две библиотеки PTANKS - одной командой создает особый пустой танк. Если подъехать к такому танку вплотную то можно в него пересесть и продолжить путь. Пересадка проходит с задержкой FONTPRINT - выводит текст ввиде текстуры скрипт - пример cars.lua и папку libs скинуть в папку campaign игры. Запустить компанию cars.lua и смотреть на результат Скачать

slava98: Сорри , заигрался в Mafia 2 и совсем забыл выложить новую версию. Проверь. Вот новая версия . Там с танками фиксы делал. Может твой баг там исправлен. Если не пройдут вылеты то пиши в подробностях что и как Спасибо, Anti_Killer. Вылеты прошли! Теперь я смогу поставить танки на карту! PTANKS - одной командой создает особый пустой танк. Если подъехать к такому танку вплотную то можно в него пересесть и продолжить путь. Пересадка проходит с задержкой FONTPRINT - выводит текст ввиде текстуры скрипт - пример cars.lua и папку libs скинуть в папку campaign игры. Запустить компанию cars.lua и смотреть на результат Интересно, надо попробовать. Причём я мало чего понимаю в этом тексте . Только куда это всё совать? А http://tzod.at.ua/- твой сайт?

FEAR: Люди я могу помочь со скинами у меня еще от NFS 2D (мой мод на танк) остались скины там ламборгини, мустанг, запорожец) если надо могу скинуть. так же у меня есть модельки машин около 30 штук, а еще программа SketchUp которая позволяет создавать и просматриваь 3Д модели (ну вы поняли к чему я)) так что могу с этим помочь З.Ы. кстати у меня когда то тоже была идея сделать текстуры так что после взрыва некоторое время будет стоять обгорелый кузов и обломки рядом)

FEAR: Кампания класс плохо что я такие делать не умею

VIRUS: Anti_Killer супер!

Anti_Killer: Интересно, надо попробовать. Причём я мало чего понимаю в этом тексте . Только куда это всё совать? написал же . Есть компания cars.lua в ней наглядно используется либа PTANKS А http://tzod.at.ua/- твой сайт? Пока файловый архив, не более. НЕ знаешь сколько сайты на Ucoze живут кстати ? Люди я могу помочь со скинами у меня еще от NFS 2D (мой мод на танк) остались скины там ламборгини, мустанг, запорожец) если надо могу скинуть. если остался мод , то скинь куда - нибудь , интересно глянуть что получилось. Ну или скины кинь если только они остались . так же у меня есть модельки машин около 30 штук игрушки ? у меня тоже есть с десяток выживших. Надо пофотать с вида TOP DOWN а еще программа SketchUp которая позволяет создавать и просматриваь 3Д модели (ну вы поняли к чему я)) так что могу с этим помочь Да, то что там много free моделек можно накачать эт я знаю. Вообще хочу поучится моделировать машины по чертежам и просто в целом, но не знаю на какой программе начать обучаться. Пока выбор между Blender'ом и SketchUp'ом . Блендер выглядит более продвинутым , а скетч более легким в освоении. Вобщем не знаю что выбрать , надо пробовать . Но насколько понял скетч очень перспективный так что наверное выберу его. З.Ы. кстати у меня когда то тоже была идея сделать текстуры так что после взрыва некоторое время будет стоять обгорелый кузов и обломки рядом) да, хотел сделать, но объект танк был глючный. Сейчас Объект Танк нормально работает и реально реализовать. Вообщем скины должны смотреться в игре. Надо пробовать вырезать и смотреть что и как, лучшие добавить.

VIRUS: Anti_Killer

FEAR: Вот нашел скины. лучше все таки скетч ап

FEAR: Еще забыл добавить то что все скины сделаны с фото машинок кроме: заз 965---- ----------они сделаны с чертежей ford ka----- Пуля----- Протяжка----------они сделаны со скринов GTA SA Премьер-----

slava98: Скины какие-то прямоугольные

Anti_Killer: Эти скины могут пойти как наброски. По размерам они не формат для гоночной трассы + и их надо оттюнить на подобии как вот например с шевроле, чтобы они казались рисованными , а не вырезными из фотки http://tzod.at.ua/chee.tga

FEAR: Ну да надо "уменьшать". Но тоже проблема если уменьшать то нарушаються пропорции. Машинка будет слишком широкой. Ну а рисованными можно сдеалть если редактировать вышевыложенные

FEAR: Тем более в оригинальной игре скин имеет размер 64х64 так что еще один вопрос

VIRUS: FEAR есть кнопка "Правка"

VIRUS: http://www.cararenda.su/f/a0/ru/news/%23%23%23%20%23%23%23%23%23%23%23%23.JPG http://rt61.narod.ru/Flash/car2.jpg http://www.major-vw.ru/Files/Objects/433.gif

VIRUS: Ксати баг все сгенерированые карты включаются в ночном режиме

Diamond00744: У меня никакого ночного режима. Может, он использует последний использованный режим из мяса?

slava98: А playsound ещё действует? У меня ошибку выводит.

VIRUS: А в этой версии работает функция ai_march?

Anti_Killer: А playsound ещё действует? У меня ошибку выводит. Инс сказал убрать. Если реализовывать то по другому. Юзай music пока. А в этой версии работает функция ai_march? ага. Её еще Инсерт вводил. Зачем бы я стал её трогать =\ Кстати уж было начал дальше делать этот мод но сейчас опять времени нет . Скрипт повреждений накатал . Каждая тачка в моде будет состоять из 10 или больше скинов с ранзыми повреждениями (слева, справа, по бокам и т.д.) в зависимости от того куда таранули и что уже было повреждено и скрипты прописывающие параметры именно этой тачки (Например). Вообщем aля GTA 1 - 2 .

slava98: Инс сказал убрать. Если реализовывать то по другому. Юзай music пока. Эх... Дело в том, что должна играть музыка и всякие звуки движений. А я так зарадовался, когда появилась эта функция. Скрипт повреждений накатал . Каждая тачка в моде будет состоять из 10 или больше скинов с ранзыми повреждениями (слева, справа, по бокам и т.д.) в зависимости от того куда таранули и что уже было повреждено и скрипты прописывающие параметры именно этой тачки (Например) Хмм... Мне это нравится. Только такое невозможно сделать только скриптами (или возможно?). Кстати, твою кампанию сложно проходить даже на самом лёгком уровне. Кстати, там баг(?) машины вперёд не едут, а назад гонятся со всей скорости. П.С. Я догадался! Там скорость минусовая и она едет назад.

Anti_Killer: Хмм... Мне это нравится. Только такое невозможно сделать только скриптами (или возможно?). когда столкновение происходит не с объектом а с другим аппонентом то легко. А вот понять с какой стороны ты врезался в стену это уже надо мониторить состояние (еду ли я вперед или назад). Вообщем надо посмотреть как такое реализуют в других играх и довести до ума здесь. Кстати, твою кампанию сложно проходить даже на самом лёгком уровне. Кстати, там баг(?) машины вперёд не едут, а назад гонятся со всей скорости. П.С. Я догадался! Там скорость минусовая и она едет назад. что то в классах менял ? Я всетаки компанию перед тем как сюда кинуть проверял \ такого там не было Эх... Дело в том, что должна играть музыка и всякие звуки движений. А я так зарадовался, когда появилась эта функция. этот вопрос остается открытым. Собственно тоже мало приятного когда тачки в моем моде например гудят как танки :D так что будем решать

FEAR: Anti_Killer классно с повреждениями придумал. я бы тебе с большой радостью помог такое реализовать, но к сожелению в скриптах не шарю. А так если все с этой идеей ок пойдет и ее можно будет использовать дальше, то я скажу тебе огромное спасибо.

VIRUS: У меня несколько вопросов: • Чем локальные переменные отличаются от глобальных? • Как сделать запоминание пройденных уровней как в The Race? • *Забыл вопрос*

slava98: Как сделать запоминание пройденных уровней как в The Race? Это я возьму на себя и тебе потом скажу. Но и у меня есть вопрос: - health и attaker всё ещё работают? И как?

VIRUS: Мне нужна подробная информация про файл в котором записаны данные о кампании

slava98: VIRUS я могу тебя порадовать: я уже создал файл и там есть информация.

VIRUS: Вопрос: КАК ЗАКРЫТЬ ЭТО ЧЁРТОВО МЕНЮ С ПОМОЩЬЮ СКРИПТА?!

Anti_Killer: Вопрос: КАК ЗАКРЫТЬ ЭТО ЧЁРТОВО МЕНЮ С ПОМОЩЬЮ СКРИПТА?! service("menu",{title="mytitle",name="menu",names="Игра|Генератор|Настройки|О Аддоне",on_select="user.MainMenu(n)"}) имеет свойства: title - текстура для главного экрана меню , по умолчанию gui_splash names - Список кнопок меню (максимум 6). Отделять друг от друга символом | on_select - аналогично on_select для messagebox'a при клике на одну из кнопок в меню, возвратится её порядковый номер от 1 до 6 в зависимости от того какая она по порядку. Следуя из примера выше, если нажать в главном меню кнопку "Генератор" , то выполнится функция user.MainMenu(2) open - действует как переключатель. Если задать 1 , то он опять станет 0 и если открыто главное меню то он его закроет и наоборот если закрыто откроет Внимание: небольшая формальность, переключатель open не подействует, если запускать меню вашей компании сразу после запуска её скрипта, нужно это делать с задержкой через pushcmd Это я возьму на себя и тебе потом скажу. Но и у меня есть вопрос: - health и attaker всё ещё работают? И как? создаешь плеера, задаешь vehname, задаешь в on_damage свой скрипт. например "user.HZ_CHE_ZA(who)" who - это object который тебя атакует. При определенных условиях бывает равен nil , так что делай проверку

slava98: open - действует как переключатель. Если задать 1 , то он опять станет 0 и если открыто главное меню то он его закроет и наоборот если закрыто откроет Не работает . Так Вирус сказал.

Anti_Killer: slava98 У меня же в компании нормально работает. Пусть копирует, так уж и быть

VIRUS: Anti_Killer пишет: Пусть копирует, так уж и быть В этой мути (42кб текста) нифига не понятно.

VIRUS: Anti_Killer При запуске меню перед игрой, а после этого при запуске 1 уровня пропадает меню.

slava98: VIRUS надо разобраться. Мне многое понятно. Нужно просто в поиске искать. loadtheme("campaign/TheRace/logo.lua") user.menuservice = service("menu",{title="mytitle",name="menu",names="Игра|Генератор|Настройки|О Аддоне",on_select="user.MainMenu(n)", open=0}) pushcmd(function() user.MakeCount(3) end, 3) В самом начале меню закрыто. Может это влияет?

VIRUS: Ура! Проблему я решил с помощью простого скрипта. if (exists("menu")==false) then message("123") И понял что меню при выполнении beginlevel(1), удаляется меню, вот эта функция --*Это функция для вызывания уровня by Sl@v@98. function beginlevel(number) dofile(user.campFscr.."level"..number..".lua") savelevel=number --savehealth=playerhealth message("Уровень №"..number) -- Для теста. (31.10.10, Sl@v@98) loadtheme(user.campFscr.."textures.lua") end Получается при запуске уровня меню уничтожалось как таковой сервис и пришлось его заново создать. Главное все работает...

Sl@v@98: VIRUS, молодец! А я мучаюсь с загрузкой. Думаю, в демке она не будет нужна. Так что займусь чем-нибудь другим.(уроками )

VIRUS: Ну вот у меня так написано: [pre]function user.NewGame() beginlevel(1) user.clean() user.menuservice = service("menu",{title="gui_splash",name="menu",names="Игра|Почта|О кампании",on_select="user.Menu(n)"}) user.Refresh() pushcmd( function() user.menuservice.open=1 end, 0.1) -- это по сути должно закрыть меню, но ничего не происходит --if (exists("menu")==false) then message("123") end [/pre] Добавлено позже: Вышло!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

VIRUS: При использовании функции setposition выбивает из игры

Anti_Killer: При использовании функции setposition выбивает из игры скрипт в студию. Передвигать можно только объекты - сервисы низя

VIRUS: Anti_Killer Другие кирпичи двигает а эти нет. Всеми способами. Да и когда я использую сетпозишн то объект туда телепортируется, а не едет. Да и сколько точек в клетке.

Anti_Killer: Да и когда я использую сетпозишн то объект туда телепортируется, а не едет.вообщет так и работает команда setposition. Анимацию можно создать скриптами. Примеры есть в test.lua Другие кирпичи двигает а эти нет какая разница между ними? При каких условиях выкидывает из игры. Попробуй достичь креша игры в отдельном скрипте используя setposition в таких же условиях и найди что на это влияет. Мне так не понятно.

slava98: вообщет так и работает команда setposition Я пытался ему это объяснить, но он, наверное, не понял. function user.moveObjectsOneIteration(x,y,nameobj,sti,endi,tox,toy) local iter = 0 for z = sti,endi do -- kill(nameobj .. z) -- Нам убирать объект тепрь не нужно. -- actor("wall_concrete",x+tox*32*iter,y+toy*32*iter,{name=nameobj .. z}) -- Функция устарела. Нужно её переделать с помощью setposition. (Sl@v@98, 10.11.10) setposition(nameobj .. z, x+tox*32*iter,y+toy*32*iter) -- И теперь мы пробуем. iter = iter + 1 end end -- Передвижение объектов по горизонтали tox - +1 если слева на право, -1 наоборот function user.moveObjectsX(stx,sty,endx,name,sti,endi,tox,toy,speed) local numi = (endx - stx) * 16 toy = toy or 0 speed = speed or 1 stx = ((stx - 1) * 32) + 16 sty = ((sty - 1) * 32) + 16 endx = ((endx - 1) * 32) + 16 numi = math.abs(numi) / speed local intx = (endx-stx)/numi for i = 1,numi do pushcmd(function ()user.moveObjectsOneIteration(stx+intx*i,sty,name,sti,endi,tox,toy) end,i/16) end --аналогично по вертикали. toy - +1 если сверху вниз, -1 наоборот function user.moveObjectsY(stx,sty,endy,name,sti,endi,toy,tox,speed) local numi = (endy - sty) * 16 tox = tox or 0 speed = speed or 1 stx = ((stx - 1) * 32) + 16 sty = ((sty - 1) * 32) + 16 endy = ((endy - 1) * 32) + 16 numi = math.abs(numi) / speed local inty = (endy-sty)/numi for i = 1,numi do pushcmd(function ()user.moveObjectsOneIteration(stx,sty+inty*i,name,sti,endi,tox,toy) end,i/16) end Я тут просто отредактировал скрипт Морза под setposition. pushcmd( function() setposition("br1", 31, 17) setposition("br2", 31, 18) end, 2) pushcmd( function()setposition("br1", 31, 14) setposition("br2", 31, 21) end, 2) Применяю скрипт. Кубики диагональные. Они едут на следующии клетки, а потом игра вылетает. Как всегда, лог ошибок пуст .

VIRUS: VIRUS пишет: У меня несколько вопросов: • Чем локальные переменные отличаются от глобальных? Мне кто-то ответит?

Anti_Killer: Мне кто-то ответит? К глобальным функция и переменным можно обратиться с любого скрипта, локальные переменные же действуют только в пределах одной функции\скрипта. Для скриптов нужно использовать именно локальные переменные\функции чтобы корректно работали сейвы и игра в них не лезла

VIRUS: Помогите найти ошибку в данном скрипте который должен выполнять функцию attacker которой нет на данный момент. [pre]local damagesourvarriors = 0 local nameofattacker = 0 ... ... service ("ai", {name="ourwarrior1", vehname="e1", nick="Поселенец", class="ekivator1", skin="ekivatorl", team=3, on_die="user.M1OnDieBot1()", on_damage="nameofatacker = who.name; user.DamageOurvarrior()", active=0}) ... service ("ai", {name="ourwarrior2", vehname="e2", nick="Поселенец", class="ekivator1", skin="ekivatorl", team=3, on_die="user.M1OnDieBot2()", on_damage="nameofatacker = who.name; user.DamageOurvarrior()", active=1}) ... ... function user.DamageOurvarrior() if nameofatacker == ourplayer then damagesourvarriors = damagesourvarriors + 1 if damagesourvarriors == 1 then message("Поселенец: Эй! Не стреляй по своим!!") elseif damagesourvarriors == 2 then message("Поселенец: Ты что не понял?! Не стреляй по поселенцем!!!") esleif damagesourvarriors == 3 then message("Поселенец: Последнее предупреждение! Хватит стрелять по своим!!!") elseif damagesourvarriors == 4 then message("Командир поселенцев: Он предатель, бей его!") pset("ourplayer", "team", 2) pset("ourvarrior3", "active", 1) user.EnemyAttack end еnd end[/pre] В консоле странная ошибка которою я не могу исправить да и тут наверняка еще их полно. Заранее спасибо.

slava98: По-моему, всё в порядке, только пиши в "Вопросы по скриптам".

slava98: Попробуй не name, а vehname. Ну в общем методом тыка. Может заработает.

VIRUS: там в другом ошибка

slava98: не исправил? если исправил, свяжись со мной и пришли!

slava98: local damagesourvarriors = 0 local nameofattacker = 0 ... ... service ("ai", {name="ourwarrior1", vehname="e1", nick="Поселенец", class="ekivator1", skin="ekivatorl", team=3, on_die="user.M1OnDieBot1()", on_damage="nameofatacker = who.name; user.DamageOurvarrior()", active=0}) ... service ("ai", {name="ourwarrior2", vehname="e2", nick="Поселенец", class="ekivator1", skin="ekivatorl", team=3, on_die="user.M1OnDieBot2()", on_damage="nameofatacker = who.name; user.DamageOurvarrior()", active=1}) -- ... ... function user.DamageOurvarrior() if nameofatacker == ourplayer1 then damagesourvarriors = damagesourvarriors + 1 if damagesourvarriors == 1 then message("Поселенец: Эй! Не стреляй по своим!!") elseif damagesourvarriors == 2 then message("Поселенец: Ты что не понял?! Не стреляй по поселенцем!!!") elseif damagesourvarriors == 3 then message("Поселенец: Последнее предупреждение! Хватит стрелять по своим!!!") elseif damagesourvarriors == 4 then message("Командир поселенцев: Он предатель, бей его!") pset("ourplayer", "team", 2) pset("ourwarrior3", "active", 1) user.EnemyAttack() end еnd end Так не работает, но и ошибки не выдаёт. В nameofatacker находится ourplayer1.



полная версия страницы