[PORADNIK] Jak stworzyć briefing?

Pytania i porady na tematy techniczne związane z Arma2 oraz Arma2OA.

Moderator: Inkwizytor

Regulamin forum
Przed zadaniem pytania proszę się zastosować do niniejszych wskazówek:

1. Przeszukaj forum używając funkcji "Szukaj". Nowe wydania Arma mają wiele wspólnych cech z poprzednią wersją i jest wysoce prawdopodobne, że można posłużyć się analogią.
2. Sprawdź w dziale Pomoc Techniczna czy nie ma odpowiedzi na Twoje pytanie.
3. Tworząc nowy wątek wybierz podforum tematyczne adekwatne do problemu lub zapytania.
4. Tworząc nowy wątek nie wpisuj enigmatycznie nazwy tematu typu "Pytania", "Pilne", "Potrzebna pomoc"
5. W nazwie tematu wpisz coś konretnego, to czego dotyczy pytanie lub problem np.: "Jak zmienić na inny przycisk wybierania celu(domyślenie Tab)"
6. Nie zadawaj na raz wielu pytań w jednym temacie. Lepiej otworzyć kilka tematów, każdy na osobny problem. Ułatwi to śledzenie poszczególnych wątków, lepiej widać na co została udzielona odpowiedź.
7. Po otrzymaniu odpowiedzi/rozwiązania poinformuj czy jest to dla ciebie satysfakcjonujące i pomocne.
8. Po otrzymaniu odpowiedzi/rozwiązania podziękuj. Autorowi postu, który przyczynił się do pomocy wystaw pozytywną opinię(daj pochwałę).
9. Jeśli sam rozwiązałeś problem lub znalazłeś odpowiedź, poinformuj o tym. Tą informacją pomożesz innym.
Awatar użytkownika
Mirage
Posty: 254
Rejestracja: 12 grudnia 2006, 22:02
ID Steam:
Lokalizacja: Bielsko-Biała

[PORADNIK] Jak stworzyć briefing?

Post autor: Mirage »

Zapewne niebawem pojawią się tutaj pytania dotyczące tworzenia briefingu w A2. Jak wiemy tym razem briefingi do misji robi się inaczej niż w OFP/A1. Jak? Poniżej w miarę dokładny opis razem z konkretnym przykładem (który należy wkleić do pliku briefing.sqf). Tekst autorstwa mickey'a jest po angielsku, wzięty w całości z forum ofpec.com. Niebawem postaram się wrzucić tutaj linki do przykładowych briefów po polsku.
In ArmA 2 BIS has decided redo the briefing system. The well known 'briefing.html' is still being used, but only for the debriefing.
The actual briefing is added by script commands, which I advise you to put in a 'briefing.sqf', and give you the ability to add 'Notes' and 'Tasks' to the briefing menu.

Ok, let's start with the simple stuff. Make a file called 'briefing.sqf' and make sure this gets executed through the 'init.sqf' (execVM "briefing.sqf";).
Now we can add the briefing commands to this file, and keep the other files of your mission clean.


Adding Notes:

player createDiaryRecord ["Diary", ["Title 1", "Message 1"]];

This adds a note called 'Title 1', and when you click on that a bigger message screen comes up with 'Message 1'. This is great, but we really need some formatting and ability to add links and pictures.

Linebreak/newline: <br/>
Link to marker: <marker name='obj1'>Link to Marker</marker>
Show an image: <img image='someImage.paa'>

Some examples:
player createDiaryRecord ["Diary", ["Title 2", "Isn't whitespace awesome? <br/><br/><br/>Yes it totally is!"]];
player createDiaryRecord ["Diary", ["Title 1", "We have an objective <marker name='obj1'>here</marker> and one <marker name='obj2'>there</marker>"]];


Ok, you should now understand how to make a note, and what the possibilities are in the briefing message window, so let's add some tasks.



Adding Tasks

You can make tasks whenever you want, and you can customize them a lot, but let's start with a simple one:
tskExample1 = player createSimpleTask ["Task Title 1"];

This add only adds a task called 'Task Title 1', but the message box is empty. Kinda useless huh?
tskExample1 setSimpleTaskDescription ["Task Message 1", "Task Title 1", "Task HUD Title 1"];

This sets and description to the task. The first array element is the message (like the message from the notes), the second element is the title (yes, we already defined that, but we can redefine here), and the third element is what gets shown on the HUD. Remember that you can do those formatting, marker links and pictures in the message of a task as well.


So now we have a task with a title and message, but we can also add an objective marker to the task so we know where the objectives actually are:
tskExample1 setSimpleTaskDestination (getMarkerPos "obj1");

Make sure you have an empty marker called 'obj1', and you'll see a semi-transparant circular marker which will light up when you set the task as active.


Other commands

Well, you now know how to make notes and tasks, but we also need to control those tasks during the mission.

