Skrypty

Forum tylko do odczytu, archiwum postów, obecnie przeniesione na Discord.
User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Post do umieszczania skryptów pomocnych w misjach

Prosta linijka dodana do LUA, pozwala na wyświetlanie komunikatów lub respienia jednostek po pewnym czasie.
Można dowolnie wykorzystać.

Code: Select all

local Restart_Serwera = SCHEDULER:New( nil, 
  function()
        trigger.action.outText('restart serwera za 10 minut', 3)
  end, {}, 10 )-- 10 czas w sekundach do zadziałania funkcji 

User avatar
VladMordock
Posts: 2260
Joined: 2017-09-26 23:45

Flights: 79 (192hs)
Specialized in: ATC / AWACS



Gildia Rentier

Prośba o ograniczenie kolorowania tekstu wpostach - planujemy za jakiś czas zmianę szaty graficznej i niekoniecznie będzie to czytelne. Najlepiej używać standardowego koloru tekstu + ograniczone kolorowanie do wyróżnienia fragmentów.

Co do skryptu to mogę się mylić, ale ten SCHEDULER to klasa MOOSE chyba, więć żeby tego użyć trzeba pamiętać o dołączeniu biblioteki MOOSE do misji.

Kontakt z administracją (Marshallers) via contactadmin.
Dodawanie odznaczeń do profilu viewtopic.php?p=2106#p2106 .
User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Nie wiedziałem nic że nie można kolorować, to trzeba wywalić tą opcję.
Ale nie ma problemu będzie na szaro, a to tak trzeba wrzucać Moose ale raczej wszyscy go używamy wiec zapomniałem wspomnieć.

User avatar
VladMordock
Posts: 2260
Joined: 2017-09-26 23:45

Flights: 79 (192hs)
Specialized in: ATC / AWACS



Gildia Rentier

Hancer wrote: 2019-07-19 17:49 Nie wiedziałem nic że nie można kolorować, to trzeba wywalić tą opcję.
Można, ale... z umiarem. ;)

Kontakt z administracją (Marshallers) via contactadmin.
Dodawanie odznaczeń do profilu viewtopic.php?p=2106#p2106 .
User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Proste parę linijek .lua dodaje nam menu, które można wykorzystać dowolnie.

Code: Select all

Menu_1 = missionCommands.addCommand("Nazwa menu", Menu_1, function() Plane:Activate() missionCommands.removeItem(Menu_2) end, nil)
Przykład menu dla wszystkich grup, w tym przykładzie aktywujemy grupę i menu zostaje skasowane.

Zagnieżdżone menu:

Code: Select all

local MenuGroup = missionCommands.addSubMenu("Nazwa menu nadrzędne", MenuGroup)
	Menu_3 = missionCommands.addCommand("Plane Activate", MenuGroup, function() Plane:Activate() missionCommands.removeItem(Menu_2) end, nil)	
W tym przypadku mamy menu grupy i dalsze podmenu w Menu_3 jest przekierowanie do głównego menu ("Plane Activate", MenuGroup - tu wskazujemy menu nadrzędne jako rodzica.

Tworzymy menu dla grupy, koalicji czy pojedynczej jednostki:

Code: Select all

Menu_1 = MENU_GROUP_COMMAND:New( PlaneGroup, "Nazwa Menu", Menu_1, function() Plane:Activate()  Menu_1:Remove( 1, nil) end, nil)
Opis menu:
1. PlaneGrup - dodaje menu do konkretnej grupy, trzeba ją wcześniej zdefiniować: "PlaneGroup = GROUP:FindByName("Enfield #001")"
2. Nazwa Menu - nazwa widoczna dla grupy wskazująca uruchamianą funkcje
3. function() - wstawiamy co dane menu ma wywoływać, w tym przypadku jest to aktywacja grupy "Plane" wcześniej zdefiniowanej: Plane = GROUP:FindByName("Plane #001").
Możemy tu umieszczać więcej odwołań do aktywacji grup lub umieszczać info np.

Code: Select all

trigger.action.outText('Good Job', 10) Menu_1:Remove( 1, nil) end, nil)

4. Menu_1:Remove( 1, nil) - usuwa te menu, można pominąć w celu zachowania menu.
Na końcu zawsze wstawiamy " end, nil)", pamiętając o nawiasie zamykającym:

Code: Select all

trigger.action.outText('Good Job', 10) end, nil)
Menu można używać dla koalicji zmieniają tylko funkcje wywołującą: "MENU_COALITION_COMMAND"

User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Zmiany nastąpiły dla tankowców, dla potrzeb poligonów mamy opcję prze-tankowania i powrotu na zadana trasę "LandingReFuAr".
Jeden z Waypoint ustawiamy na lotnisko, tankowiec sobie wyliczy czas przebywania na orbicie.
Przypominam że na dzień dzisiejszy najeży uruchamiać TACAN na waypoint 1, ponieważ tankowiec na na stałe ustawiony Tacan 1X na WP0. Oraz na tym samym ustawiamy opcję "Orbit". Funkcja została przetestowana.

