Monolog problemy 2267 7

O temacie

Autor Siemekk

Zaczęty 7.08.2015 roku

Wyświetleń 2267

Odpowiedzi 7

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1153
ProfesjaProgramista
  • Złote Wrota
Witam otóż chciałem zacząć pisać monologi. Znalazłem poradnik ale nie moge go za bardzo zrozumieć. Mógłby mi ktoś wyjaśnić co i jak ponieważ chce zrobić monolog do cięcia drewna i nie wiem jak ustalić aby monolog był do pniaka oraz co Bezi otrzyma po tym monologu a co straci.(Warunki potrafię zrobić, ale tego co otrzyma nie mogę zrozumieć.)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Draks

Draks

Użytkownicy
Gothic 2 Nowy porządek
posty1714
Propsy766
ProfesjaGrafik 3D
  • Użytkownicy
  • Gothic 2 Nowy porządek
Możesz też zobaczyć jak wygląda monolog kowalstwa i alchemii i na nim się wzorować, albo chociaż by, tworzenia run, bohater posiada wymagane składniki, zostają one usunięte, a bohater dostaje runę.
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1153
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Monolog problemy
#2 2015-08-08, 12:38(Ostatnia zmiana: 2015-08-08, 13:03)
To jest pierwszy monolog kowalstwa (1 miecz jednoręczny) i z mojej wiedzy wychodzi to:
INSTANCE PC_ItMw_1H_Common (C_INFO) // kod dialogu
{
   npc            = PC_Hero; //Działa na beziego
   condition      = PC_ItMw_1H_Common_Condition; // to jest kondycja która jest niżej
   information      = PC_ItMw_1H_Common_Info; //Informacje też niżej
   permanent      = TRUE; // Mozna powtarzać go w nieskończoność
};
FUNC INT PC_ItMw_1H_Common_Condition() // Warunki jakie musimy spełniać
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON) // Bezi musi umieć kowalstwo
   && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE)) //Musi umieć wykuć ten miecz czyli się nauczyć
   && (Normalwaffen == TRUE) // to nie wiem co jest więc jak ktoś może mi powiedzieć byłbym wdzięczny
   {   
      return TRUE; // Powrót (nie jestem pewny)
   };
};
FUNC VOID PC_ItMw_1H_Common_Info () //I informacje co dostajemy
{
   CreateInvItems        (hero, ItMw_1H_Common_01,  1); //Dostajemy mieczyk
   Print (PRINT_SmithSuccess);// Wyskakuje napis
   
   B_ENDPRODUCTIONDIALOG (); // Konczy dialog
   Normalwaffen = FALSE;// Nie wiem
};
I moje pytanie jak zrobić aby bezi stracił moje składniki a nie te co są ustawione .

Post połączony: 2015-08-08, 13:03
To jest pierwszy monolog kowalstwa (1 miecz jednoręczny) i z mojej wiedzy wychodzi to:
INSTANCE PC_ItMw_1H_Common (C_INFO) // kod dialogu
{
   npc            = PC_Hero; //Działa na beziego
   condition      = PC_ItMw_1H_Common_Condition; // to jest kondycja która jest niżej
   information      = PC_ItMw_1H_Common_Info; //Informacje też niżej
   permanent      = TRUE; // Mozna powtarzać go w nieskończoność
};
FUNC INT PC_ItMw_1H_Common_Condition() // Warunki jakie musimy spełniać
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON) // Bezi musi umieć kowalstwo
   && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE)) //Musi umieć wykuć ten miecz czyli się nauczyć
   && (Normalwaffen == TRUE) // to nie wiem co jest więc jak ktoś może mi powiedzieć byłbym wdzięczny
   {   
      return TRUE; // Powrót (nie jestem pewny)
   };
};
FUNC VOID PC_ItMw_1H_Common_Info () //I informacje co dostajemy
{
   CreateInvItems        (hero, ItMw_1H_Common_01,  1); //Dostajemy mieczyk
   Print (PRINT_SmithSuccess);// Wyskakuje napis
   
   B_ENDPRODUCTIONDIALOG (); // Konczy dialog
   Normalwaffen = FALSE;// Nie wiem
};
I moje pytanie jak zrobić aby bezi stracił moje składniki a nie te co są ustawione .
Nie potrzebnie tak rozpisałem ponieważ niżej jest co trzeba zrobić aby te itemy zniknęły ale teraz nie wiem jak przypisać ten monolog do pniaka oraz żeby piły nie tracić (to chyba spacer). Myśle że to ostatnie co trzeba mi do pomocy.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Lobos

