dialogi w pliku INI + opcja wyboru dialogu |
Autor |
Wiadomość |
jaxoo22
Starszy szeregowy
 
Główny edytor: 
Drugi edytor: 
Posty: 6
79 Prestiż
|
Wysłany: 02-01-2019, 15:29 dialogi w pliku INI + opcja wyboru dialogu
|
|
|
Witam kolegy i kolezanky. Jestem osoba nowa wiec z tego miejsca witam tu wszystkich zgromadzonych. Sprawa jest tego typu ze CTF jest świetny program pozwala przyoszczędzi mnóstwo czasu którego mam mało. Zajmuje się grafika, pixel art mój konik. Jestem w trakcie działania swojej autorskiej gry. Moim kamieniem milowym jest działający silnik który będzie bazą pod 1 poziom w grze. Mam bardzo proste inventory, pełen zakres ruchów postaci łącznie z atakiem, wspinanie się po ścianach normalnie cuda na kiju. W grze dość istotnym elementem będzie system dialogów. Ma ktoś jakiś przystępny przykład takiego. ?
-Bardzo ważne jest aby dialogi wpadały z pliku ini +++, oczywiście nie chce żeby mi ktoś z dialogów spojlerował sobie gre. Gra przetłumaczona na angielski będzie wiec ini jest niezbędne, do sprawnego tłumaczenia.
-Potrzeba mi aby można było wybrać interesująca nas kwestię dialogową która to da inne kwestie i opcje dialogowe w grze. Krótko mówiąc chce umożliwić graczowi wybierania opcji dialogowych.
-Dodatkowo mam pytanie z czcionki CTF nie ma z tym problemu abym sobie jakieś inne zapodawał do stringa?
Przewiduję oczywiście po agarnięciu 1 lev udostępnić wam efekt mojej pracy, a idzie bardzo dobrze, zdecydowana większość animacji i grafik jest już gotowa. Aseprite świetnie się spisuje w tej kwestii.
Dziękuje serdecznie za słowa pomocy.
Pozdrawiam |
|
|
|
 |
Temporal
Podporucznik CP user
 
Główny edytor: 
Pomógł: 1 raz Posty: 669
299 Prestiż
|
Wysłany: 02-01-2019, 15:37
|
|
|
Gdy Google translator wchodzi za mocno |
_________________ Tajemnica 4
Soundcloud
msg napisał/a: | Temporal, fakt, jest bardzo wyluzowany. Ale to taki człowiek, który będzie chichotał na pogrzebie własnej matki. A to z kolei albo doskonałe aktorstwo albo bycie przygłupem. |
|
|
|
|
 |
jaxoo22
Starszy szeregowy
 
Główny edytor: 
Drugi edytor: 
Posty: 6
79 Prestiż
|
Wysłany: 02-01-2019, 15:43
|
|
|
Temporal napisał/a: | Gdy Google translator wchodzi za mocno |
znaczy się piszę jak potłuczony? |
|
|
|
 |
jarlfenrir
Generał brygady
 
Główny edytor: 
Drugi edytor: 
Pomógł: 82 razy Posty: 1731
37283 Prestiż
|
Wysłany: 08-01-2019, 10:59 Re: dialogi w pliku INI + opcja wyboru dialogu
|
|
|
jaxoo22 napisał/a: |
-Bardzo ważne jest aby dialogi wpadały z pliku ini +++, oczywiście nie chce żeby mi ktoś z dialogów spojlerował sobie gre. |
Jedno kłóci się z drugim. Ini jest plaintextem, więc ciężko je zabezpieczyć przed wścibskim użytkownikiem.
Jeśli INI, to ja bym pewnie spróbował taką strukturę:
Kod: |
[nazwa dialogu w grze]
msg=wiadomość do pokazania
answer1=możliwa odpowiedź gracza
answer1next=nazwa kolejnego dialogu do wyświetlenia
answer2=możliwa odpowiedź gracza
answer2next=nazwa kolejnego dialogu do wyświetlenia
|
Gra zna jakieś słowo kluczowe dialogu, który ma wyświetlić. Ustawiasz ini na grupę o nazwie pasującej do tego słowa kluczowego. Potem String mający wyświetlić wiadomość pobierasz z pola msg, a odpowiedzi do wyboru z pól answer1, answer2 (i może z kolejnych, jeśli są). Potem jeśli gracz wybrał jakąś odpowiedź, musisz wczytać kolejny dialog o słowie kluczowym odczytanym z pola:
"answer"+str$(numerWybranejOdpowiedzi)+"next"
Dialog możesz przerwać, jeśli jako nastepny dialog wczytasz jakieś charakterystyczne słowo kluczowe, np "end_dialog".
Co do czcionki, kiedyś był taki problem, że jak gracz nie posiadał twojej czcionki, to u niego się nie wyświetlała poprawnie. Może teraz da się już osadzić czcionkę w obiekcie String? |
|
|
|
 |