We force a task upon a player by executing this on his machine:
player setCurrentTask tskExample1;

This will highlight the objective marker, and show him the through the HUD where the objective is.


Now all that there's left, is setting the task status:
tskExample1 setTaskState "SUCCEEDED";
tskExample1 setTaskState "FAILED";
tskExample1 setTaskState "CANCELED";
tskExample1 setTaskState "CREATED";

SUCCEEDED = Makes the checkbox green
FAILED = Puts a red cross in the checkbox
CANCELED = Puts a grey diagonal line through the checkbox
CREATED = Clears the checkbox (makes it look like you've just created it)


And that's pretty much it for a basic briefing. I'll try to add more advanced stuff to it when I have some more time.


Some templates you can use:

briefing.sqf

Kod: Zaznacz cały

// last created entries go on top, so reverse the order

// create a simple note in the briefing
player createDiaryRecord["Diary", ["Title 2", "Isn't whitespace awesome? <br/><br/><br/>Yes it totally is!"]]; 
player createDiaryRecord["Diary", ["Title 1", "We have an objective <marker name='obj1'>here</marker> and one <marker name='obj2'>there</marker>"]]; 

// <br/> is a line break, forcing the text behind it to go on a new line

// create a task 
tskExample2 = player createSimpleTask["Task Title2"]; // adds a task w/o desc or marker
tskExample2 setSimpleTaskDescription["Task Message 2 <br/><br/>", "Task Title 2", "Task HUD Title"];
tskExample2 setSimpleTaskDestination (getMarkerPos "obj2"); // make sure you've added a marker!


// create a task 
tskExample1 = player createSimpleTask["Task Title 1"]; // adds a task w/o desc or marker
tskExample1 setSimpleTaskDescription["Task Message 1 <br/><br/>Attack <marker name='obj1'>Link to Objective 1</marker> and possibly other shit. <br/><br/>", "Task Title 1", "Task HUD Title"];
tskExample1 setSimpleTaskDestination (getMarkerPos "obj1"); // make sure you've added a marker!



///////////////////
// some examples ///
//////////////////

//// Set a Task as current Task (will highlight the task marker, and show the task on the HUD)
//player setCurrentTask tskExample1;


//// set a task to completed or failed  (put this in a trigger or something)
// tskExample1 setTaskState "SUCCEEDED";
// tskExample1 setTaskState "FAILED";


// //// example of random task
// // bob is a enemy mortar gun, with a probability of presence of 50%,
// // so if he exists, add the task to destroy it
// if (alive bob) then {	// if the mortar is present, give the task to destroy it
	// tskMortar = player createSimpleTask["objective3"]; // adds a task w/o desc or marker
	// tskMortar setSimpleTaskDescription["Find and destroy the mortar NAPA forces are using to shell nearby civilian towns.", "Destroy mortar", "Destroy Mortar"];
// };
briefing.html

Kod: Zaznacz cały

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">

<title>Title</title>
</head>

<body bgcolor="#FFFFFF">
<! -----DEBRIEFING----->
<hr>
<br>
<h2><a name="Debriefing:End1">end1 title</a></h2>
<br>
<p>
<! ------victory------>
We Won!
</p>
<br>

<hr>
<br>
<h2><a name="Debriefing:End2">end2 title</a></h2>
<br>
<p>
<! ------KIA------>
We lost...
</p>
<br>

<! -----DEBRIEFING END----->

</body>
</html>
Jeśli coś nie działa, bądź macie pytania - piszcie. Postaram się pomóc, bo w miarę już opanowałem kwestię tworzenia briefów do A2.
Awatar użytkownika
Artek3333
Posty: 578
Rejestracja: 29 czerwca 2007, 20:02
ID Steam:
ID gracza: 0
Lokalizacja: Żywiec

Re: Jak stworzyć briefing? [Poradnik]

Post autor: Artek3333 »

Gdzie się wpisuje tą komendę

Kod: Zaznacz cały

tskExample1 setTaskState "SUCCEEDED";
tskExample1 setTaskState "FAILED";
odnośnie zaliczenia lub nie zaliczenia w notatniku. Tak jak w Arma1? czyli w edytorze czy w brefingu? np jednostka ma wejść w określoną strefę, a jak wejdzie to zadanie ma się zaliczyć. Jak wpisuje w uruchomieniu wyzwalacza

Kod: Zaznacz cały

tskExample1 setTaskState "SUCCEEDED"
strefy gzie dana jednostka ma wejść to ta komenda nie działa, zadania nie chce się zaliczyć. Wie ktoś jak to się robi :o
Awatar użytkownika
Matte
Posty: 805
Rejestracja: 17 stycznia 2007, 12:20
ID Steam:
Numer GG: 3470353
ID gracza: 2166020
Lokalizacja: Sosnowiec

Re: Jak stworzyć briefing? [Poradnik]

Post autor: Matte »

Zwyczajnie, w aktywacji czegokolwiek. Waypointu, Triggera, Skryptu....
Jestem BIS fanboyem! :ofp :weteran
FAQ:
Co zrobić gdy powiedzą coś złego o OFP:DR? DR nie żyje, a fani zapomnieli.
Co zrobić gdy powiedzą coś złego o ArmA II? - Do 1.96 jescze trochę brakuję...
All of BIS's programming is done by Ondrej's hair
Blogaska prowadzę, i gadam do mikrofonu w podcaście na matteprl.net
Awatar użytkownika
Artek3333
Posty: 578
Rejestracja: 29 czerwca 2007, 20:02
ID Steam:
ID gracza: 0
Lokalizacja: Żywiec

Re: Jak stworzyć briefing? [Poradnik]

Post autor: Artek3333 »

Jak już pisałem. Wstawiając tą komendę w edytorze w aktywacji ona nie działa, jeśli jest ktoś kto naprawdę się tym bawił i mu to działa , proszę o pomoc i wyjaśnienie. Z góry Dzięksss :rox
Awatar użytkownika
Artek3333
Posty: 578
Rejestracja: 29 czerwca 2007, 20:02
ID Steam:
ID gracza: 0
Lokalizacja: Żywiec

Re: Jak stworzyć briefing? [Poradnik]

Post autor: Artek3333 »

Już to opracowałem i wiem już o co chodzi, podstawy już znam, jeśli jest ktoś zainteresowany niech pisze to wrzucę jakaś misyjkę instruktażową. Pozdrawiam. :hapy
Awatar użytkownika
JonPL
Posty: 270
Rejestracja: 14 lipca 2009, 16:43
ID Steam:
Numer GG: 6628146
ID gracza: 0
Lokalizacja: Kraków
Kontakt:

Re: [PORADNIK] Jak stworzyć briefing?

Post autor: JonPL »

Bardzo pomocny poradnik;




Moje pierwsze gotowe misje pozdrawiają Mirage :)
http://armacenter.pl/ - najdłużej istniejąca społeczność w historii polskiej sceny ArmA i OFP.

Dołącz do nas - weteranów - dajemy czadu już od czasów wczesnego Flashpointa.
Awatar użytkownika
Zgedi
Posty: 58
Rejestracja: 22 sierpnia 2009, 23:03
ID Steam:
ID gracza: 0
Lokalizacja: MMz

Re: [PORADNIK] Jak stworzyć briefing?

Post autor: Zgedi »

Może pomożecie bo nie wiem co robię nie tak.Na początek zrobiłem init.sqf z linią "execVM "Briefing.sqf";".Zapisałem w moje dokumenty do folderu z misją.Później zrobiłem briefing programem do tworzenia briefingu i także zapisałem w tym folderze.Później w grze zapisałem misje jako pojedynczą i briefingu nie widać.
Zapomniałem o czymś?
Sam tekst w briefingu powinien być ok bo programem robiony więc tu nie może być błędu.Nie wiem,może nie tu zapisuje czy coś
Awatar użytkownika
Trance
Posty: 1090
Rejestracja: 20 maja 2007, 19:06
ID Steam:
ID gracza: 0

Re: [PORADNIK] Jak stworzyć briefing?

Post autor: Trance »

Moze sprobuj zapis:

nil = [] execVM "briefing.sqf";
Obrazek
Awatar użytkownika
Zgedi
Posty: 58
Rejestracja: 22 sierpnia 2009, 23:03
ID Steam:
ID gracza: 0
Lokalizacja: MMz

Re: [PORADNIK] Jak stworzyć briefing?

Post autor: Zgedi »

To samo...czyli nic
Awatar użytkownika
JonPL
Posty: 270
Rejestracja: 14 lipca 2009, 16:43
ID Steam:
Numer GG: 6628146
ID gracza: 0
Lokalizacja: Kraków
Kontakt:

Re: [PORADNIK] Jak stworzyć briefing?

Post autor: JonPL »

nic dziwnego trance walnął literówkę

nul = [] execVM "briefing.sqf";
http://armacenter.pl/ - najdłużej istniejąca społeczność w historii polskiej sceny ArmA i OFP.

Dołącz do nas - weteranów - dajemy czadu już od czasów wczesnego Flashpointa.
Awatar użytkownika
Zgedi
Posty: 58
Rejestracja: 22 sierpnia 2009, 23:03
ID Steam:
ID gracza: 0
Lokalizacja: MMz

Re: [PORADNIK] Jak stworzyć briefing?

Post autor: Zgedi »

Ty też bo dwa L powinny być w null :)
Niestety to nie pomaga
ODPOWIEDZ

Wróć do „Pomoc techniczna oraz FAQ”