"Czy na pewno chcesz rozpocząć nową grę?" 11957 17

O temacie

Autor Codeman

Zaczęty 19.07.2011 roku

Wyświetleń 11957

Odpowiedzi 17

Codeman

Codeman

Użytkownicy
posty53
Propsy33
  • Użytkownicy
Witam!

Jest to mój pierwszy tutek więc proszę o wyrozumiałość.
W tym poradniku pokażę wam jak zrobić skrypt w menu który po wybraniu opcji Nowa gra pojawi nam się potwierdzenie (Jak przy wyjściu z gry). A więc zaczynajmy.
Potrzebne będą nam dwa pliki, mianowicie.

1. Menu_Main.d Scripts\System\Menu
2. Menu_Misc.d Scripts\System\Menu

Najpierw Menu_Main.d

Przechodzimy do tej linii.

//
// NEW GAME
//

instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nowa gra";
text[1] = "Rozpocznij nową przygodę.";

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*0;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "NEW_GAME";
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};

   
text[0]      = "Nowa gra"; //Tekst który jest wyświetlany w zamiast 'Nowa gra'.
   
text[1]      = "Rozpocznij nową przygodę.";  // Komentarz wyświetlany na dole menu.
   
onSelAction[0]   = SEL_ACTION_CLOSE; //Tutaj nie wiem co oznacza ale dajemy 'SEL_ACTION_STARTMENU;'
   
onSelAction_S[0]= "NEW_GAME"; //Tutaj mamy akcję gdy wciśniemy nowa gra.My zamiast zdarzenia 'NEW_GAME;'
        dajemy by wyskoczyło nam okno które np nazwiemy 'MENU_PLAY_SELECT'

Powinno to wyglądać tak.

//
// NEW GAME
//

instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nowa gra";
text[1] = "Rozpocznij nową przygodę.";

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*0;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_STARTMENU;
onSelAction_S[0]= "MENU_PLAY_SELECT";
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};

Ok. Teraz musimy stworzyć okno które będzie wyskakiwało po wybraniu nowej gry. Przechodzimy więc do Menu_Misc.d

Kopiujemy wszystko co tam jest i wklejamy na sam spód.
Mamy teraz następujący kod.


// *********************************************************************
// leave game menu
// *********************************************************************

INSTANCE MENU_LEAVE_GAME(C_MENU_DEF)
{
backpic = MENU_BACK_PIC;

items[0] = "MENUITEM_LEAVE_GAME_HEADLINE";

items[1] = "MENUITEM_LEAVE_GAME_YES";
items[2] = "MENUITEM_LEAVE_GAME_NO";

defaultOutGame = 2; // NEWGAME
defaultInGame = 2; // SAVEGAME

flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_LEAVE_GAME_HEADLINE(C_MENU_ITEM_DEF)
{
text[0] = "Wyjść z gry?";  
type = MENU_ITEM_TEXT;
// Position und Dimension
posx =    0; posy = 3400;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;
};


INSTANCE MENUITEM_LEAVE_GAME_YES(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Tak";
text[1] = "Tak, chcę zakończyć grę."; // Kommentar

// Position und Dimension
posx =    0; posy = 4400;
dimx = 8100; dimy =  500;
// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "LEAVE_GAME";
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_LEAVE_GAME_NO(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nie";
text[1] = "Nie, chcę grać dalej."; // Kommentar

// Position und Dimension
posx =    0; posy = 5000;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};


Więc może tak. Zmieniamy wszystko gdzie pisze 'LEAVE_GAME' na 'PLAY_SELECT'

Ok. Teraz skupiamy się głównie tutaj

INSTANCE MENUITEM_PLAY_SELECT_HEADLINE(C_MENU_ITEM_DEF)
{
text[0] = "Wyjść z gry?";  
type = MENU_ITEM_TEXT;
// Position und Dimension
posx =    0; posy = 3400;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;
};


INSTANCE MENUITEM_PLAY_SELECT_YES(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Tak";
text[1] = "Tak, chcę zakończyć grę."; // Kommentar

// Position und Dimension
posx =    0; posy = 4400;
dimx = 8100; dimy =  500;
// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "LEAVE_GAME";
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_PLAY_SELECT_NO(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nie";
text[1] = "Nie, chcę grać dalej."; // Kommentar

// Position und Dimension
posx =    0; posy = 5000;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

Tam gdzie pisze 'Wyjść z gry?' to pytanie które wyskoczy po wybraniu 'Nowej gry'. Wpisujemy tam wedle naszego
uznania. Ja wpiszę 'Jesteś pewien?'.

Teraz patrzymy na linię gdzie jest instancja MENUITEM_PLAY_SELECT_YES.
Mamy tam opcje 'Tak' i komentarz do niej. Zostawiamy napis tak i zmieniamy komentarz na np. "Tak, jestem pewien"
Wyszukujemy tutaj linikę

// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "LEAVE_GAME";

Mamy tu 'onSelAction_S[0]= "LEAVE_GAME";'. Zmieniamy 'LEAVE_GAME' na 'NEW_GAME'.

Teraz szukamy linii z instancją 'MENUITEM_PLAY_SELECT_NO'.
Mamy tu opcję 'Nie'. Możemy to zmienić np na 'Powrót' albo zostawić jak jest.
Zmieniamy oczywiście komentarz by pasował do opcji na np. "Nie, rozmyśliłem się".

I tak dobrneliśmy do końca tutka. Dziękuję za uwagę, do zobaczenia ponownie :)
 

Jurigag

Jurigag

Użytkownicy
posty869
Propsy285
ProfesjaSkrypter
  • Użytkownicy
Wbrew pozrom przydatna sprawa, często łapałem się na tym że zamiast klikać zapisz grę wciskałem nowa gra....
 
Skrypter/Tester - Szukasz testera/skryptera - Pisz !

Codeman

Codeman

Użytkownicy
posty53
Propsy33
  • Użytkownicy
Właśnie to samo miałem na myśli gdy pisałem ten skrypt. Teraz spróbuje zrobić coś takiego dla Saves'a :)
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Bardzo kiepski pomysł z tym do zapisów ponieważ jest to denerwujące w każdym razie dla mnie.
Co do tutka to coś mi zawiało tym z cb ale nie będę sprawdzał czy to nie ten sam przepisany na nowo bo mi się nie chce :P
Nie jest to trudne i większość osób to znała ale mniej zaawansowanym skrypterom się przyda. Daje propsa za chęci :D .
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Codeman

Codeman

Użytkownicy
posty53
Propsy33
  • Użytkownicy
Na CB był tutek o menu ale to był tylko opis funkcji a nie było podane jak to zrobić. :)
 

GothicGameTV

GothicGameTV

Użytkownicy
posty22
  • Użytkownicy
Przydatne ale tylko jeżeli ktoś chce sobie przejść grę , jest już daleko i boi się że z pośpiechu zamiast zapisać to włączy nową grę a np zapisał 20 min temu ostatni raz albo cudem zabił akurat Smoka. Ale tak czy siak przydatne.
 

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
Codeman patrz co napisałem na końcu

Cytuj
To tak musimy zamienić w pliku menu_main (gothic 2 / _work / scripts / system /menu )

Cytuj
instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Nowa gra;
   text[1]      = Rozpocznij nową przygodę.;  // Kommentar
   
   // Positionen  und Dimensionen  
   posx      = 0;      posy      = MENU_MAIN_Y + MENU_MAIN_DY*0;
   dimx      =8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= NEW_GAME;
   // Weitere Eigenschaften
   flags         = flags | IT_TXT_CENTER;
};

Na to

Cytuj
instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Nowa gra;
   text[1]      = Rozpocznij nową przygodę.;  // Kommentar
   
   // Positionen  und Dimensionen  
   posx      = 0;      posy      = MENU_MAIN_Y + MENU_MAIN_DY*0;
   dimx      =8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= NEW_GAME_New;
   // Weitere Eigenschaften
   flags         = flags | IT_TXT_CENTER;
};

Drugą rzeczą jaką jest to otwarcie menu_misc i wklejenie na spodzie to