Cootje
Legenda
 
Główny edytor: 
Drugi edytor: 
Pomógł: 35 razy Posty: 639
18032 Prestiż
|
Wysłany: 12-02-2019, 21:10
|
|
|
Nie polecam INI++ bo jest zabugowany i nie działa dobrze z pętlami oraz zachowaniami. Zwykły INI object wystarcza w zupełności przy odrobinie fantazji. |
_________________ Mój klucz publiczny PGP |
|
|
|
 |
creesee
Młodszy chorąży
 
Główny edytor: 
Drugi edytor: 
Pomógł: 12 razy Posty: 241
12186 Prestiż
|
Wysłany: 14-02-2019, 16:12
|
|
|
Zamiast ini można skorzystać z suchego tekstu podzielonego jakimś znakiem specjalnym, który nie będzie wykorzystywany w żadnej linii dialogowej + dowolny string tokenizer/parser. Tutaj znakiem specjalnym jest: " ^ "
Kod: | kto_mówi ^ co_mówi ^ ew. opcje_do_wyboru_id |
...i w tym przypadku opcje do wyboru musiałyby być podzielone na grupy:
id = 1: tak/nie
id = 2: tak/nie/nie wiem
itp.
Mniej zretardziałym pomysłem jest po prostu dodawanie kolejnych opcji do wyboru, również predefiniowanych, do całego ciągu, a później sprawdzanie ile tych opcji jest, czyli:
Kod: |
id_wypowiedzi ^ kto_mówi ^ co_mówi ^ 1_wybor ^ 1_wybor_przenosi_do_wypowiedzi_id
id_wypowiedzi ^ kto_mówi ^ co_mówi
id_wypowiedzi ^ kto_mówi ^ co_mówi ^ 1_wybor ^ 1_wybor_przenosi_do_wypowiedzi_id ^ 2_wybor ^ 2_wybor_przenosi_do_wypowiedzi_id
id_wypowiedzi ^ kto_mówi ^ co_mówi ^ 1_wybor ^ 1_wybor_przenosi_do_wypowiedzi_id ^ 2_wybor ^ 2_wybor_przenosi_do_wypowiedzi_id ^ 3_wybor ^ 3_wybor_przenosi_do_wypowiedzi_id
|
...na przykład:
Kod: |
1 ^ Miły pan obok Biedry ^ Szefie, poratujesz 2 zeta? ^ Jak najbardziej ^ 2 ^ Niestety mam przy sobie tylko dolary ^ 3
2 ^ Miły pan obok Biedry ^ Ahh, dziękuję bardzo! Ależ się dzisiaj naje.. - najem! Najem się jak księciuniu! ^ [Koniec] ^ 0
3 ^ Miły pan obok Biedry ^ A to spadaj na drzewo bambusie. ^ [Koniec] ^ 0
4 ^ Kasjerka w Biedrze ^ Będę winna grosika. ^ Doooobra tam, nie ma sprawy ^ 5 ^ Chyba śnisz. Dawaj hajs. ^ 6
5 ^ Kasjerka w Biedrze ^ Miłego dnia! : ) ^ [Koniec] ^ 0
6 ^ Kasjerka w Biedrze ^ * wyciąga z portfela ostatnie oszczędności* Pr... proszę... to moje ostatnie oszczędności. ^ I żeby mi to było ostatni raz! ^ 7
7 ^ Kasjerka w Biedrze ^ Tak, Panie! ^ [Koniec] ^ 0
|
|
|
|
|
 |
|