Jump to content

DCS: World Scripting Engine


Recommended Posts

Может уже было но не нашел((

Сценарий:

Летит ЛА, до достижения определенной зоны возле него должны заспавнится другие ЛА/наземка.

Простая активация юнитов не подходит.

Зона обширная, например линия границы. Условно можно сделать тригерную зону большого радиуса, но необходимо чтобы спавн произошёл именно рядом с той точкой где ЛА вошел в зону.

Link to comment
Share on other sites

  • Replies 169
  • Created
  • Last Reply

Top Posters In This Topic

Может уже было но не нашел((

Сценарий:

Летит ЛА, до достижения определенной зоны возле него должны заспавнится другие ЛА/наземка.

Простая активация юнитов не подходит.

Зона обширная, например линия границы. Условно можно сделать тригерную зону большого радиуса, но необходимо чтобы спавн произошёл именно рядом с той точкой где ЛА вошел в зону.

 

Получаешь координаты объекта рядом с которым нужно создать другие объекты в нужный момент времени, и создаешь другие объекты в точках с небольшим смещением координат.

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

  • 2 weeks later...
Какая функция, если она есть, отвечает за создание юнита? Нужно создать юнит, случайно выбранный из списка.

 

Могу дать пару примеров:

http://forums.eagle.ru/showpost.php?p=2152129&postcount=840

  • Like 1

ASRock P67 Extreme4 Gen3/Intel Core i5 3570/16 Gb DDR3/GF 560Ti/Win7 64bit/CH FighterStick + CH Pro Throttle + Saitek Pro Flight Rudder Pedals/TrackiR4 Pro

Link to comment
Share on other sites

Просто, нужно создать юнит 1 раз, на старте миссии.

лично у меня, почему-то, даже такой простой скрипт не проходит

 

 

coalition.addGroup(country.id.RUSSIA, Group.Category.AIRPLANE, {

["units"] =

{

[1] =

{

["alt"] = 5524,

["type"] = "Su-27",

["unitId"] = 399,

["psi"] = -2.1777839908415,

["alt_type"] = "BARO",

["skill"] = "Average",

["y"] = 617269.96285781,

["x"] = -355692.3067714,

["name"] = "190D9 - 1",

["payload"] =

{

["pylons"] =

{

}, -- end of ["pylons"]

["fuel"] = 461,

["flare"] = 0,

["chaff"] = 0,

["gun"] = 100,

}, -- end of ["payload"]

["speed"] = 138.88888888889,

["heading"] = 2.1777839908415,

["callsign"] = 112,

["onboard_num"] = "10",

},

},

["name"] = dynSpawnGp1,

["hidden"] = false

}),

 

 

Причем нужно создать именно через скрипт, чтоб была возможность выбора типа самолета.


Edited by Julio_Cesar
Link to comment
Share on other sites

  • 2 months later...

Кто знает, прошу подсказать

1. Можно ли получить координаты ЛА игрока.

2. Можно ли скриптом менять эти координаты, то есть двигать ЛА игрока.

3. Есть ли возможность получить координаты стоянок, рулежек, ВПП на филдах.

4. Где можно посмотреть список всех функций.

Спасибо.

Intel Core i5-3570K, 3.40ГГц/ DDR3, 8ГБ (2x4ГБ), PC3-12800, 1600МГц / MB ASUS P8Z77-V / Zotac GTX570 1280МБ / SSD 64ГБ, 2.5", SATA III/ Saitek X-52PRO/ Benq 24"

Link to comment
Share on other sites

  • 7 months later...
  • 1 month later...

Просьба вынести файл

DCS\Scripts\MissionScripting.lua в %сохраненные игры%\Scripts\MissionScripting.lua

 

Сейчас после обновления приходится каждый раз его менять, чтобы работали скрипты.

Link to comment
Share on other sites

А скрипт инициализации работает в open beta??

А то у меня вроде работает когда ctrl+c коды вставляешь в поле код. А если выполнить файл то не работает.


Edited by eekz

Куплю B-17, можно B-24. B-29 не предлагать!

Burning Skies

=Burning Skies= @ Facebook

Link to comment
Share on other sites

нет. вообще любой инициализационный скрипт. заметил что если копируешь его в вставляешь в поле для кода, то работает. а если используешь open file со скриптом, то не пашет.

Куплю B-17, можно B-24. B-29 не предлагать!

Burning Skies

=Burning Skies= @ Facebook

Link to comment
Share on other sites

У меня файл-скрипты запускаются.

Я в основном только mist использую. Проблем не замечал...

Link to comment
Share on other sites

А у меня один и тот же скрипт не работает через опцию для скрипта инициализации Open file, но работает, если его скопировать и вставить в поле Code

Куплю B-17, можно B-24. B-29 не предлагать!

Burning Skies

=Burning Skies= @ Facebook

Link to comment
Share on other sites

Такой вопрос, скрипт инициализации миссии, в случае мультиплеера, он же исполняется и на сервере и у клиентов? И если да, есть MissionScripting.lua , там есть функция require и тамже делается блокировака модулей луа.. можно ли как-то через этот файл запустить в миссии скрипт, который будет лежать только на сервере и будет исполняться только на сервере? или может есть какой-то другой способ?


Edited by eekz

Куплю B-17, можно B-24. B-29 не предлагать!

Burning Skies

=Burning Skies= @ Facebook

Link to comment
Share on other sites

А у меня один и тот же скрипт не работает через опцию для скрипта инициализации Open file, но работает, если его скопировать и вставить в поле Code

http://forums.eagle.ru/showthread.php?t=147792

[sIGPIC][/sIGPIC]

Я не читаю Чижей и прочий зоопарк..

Link to comment
Share on other sites

Можно ли создать с помощью скриптов в миссии tcp или udp соединение так как это делает экспорт.луа?

Попробовал в файл-скрипт добавить

 

package.path = package.path..";.\\LuaSocket\\?.lua"

package.cpath = package.cpath..";.\\LuaSocket\\?.dll"

socket = require("socket")

 

StatUDP = socket.udp()

StatUDP:setsockname("127.0.0.1", 8095)

StatUDP:setpeername("127.0.0.1", 8090)

StatUDP:settimeout(0)

socket.try(StatUDP:send(string.format("STATA_START")))

 

Но при вызове скрипта ошибка что

 

require возвращает nil

 

img-2015-11-22-00-07-34.png?etag=BD332EC1E96905DCFF9942AE706BFC5F78CD4D2B

Link to comment
Share on other sites

Тут есть такой мод http://forums.eagle.ru/showthread.php?t=149769 так вот. Он меня вдохновил на то, чтобы порыть MissionScripting.lua, так вот таким образом можно подключить любые библиотеки луа или старый events.lua !

 

Посмотри Севас! Там и сокеты можно подключить и всё

 

только в dcs/scripts/missionscripting.lua нужно прописать require = require а не nil

в твоем случае тоже надо require = require


Edited by eekz

Куплю B-17, можно B-24. B-29 не предлагать!

Burning Skies

=Burning Skies= @ Facebook

Link to comment
Share on other sites

Link to comment
Share on other sites

Подскажите по другому вопросу.

Как обработать событие - конец миссии? То есть я торможу миссию и хочу в этот момент по сокету отослать текст.

 

Сокет запустил, работает.

 

В файл-скрипт, который вызывается 1 раз в секунду добавил такой код

 

if ( world.event.S_EVENT_MISSION_END == true ) then

socket.try(StatUDP:send(string.format("STOPPED")))

end

 

Но при остановке миссии, ничего не происходит. Интуитивно я догадываюсь что так работать не будет.

Можно ли как-то обработать это событие по типу прерывания?

Link to comment
Share on other sites

Подскажите по другому вопросу.

Как обработать событие - конец миссии? То есть я торможу миссию и хочу в этот момент по сокету отослать текст.

 

Сокет запустил, работает.

 

В файл-скрипт, который вызывается 1 раз в секунду добавил такой код

 

 

 

Но при остановке миссии, ничего не происходит. Интуитивно я догадываюсь что так работать не будет.

Можно ли как-то обработать это событие по типу прерывания?

 

По этому событию к сожалению не подскажу.

В остальном - посмотри личку.

Куплю B-17, можно B-24. B-29 не предлагать!

Burning Skies

=Burning Skies= @ Facebook

Link to comment
Share on other sites

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

И вообще, с чего начать учиться хотя бы подключать готовые скрипты?

Писать их вообще наверно нереально научиться с нуля

Не лазить руками туда, куда не лезет голова © USSR_Rik

Link to comment
Share on other sites

...

Писать их вообще наверно нереально научиться с нуля

 

В первом сообщении темы ссылка на описание скриптового движка.

 

 

rtt-torrents.org/torrent-59731-robertu-ieruzalimski-programmirovanie-na-jazyke-lua-3-e-izdanie-pdf

Хороший учебник по луа. Я,правда, бумажную купил. Это даже удобнее.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...