Cytuj
// *********************************************************************
// start game new
// *********************************************************************
INSTANCE NEW_GAME_NEW(C_MENU_DEF)
{
   backpic      = MENU_BACK_PIC;
   
   items[0]   = MENUITEM_START_GAME_NEW_HEADLINE;  
   
   items[1]   = MENUITEM_NEW_GAME_YES;
   items[2]   = MENUITEM_NEW_GAME_NO;  
     
   defaultOutGame   = 2;   // NEWGAME
   defaultInGame   = 2;   // SAVEGAME
   
   flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_START_GAME_New_HEADLINE(C_MENU_ITEM_DEF)
{
   text[0]      = Czy chcesz na pewno zacząć nową grę?;        
   type      = MENU_ITEM_TEXT;
   // Position und Dimension  
   posx      =    0;      posy      = 3400;
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      =   IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;      
};


INSTANCE MENUITEM_NEW_GAME_YES(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Tak;
   text[1]      = Tak, chce zacząć nową grę.; // Kommentar
   
   // Position und Dimension  
   posx      =    0;      posy      = 4400;  
   dimx      = 8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= NEW_GAME;
   // Weitere Eigenschaften
   flags         = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_NEW_GAME_NO(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Nie;
   text[1]      = Nie, nie chcę zacząć nowej gry; // Kommentar
   
   // Position und Dimension  
   posx      =    0;      posy      = 5000;  
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};


I gotowe teraz jak klikamy enter na new game to mamy wybór tak lub nie
Pamiętajcie to nie tutek.
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Gamer to ja nazwałem to tutkiem ale ja tego nawet dokładnie nie czytałem tylko przeleciałem na szybko Zeno3939 mówił mi co to jest i nazwał to tutkiem i ja to tak zapamiętałem.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Codeman

Codeman

Użytkownicy
posty53
Propsy33
  • Użytkownicy
Gamer, sorry nie zauważyłem ale żeby nie było nie potrzebnej krytyki pisałem to sam bez pomocy i sam ogarniałem te funkcje menu.
 

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Codeman patrz co napisałem na końcu

Cytuj
To tak musimy zamienić w pliku menu_main (gothic 2 / _work / scripts / system /menu )

Cytuj
instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Nowa gra;
   text[1]      = Rozpocznij nową przygodę.;  // Kommentar
   
   // Positionen  und Dimensionen  
   posx      = 0;      posy      = MENU_MAIN_Y + MENU_MAIN_DY*0;
   dimx      =8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= NEW_GAME;
   // Weitere Eigenschaften
   flags         = flags | IT_TXT_CENTER;
};

Na to

Cytuj
instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Nowa gra;
   text[1]      = Rozpocznij nową przygodę.;  // Kommentar
   
   // Positionen  und Dimensionen  
   posx      = 0;      posy      = MENU_MAIN_Y + MENU_MAIN_DY*0;
   dimx      =8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= NEW_GAME_New;
   // Weitere Eigenschaften
   flags         = flags | IT_TXT_CENTER;
};

Drugą rzeczą jaką jest to otwarcie menu_misc i wklejenie na spodzie to

Cytuj
// *********************************************************************
// start game new
// *********************************************************************
INSTANCE NEW_GAME_NEW(C_MENU_DEF)
{
   backpic      = MENU_BACK_PIC;
   
   items[0]   = MENUITEM_START_GAME_NEW_HEADLINE;  
   
   items[1]   = MENUITEM_NEW_GAME_YES;
   items[2]   = MENUITEM_NEW_GAME_NO;  
     
   defaultOutGame   = 2;   // NEWGAME
   defaultInGame   = 2;   // SAVEGAME
   
   flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_START_GAME_New_HEADLINE(C_MENU_ITEM_DEF)
{
   text[0]      = Czy chcesz na pewno zacząć nową grę?;        
   type      = MENU_ITEM_TEXT;
   // Position und Dimension  
   posx      =    0;      posy      = 3400;
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      =   IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;      
};


INSTANCE MENUITEM_NEW_GAME_YES(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Tak;
   text[1]      = Tak, chce zacząć nową grę.; // Kommentar
   
   // Position und Dimension  
   posx      =    0;      posy      = 4400;  
   dimx      = 8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= NEW_GAME;
   // Weitere Eigenschaften
   flags         = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_NEW_GAME_NO(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = Nie;
   text[1]      = Nie, nie chcę zacząć nowej gry; // Kommentar
   
   // Position und Dimension  
   posx      =    0;      posy      = 5000;  
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};


I gotowe teraz jak klikamy enter na new game to mamy wybór tak lub nie
Pamiętajcie to nie tutek.
zrobiłem jak napisałes do g1 i wywala menu-selection-not know new_game_new
 

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
Hmm w sumie nie dziwie się, błąd nowicjusza popełniłem, ale mi to działało wtedy :)
Specjalnie dla Ciebie napisałem to po latach nie obecności i nie styczności z moddingiem w 5 minut :) Gotowiec do G1
Najpierw edytujesz menu_main.d zmieniasz część podobnego kodu na ten
Spoiler
//
// NEW GAME
//
instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Nowa gra";
   text[1]      = "Rozpocznij nową przygodę.";  // Kommentar
   // Positionen  und Dimensionen   
   posx      = 0;      posy      = MENU_MAIN_Y + MENU_MAIN_DY*0;
   dimx      = 8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_STARTMENU;
   onSelAction_S[0]= "MENU_NEW_GAME";
   // Weitere Eigenschaften
   flags         = flags | IT_TXT_CENTER;
};
//
Druga rzecz do zrobienia to wklejenie to albo na samym początku pliku Menu_misc.d albo na końcu wybór należy do Ciebie
Spoiler
// *********************************************************************
// Play new game or not
// *********************************************************************

