Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - muttley

Strony: [1] 2
1
Gry / Battlefield 3
« dnia: 2012-06-25, 17:52 »

2
Gry / F1 2010
« dnia: 2011-08-23, 17:26 »
Witam,

jest ktoś z Was chętny do gry w F1 2010 na Multi (jedyne czego potrzeba to F1 2010 [nie ważne skąd zdobędziecie tą grę])?
Jak się nie bedziecie chcieli ścigać to zawsze można zrobić Destruction Derby na torze :lol:  

Czekam na odpowiedzi (pewnie zaraz dostanę warna za obrażanie jedynej słusznej gry [przecież zamiast modować będziemy grać, co za świętokradztwo])

Pozdrawiam,
muttley

3
Pozostałe / Kiedy nie tworzyć paczki
« dnia: 2011-04-17, 21:51 »
Witam,

ostatnio na forum widzę w cholerę ekspertów twierdzących, że do zobaczenia zmian w modzie potrzebna jest paczka.
Niema jak to marnotrawienie czasu na tworzenie paczki, dlatego wyjaśnię tu jak zrobić, aby zmiany były widoczne bez użycia paczek.

Na początku zacznijmy od instalacji MDK (zależnie od Gothica).
W G2MDK mamy przydatne opcje:

Zaznaczając wszystko mamy pewność, że każda zmiana wprowadzona w plikach będzie w grze (nie tyczy się to skryptów, animacji, meshy oraz tekstur)
Opcje:
  • DE: Skripte - PL: Skrypty
  • DE: Welten - PL: Światy/Poziomy/Lokacje
  • DE: Meshes - PL: Meshe (bronie, beczki itd.)
  • DE: Texturen PL: Tekstury
  • DE: Animationen - PL: Animacje
  • DE: Sound-Effekte - PL: Efekty dźwiękowe (ćwierkanie ptaszków, kroki, uderzenia młotem o kowadło itd.)
  • DE: Sprachusgabe - PL: Dialogi

W G1 musimy wszystko to rozpakować z plików .vdf [nie licząc skryptów]
Po wypakowaniu zmieniamy rozszerzenia plików .vdf na .vdf.disabled (tylko G1 - w G2 MDK zrobi wszystko za nas)

Jak wprowadzać zmiany do gry?
O ile zmieniając poszczególne rzeczy w plikach .zen od razu będziemy mieli efekty, to o tyle w pewnych przypadkach trzeba wykonać dodatkowe kroki.
  • Skrypty - tu musimy je zreparsować [zapraszam do poradnika: http://themodders.org/index.php?/topic/106-skryptykompilowanie-skryptow/ ]
  • Meshe - tu musimy usunąć skompilowany mesh z folderu _compiled (w folderze Meshes). Nazwa mesha jest taka sama z wyjątkiem rozszerzenia, więc znajdujemy plik z tą samą nazwą i go usuwamy.
  • Textury - tak jak meshe, tylko inne foldery ;)
  • Animacje - jak wyżej

Jeśli chodzi o dźwięki to wystarczy tylko je podmienić, nie trzeba wykonywać dodatkowych kroków.
Teraz macie pewnie problem: jak mam wiedzieć jakie pliki dołączyć do paczki przy publikowaniu modyfikacji.
Proste rozwiązanie - ściągamy jakiś cywilizowany menedżer plików (np. Total Commander) i ustawiamy wszystkim plikom datę ostatniego użycia na np. 2002 rok, a potem przy pakowaniu wiemy co było modyfikowane, a w efekcie użyte w modyfikacji.

4
Spacer / Znikające poligony
« dnia: 2010-01-31, 11:32 »
Siema,

mam dziwny problem - mianowicie robię świat w Maxie 2010 (do spacka eksportuję używając Kerraxa [z 6 stycznia]).

W Maxie mam normalnie górkę, żadnych błędów:



A w Spacerze jakieś dziury ...



