[Pytanie] Dialogi pisane i mówione w grze

Moderator: Inkwizytor

Awatar użytkownika
Maćko
Posty: 653
Rejestracja: 10 grudnia 2007, 15:08
ID Steam:
ID gracza: 1
Lokalizacja: Radom
Kontakt:

Re: dialogi

Post autor: Maćko »

SaS TrooP pisze:Nie słuchaj Maćka :mrgreen:
IMO zwykłe TitleCut'y spisują się bosko, a to co on podał to stringtable, a to jest robione dla misji wielojęzykowych.
Sry Maćko, ale to się nie opłaca. No, może przy MP trochę.
Nie no ok, ale TitleCut'y dla mnie są nieprofesjonalne i zajmują mi więcej roboty niż stringtable i description. W każdej mojej misji (nawet tych których nie wydaje, które robię wyłącznie dla siebie) jest stingtable i innej dobrej metody dla mnie nie ma :) A co do używania stringtable w misjach wielojęzykowych to powiem Ci że nie tylko. Nie jedna misja była wyłącznie po Polsku i zawierała Stringtable. Mów co chcesz dla mnie stringtable to podstawa prawidłowego wykonania dialogów i komunikatów radiowych (czasami również odnośniki do markerów).
Obrazek
Obrazek

-------------
MOBO: MSI H110M PRO-D | CPU: Core i3 [email protected] | RAM: 8GB DDR4 2400@2133 MHz CL14 Goodram Play |
GPU: Asus GTX 760 DirectCU II 2GB GDDR5 | SSD: Samsung 850 EVO 250GB | HDD: Samsung HD502HJ 500GB |
PSU: Corsair VS450 | Case: SilentiumPC Brutus S20 | FAN: SilentiumPC Mistral 120 mm
Awatar użytkownika
azzido
Posty: 28
Rejestracja: 06 czerwca 2007, 11:21
ID Steam:
ID gracza: 0
Lokalizacja: Sosnowiec

Re: dialogi

Post autor: azzido »

Normalnie zajebioza, wszystko czaje:)
Dzieki jeszcze raz "Maćko Wielki";)
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Re: dialogi

Post autor: SaS TrooP »

Nie no ok, ale TitleCut'y dla mnie są nieprofesjonalne i zajmują mi więcej roboty niż stringtable i description. W każdej mojej misji (nawet tych których nie wydaje, które robię wyłącznie dla siebie) jest stingtable i innej dobrej metody dla mnie nie ma :) A co do używania stringtable w misjach wielojęzykowych to powiem Ci że nie tylko. Nie jedna misja była wyłącznie po Polsku i zawierała Stringtable. Mów co chcesz dla mnie stringtable to podstawa prawidłowego wykonania dialogów i komunikatów radiowych (czasami również odnośniki do markerów).
No OK, ale wyjaśnij mi jakie ficzery dokładnie .csv posiada, żeby go używać. Bo może to przetestuję.
Awatar użytkownika
Maćko
Posty: 653
Rejestracja: 10 grudnia 2007, 15:08
ID Steam:
ID gracza: 1
Lokalizacja: Radom
Kontakt:

Re: dialogi

Post autor: Maćko »

Stringtable służy tylko i wyłącznie do nazywania danej rzeczy. Możesz napisać tekst do dialogu co prezentowałem wcześniej, możesz w nim również napisać odnośnik do nazwy misji, markerów na mapie, nazw punktów trasy, nazwy radia (np. zmienić Papa Bear na dowództwo itp.). Do niczego więcej się tego nie wykorzystuje, acz bardzo ułatwia to życie i skraca czas tworzenia multum wyzwalaczy z efektami tekstowymi, lub tworzenie wspomnianych przez ciebie titecut'ów.
Obrazek
Obrazek

-------------
MOBO: MSI H110M PRO-D | CPU: Core i3 [email protected] | RAM: 8GB DDR4 2400@2133 MHz CL14 Goodram Play |
GPU: Asus GTX 760 DirectCU II 2GB GDDR5 | SSD: Samsung 850 EVO 250GB | HDD: Samsung HD502HJ 500GB |
PSU: Corsair VS450 | Case: SilentiumPC Brutus S20 | FAN: SilentiumPC Mistral 120 mm
Awatar użytkownika
aszek
Posty: 133
Rejestracja: 11 lipca 2008, 06:17
ID Steam:
Numer GG: 8568774
ID gracza: 0

Re: dialogi

Post autor: aszek »

'stringtable.csv' ma nagłówek opisujący obecność i kolejność wpisów lokalizacyjnych:
LANGUAGE, "English", "Czech", "German", "Polish", "Russian", "French", "Spanish", "Italian", Comment

Można zrobić misję w kilku językach, Arma sama zadba o stosowanie właściwego tekstu.

Dla misji w jednym języku wystarcza:
LANGUAGE, "Polish"

Kolejne linie to:
identyfikator, "tekst w języku"

W nagłówku może wystąpić też 'Comment':
LANGUAGE, "Polish", Comment

'Comment' pozwala na użycie komentarza opisującego daną kwestię, np: kto i kiedy ją wygłasza co ułatwia orientację:
identyfikator, "tekst w języku", to mówię ja ;)

Odwołanie do tekstu w misji uzyskujemy przez '$', czyli "$identyfikator"
np: hint "$identyfikator"

lub bardziej uniwersalnie, przez funkcję 'localize' "identyfikator"
np: hint localize "identyfikator"

Komunikaty radiowe 'sideradio' wręcz wymuszają użycie 'stringtable.csv', dodatkowo jednak wymagana jest definicja klasy komunikatu w 'description.ext':

class CfgRadio
{
sound = {KomunikatRadiowy};

class KomunikatRadiowy
{
name = "Nazwa własna";
sound[] = {"dźwięk.ogg", db+10, 1.0};
title = $identyfikator; <- tekst skojarzony z identyfikatorem ze 'stringtable.csv'
};
};

i dopiero wówczas w misji można zacząć nadawać w eter:
this sideRadio "KomunikatRadiowy"; <- klasa komunikatu 'CfgRadio' z 'description.ext'
"True glory consists in doing what deserves to be written, in writing what deserves to be read." - Pliny The Elder
Awatar użytkownika
Maćko
Posty: 653
Rejestracja: 10 grudnia 2007, 15:08
ID Steam:
ID gracza: 1
Lokalizacja: Radom
Kontakt:

Re: dialogi

Post autor: Maćko »

No nic dodać nic ująć - to jest właśnie prawidłowy opis działania stringtable w ArmA.
Obrazek
Obrazek

-------------
MOBO: MSI H110M PRO-D | CPU: Core i3 [email protected] | RAM: 8GB DDR4 2400@2133 MHz CL14 Goodram Play |
GPU: Asus GTX 760 DirectCU II 2GB GDDR5 | SSD: Samsung 850 EVO 250GB | HDD: Samsung HD502HJ 500GB |
PSU: Corsair VS450 | Case: SilentiumPC Brutus S20 | FAN: SilentiumPC Mistral 120 mm
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Re: dialogi

Post autor: SaS TrooP »

Hmm, nieco bardziej skomplikowane. Ale do TitleCutów nie trzeba multum wyzwalaczy. Starczy jeden.
Dwa pytania:
1. Jakich komend mozna jeszcze użyć? Chwilowo tego nie sprawdze, ale mam nadzieje, że hint localize nie działa tak jak komenda "hint".
2. identyfikator - co to jest dokładnie? Nazwa WP, jednostki, wyzwalcza?

np.

Kod: Zaznacz cały

hint localize "$dotarlismy"
Awatar użytkownika
aszek
Posty: 133
Rejestracja: 11 lipca 2008, 06:17
ID Steam:
Numer GG: 8568774
ID gracza: 0

Re: dialogi

