Księga 4845 7

O temacie

Autor

Zaczęty 14.08.2008 roku

Wyświetleń 4845

Odpowiedzi 7

Maximus
  • Gość
Mam problem, jak zrobić księge? Proszę o wytłumaczenie jak się ją robi i jak się robi, aby było w niej coś napisane.
 

Znag
  • Gość
http://themodders.org/index.php?showtopic=74    
potem musisz skompilować skrypty i zrobić paczkę.Są na ten temat tutoriale.
 

Maximus
  • Gość
Myślisz, że pisałbym nie czytając wcześniej tutków?? To jest tutek jak zrobić wielostronnicowe księgi, a nie jak zrobić księge i żeby było w niej napisane to co chcemy. Pozatym tutek jest baaadzo niezrozumiały, nie chcę mieć gotowego skryptu, tltyko nauczyć się jak się skrypt robi. Proszę o dokładniejsze wyjaśnienie.
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Księga
#3 2008-08-17, 15:57(Ostatnia zmiana: 2008-08-19, 14:36)
Mam nadzieję, że to ci pomoże. Myślę, że najważniejsze rzeczy napisałem w komentarzu.
Część pierwsza: definiujemy księgę, bez zawartości:
Cytuj
INSTANCE ItWr_Bloodfly_01(C_Item)
{   
   name                =   "Krwiopijcy";
   
   mainflag             =   ITEM_KAT_DOCS; //kategoria przedmiotu
   flags                =   0;

   value                =   150; //wartość

   visual                =   "ItWr_Book_02_01.3ds";  //model 3D, najlepiej domyśnie zostawić
   material             =   MAT_LEATHER;

   scemeName            =   "MAP";   
   description         = "Krwiopijcy";  //opis
   
   TEXT[5]            = NAME_Value;
   COUNT[5]         = value;
   on_state[0]            =   UseItWr_Bloodfly_01; //zostaje tu zdefiniowana funkcja, która pozwoli nam później w grze otworzyć księgę
};
Część druga, zawartość księgi:
Cytuj
FUNC VOID UseItWr_Bloodfly_01() //używamy funkcji, która została zdefiniowana w poprzedniej części
   {  
      var int nDocID;
      
      nDocID =    Doc_Create      ()           ;                        // DocManager
               Doc_SetPages   ( nDocID,  2 );       ustalasz ile stron

               Doc_SetPage    ( nDocID,  0, "Book_Brown_L.tga",    0       ); //wygląd strony lewej
               Doc_SetPage    ( nDocID,  1, "Book_Brown_R.tga",   0      ); //wygląd strony prawej
               
               //1. strona
                 
                 Doc_SetFont    ( nDocID, -1, "font_15_book.tga"               );    //ustalenie czcionki
                Doc_SetMargins   ( nDocID,  0,  275, 20, 30, 20, 1         );  //ustalenie marginesów w pikselach
                Doc_PrintLine   ( nDocID,  0, "Krwiopijcy"); //wpisujesz tekst
                 Doc_PrintLine   ( nDocID,  0, "");//"enter"
               Doc_PrintLine   ( nDocID,  0, " "         );
               Doc_SetFont    ( nDocID, -1, "font_10_book.TGA"               );    // -1 -> all pages
               Doc_PrintLine   ( nDocID,  0, "O krwiopijcach");
               Doc_PrintLine   ( nDocID,  0, "");
               Doc_PrintLines   ( nDocID,  0, "Ale w miejscu, gdzie grunt jest podmokły a powietrze wilgotne, krwiopijcy zbierają się stadami, zwabione zapachem potu żywych istot. Swoimi żądłami uśmiercają ofiary i ucztują na ich krwi. ");
               Doc_PrintLine   ( nDocID,  0, "");
               

               //2.Strona
               Doc_SetMargins   ( nDocID, -1, 30, 20, 275, 20, 1         );  
               Doc_PrintLine   ( nDocID,  1, "");
               Doc_PrintLine   ( nDocID,  1, "");
               Doc_PrintLine   ( nDocID,  1, "");
               Doc_PrintLine   ( nDocID,  1, "");
               Doc_PrintLines   ( nDocID,  1, "Myśliwi z bagien nauczyli się pozyskiwać żądła tych drapieżców. W tym celu nacinają wnętrzności krwiopijców i usuwają ostrożnie żądło wraz z otaczającą je tkanką. Następnie zeskrobują niejadalne mięso...");   
               Doc_PrintLine   ( nDocID,  1, "");
               Doc_PrintLine   ( nDocID,  1, "");
               Doc_Show      ( nDocID );
               };
   };

Dracon

Dracon

Użytkownicy
posty1068
Propsy904
Profesjabrak
  • Użytkownicy
A jak zrobić tekst księgi. Takiej, jak np: Czyta Xardas w G2?
 
,,Dobry, to człowiek, który nie ukrywa siedzącego w nim zwierzęcia. A taki co usiłuje udawać dobrego, jest wręcz niebezpieczny. Najgroźniejsi są ci, którzy sami głęboko wierzą, że są dobrzy. Odrażający, ohydny przestępca może zamordować jednego człowieka, dziesięciu, stu, ale nigdy nie zabija milionów. Miliony mordują ci, którzy mają się za samą dobroć.''

Wiktor Suworow, Akwarium

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Popatrz np. do pliku BookstandHistory.d w folderze c:\Program Files\JoWooD\Gothic II\_Work\Data\Scripts\Content\Story\Dialog_Mobsis. Zrób podobnie jakąś funkcję z nowym tekstem. Następnie włączasz spacera, dodajesz ten podest z księgą, klikasz na niego LPM i w okienku Objects i zakładce Modify szukasz opcji onStateFunc: i wpisujesz nazwę zdefiniowanej wcześniej  przez ciebie funkcji.

Maximus
  • Gość
Tylko, że ja chcę do G1... Aha a ta fuckcja to ma być nazwa tego co wcześniej zrobiłem np. MOJA_KSIĘGA_01 czy coś innego?
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Księga
#7 2008-08-18, 10:31(Ostatnia zmiana: 2008-08-19, 14:34)
MOJA_KSIĘGA_01 to raczej instance.
Funkcję definiujesz tu:on_state[0] = UseMOJA_KSIĘGA_01;


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