Dodam, że to nie jest źle nałożony materiał, bo gdy wejdę w ów przestrzeń spadam w dół (skompilowałem świat do ZENa i dałem startpoint).

Czy może jest to wina wielkości świata (sama górka ma wymiary 2 miast portowych Khorinis)?

Pozdrawiam
Muttley

P.S. Takich błędów mam około 3-4 na cały świat. Raczej to nie jest wina Kerraxa, bo jak wyeksportowałem Kerraxem, a potem zaimportowałem Kerraxem też było dobrze.

5
Gry / Gothic vs TES
« dnia: 2009-12-23, 02:05 »
Zapowiadali gigantyczny świat, wielkością przypominający te z TES oraz multum questów. Niestety, skończyło się to na odizolowanej Górniczej Dolinie, otoczonej magiczną barierą.

Nie mów nam o TES. Ogromny świat, na którym nic nie ma i npc, bez dubbingu czymkolwiek, może być syntetyzator Microsoft Sam. Grając w TES#msgote author=Caesum link=topic=8358.msg74654#msg74654 date=1261530302]Zapowiadali gigantyczny świat, wielkością przypominający te z TES oraz multum questów. Niestety, skończyło się to na odizolowanej Górniczej Dolinie, otoczonej magiczną barierą.[/quote]

Nie mów nam o TES. Ogromny świat, na którym nic nie ma i npc, bez dubbingu czymkolwiek, może być syntetyzator Microsoft Sam. Grając w TESa miałem wrażenie, że zszedłem z tego świata. W dodatku każdą kwestię można było 300x obgadać z npc.

6
Witam,

mam problem z Kerraxem - ładuję surface.3ds (mały obszar) i wyskakuje error "something bad has happened in the application". Mam 3ds Maxa 2010, mogę mieć każdą inną wersje, jeśli na niej działa to normalnie. Próbowałem też ładować Surface.zen, tu wczytało się ładnie, ale po załadowaniu wyskoczył błąd "An error has occured, application has to be closed". Jak to naprawić ??

Muttley

7
Gry / Grand Prix 2 (1994)
« dnia: 2009-08-26, 14:57 »
Siemka,

znalazłem tą cudowną grę na jednej z starych płyt no i od razu wziąłem się za wyścig.
Niestety gra chodzi jak tornado, dlatego mam pytanie jak ją spowolnić nie używając jakichś CPU Grabberów zajmujących proca (przez to komp się mocno grzeje).

Pozdrawiam
Muttley

8
Spacer / Rozciągnięte tekstury
« dnia: 2009-08-25, 15:46 »
Siemka,

mam problem - ustawiłem rozciągnięcie materiału na 45,0. O ile widać to w Maxie, tak ciągle nie ma tego w spacerze.

Tak nie ma być a jest:


Tak ma być a nie jest



Jak to naprawić?

9
Pytania i problemy / Problem z przenoszeniem
« dnia: 2009-08-15, 00:48 »
Witam,

mam głupi problem - coś mi się przestawiło w opcji przenoszenia - nie mogę normalnie przenosić wybierając na której osi mam to zmieniać, tylko mam jakiś dziwny błąd

O, coś takiego:



Próbowałem restartować Maxa, ale to nic nie dało

Pozdrawiam
Muttley

10
Pytania i problemy / Znikające materiały
« dnia: 2009-08-12, 00:55 »
Witam,

mam mały problem w Maxie - przerobiłem nieco pewnego mesha z WOG'a - troszkę lepsze tekstury nałożyłem i mam problem - po odznaczeniu tekstury znikają tzn. nie są widoczne w oknie Perspective - niby pierdoła, bo to potem będzie działać, lecz troszkę mi to przeszkadza.




11
Witam,

używam Kerrax ASCII\3DS Importer\Exporter do 3DS Max 2010 i mam problem z tym pluginem.

Gdy eksportuję domek (dla przykładu) używając Kerraxa wyłazi takie coś (dla porównania dałem startpoint)
Domek był spłaszczany, Kerraxa to nie obchodzi widać ;)