Post autor: aszek »

'hint' to tylko 'hint'.

Funkcja 'localize' mówi Armie, że ma wziąść tekst w danym języku (w takim jaki mamy Armę zainstalowaną), a precyzyjniej wedle konfiguracji 'ArmA.cfg':
language="Polish";

Z różnych wpisów lokalizacyjnych, domyślnie (bez użycia 'localize') jest brany tekst wedle 'language' z 'ArmA.cfg'. "English", który zwykle jest pierwszy, bez uzycia funkcji 'localize' jest domyślny. Jeśli w linii jest tylko jeden tekst dla jednego jezyką, np: "Polish", to siłą rzeczy on jest domyślny.

'identyfikator' to dowolny ciąg znaków jakim sobie identyfikujesz tekst, np:

LANGUAGE, "English", "Czech", "German", "Polish"
STR_MISSION_COMPLETED_CA, "Mission completed", "Mise dokonÄŤena", "Einsatz abgeschlossen", "Zadanie wykonane"

Grając na profilu polskim:
localize "STR_MISSION_COMPLETED_CA"
zwróci: "Zadanie wykonane"

A ktoś kto miesza w Czechach zobaczy:
localize "STR_MISSION_COMPLETED_CA"
zwróci: "Mise dokonÄŤena"

dla nas jest prościej:

LANGUAGE, "Polish"
Sierzant_01, "Baza, przyślijcie piwo !"
Baza_01, "Dobra, jedynka. Wysyłamy wam kontener ! "

TitleText [localize "Sierzant_01", "plain down", 1];

jak dodamy jeszcze dwa wpisy w CfgRadio, to:

this sideradio "$Sierzant_01" <- wygłosi kwestię: "Baza, przyślijcie piwo !"
baza sideradio "$Baza_01" <- wygłosi kwestie... no jaka ? :o
"True glory consists in doing what deserves to be written, in writing what deserves to be read." - Pliny The Elder
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Re: dialogi

Post autor: SaS TrooP »

Dzięki aszek. Ale tak czy siak najlepoej rozumiem wersję z TitleCutami :mrgreen:

Spróbuję to zastosować ASAP.
Awatar użytkownika
azzido
Posty: 28
Rejestracja: 06 czerwca 2007, 11:21
ID Steam:
ID gracza: 0
Lokalizacja: Sosnowiec

Re: dialogi

Post autor: azzido »

Mam pytanie:
W description.ext mam takie cos:

Kod: Zaznacz cały

class CfgRadio
{
sounds[] = {};
class RadioMsg1
{
name = "alpha1";
sound[] = {"\sound\alpha1.ogg", db-100, 1.0};
title = "Tu alpha jeden, slucham Cie PapaBear, odbior";
};


class RadioMsg2
{
name = "01v61";
sound[] = {"\sound\01v61.ogg", db-100, 1.0};
title = "Tjajar";
};
potem tworze folder sound umieszczam te dwa dzwieki alpha1 i 01v61.

Jak zrobic zeby na radiu sobie rozmawial zalozmy zolnierz z baza?
Robie tak ze tworze jednostke o nazwie aP wpisuje mu w uruchamianiu aP sideRadio "RadioMsg1";aP sideRadio "RadioMsg2" i mowi tylko to pierwsze, czyli Tu alpha jeden...itd

Zrobilem jeszcze tak ze stworzylem dwie jednostki pierwsza o nazwie a1 a druga o nazwie aP(gracz).Jak wpisze jednostce a1 polecenie a1 sideRadio "RadioMsg1" a jednostce aP aP sideRadio "RadioMsg2" to rozmawiaja przez radio a w odwrotnej sytuacji NIE:)

Dzieki
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Re: dialogi

Post autor: SaS TrooP »

Daj mu przerwę czasową. Możesz odtwarzać tylko jeden dźwięk tego typu naraz.
ODPOWIEDZ

Wróć do „Edytor - tworzenie misji, skrypty oraz programowanie”