Lobos

Użytkownicy
posty594
Propsy360
Profesjabrak
  • Użytkownicy
W spacerze przypisujesz w linijce onstateFunc nazwe monologu ciecia pniaka a żeby piły nietracić to muszisz dopisać odpowiednią linijke w skrypcie monologu. Zobacz jak to jest zrobione z rozgrzaną stalą w monologu kucia.
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1153
ProfesjaProgramista
  • Złote Wrota
Wiem tylko teraz mam problem.  Po pewnym czasie wróciłem i zrobiłem parę innych rzeczy i teraz przydały by się monologi więc napisałem monolog i gdy podchodzę do itema (zespacerowanie) to nie ma monologu lub jego monolog jest na kowadle... Ktoś wie co może być grane?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
bo tego nie dobrze porozumiałeś

INSTANCE PC_ItMw_1H_Common (C_INFO) // kod dialogu
{
   npc            = PC_Hero; //Działa na beziego
   condition      = PC_ItMw_1H_Common_Condition; // to jest kondycja która jest niżej
   information      = PC_ItMw_1H_Common_Info; //Informacje też niżej
   permanent      = TRUE; // Mozna powtarzać go w nieskończoność
};
FUNC INT PC_ItMw_1H_Common_Condition() // Warunki jakie musimy spełniać
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON) //
   && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE)) //
   && (Normalwaffen == TRUE) //
   {   
      return TRUE; // Powrót (nie jestem pewny)
   };
};
FUNC VOID PC_ItMw_1H_Common_Info () //I informacje co dostajemy
{
   CreateInvItems        (hero, ItMw_1H_Common_01,  1); //Dostajemy mieczyk
   Print (PRINT_SmithSuccess);// Wyskakuje napis
   
   B_ENDPRODUCTIONDIALOG (); // Konczy dialog
   Normalwaffen = FALSE;//
};

Zmienna PLAYER_MOBSI_PRODUCTION   oznacza ktory mob jest uzywany.
  if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
const int MOBSI_NONE = 0;
const int MOBSI_SmithWeapon = 1;
const int MOBSI_SleepAbit = 2;
const int MOBSI_MakeRune = 3;
const int MOBSI_PotionAlchemy = 4;
const int MOBSI_PRAYSHRINE = 5;
const int MOBSI_GOLDHACKEN = 6;
const int MOBSI_PRAYIDOL = 7;

var int PLAYER_MOBSI_PRODUCTION;

Przy uzyciu moba (w tym przypadku kowadła) jest wywołana funkcja (jest to ustawione w spacerze )

func void smithweapon_s1()
{
var C_Npc her;
her = Hlp_GetNpc(PC_Hero);
if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(her))
{
self.aivar[AIV_INVINCIBLE] = TRUE;
PLAYER_MOBSI_PRODUCTION = MOBSI_SmithWeapon;
AI_ProcessInfos(her);
};
};

jak widzisz zmienna PLAYER_MOBSI_PRODUCTION jest ustawiona na wartosc 1 przy użyciu kowadła . zaraz potem jest zawołana funkcja AI_ProcessInfos(her); która sprawdzi wszystkie "dialogi/monologi" i oczywiście zwracane są tylko te dla kowadła bo one wymagają by PLAYER_MOBSI_PRODUCTION == MOBSI_SmithWeapon;

ty potrzebujesz oznaczyć sobie ciecie drewna inna liczba jakie są używane obecnie, by cie sie monologi nie mieszały. Jeszcze zrobić funkcje przy użyciu moba i samotne monologi.
 


Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1153
ProfesjaProgramista
  • Złote Wrota
Już większość rozumiem tylko mam jeszcze prośbę. W któryym pliku znajdują się te informacje oraz gdzie napisać i wkleic  funkcję. (Oraz czy jeśli zrobię takową funkcję do będe mógł ją przypisać do ogniska ? z nowym monologiem)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
Radze ci zacząć używać notepad++ . Jest to prosty edytor nadający sie do skryptowania oraz ma opcje wyszukiwania w wielu plikach. Takim sposobem szybko sprawdzisz gdzie jest ta i owa zmienna i jakie funkcje jej używają...

http://themodders.ovh/index.php?topic=687.msg4588#msg4588

znajdziesz tam tez syntax by kolorowal kod
 



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