(обновление от 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 то игра будет использовать класс танка, а не игрока. - Исправлен Объект Танк
Компания 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 и прочее
Отправлено: 05.08.10 08:50. Заголовок: Насчёт версии - отли..
Насчёт версии - отлично! Теперь можно передвигать объекты не убирая и сделать титры)) А машинки я попробую достать из GTA. Тогда будет лучше и реалистичнее.
Отправлено: 05.08.10 12:58. Заголовок: Отлично, только сетк..
цитата:
Отлично, только сетка не работает.
Ну да. Это печальный факт. Книжку по сокетам и прочей сетевой вещи осваивать долго, а с C++ от силы только месяц работаю, так что еще не дорос :) Поспрашиваю на днях как там у Инса дела обстоят, может все таки нашел время, да намутил чего. Так что этот вопрос пока на его совести
цитата:
Крутяк! Добавь еще что-нибудь из Rock'n'Roll Racing и вообще идеально будет!
Была мысля сделать трамплины и чтобы машина прыгала. С setposition теперь я думаю это реально реализовать.
цитата:
С такой функцией можно хоть телепорт сделать.
Исправил. На танки функция действительно не работала, обновил ссылку на исправленую версию . Возможно еще будут исключения , пишите если что не так с перемещением
Ну да. Это печальный факт. Книжку по сокетам и прочей сетевой вещи осваивать долго, а с C++ от силы только месяц работаю, так что еще не дорос :) Поспрашиваю на днях как там у Инса дела обстоят, может все таки нашел время, да намутил чего. Так что этот вопрос пока на его совести
Но в предыдущей версии сеть работала . Anti_Killer пишет:
цитата:
Была мысля сделать трамплины и чтобы машина прыгала. С setposition теперь я думаю это реально реализовать.
Интересно будет. Anti_Killer пишет:
цитата:
Исправил. На танки функция действительно не работала, обновил ссылку на исправленую версию . Возможно еще будут исключения , пишите если что не так с перемещением
УРА! Anti_Killer у меня есть ещё одно пожелание . Неплохо бы было сделать скрипт, который заменяет стандартные звуки (стрельбы и т.д.). Так можно будет сделать звук мотора машины. К примеру:
Отправлено: 06.08.10 02:51. Заголовок: Anti_Killer у меня е..
цитата:
Anti_Killer у меня есть ещё одно пожелание . Неплохо бы было сделать скрипт, который заменяет стандартные звуки (стрельбы и т.д.). Так можно будет сделать звук мотора машины.
Ну если сделаю у себя, то не факт что Инсерт добавит в свои наработки. По крайней мере только самое наболевшее, так чтобы не получилось потом что вы делали скрипты под мою версию, а Инс не добавил чего то в свою и пустил таким образом все ваши наработки в расход. Но в седующей версии своей думаю добавлю такую возможность в любом случае. Вообще та команда которая у меня называлась play_sound работала по этой аналогии, её только надо слегка доработать.
цитата:
Но в предыдущей версии сеть работала
Да. Пока как вариант играть в старую версию, скрипты в онлайне все равно не работают (а ведь это реально сделать теоретически), а движок в старой версии хоть визуально не отличается, но по коду это совсем другой движок и перенести безболезненно весь сетевой код не удастся, так как концепция в отличии от 1.5 не осталась прежней. С той концепцией что применена в 1.5. как я уже говорил надо применять другой сетевой протокол, тобиш полностью переписывать весь сетевой код под него и применить что реализовано в 1.49 нельзя.
цитата:
Как пользоваться новой функцией
если про setposition то создавай любого actora \ service (player_local\ai) и пробуй на нем эту функцию setposition ("Его_имя", новая кордината x , y)
Отправлено: 06.08.10 08:46. Заголовок: Да. Пока как вариан..
цитата:
Да. Пока как вариант играть в старую версию, скрипты в онлайне все равно не работают (а ведь это реально сделать теоретически), а движок в старой версии хоть визуально не отличается, но по коду это совсем другой движок и перенести безболезненно весь сетевой код не удастся, так как концепция в отличии от 1.5 не осталась прежней. С той концепцией что применена в 1.5. как я уже говорил надо применять другой сетевой протокол, тобиш полностью переписывать весь сетевой код под него и применить что реализовано в 1.49 нельзя.
Я знаю что занести код 1.49 в 1.5 просто так нельзя. Я говорю про 1.51.4 (Unoffical). А вообще мне нравится 1.48/9. Я даже делаю карту кампании на ней. Но в 1.51.4 она тоже работает.
цитата:
Ну если сделаю у себя, то не факт что Инсерт добавит в свои наработки. По крайней мере только самое наболевшее, так чтобы не получилось потом что вы делали скрипты под мою версию, а Инс не добавил чего то в свою и пустил таким образом все ваши наработки в расход. Но в седующей версии своей думаю добавлю такую возможность в любом случае. Вообще та команда которая у меня называлась play_sound работала по этой аналогии, её только надо слегка доработать.
Отправлено: 06.08.10 09:27. Заголовок: Почему Инс всё не до..
цитата:
Почему Инс всё не добавляет ?
Смотря какая идея и на сколько это рационально. Если идея адекватная то почему бы и не добавить. Пока все что я ему писал и кодил, так или иначе он добалял в официалку над которой он работает. По всему новому ему сегодня отписал, ждем ответа.
цитата:
VIRUS Держи!
не пиши только плз что "сеть рабочая" она там была в тестовом режиме и для тестов .Создатель забраковал тот метод которым я шел и я собственно прекратил идти дальше, сказано было все будет переделываться в сетке под корень.
не пиши только плз что "сеть рабочая" она там была в тестовом режиме и для тестов .Создатель забраковал тот метод которым я шел и я собственно прекратил идти дальше, сказано было все будет переделываться в сетке под корень.
Отправлено: 06.08.10 15:03. Заголовок: health и atacker? Ин..
цитата:
health и atacker?
Инс сказал их не дублировать. Вот как сейчас их можно получить: health = есть у vehname плеера, можно получить или изменить после респавна танка. attacker - теперь это событие on_damage которое возвращает в переменной who танк того кто напал на твой танк например узнать жизни игрока + сказать что меня бьют.
Отправлено: 15.08.10 06:49. Заголовок: Как вариант нашел од..
Как вариант нашел один баг там сейчас, возможно из за него так. Обновил ссылку. Не забывай что там не полный архив и он работает если его закинуть в папку с игрой от версии 1.51.3 официальной
- сервис 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
В каком виде эта функция доживет до официального релиза основной версии не известно.
- Исправлен и доработан Объект Танк . Теперь любой танк можно выделить в редакторе и изменить его свойства Добавлена возможность посадить\пересадить в него бота\игрока примеры использования есть в компании TheRace.lua и в скрипте test.lua Внимание: класс танка и его параметры диктует игрок. При пересадке танк теряет свой класс и его нужно настроить через сервис ai\player_lockal
Отлично! Спасибо, Anti_Killer. Anti_Killer пишет:
цитата:
- Альтернативный вариант заезда за границу карты. Включается он либо в режиме "Мясо" кнопкой "Бесконечная карта" либо задается в конфиге\скрипте параметром cl_unlimmap При заеде за границу карты вы не взорветесь, а окажитесь на противоположном конце карты
Отправлено: 17.08.10 16:16. Заголовок: да не удобно все так..
да не удобно все таки.При newmap игра по умолчанию входит в режим редактора в котором нельзя сохранится, сохранится только карта. Да и теперь в картах встроен скрипт инициализации, что убирает надобность подгружать текстуры через скрипт
Отправлено: 19.08.10 09:54. Заголовок: Anti_Killer а можно ..
цитата:
Anti_Killer а можно ли сделать триггеру параметр texture? Очень нужно.
В танкопедии не прописано, но уже давно существует такой объект как user_sprite (или Объект Декорация). Помнишь у меня в компании были кнопки на карте вместо меню? Вот их код
Отправлено: 20.08.10 10:39. Заголовок: А вмести еще свою ма..
цитата:
А вмести еще свою машину из Fire и эфект побития
там текстура реалистичная и ближе к GTAшным. + там пропорции не совпадают и её надо перерисовать. Плюс если её вводить это надо делать еще 8 скинов побитых для остальных моделек. А я не представляю что там может у них отвалиться или измениться при ударе. Они слишком малодетализированные т.е. это надо еще 4 модельки перерисовывать :) т.е. уже в общей сложности 8(побитые скины для текущих моделек)+4(новые скины для текущий моделек)+3(скины минивэна из Fire) скинов необходимо (не включая ZIL и киллботов) Вобщем нужен художник как я писал выше т.к. работы для реализации еще много.
Отправлено: 24.08.10 17:23. Заголовок: и для тестов или мож..
и для тестов или может если кому надо две библиотеки PTANKS - одной командой создает особый пустой танк. Если подъехать к такому танку вплотную то можно в него пересесть и продолжить путь. Пересадка проходит с задержкой FONTPRINT - выводит текст ввиде текстуры скрипт - пример cars.lua и папку libs скинуть в папку campaign игры. Запустить компанию cars.lua и смотреть на результат Скачать<\/u><\/a>
Отправлено: 24.08.10 17:53. Заголовок: Сорри , заигрался в ..
цитата:
Сорри , заигрался в Mafia 2 и совсем забыл выложить новую версию. Проверь. Вот новая версия . Там с танками фиксы делал. Может твой баг там исправлен. Если не пройдут вылеты то пиши в подробностях что и как
Спасибо, Anti_Killer. Вылеты прошли! Теперь я смогу поставить танки на карту!
цитата:
PTANKS - одной командой создает особый пустой танк. Если подъехать к такому танку вплотную то можно в него пересесть и продолжить путь. Пересадка проходит с задержкой FONTPRINT - выводит текст ввиде текстуры скрипт - пример cars.lua и папку libs скинуть в папку campaign игры. Запустить компанию cars.lua и смотреть на результат
Отправлено: 24.08.10 20:00. Заголовок: Люди я могу помочь с..
Люди я могу помочь со скинами у меня еще от NFS 2D (мой мод на танк) остались скины там ламборгини, мустанг, запорожец) если надо могу скинуть. так же у меня есть модельки машин около 30 штук, а еще программа SketchUp которая позволяет создавать и просматриваь 3Д модели (ну вы поняли к чему я)) так что могу с этим помочь
З.Ы. кстати у меня когда то тоже была идея сделать текстуры так что после взрыва некоторое время будет стоять обгорелый кузов и обломки рядом)
Пока файловый архив, не более. НЕ знаешь сколько сайты на Ucoze живут кстати ?
цитата:
Люди я могу помочь со скинами у меня еще от NFS 2D (мой мод на танк) остались скины там ламборгини, мустанг, запорожец) если надо могу скинуть.
если остался мод , то скинь куда - нибудь , интересно глянуть что получилось. Ну или скины кинь если только они остались .
цитата:
так же у меня есть модельки машин около 30 штук
игрушки ? у меня тоже есть с десяток выживших. Надо пофотать с вида TOP DOWN
цитата:
а еще программа SketchUp которая позволяет создавать и просматриваь 3Д модели (ну вы поняли к чему я)) так что могу с этим помочь
Да, то что там много free моделек можно накачать эт я знаю. Вообще хочу поучится моделировать машины по чертежам и просто в целом, но не знаю на какой программе начать обучаться. Пока выбор между Blender'ом и SketchUp'ом . Блендер выглядит более продвинутым , а скетч более легким в освоении. Вобщем не знаю что выбрать , надо пробовать . Но насколько понял скетч очень перспективный так что наверное выберу его.
цитата:
З.Ы. кстати у меня когда то тоже была идея сделать текстуры так что после взрыва некоторое время будет стоять обгорелый кузов и обломки рядом)
да, хотел сделать, но объект танк был глючный. Сейчас Объект Танк нормально работает и реально реализовать.
Вообщем скины должны смотреться в игре. Надо пробовать вырезать и смотреть что и как, лучшие добавить.
Отправлено: 25.08.10 13:50. Заголовок: Эти скины могут пойт..
Эти скины могут пойти как наброски. По размерам они не формат для гоночной трассы + и их надо оттюнить на подобии как вот например с шевроле, чтобы они казались рисованными , а не вырезными из фотки http://tzod.at.ua/chee.tga<\/u><\/a>
Отправлено: 25.08.10 20:22. Заголовок: Ну да надо "умен..
Ну да надо "уменьшать". Но тоже проблема если уменьшать то нарушаються пропорции. Машинка будет слишком широкой. Ну а рисованными можно сдеалть если редактировать вышевыложенные
Отправлено: 07.11.10 14:18. Заголовок: А playsound ещё дейс..
цитата:
А playsound ещё действует? У меня ошибку выводит.
Инс сказал убрать. Если реализовывать то по другому. Юзай music пока.
цитата:
А в этой версии работает функция ai_march?
ага. Её еще Инсерт вводил. Зачем бы я стал её трогать =\
Кстати уж было начал дальше делать этот мод но сейчас опять времени нет . Скрипт повреждений накатал . Каждая тачка в моде будет состоять из 10 или больше скинов с ранзыми повреждениями (слева, справа, по бокам и т.д.) в зависимости от того куда таранули и что уже было повреждено и скрипты прописывающие параметры именно этой тачки (Например<\/u><\/a>). Вообщем aля GTA 1 - 2 .
Отправлено: 07.11.10 19:08. Заголовок: Инс сказал убрать. ..
цитата:
Инс сказал убрать. Если реализовывать то по другому. Юзай music пока.
Эх... Дело в том, что должна играть музыка и всякие звуки движений. А я так зарадовался, когда появилась эта функция.
цитата:
Скрипт повреждений накатал . Каждая тачка в моде будет состоять из 10 или больше скинов с ранзыми повреждениями (слева, справа, по бокам и т.д.) в зависимости от того куда таранули и что уже было повреждено и скрипты прописывающие параметры именно этой тачки (Например)
Хмм... Мне это нравится. Только такое невозможно сделать только скриптами (или возможно?). Кстати, твою кампанию сложно проходить даже на самом лёгком уровне. Кстати, там баг(?) машины вперёд не едут, а назад гонятся со всей скорости. П.С. Я догадался! Там скорость минусовая и она едет назад.
Отправлено: 08.11.10 02:27. Заголовок: Хмм... Мне это нрави..
цитата:
Хмм... Мне это нравится. Только такое невозможно сделать только скриптами (или возможно?).
когда столкновение происходит не с объектом а с другим аппонентом то легко. А вот понять с какой стороны ты врезался в стену это уже надо мониторить состояние (еду ли я вперед или назад). Вообщем надо посмотреть как такое реализуют в других играх и довести до ума здесь.
цитата:
Кстати, твою кампанию сложно проходить даже на самом лёгком уровне. Кстати, там баг(?) машины вперёд не едут, а назад гонятся со всей скорости. П.С. Я догадался! Там скорость минусовая и она едет назад.
что то в классах менял ? Я всетаки компанию перед тем как сюда кинуть проверял \ такого там не было
цитата:
Эх... Дело в том, что должна играть музыка и всякие звуки движений. А я так зарадовался, когда появилась эта функция.
этот вопрос остается открытым. Собственно тоже мало приятного когда тачки в моем моде например гудят как танки :D так что будем решать
Anti_Killer классно с повреждениями придумал. я бы тебе с большой радостью помог такое реализовать, но к сожелению в скриптах не шарю. А так если все с этой идеей ок пойдет и ее можно будет использовать дальше, то я скажу тебе огромное спасибо.
Отправлено: 14.11.10 10:43. Заголовок: У меня несколько воп..
У меня несколько вопросов: • Чем локальные переменные отличаются от глобальных? • Как сделать запоминание пройденных уровней как в The Race? • *Забыл вопрос*
Отправлено: 15.11.10 07:05. Заголовок: Вопрос: КАК ЗАКРЫТЬ ..
цитата:
Вопрос: КАК ЗАКРЫТЬ ЭТО ЧЁРТОВО МЕНЮ С ПОМОЩЬЮ СКРИПТА?!
цитата:
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 , так что делай проверку
И понял что меню при выполнении 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
Получается при запуске уровня меню уничтожалось как таковой сервис и пришлось его заново создать. Главное все работает...
Отправлено: 15.11.10 18:31. Заголовок: Ну вот у меня так на..
Ну вот у меня так написано:
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
Отправлено: 16.11.10 08:34. Заголовок: Anti_Killer Другие к..
Anti_Killer Другие кирпичи двигает а эти нет. Всеми способами. Да и когда я использую сетпозишн то объект туда телепортируется, а не едет. Да и сколько точек в клетке.
Отправлено: 16.11.10 15:44. Заголовок: Да и когда я использ..
цитата:
Да и когда я использую сетпозишн то объект туда телепортируется, а не едет.
вообщет так и работает команда setposition. Анимацию можно создать скриптами. Примеры есть в test.lua
цитата:
Другие кирпичи двигает а эти нет
какая разница между ними? При каких условиях выкидывает из игры. Попробуй достичь креша игры в отдельном скрипте используя setposition в таких же условиях и найди что на это влияет. Мне так не понятно.
Отправлено: 16.11.10 16:38. Заголовок: вообщет так и работа..
цитата:
вообщет так и работает команда 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.
Отправлено: 17.11.10 01:20. Заголовок: Мне кто-то ответит? ..
цитата:
Мне кто-то ответит?
К глобальным функция и переменным можно обратиться с любого скрипта, локальные переменные же действуют только в пределах одной функции\скрипта. Для скриптов нужно использовать именно локальные переменные\функции чтобы корректно работали сейвы и игра в них не лезла
Отправлено: 28.02.11 17:51. Заголовок: Помогите найти ошибк..
Помогите найти ошибку в данном скрипте который должен выполнять функцию attacker которой нет на данный момент.
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
В консоле странная ошибка которою я не могу исправить да и тут наверняка еще их полно. Заранее спасибо.
Отправлено: 03.03.11 22:26. Заголовок: local damagesourvarr..
цитата:
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.
Все даты в формате GMT
3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет