Monolog 2125 3

O temacie

Autor Remix

Zaczęty 1.05.2012 roku

Wyświetleń 2125

Odpowiedzi 3

Remix

Remix

Użytkownicy
Murzyn Internetów :O
posty291
Propsy41
ProfesjaProgramista
  • Użytkownicy
  • Murzyn Internetów :O
A więc mam pytanie co do monologów. Jak zrobić żeby monolog włączył się po użyciu jakiegoś przedmiotu? Czy trzeba dodać przedmiot w spacku i pod niego dać monolog czy jest jakiś sposób "skryptowy"?  

PS: Proszę mi to objaśnić, a nie dawać przykłady. Chyba że przykład z objaśnieniem.
PSS: Czytałem tutek o monologach.
 
https://www.youtube.com/watch?v=TNdy0ea6gc4

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Zrób zmienną i jeśli zmienna (w monologu) będzie na true przez użycie przedmiotu, ustaw return true i się otworzy.




// Chyba coś pociulałem... No nic, późna godzina jest... ;/
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Remix

Remix

Użytkownicy
Murzyn Internetów :O
posty291
Propsy41
ProfesjaProgramista
  • Użytkownicy
  • Murzyn Internetów :O

Remix

Monolog
#2 2012-05-02, 10:41(Ostatnia zmiana: 2012-05-02, 10:42)
Nie wiem nie zadziałało.....Może dam wam skrypty:

Skrypt przedmiotu:
INSTANCE Pustakartka (C_Item)
{
   name             =   "Pusta Kartka";

   mainflag          =   ITEM_KAT_NONE;
   flags             =   ITEM_MULTI;

   value             =   20;
    scemeName            =   "MAP";
   on_state[0]            =    UseItWrFokusbuch;
   visual             =   "ItWr_Scroll_01.3ds";
   material          =   MAT_LEATHER;

   description         = name;
   TEXT[4]            = NAME_Value;               COUNT[4]   = value;
   
   PK=1;
};

Skrypt monologu:
//****************************
//       pustakartka
//****************************
func void pustakartkaabit_s1 ()
{
   if (PK == 1)
   {
        self.aivar[AIV_INVINCIBLE]=TRUE;
        Ai_ProcessInfos(self);

   };
};

func void a (var int t)
{
   self.aivar[AIV_INVINCIBLE]=FALSE;
   if   (PK == 1)   
   {
      PrintScreen   ("Stworzyłeś zwój", -1,-1,"font_old_20_white.tga",3);
   };
   
        PK=0;
        AI_StopProcessInfos (self);
};

func void No_Tworzenie (var int t)
{
   self.aivar[AIV_INVINCIBLE]=FALSE;
   if   (PK == 1)   
   {
      PrintScreen   ("Masz za mało składników", -1,-1,"font_old_20_white.tga",3);
   };
        PK=0;
        AI_StopProcessInfos (self);

};




//-------------------- Gar nicht schlafen -------------------------

INSTANCE q (c_Info)

{
   npc            = PC_Hero;
   nr            = 999;
   condition      = q_Condition;
   information      = q_Info;
   important      = 0;
   permanent      = 1;
   description      = DIALOG_ENDE;
};

FUNC INT q_Condition()
{
    if (PK == 1)
{      
      return 1;
      };
};

func VOID q_Info()
{
    PK=0;
   AI_StopProcessInfos (self);
   self.aivar[AIV_INVINCIBLE]=FALSE;
   
};

//---------------------- morgens --------------------------------------

INSTANCE End(C_INFO)
{
   npc            = PC_Hero;
   condition      = End_Condition;
   information      = End_Info;
   important      = 0;
   permanent      = 1;
   description      = "Stwórz Zwój Ognistej Strzały";
};

FUNC INT End_Condition()
{
if (zwoj == 1)
&& (PK == 1)
{      
      return 1;
};
};

func void End_Info ()
{
   PrintScreen   ("Stworzyłeś zwój", -1,-1,"font_old_20_white.tga",3);
};
 
https://www.youtube.com/watch?v=TNdy0ea6gc4

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
INSTANCE Pustakartka (C_Item)
{
name = "Pusta Kartka";

mainflag = ITEM_KAT_NONE;
flags = ITEM_MULTI;

value = 20;
scemeName = "MAP";
on_state[0] = monolog_kartki;// <-- TUTAJ JEST FUNKCJA KTÓRA SIĘ URUCHOMI PO UŻYCIU ITEMU
visual = "ItWr_Scroll_01.3ds";
material = MAT_LEATHER;

description = name;
TEXT[4] = NAME_Value; COUNT[4] = value;

};
funkcja jest wywoływana przez item a nie przez mob`a (ławke, kowadło itp) więc nie musi mieć _s1

func void monolog_kartki ()
{
PK = 1;
self.aivar[AIV_INVINCIBLE]=TRUE;
Ai_ProcessInfos(self);

};


potem robisz juz TYLKO ZWYKŁE DIALOGI

INSTANCE q (c_Info)
{
npc = PC_Hero;
nr = 999;
condition = q_Condition;
information = q_Info;
important = 0;
permanent = 1;
description = DIALOG_ENDE;
};

FUNC INT q_Condition()
{
if (PK == 1)
{
return 1;
};
};

func VOID q_Info()
{
PK=0;
AI_StopProcessInfos (self);
self.aivar[AIV_INVINCIBLE]=FALSE;
};


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