A tu używając normalnego eksportera 3ds, który gubi mi textury, przez co nie mogę go używać.



W Maxie 6 miałem to samo.

12
Zaginione modyfikacje / [G1] Bariera mod
« dnia: 2009-07-29, 18:12 »
Witam,

tu mały mini-mod - zmienia kolor bariery taki jak na screenie



Tekstura z WoG'a (żeby nie było, że plagiat i komuś ukradłem :D )

Download


13
MDS i animacje / ASC Orków
« dnia: 2009-07-27, 21:16 »
Witam,

dodałem do mojego moda Tarroka z G1, nieco go przerobiłem - dałem mu body Orka z G1 i gra wyłącza się z komunikatem "ASC not found ORC_Body.ASC", próbowałem skopiować skompilowane animacje z G1 (o tych nazwach), lecz to nie pomogło.
Jak zdekompilować te animacje aby mieć te ASC (mam pliki MDM [od ciała] i MMB [od głowy])?

Muttley

14
Witam,

ten tutorial opisuje jak przerobić teksturę twarzy, aby np. ktoś był blondynem i wyglądał tak



Co potrzeba:
- Zainstalowane MDK (zależnie od Gothica G1 lub G2).
- Wypakowane i zdekompilowane wszystkie tekstury twarzy (format .tga) (najprościej zrobić to instalując G2MDK lub wypakowując GothicVDFS'em a potem dekompilując (w przypadku G1)).
- GIMP + GTK 2.0 (w paczce) Download
- GoMan Download
- Notepad++ (może być notatnik, ale poradnik przystosowany pod Notepada++) Download
- Troszkę oleju w głowie

Zacznijmy więc.

1. Instalujemy programy po kolei (nie, nie instaluj oleju do głowy :D ).
2. Uruchamiamy GIMPa, pokazują nam się 2 okienka. Wybieramy Plik a potem otwórz, szukamy naszego pliku .tga z twarzą.

Wybierzmy plik Hum_Head_V102_C0.tga (u mnie znajduje się w katalogu D:\Gry\Gothic II Mod\Gra Gothic II [główny katalog Gothica II]\_Work\Data\Textures\NPCs\Head)
3. Widzimy mniej więcej coś takiego.

4. Ustawiamy narzędzia (okno GIMP) tak jak na screenie (do obrazka 3).
5. Teraz zaczynamy prowadzić linie po włosach. Uważamy aby nie wyjechać na skórę.

6. Przy brwiach prowadzimy linie bardzo delikatnie.
7. Powinno to wyglądać mniej więcej tak:

8. Klikamy Plik>Zapisz Jako (w oknie obrazka) i zapisujemy go jak Hum_Head_Vxxx_C0.tga (xxx zastępujemy dowolną liczbą, domyślnie mamy 162 twarze, więc jeśli nie tworzyłeś nowych to wpisz 163 (czasami robi błędy jak np. dałem 3100 to mi pokazało Zombie Wrzoda :D )).
9. Teraz czas na GoMana, uruchamiamy. Widzimy takie coś.

10. Wybieramy .tga i szukamy naszego pliku, po czym go otwieramy.

11. Klikamy ikonkę zapisywania.

12. Wchodzimy do folderu _Work\Data\Textures\_compiled i zmieniamy nazwę naszej teksturki - dodajemy jej na końcu nazwy -C (zamiast Hum_Head_V163_C0 mamy Hum_Head_V163_C0-C), wybieramy format .tex i klikamy Exportieren.

Punkt 13 i 15 tylko dla Gothic II
13. Otwieramy Notepadem++ plik AI_Constants.d (_Work\Data\Scripts\Content\AI\AI_Intern) i zjeżdżamy na sam doł i dodajemy takie coś:
const int Face_N_Blondas = 163;Oczywiście dla każdej nowej twarzy numerek wyżej no i inna nazwa wpisu np. Face_N_Blondas2.
Zapisujemy plik.
14. Teraz zrobimy nowego NPC - będzie on miał nową twarz.
Jest to przerobiony NPC Wasili (farma Onara)

Cytuj
instance MIL_999999_Blondas (Npc_Default)
{
   // ------ NSC ------
   name       = "Blondas";
   guild       = GIL_MIL;
   id          = 999999;
   voice       = 1;
   flags       = 0;                                                   //NPC_FLAG_IMMORTAL oder 0
   npctype      = NPCTYPE_MAIN;
   
   // ------ Attribute ------
   B_SetAttributesToChapter (self, 6);                                                   //setzt Attribute und LEVEL entsprechend dem angegebenen Kapitel (1-6)
      
   // ------ Kampf-Taktik ------
   fight_tactic      = FAI_HUMAN_COWARD;   // MASTER / STRONG / COWARD
   
   // ------ Equippte Waffen ------                                                   //Munition wird automatisch generiert, darf aber angegeben werden
   EquipItem         (self, ItMw_1h_Bau_Axe);
   
   // ------ Inventory ------
   B_CreateAmbientInv    (self);

      
   // ------ visuals ------                                                         //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wird
   B_SetNpcVisual       (self, MALE, "Hum_Head_Bald", Face_N_Blondas, BodyTex_N, ITAR_Mil_L);      
   Mdl_SetModelFatness   (self, 2);
   Mdl_ApplyOverlayMds   (self, "Humans_Relaxed.mds"); // Tired / Militia / Mage / Arrogance / Relaxed

   // ------ NSC-relevante Talente vergeben ------
   B_GiveNpcTalents (self);
   
   // ------ Kampf-Talente ------                                                      //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetzt
   B_SetFightSkills (self, 20); //Grenzen für Talent-Level liegen bei 30 und 60
   
   // ------ TA anmelden ------
   daily_routine       = Rtn_Start_999999;
};

FUNC VOID Rtn_Start_999999 ()
{   
   TA_Stand_Guarding      (08,00,22,00,"NW_BIGFARM_HOUSE_16");
    TA_Sit_Chair         (22,00,08,00,"NW_BIGFARM_HOUSE_16");
};

Pogrubiony element odpowiada za teksturę twarzy NPC'a.
W przypadku Gothic I pogrubiony element zastępujemy liczbą 163 oraz zmieniamy zbroję.

NPC'a zapisujemy w katalogu _Work\Data\Scripts\Content\NPC jako MIL_999999_Blondas.d

15. Teraz odpalamy GothicStarter_mod.exe z katalogu System.

16. Wybieramy "Nowa gra", uruchamiamy marvin mode (b marvin b), klikamy F2, wpisujemy insert mil_999999_blondasCieszymy się efektem.

Pewnie bardziej obeznani graficy 2D zaleją się śmiechem, gdy zobaczą tak niechlujny sposób edycji tekstury, jednak robiłem ten poradnik dla zielonych w tych sprawach [grafika] (czyli też dla mnie :D ).
Zresztą, gdy ktoś potrafi inaczej edytować, ale nie znał się na części ze skryptami również znajdzie tu coś dla siebie

15
Pytania i problemy / Mała prośba dotycząca mesha
« dnia: 2009-07-15, 00:51 »
Witam,

znalazłem fajnego mesha katedry, mam dla niego zastosowanie - wszystko z nim OK, ale przy wejściu autor wstawił czarną ścianę ...



Mój brak umiejętności w 3D nie pozwala mi tego się pozbyć - dlatego proszę, aby ktoś wyrzucił tą czarną ścianę z wejścia.

Link do mesha: http://www.worldofgothic.de/modifikation/m...&fileID=233

17
Łatki / Mini patch do Gothic 1
« dnia: 2009-07-07, 19:09 »
Witam,

zrobiłem mini łatkę do Gothic 1 - usuwa on błąd z wyłączaniem się Gothica podczas przebywania w Świątyni Śniącego.

Pewnie większość już to poprawiła, ale może przyda się nowym :D

Zainstalować w głównym katalogu G1.
Nie wymaga player kitów etc.

Waga: 114 KB :>

Download:

Gothic.phx.pl - ten link nigdy nie padnie - http://www.gothic.phx.pl/gothic/download.p...click&id=79
Rapidshare.com - http://rapidshare.com/files/253093473/minipatch.exe
Sendspace.com - http://www.sendspace.com/file/t0b7h3
Sendspace.pl - http://www.sendspace.pl/file/d1844307faf7ebfa090454c
Speedyshare.com - http://www.speedyshare.com/956716902.html

Jeśli któryś z linków padnie wtedy pisać mi na PW - zrehostuję.

Pozdrawiam
Muttley

18
Spacer / [Gothic I]Obracanie nietypowego voba
« dnia: 2009-07-03, 02:42 »
Elo, podczas "rozdrabniania" mudballa wpadłem na pomysł zorganizowania meczy piłki Wrzodowej :D , mam skrypt, wiem co i jak przerobić, tylko mam 1 problem - nie moge obrócić bramki, kliknięcie M i potem obracanie del,ins,end,pgup,pgdn,home nie działa - obracają się jakby te "3 kreski" ale bramka nie.



Pozdrawiam
Muttley

19
Pytania i problemy / [Gothic I] Problemy z piecem
« dnia: 2009-06-29, 21:37 »
Witam,

robię skrypt zaawansowanego kowalstwa - dodaje tam różne "czynniki modyfikujące" itd., mam już prosty skrypt ale mam problem - ustawiłem tak mój piecyk (ogień w kuźni chyba się to zwało).



Mam problem - po rozpoczęciu rozgrzewania stali nie pojawiają się opcje dialogowe (skrypty reparsowane wiele razy). Skrypt robiłem na podstawie kowalstwa z Gothic II

var int zwyklastal;
var int mieszanastal;
var int podgrzewanie;

//*******************************************************
// PiecWeapon Dialog abbrechen
//*******************************************************
INSTANCE PC_PiecWeapon_End (C_Info)
{
npc = PC_Hero;
nr = 999;
condition = PC_PiecWeapon_End_Condition;
information = PC_PiecWeapon_End_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC INT PC_PiecWeapon_End_Condition ()
{
return 1;
};

FUNC VOID PC_PiecWeapon_End_Info()
{
CreateInvItems (self, ItMiSwordRaw,1);
B_ENDPRODUCTIONDIALOG ();
mieszanastal = FALSE;
zwyklastal = FALSE;
};
//*******************************************************
INSTANCE PC_CommonPieczenie (C_INFO)
{
npc = PC_Hero;
condition = PC_CommonPieczenie_Condition;
information = PC_CommonPieczenie_Info;
permanent = TRUE;
description = "Rozgrzej stal";
};

FUNC INT PC_CommonPieczenie_Condition()
{
if (zwyklastal == FALSE)
&& (mieszanastal == FALSE)
{
return 1;
};
};

FUNC VOID PC_CommonPieczenie_Info ()
{
zwyklastal = TRUE;
};

//*******************************************************
INSTANCE PC_CommonPieczenieBACK (C_INFO)
{
npc = PC_Hero;
nr = 99;
condition = PC_CommonPieczenieBACK_Condition;
information = PC_CommonPieczenieBACK_Info;
permanent = TRUE;
description = DIALOG_BACK;
};
FUNC INT PC_CommonPieczenieBACK_Condition()
{
if (zwyklastal == TRUE)
&& (mieszanastal == FALSE)
{
return 1;
};
};

FUNC VOID PC_CommonPieczenieBACK_Info ()
{
zwyklastal = FALSE;
};

//*******************************************************
INSTANCE PC_Podgrzej_Stal (C_INFO)
{
npc = PC_Hero;
condition = PC_Podgrzej_Stal_Condition;
information = PC_Podgrzej_Stal_Info;
permanent = TRUE;
description = "Rozgrzej stal";
};

FUNC INT PC_Podgrzej_Stal_Condition()
{
if (podgrzewanie == TRUE)
&& (zwyklastal == TRUE)
{
return 1;
};
};

FUNC VOID PC_Podgrzej_Stal_Info ()
{
CreateInvItems (hero, ItMi_zwykla_stal_hot,  1);
Print ("Rozgrzałeś stal");

B_ENDPRODUCTIONDIALOG ();
zwyklastal = FALSE;
};

Tu skrypcik.

20
Skrypty / Zwiększanie maksymalnej siły
« dnia: 2009-06-20, 22:53 »
Witam,

mam pytanie jak zrobić aby uczący nas npc mógł nas uczyć np. do 300 ?

Skrypt npc'a:

Cytuj
// ********************************
//             EXIT
// ********************************

instance DIA_Ralix_EXIT (C_INFO)
{
   npc         = Non_3912_Ralix;
   nr         = 999;
   condition   = DIA_Ralix_EXIT_Condition;
   information   = DIA_Ralix_EXIT_Info;
   permanent   = 1;
   description = DIALOG_ENDE;
};                 

FUNC int DIA_Ralix_EXIT_Condition()
{
   return 1;
};

FUNC VOID  DIA_Ralix_EXIT_Info()
{
   AI_StopProcessInfos   (self);
};

// ********************************
//             First
// ********************************

instance DIA_Ralix_First (C_INFO)
{
   npc         = Non_3912_Ralix;
   nr         = 1;
   condition   = DIA_Ralix_First_Condition;
   information   = DIA_Ralix_First_Info;
   permanent   = 0;
   important    = 1;
};                 

FUNC int DIA_Ralix_First_Condition()
{
   if    ( Npc_KnowsInfo(hero,DIA_Nermal_Zadanie))
   {
      return 1;
   };
};

FUNC VOID  DIA_Ralix_First_Info()
{
   AI_Output (other, self,"DIA_Ralix_First_15_00"); //O co chodzi?
   AI_Output (self, other,"DIA_Ralix_First_04_00"); //Dobrze się spisałeś. To zadanie nie było proste.
   AI_Output (self, other,"DIA_Ralix_First_04_01"); //Myślę, że mogę zacząć Cię szkolić.
};

//////////////////////////
// Teacher
//////////////////////////
INSTANCE Info_Ralix_Teach(C_INFO)
{
   npc         = Non_3912_Ralix;
   nr         = 100;
   condition   = Info_Ralix_Teach_Condition;
   information   = Info_Ralix_Teach_Info;
   permanent   = 1;
   description = "Możesz mnie czegoś nauczyć?";
};                 

FUNC INT Info_Ralix_Teach_Condition()
{
   if ( Npc_KnowsInfo(hero,DIA_Ralix_First) )
   {
      return 1;
   };
};

FUNC VOID Info_Ralix_Teach_Info()
{   
   if   (log_Ralixtrain == FALSE)
   {   
      Log_CreateTopic (GE_TeacherOZ,LOG_NOTE);
      B_LogEntry      (GE_TeacherOZ,   "Ralix może mi pomóc w zwiększeniu mojej zwinności i siły.");
      log_Ralixtrain   = TRUE;
   };
   AI_Output(hero,self,"Info_Ralix_Teach_15_00"); //Możesz mnie czegoś nauczyć?
   AI_Output(self,hero,"Info_Ralix_Teach_11_01"); //Tak. Mogę ci pokazać, jak zwiększyć swoją siłę lub zręczność.
   
   Info_ClearChoices   (Info_Ralix_Teach);
   Info_AddChoice      (Info_Ralix_Teach,DIALOG_BACK                           ,Info_Ralix_Teach_BACK);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_5,5*LPCOST_ATTRIBUTE_STR
ENGTH,0)         ,Info_Ralix_Teach_STR_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUTE_STREN
GTH,0)         ,Info_Ralix_Teach_STR_1);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_5,5*LPCOST_ATTRIBUTE_DE
XTERITY,0),Info_Ralix_Teach_DEX_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBUTE_DEXT
ERITY,0),Info_Ralix_Teach_DEX_1);
   
   
};