INSTANCE MENU_NEW_GAME(C_MENU_DEF)
{
   backpic      = MENU_BACK_PIC;
   
   items[0]   = "MENUITEM_QUESTION_GAME_HEADLINE";   
   
   items[1]   = "MENUITEM_QUESTION_GAME_YES";
   items[2]   = "MENUITEM_QUESTION_GAME_NO";   
      
   defaultOutGame   = 2;   // NEWGAME
   defaultInGame   = 2;   // SAVEGAME
   
   flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_QUESTION_GAME_HEADLINE(C_MENU_ITEM_DEF)
{
   text[0]      = "Rozpocząć nową grę?";         
   type      = MENU_ITEM_TEXT;
   // Position und Dimension   
   posx      =    0;      posy      = 3400;
   dimx      = 8100;      dimy      =  500;
   // Weitere Eigenschaften
   flags      =   IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;      
};


INSTANCE MENUITEM_QUESTION_GAME_YES(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Tak";
   text[1]      = "Tak, chcę rozpocząć nową grę."; // Kommentar
   
   // Position und Dimension   
   posx      =    0;      posy      = 4400;   
   dimx      = 8100;      dimy      =  500;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= "NEW_GAME";
   // Weitere Eigenschaften
   flags         = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_QUESTION_GAME_NO(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Nie";
   text[1]      = "Nie, trafiłem tu przez przypadek"; // Kommentar
   
   // Position und Dimension   
   posx      =    0;      posy      = 5000;   
   dimx      = 8100;      dimy      =  500;
   // Weitere Eigenschaften
   flags      = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};
Trzeci i ostatni krok to skompilowanie skryptów player kitem :) Od teraz nie naciśniesz przez przypadek nowej gry i nie stracisz obecnego stanu gry.
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

Loop

Loop

Użytkownicy
posty859
Propsy173
ProfesjaNierób
  • Użytkownicy

Jak jednak przeczyta to po czterech latach i do dzisiaj żył w niepewności to oddaje honor :F
 

Draquer

Draquer

Użytkownicy
Problematyk :F
posty360
Propsy23
ProfesjaNierób
  • Użytkownicy
  • Problematyk :F
Wywala mi błąd w G2NK
 C: oGameManager.cpp(CGameManager::Menu()
):Menu Selection not know :MENU_PLAY_SELECT
EDIT: Wkleiłem skrypt Codemana, ale dalej mnie zastanawia co mogłem napisać źle...
 
Spoiler
#include<iostream>
using namespace std;

int main()
{
      cout << "Hello theModders" <<endl;
      return 0;
}

Vesemir

Vesemir

Użytkownicy
posty44
Propsy3
ProfesjaGracz
  • Użytkownicy
Wywala mi błąd w G2NK
 C: oGameManager.cpp(CGameManager::Menu()
):Menu Selection not know :MENU_PLAY_SELECT
EDIT: Wkleiłem skrypt Codemana, ale dalej mnie zastanawia co mogłem napisać źle...


Mi również w G2NK po edytowaniu plików i zreprasowaniu skryptów Gothic Starterem wyskakuje ten sam błąd, czy ktoś wie czemu ???
 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Cytuj
Więc może tak. Zmieniamy wszystko gdzie pisze 'LEAVE_GAME' na 'PLAY_SELECT'
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Vesemir

Vesemir

Użytkownicy
posty44
Propsy3
ProfesjaGracz
  • Użytkownicy
To już na samym począdku pozamieniałem. Pomimo to jest błąd.
Tak wyglądają moje pliki Menu_Main.d i Menu_Misc.d

Menu_Main.d

Spoiler
// *********************************************************************
// main menu (startup)
// *********************************************************************

INSTANCE MENU_MAIN(C_MENU_DEF)
{
backpic = MENU_BACK_PIC;
musictheme = "SYS_Menu";

items[0] = "MENUITEM_MAIN_HEADLINE";
items[1] = "MENUITEM_MAIN_HEADLINE2";
items[2] = "MENUITEM_MAIN_NEWGAME";
items[3] = "MENUITEM_MAIN_SAVEGAME_LOAD";
items[4] = "MENUITEM_MAIN_SAVEGAME_SAVE";
items[5] = "MENUITEM_MAIN_RESUME";
items[6] = "MENUITEM_MAIN_OPTIONS";
items[7] = "MENUITEM_MAIN_INTRO";
items[8] = "MENUITEM_MAIN_CREDITS";
items[9] = "MENUITEM_MAIN_EXIT";

defaultOutGame = 2; // NEWGAME
defaultInGame = 4; // SAVEGAME

flags = flags | MENU_SHOW_INFO;
};


const int MENU_MAIN_DY = 550;
const int MENU_MAIN_Y = 2500;

//
// NEW GAME
//

instance MENUITEM_MAIN_NEWGAME(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nowa gra";
text[1] = "Rozpocznij nową przygodę.";  // Kommentar

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*0;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "NEW_GAME_NEW";
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};


//
// LOAD & SAVE GAME
//


INSTANCE MENUITEM_MAIN_SAVEGAME_LOAD(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Wczytaj";
text[1] = "Wczytaj zapisaną grę.";  // Kommentar

// Positionen  und Dimensionen
posx =  0; posy = MENU_MAIN_Y + MENU_MAIN_DY*1;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction_S[0]= "MENU_SAVEGAME_LOAD";
onSelAction[0] = SEL_ACTION_STARTMENU;
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};

instance MENUITEM_MAIN_SAVEGAME_SAVE(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Zapisz";
text[1] = "Zapisz bieżącą grę.";  // Kommentar

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*2;
dimx =  8100; dimy = 750;
// Aktionen
onSelAction_S[0]= "MENU_SAVEGAME_SAVE";
onSelAction[0] = SEL_ACTION_STARTMENU;
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER | IT_ONLY_IN_GAME;
};


//
// RESUME
//


INSTANCE MENUITEM_MAIN_RESUME(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Dalej";
text[1] =   "Powrót do gry.";  // Kommentar

// Position und Dimension
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*3;
dimx = 8192; dimy = 750;
// Aktionen
onSelAction[0] = SEL_ACTION_BACK;
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER | IT_ONLY_IN_GAME;
};


//
// OPTIONS, INTRO & CREDITS
//

instance MENUITEM_MAIN_OPTIONS(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Ustawienia";
text[1] = "Ustawienia dźwięku, grafiki i klawiatury.";  // Kommentar

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*4;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_STARTMENU;
onSelAction_S[0]= "MENU_OPTIONS";
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};


instance MENUITEM_MAIN_INTRO(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Wprowadzenie";
text[1] = "Odtwórz sekwencję wprowadzającą.";
// Positionen  und Dimensione
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*5;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_UNDEF;
onEventAction[EVENT_EXECUTE] = ShowIntro;
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};

INSTANCE MENUITEM_MAIN_CREDITS(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Autorzy";
text[1] = "Wyświetl autorów gry.";  // Kommentar

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*6;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_UNDEF;
onEventAction[EVENT_EXECUTE] = ShowCredits;
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};

//
// EXIT
//


INSTANCE MENUITEM_MAIN_EXIT(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Wyjście";
text[1] = "Powrót do odchłani systemu Windows.";  // Kommentar

// Positionen  und Dimensionen
posx = 0; posy = MENU_MAIN_Y + MENU_MAIN_DY*7;
dimx = 8100; dimy =  750;
// Aktionen
onSelAction[0] = SEL_ACTION_STARTMENU;
onSelAction_S[0]= "MENU_LEAVE_GAME";
// Weitere Eigenschaften
flags = flags | IT_TXT_CENTER;
};



//
// Statische Items
//

INSTANCE MENUITEM_MAIN_HEADLINE2(C_MENU_ITEM_DEF)
{
backPic = "menu_gothic.tga";
// Positionen  und Dimensionen
posx =  250; posy =  500;
dimx = 7900; dimy = 2300;
// Weitere Eigenschaften
alphaMode = "BLEND";
alpha = 255;
flags = flags | IT_TXT_CENTER;
flags = flags & ~IT_SELECTABLE;
};

INSTANCE MENUITEM_MAIN_HEADLINE(C_MENU_ITEM_DEF)
{
backPic = "menu_gothicshadow.tga";
// Positionen  und Dimensionen
posx =  250; posy =  500;
dimx = 7900; dimy = 2300;
// Weitere Eigenschaften
alphaMode = "BLEND";
alpha = 220;
flags = flags | IT_TXT_CENTER;
flags = flags & ~IT_SELECTABLE;
};


func int ShowIntro()
{
PlayVideo("intro.bik");
return 1;
};

func int ShowCredits()
{
PlayVideo("credits.bik");
return 1;
};


Menu_Misc.d

Spoiler
// **********************************************************************
// New Game Menu
//***********************************************************************


// *********************************************************************
// start game new
// *********************************************************************
INSTANCE NEW_GAME_NEW(C_MENU_DEF)
{
   backpic      = MENU_BACK_PIC;
   
   items[0]   = "MENUITEM_START_GAME_NEW_HEADLINE"; 
   
   items[1]   = "MENUITEM_NEW_GAME_YES";
   items[2]   = "MENUITEM_NEW_GAME_NO"; 
     
   defaultOutGame   = 2;   // NEWGAME
   defaultInGame   = 2;   // SAVEGAME
   
   flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_START_GAME_NEW_HEADLINE(C_MENU_ITEM_DEF)
{
   text[0]      = "Czy chcesz na pewno zacząć nową grę?";       
   type      = MENU_ITEM_TEXT;
   // Position und Dimension 
   posx      =    0;      posy      = 3400;
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      =   IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;     
};


INSTANCE MENUITEM_NEW_GAME_YES(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Tak";
   text[1]      = "Tak, chce zacząć nową grę."; // Kommentar
   
   // Position und Dimension 
   posx      =    0;      posy      = 4400; 
   dimx      = 8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= "NEW_GAME";
   // Weitere Eigenschaften
   flags         = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_NEW_GAME_NO(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Nie";
   text[1]      = "Nie, nie chcę zacząć nowej gry."; // Kommentar
   
   // Position und Dimension 
   posx      =    0;      posy      = 5000; 
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};


// *********************************************************************
// leave game menu
// *********************************************************************

INSTANCE MENU_LEAVE_GAME(C_MENU_DEF)
{
backpic = MENU_BACK_PIC;

items[0] = "MENUITEM_LEAVE_GAME_HEADLINE";

items[1] = "MENUITEM_LEAVE_GAME_YES";
items[2] = "MENUITEM_LEAVE_GAME_NO";

defaultOutGame = 2; // NEWGAME
defaultInGame = 2; // SAVEGAME

flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_LEAVE_GAME_HEADLINE(C_MENU_ITEM_DEF)
{
text[0] = "Wyjść z gry?";   
type = MENU_ITEM_TEXT;
// Position und Dimension
posx =    0; posy = 3400;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;
};


INSTANCE MENUITEM_LEAVE_GAME_YES(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Tak";
text[1] = "Tak, chcę zakończyć grę."; // Kommentar

// Position und Dimension
posx =    0; posy = 4400;
dimx = 8100; dimy =  500;
// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "LEAVE_GAME";
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_LEAVE_GAME_NO(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nie";
text[1] = "Nie, chcę grać dalej."; // Kommentar

// Position und Dimension
posx =    0; posy = 5000;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};





 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Możliwe, że mam zwidy, ale nadal widzę wiele LEAVE_GAME, a nie PLAY_SELECT.

Menu_Misc.d

Spoiler
// **********************************************************************
// New Game Menu
//***********************************************************************


// *********************************************************************
// start game new
// *********************************************************************
INSTANCE NEW_GAME_NEW(C_MENU_DEF)
{
   backpic      = MENU_BACK_PIC;
   
   items[0]   = "MENUITEM_START_GAME_NEW_HEADLINE"; 
   
   items[1]   = "MENUITEM_NEW_GAME_YES";
   items[2]   = "MENUITEM_NEW_GAME_NO"; 
     
   defaultOutGame   = 2;   // NEWGAME
   defaultInGame   = 2;   // SAVEGAME
   
   flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_START_GAME_NEW_HEADLINE(C_MENU_ITEM_DEF)
{
   text[0]      = "Czy chcesz na pewno zacząć nową grę?";       
   type      = MENU_ITEM_TEXT;
   // Position und Dimension 
   posx      =    0;      posy      = 3400;
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      =   IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;     
};


INSTANCE MENUITEM_NEW_GAME_YES(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Tak";
   text[1]      = "Tak, chce zacząć nową grę."; // Kommentar
   
   // Position und Dimension 
   posx      =    0;      posy      = 4400; 
   dimx      = 8100;      dimy      =  750;
   // Aktionen
   onSelAction[0]   = SEL_ACTION_CLOSE;
   onSelAction_S[0]= "NEW_GAME";
   // Weitere Eigenschaften
   flags         = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_NEW_GAME_NO(C_MENU_ITEM_DEF)
{
   backpic      = MENU_ITEM_BACK_PIC;
   text[0]      = "Nie";
   text[1]      = "Nie, nie chcę zacząć nowej gry."; // Kommentar
   
   // Position und Dimension 
   posx      =    0;      posy      = 5000; 
   dimx      = 8100;      dimy      =  750;
   // Weitere Eigenschaften
   flags      = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};


// *********************************************************************
// leave game menu
// *********************************************************************

INSTANCE MENU_LEAVE_GAME(C_MENU_DEF)
{
backpic = MENU_BACK_PIC;

items[0] = "MENUITEM_LEAVE_GAME_HEADLINE";

items[1] = "MENUITEM_LEAVE_GAME_YES";
items[2] = "MENUITEM_LEAVE_GAME_NO";

defaultOutGame = 2; // NEWGAME
defaultInGame = 2; // SAVEGAME

flags = flags | MENU_SHOW_INFO;
};

INSTANCE MENUITEM_LEAVE_GAME_HEADLINE(C_MENU_ITEM_DEF)
{
text[0] = "Wyjść z gry?";   
type = MENU_ITEM_TEXT;
// Position und Dimension
posx =    0; posy = 3400;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_TXT_CENTER;
};


INSTANCE MENUITEM_LEAVE_GAME_YES(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Tak";
text[1] = "Tak, chcę zakończyć grę."; // Kommentar

// Position und Dimension
posx =    0; posy = 4400;
dimx = 8100; dimy =  500;
// Aktionen
onSelAction[0] = SEL_ACTION_CLOSE;
onSelAction_S[0]= "LEAVE_GAME";
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};

INSTANCE MENUITEM_LEAVE_GAME_NO(C_MENU_ITEM_DEF)
{
backpic = MENU_ITEM_BACK_PIC;
text[0] = "Nie";
text[1] = "Nie, chcę grać dalej."; // Kommentar

// Position und Dimension
posx =    0; posy = 5000;
dimx = 8100; dimy =  500;
// Weitere Eigenschaften
flags = IT_CHROMAKEYED|IT_TRANSPARENT|IT_MOVEABLE|IT_SELECTABLE|IT_TXT_CENTER;
};




 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Vesemir

Vesemir

Użytkownicy
posty44
Propsy3
ProfesjaGracz
  • Użytkownicy
No tak ale LEAVE_GAME jest w cześci funkcji odpowiedzialnych za wychodzenie z gry a nie za nową grę tak ma być.
Poza tym znalazłem już błąd i działa.
W pliku Menu_Main.d miałem linijkę
onSelAction[0]   = SEL_ACTION_CLOSE;
zamiast
onSelAction[0]   ='SEL_ACTION_STARTMENU;'
W efekcie nie odnosiłem się do funkcji wyboru i to powodowało błąd.
Teraz to zamieniłem i już wszystko działa poprawnie :)
 


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