User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Coś dla śmigłowców
Ten prosty skrypt wywołuje menu FARPS, służy on śmigłowcom do naprowadzania na dany farp.
Wywołuję on "RadioBeacon", do działania potrzebna jest tylko mała zona w miejscu skąd ma nadawać (wielkości jednej jednostki).

Code: Select all

MenuFarp = MENU_COALITION:New( coalition.side.BLUE, "Farps" )
London = MENU_COALITION_COMMAND:New( coalition.side.BLUE, "London Farp", MenuFarp, function()  ctld.createRadioBeaconAtZone("beaconZone1","blue", 30,"London") end, nil)
Dallas = MENU_COALITION_COMMAND:New( coalition.side.BLUE, "Dallas", MenuFarp, function()  ctld.createRadioBeaconAtZone("beaconZone2","blue", 30,"Dallas") end, nil)
Dublin = MENU_COALITION_COMMAND:New( coalition.side.BLUE, "Dublin", MenuFarp, function()  ctld.createRadioBeaconAtZone("beaconZone3","blue", 30,"Dublin") end, nil)
Farpy umieszczone są w menu nadrzędnym "Farps", jeżeli będziemy wywoływali jeden nadajnik możemy pominąć te menu.
Należy zmienić nawę odwołania do menu z "MenuFarp" na "London" czyli nazwę tego właśnie menu, w tym miejscu jest odwołanie do menu nadrzędnego o ile takie istnieje.

Code: Select all

London = MENU_COALITION_COMMAND:New( coalition.side.BLUE, "London", London, function()  ctld.createRadioBeaconAtZone("beaconZone1","blue", 30,"London") end, nil)
W moim przykładzie zony odpowiednio noszą nazwy "beaconZone1", "beaconZone2", "beaconZone3" tworzone są trzy radia na różnych pasmach:

Image

Wywoływane z menu w grupie "Farps", w tym przykładzie mam trzy farpy:

Image

UWAGA - z menu uruchamiamy nadajnik dla danego farpa jednorazowo, nadajnik działa zależnie od ustawionego czasu.
W tym przypadku jest to 30 minut - "("beaconZone1","blue", 30,"London")" ustawiamy po kolei:
1. Nazwa zony w której postawiony będzie nadajnik - "beaconZone1".
2. Koalicja - "blue".
3. Czas nadawania w minutach - 30.
4. Nazwa farpu wyświetlana przed częstotliwościami nadajnika.

Częstotliwości procujących nadajników są widoczne dla każdej koalicji w menu F10

User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Jak poprawnie dodać misje ratunkową dla śmigłowców z oznaczenie terenu flarami.
Oraz jak dodać do misji działające radiolatarnie.

Pliki do pobrania pliku przykładowej misji i pliku lua: https://drive.google.com/open?id=1V-w4G ... IXzlTUOEt8

Dodałem parę słów dotyczące poprzedniego tematu "Coś dla śmigłowców"

User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

RECOVERY TANKER

Znalazłem fajny skrypt powołujący do życia parę maszyn obok lotniskowca.
W tym przykładzie mamy dwa lotniskowce.
Stawiamy z LateActivation jednostki (nazwy grup muszą być takie jak w skrypcie):
1. Texaco Group - S-3B Tanker Tacan 4X / 261 MHz
2. E2D Group - E2D 262 MHz
3. Shell Group - KC-130 Tacan 63X / 263MHz
4. Rescue Helo Group - SH-60B
Tacan i radio ustawiają się w skrypcie można je zmienić i nazwy jednostek.
Skrypt dołączamy do innego lub wrzucamy osobno.

Code: Select all

local tankerStennis=RECOVERYTANKER:New("Stennis_AI", "Texaco Group")
tankerStennis:SetRadio(261)
tankerStennis:SetTACAN(4, "SHL")
tankerStennis:SetCallsign(CALLSIGN.Tanker.Shell)
tankerStennis:SetModex(0)
tankerStennis:__Start(1)

local awacsStennis=RECOVERYTANKER:New("Stennis_AI", "E2D Group")
awacsStennis:SetAWACS()
awacsStennis:SetCallsign(CALLSIGN.AWACS.Wizard)
awacsStennis:SetTakeoffAir()
awacsStennis:SetAltitude(20000)
awacsStennis:SetSpeed(300)
awacsStennis:SetRadio(262)
awacsStennis:SetTACAN(5, "WIZ")
awacsStennis:SetRacetrackDistances(40, 20)
awacsStennis:SetModex(666)
awacsStennis:Start()

local tankerTarawa=RECOVERYTANKER:New("Tarawa", "Shell Group")
tankerTarawa:SetHomeBase(AIRBASE.Caucasus.Batumi)
tankerTarawa:SetRadio(263)
tankerTarawa:SetTACAN(63, "ARC")
tankerTarawa:SetCallsign(CALLSIGN.Tanker.Arco)
tankerTarawa:Start()

heloStennis=RESCUEHELO:New("Stennis_AI", "Rescue Helo Group")
heloStennis:SetModex(21)
heloStennis:Start()

heloTarawa=RESCUEHELO:New("Tarawa", "Rescue Helo Group")
heloTarawa:SetTakeoffAir()
heloTarawa:Start()

UNIT:FindByName("Stennis_AI"):PatrolRoute()
UNIT:FindByName("Tarawa"):PatrolRoute()
Możemy dodać następny lotniskowiec dopisując:

Code: Select all

UNIT:FindByName("Forrestal"):PatrolRoute()
heloForrestal=RESCUEHELO:New("Forrestal", "Rescue Helo Group")
heloForrestal:SetTakeoffAir()
heloForrestal:Start()
Tak samo dodajemy tankowiec, kopiując z innego zmieniając tylko nazwy.

User avatar
Hancer
Posts: 1042
Joined: 2018-09-07 17:18
Contact:

Flights: 153 (358hs)
Specialized in: A-10C



Gildia Rentier

Skrypt Rescue lua będący użyty w misji przykładowej CargoZone

https://drive.google.com/open?id=1D_SdK ... Q47FgxZQL_

Opis na filmiku YT:


User avatar
Gildu
Posts: 636
Joined: 2019-01-24 12:55

Flights: 342 (872hs)
Specialized in: F/A-18C



Gildia Rentier

VFA-203 Executive Officer

3ACS Executive Officer

Transport piechoty

Filmik przedtsaiwajacy cały proces, troche cihco sie nagrałem więc wyciszyłem glos z gry, ale i tak musicie sporo podglosnic dzwięk

Misja testowa:

https://drive.google.com/open?id=1AU1uK ... 5oa1ni5Txl
Plik lua:

https://drive.google.com/open?id=1agemP ... 2fS525bEmF

Poko



Wyszedł nowy moose.lua pod DCS 2.5.6. Zmieniły się ID lotnisk. Dobrze byłoby podmienić ten skrypt w gildiańskich poligonach.
Pikey;4214938 wrote:Frank, is so good to us.

2.5.6 hotfix for MOOSE on dev branch.
https://github.com/FlightControl-Master ... /Moose.lua

Anyone wanting to run MOOSE on 2.5.6 will need to use this version

BASE - Added new DCS 2.5.6 events for docs/intellisense.
DATABASE - Used world.getAirbases() to get new airbase ID for DCS 2.5.6.
EVENT - Added new DCS 2.5.6 events. - Added nil check for EVENTMETA in case of unknown events. Produces a warning in the logs.
POINT - Added WaypointNaval(). Can have depth parameter for submarines.
SPAWN - Added optional parameter TerminalType to SPAWN:InitAirbase() function.
USERFLAG - Added GetName() function.
RANGE v2.2.2 - Added range name to radio queue.
ATIS v0.6.3 - Wind from 0° is reported as from 360°.
ENUMS - Added some weapon flags.
AIRBASE - Adjusted GetID function to be compatible with DCS 2.5.5 and DCS 2.5.6.
CONTROLLABLE - Added some tasks, - Added default parameters for tasks.
GROUP - Added generalized attributes.
UNIT - Added function to easily get the template, template payload and template pylons.
Last edited by Poko on 2020-02-18 13:48, edited 1 time in total.

User avatar
Bartek16194
Moderator
Posts: 770
Joined: 2018-10-23 19:09

Flights: 348 (931hs)
Specialized in: F/A-18C



Gildia Marshaller

VFA-203 Commanding Officer

VF-31 Naval Flight Officer

492nd vFS Pilot

Poko wrote: 2020-02-18 13:47 Wyszedł nowy moose.lua pod DCS 2.5.6. Zmieniły się ID lotnisk. Dobrze byłoby podmienić ten skrypt w gildiańskich poligonach.
Czekam do patcha bo narazie jakiekolwiek robienie misji jest bez sensu :) Dzięki za info

Wirtualne Biało-Czerwone Iskry - #3 Prawy skrzydłowy (TS-11) - 2021+

Steam
YT
Poko



Jasna sprawa ;). Na marginesie goście od Moose'a pisali, że ta wersja jest już podobno przygotowana pod przyszłe patche DCS. Sprawdzałem nowy plik u siebie w misji na 2.5.6 i samoloty AI można już spawnować na lotniskach (cold/hot/runway).

Locked