func void Info_Ralix_Teach_BACK()
{
   Info_ClearChoices   (Info_Ralix_Teach);
};

func void Info_Ralix_Teach_STR_1()
{
   B_BuyAttributePoints (hero, ATR_STRENGTH, LPCOST_ATTRIBUTE_STRENGTH);
   Info_ClearChoices   (Info_Ralix_Teach);
   Info_AddChoice      (Info_Ralix_Teach,DIALOG_BACK                           ,Info_Ralix_Teach_BACK);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_5 ,5*LPCOST_ATTRIBUTE_STRENGTH,0)         ,Info_Ralix_Teach_STR_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUTE_STREN
GTH,0)         ,Info_Ralix_Teach_STR_1);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_5,5*LPCOST_ATTRIBUTE_DE
XTERITY,0),Info_Ralix_Teach_DEX_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBUTE_DEXT
ERITY,0),Info_Ralix_Teach_DEX_1);
};

func void Info_Ralix_Teach_STR_5()
{
   B_BuyAttributePoints (hero, ATR_STRENGTH, 5*LPCOST_ATTRIBUTE_STRENGTH);
   Info_ClearChoices   (Info_Ralix_Teach);
   Info_AddChoice      (Info_Ralix_Teach,DIALOG_BACK                           ,Info_Ralix_Teach_BACK);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_5,5*LPCOST_ATTRIBUTE_STR
ENGTH,0)         ,Info_Ralix_Teach_STR_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUTE_STREN
GTH,0)         ,Info_Ralix_Teach_STR_1);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_5,5*LPCOST_ATTRIBUTE_DE
XTERITY,0),Info_Ralix_Teach_DEX_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBUTE_DEXT
ERITY,0),Info_Ralix_Teach_DEX_1);
};

func void Info_Ralix_Teach_DEX_1()
{
   B_BuyAttributePoints (hero, ATR_DEXTERITY, LPCOST_ATTRIBUTE_DEXTERITY);
   Info_ClearChoices   (Info_Ralix_Teach);
   Info_AddChoice      (Info_Ralix_Teach,DIALOG_BACK                           ,Info_Ralix_Teach_BACK);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_5,5*LPCOST_ATTRIBUTE_STR
ENGTH,0)         ,Info_Ralix_Teach_STR_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUTE_STREN
GTH,0)         ,Info_Ralix_Teach_STR_1);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_5,5*LPCOST_ATTRIBUTE_DE
XTERITY,0),Info_Ralix_Teach_DEX_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBUTE_DEXT
ERITY,0),Info_Ralix_Teach_DEX_1);
};

func void Info_Ralix_Teach_DEX_5()
{
   B_BuyAttributePoints (hero, ATR_DEXTERITY, 5*LPCOST_ATTRIBUTE_DEXTERITY);
   Info_ClearChoices   (Info_Ralix_Teach);
   Info_AddChoice      (Info_Ralix_Teach,DIALOG_BACK                           ,Info_Ralix_Teach_BACK);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_5,5*LPCOST_ATTRIBUTE_STR
ENGTH,0)         ,Info_Ralix_Teach_STR_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUTE_STREN
GTH,0)         ,Info_Ralix_Teach_STR_1);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_5,5*LPCOST_ATTRIBUTE_DE
XTERITY,0),Info_Ralix_Teach_DEX_5);
   Info_AddChoice      (Info_Ralix_Teach,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBUTE_DEXT
ERITY,0),Info_Ralix_Teach_DEX_1);
};

Po części skopiowane z Diego (usunąłem te teksty "jesteś dużo silniejszy").

Poprawiłem wyświetlanie,
Adanos

Strony: [1] 2
Do góry