Wyświetlanie listu w monologu 3220 7

O temacie

Autor Markool

Zaczęty 18.07.2013 roku

Wyświetleń 3220

Odpowiedzi 7

Markool

Markool

Użytkownicy
posty39
Propsy1
  • Użytkownicy

Markool

Wyświetlanie listu w monologu
2013-07-18, 09:59(Ostatnia zmiana: 2013-07-18, 10:01)
Co mam zrobić aby po wywołaniu funckji dialogowej otwierał się dokument nie wychodząc z aivara monologu po prostu by pokazało treść na ekranie jak przy otwieraniu dokumentów a także by potem się zamykały po opcji wróć.
skrypt:

instance  list (C_INFO)
{
        npc                     = PC_Hero;
        nr                      = 999;
        condition       = listt;
        information     = Listl;
        permanent       = 1;
important =  0;
        description = "Zobacz skrzynkę";
};

FUNC Listt()
{
        if (monolog == otwart)
        {
                return TRUE;
        };
};

func VOID Listl()
{
Info_ClearChoices (List);


Info_AddChoice          (List,"Otwórz list "List_1);

Info_AddChoice          (List,"Otwórz list "List_2);




       
};
func VOID List_1()
{
Info_ClearChoices (List);

Info_AddChoice          (List,"wróć "Listl);






       
};
func VOID List_2()
{
Info_ClearChoices (List);

Info_AddChoice          (List,"wróć "Listl);







       
};
 

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator

Splash
Moderator

Wyświetlanie listu w monologu
#1 2013-07-18, 10:55(Ostatnia zmiana: 2013-07-18, 10:56)
Do funkcji listu w monologu dopisz nazwę funkcji odpowiedzialną za wyświetlenie treści listu. Weźmy na przykład funkcję książki "Bloki dwuręczne"
FUNC VOID UseZweihandBuch()
{
<funkcje>
};


func VOID List_1()
{
Info_ClearChoices               (List);
Info_AddChoice          (List,"wróć "Listl);
UseZweihandBuch(); //Tu jest właśnie ta funkcja Bloków dwuręcznych
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Jak dobrze pamiętam to wyświetlanie mapy w monologu mi nie działało musiałem bawić się z triggerami i zmienną oraz wyłączaniem dialogu. Jak dawałem zakończenie dialogu i wyświetlenie w tej samej funkcji coś tam nie działało. Ja bym dał opcje zabierz list i wtedy każdy sobie odpali z EQ będzie o wiele prościej. Nie wiem może z listami jest inaczej ale jeśli będziesz miał problemy to zrób tak jak mówię.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
nie wychodząc z aivara monologu
Nie ma czegoś takiego, aivar to nazwa tablicy w Gothicu ze zmiennymi dotyczącymi AI postaci. Pewnie chodzi ci o interface dialogu.
by potem się zamykały po opcji wróć.
Raczej niewykonalne w prosty sposób.

W sprawie ogólnego problemu, to to co pisze Rafal jest bardzo prawdopodobne. Ja bym jednak spróbował prymitywnej sztuczki - zakończył dialog, wyświetlił dokument, znowu rozpoczął dialog:
AI_StopProcessInfos(self);
var int nDocID;
nDocID = Doc_Create();
//treść dokumentu
Doc_Show (nDocID);
AI_ProcessInfos(self);
Z drugiej strony, nie pozwoli ci to użyć drzewiastej struktury z choices.

Markool

Markool

Użytkownicy
posty39
Propsy1
  • Użytkownicy
nie jest możliwe bycie w trakcie dialogu i otworzenie listu? jeśli jest to gdzie bym musiał się pobawić, choice jest ważne więc kończenie dialogu odpada
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
To może PrintScreen ??? Zrobisz sobie specjalna czcionkę z tłem i jakoś przejdzie :)  ??

PrintScreen ("Tu się zaczyna tekst listu", 20, 20, "czcionka_z_tlem", 9999);
PrintScreen ("Tu mamy następna linijkę", 20, 30, "czcionka_z_tlem", 9999);
PrintScreen ("a tutaj jeszcze jedną", 20, 40, "czcionka_z_tlem", 9999);

Na różnych rozdzielczościach będzie rożnie rozjechane ale powinno działać z opcjami wyboru :)

to teraz jeszcze jeden bajer o którym dużo osób nie wie :)

daliśmy czas wyświetlania 9999 sek będzie to koło 2 h chyba :D  ale przecież gracz nie może grac przez 2h z listem na ekranie PrintScreen potrafi też czyścić ekran a dokładnie zastępuje poprzedni tekst jeśli wyświetlamy coś na tym samym miejscu.

//czyszczenie
PrintScreen ("", 20, 20, "czcionka_z_tlem", 1);
PrintScreen ("", 20, 30, "czcionka_z_tlem", 1);
PrintScreen ("", 20, 40, "czcionka_z_tlem", 1);

Czyszczenie nie działa na pozycje wyśrodkowane -1 :)

Markool

Markool

Użytkownicy
posty39
Propsy1
  • Użytkownicy
noo to brzmi trochę lepiej dzięki:)
 

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
Możesz ewentualnie w LeGO użyć funkcji View_SetTexture
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry