Please login or register.

Login with username, password and session length
Advanced search  

News:

This forum provides RSS feed. To query recent posts use this url. More...


Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - NAItReIN

Pages: 1 ... 3 4 [5]
61
Technical forum / Re: Dialogue Problem
« on: September 07, 2013, 10:13:13 PM »
Hello Fastfooot,

I am sorry for my bad English. If you are new to Wintermute Engine you should open WME Demo project to see how does this great engine work. This is really a good way how to start.

There is what you are looking for:

Code: WME Script
  1. #include "scripts\base.inc"
  2.  
  3. global StateRoom;
  4.  
  5. ////////////////////////////////////////////////////////////////////////////////
  6. on "Talk"
  7. {
  8.   Game.Interactive = false;
  9.  
  10.   // greetings
  11.   if(!StateRoom.TalkedToOldGuy) actor.Talk("Hello!");
  12.   else actor.Talk("Hi, it's me again.");
  13.   this.Talk("Hello, miss.");
  14.  
  15.   // set the flag, so that we know we've already talked to him
  16.   StateRoom.TalkedToOldGuy = true;
  17.  
  18.   // and let the dialogue begin
  19.   OldGuyDialogue();
  20.  
  21.   // restore interactivity
  22.   Game.Interactive = true;
  23. }
  24.  
  25.  
  26. ////////////////////////////////////////////////////////////////////////////////
  27. function OldGuyDialogue()
  28. {
  29.   var Responses;
  30.   var Selected;
  31.  
  32.   var Loop = true;
  33.  
  34.   while(Loop)
  35.   {
  36.     // prepare the sentences
  37.     Responses[0] = "Who are you?";
  38.     Responses[1] = "What are you doing here?";
  39.     Responses[2] = "What can you tell me about the Wintermute Engine?";
  40.     Responses[3] = "I have to go.";
  41.  
  42.     // fill the response box
  43.     Game.AddResponse(0, Responses[0]);
  44.     Game.AddResponse(1, Responses[1]);
  45.     Game.AddResponse(2, Responses[2]);
  46.     Game.AddResponse(3, Responses[3]);
  47.  
  48.     // let the player choose one
  49.     Selected = Game.GetResponse();
  50.  
  51.     // let the actor say the selected sentence
  52.     // (that's why I use the array for storing the sentences)
  53.     actor.Talk(Responses[Selected]);
  54.  
  55.     // now let the Old Guy reply depending on the selected sentence
  56.     if(Selected==0)
  57.     {
  58.       this.Talk("My name's not important.");
  59.       actor.Talk("Oh... OK");
  60.     }
  61.     else if(Selected==1) this.Talk("I'm here to answer questions about the Wintermute Engine.");
  62.     else if(Selected==2)
  63.     {
  64.       this.Talk("What would you like to know?");
  65.       // go to the second branch of dialogue
  66.       OldGuyDialogue2();
  67.     }
  68.     else if(Selected==3)
  69.     {
  70.       this.Talk("OK, bye.");
  71.       Loop = false; // we want to end the dialogue
  72.     }
  73.   }
  74. }
  75.  
  76.  
  77.  
  78. ////////////////////////////////////////////////////////////////////////////////
  79. function OldGuyDialogue2()
  80. {
  81.   var Responses;
  82.   var Selected;
  83.   var Loop = true;
  84.  
  85.   while(Loop)
  86.   {
  87.     // prepare the sentences
  88.     Responses[0] = "What is it?";
  89.     Responses[1] = "Is it any good?";
  90.     Responses[2] = "Why is it called 'Wintermute'?";
  91.     Responses[3] = "That's all I wanted to know about the Wintermute Engine.";
  92.  
  93.     // fill the response box
  94.     Game.AddResponse(0, Responses[0]);
  95.     Game.AddResponse(1, Responses[1]);
  96.     Game.AddResponse(2, Responses[2]);
  97.     Game.AddResponse(3, Responses[3]);
  98.  
  99.     // let the player choose one
  100.     Selected = Game.GetResponse();
  101.  
  102.     // let the actor say the selected sentence
  103.     // (that's why I use the array for storing the sentences)
  104.     actor.Talk(Responses[Selected]);
  105.  
  106.     // now let the Old Guy reply depending on the selected sentence
  107.     if(Selected==0)
  108.     {
  109.       this.Talk("As far as I know it's a piece of software, that allows you to create you own adventure games.");
  110.       this.Talk("Although I don't understand why would anyone want to do it, since the point&click adventures are dead.");
  111.       actor.Talk("*ahem*");
  112.     }
  113.     else if(Selected==1)
  114.     {
  115.       this.Talk("I dunno. I never used it myself. You'll have to find out yourself.");
  116.       actor.Talk("OK, I'll try.");
  117.     }
  118.     else if(Selected==2)
  119.     {
  120.       this.Talk("Well I don't know for sure...");
  121.       this.Talk("But I think it has something to do with the author's obsession for cyberpunk and that kind of crap.");
  122.       actor.Talk("I *still* don't understand. Oh well, nevermind.");
  123.     }
  124.     else if(Selected==3) Loop = false;
  125.   }
  126. }
  127.  
  128.  
  129. ////////////////////////////////////////////////////////////////////////////////
  130. on "LookAt"
  131. {
  132.   if(!StateRoom.TalkedToOldGuy) actor.Talk("Who's this guy? Maybe I should talk to him.");
  133.   else actor.Talk("I still don't understand what he is doing here.");
  134. }
  135.  
  136. ////////////////////////////////////////////////////////////////////////////////
  137. on "Take"
  138. {
  139.   actor.Talk("He's not my type.");
  140. }
  141.  
  142. ////////////////////////////////////////////////////////////////////////////////
  143. on "LeftClick"
  144. {
  145. }
  146.  
  147.  
  148. ////////////////////////////////////////////////////////////////////////////////
  149. on "Money"
  150. {
  151.   Game.Interactive = false;
  152.   actor.Talk("Do you want some money?");
  153.   this.Talk("Miss, do I look like I'm homeless or something?");
  154.   actor.Talk("Well...");
  155.   this.Talk("Don't answer that!");
  156.   actor.Talk("Ok, no money then.");
  157.  
  158.   Game.Interactive = true;
  159. }
  160.  
  161.  
  162.  
  163. ////////////////////////////////////////////////////////////////////////////////
  164. function GoToObject()
  165. {
  166.   actor.GoTo(356, 398);
  167.   actor.TurnTo(DI_UPRIGHT);
  168. }

Can you understand this piece of code? Of course there are also other way how to work with dialogs but you should start here.

62
Technické fórum / Re: vzkaz pro wme tvůrce
« on: September 05, 2013, 10:12:20 AM »
Quote
...sdkčko mrtvého města máš...
Je mi ľúto, ale to SDK som nenašiel. Je to už pár rokov čo mi to NaRCo poslal.

63
Technické fórum / Re: vzkaz pro wme tvůrce
« on: September 04, 2013, 02:39:30 PM »
Quote
Ano ano přesně tak nejlépe mi pomůžeš pokud budeš mít sdk mrtveho mesta 1 myslím tím jako že pujde otevírat ty scény a tak včetně scriptů atak
Skusím to pozrieť, ale nie som si istý, či to nájdem. Každopádne, pokiaľ ide o grafiku, riešenie by mohlo spočívať v tom, že si urobíš screenshoty jednotlivých scén (pri scénach, kde neprší je to veľmi jednoduché). Pokiaľ ide o zdrojový kód, som ochotný spraviť Ti všetko, čo budeš potrebovať, ak teda chceš.

Quote
Hare Krsna je velice krásný pozdrav
Ďakujem za vnesenie svetla do tohto tajomstva :)

64
Technické fórum / Re: vzkaz pro wme tvůrce
« on: September 04, 2013, 11:16:49 AM »
Napriek tomu, že nie som autorom tohto skvelého nástroja, dovolím si reagovať na tvoj príspevok  :)

Quote
Hare Krsna
Čo znamená toto slovné spojenie? Je to nejaký pozdrav?

Quote
...a rád bych se zeptal zda se dá něčím otevřít zkompilovaný projekt wme...
Riešilo sa to v anglickej časti fóra. Pozri si tento odkaz:
How to decompress / access contents of compiled dcp package file ?

Quote
...exe launchger děkuji za odpověd...
Ak si dobre pamätám, WME Lanuncher bol zostavený prostredníctvom MFC. Prečítaj si tento odkaz:
WME Launcher Či to Mnemonic už vypustil alebo nie, to už neviem.

Quote
Dále od Narca mam souhlas že na tom pokračování mohu dělat, ale potřebuji to něčím otevřít děkuji
Ak to správne chápem, chcel by si použiť obrázky, resp. súbory z hry Dead City, áno? NaRCo mi kedysi poslal celý WME projekt, skúsim to ešte pozrieť. Toto je oveľa jednoduhšie ako dekompresia kompilovaných balíčkov...

65
Technické fórum / Re: Milí vážení prosím
« on: September 02, 2013, 06:46:24 PM »
Stále si myslím, že tvoj problém spočíva v niečom inom. Ako som už písal, je viacero spôsobov ako spraviť neviditeľného actora. Ja som to spravil cez entitu. Do game.script som pridal tento kúsok kódu:

Code: WME Script
  1. actor = Game.LoadEntity("entities\sorrow\sorrow.entity");
  2. Game.MainObject = actor;

Entita má iba jeden sprite a to je snímok, ktorý predstavuje ružová farba. Túto engine chápe ako priehladnú.

Nič iné nie je potrebné robiť a dostaneš to, čo potrebuješ (ak som správne pochopil tvoj problém).

Projekt WMEDemo3DSorrow si môžeš stiahnuť tu.



66
Technické fórum / Re: Milí vážení prosím
« on: August 26, 2013, 06:39:51 PM »
Po dlhej sobe som späť. Zdrojový kód, ktorý si mi poslal nie je potrebné modifikovať! Pozrime sa na skript crates.script, ktorý sa nachádza v projekte WME Demo 3D.

Code: WME Script
  1. #include "scripts\base.inc"
  2.  
  3. // v game.script je podmienka na základe ktorej engine vie,
  4. // že má zobraziť okno s možnosťami LookAt, Talk, Take
  5.  
  6. on "LookAt"
  7. {
  8.   actor.GoToObject(this);
  9.   actor.Talk("Sorry, there are no crate puzzles in this demo.");
  10. }
  11.  
  12. on "Take"
  13. {
  14.   actor.GoToObject(this);
  15.   actor.Talk("Sorry, there are no crate puzzles in this demo.");
  16. }
  17.  
  18. // v game.script je podmienka na základe ktorej engine vie,
  19. // že keď nastane udalosť LeftClick alebo RightClick...
  20. on "LeftClick"
  21. {
  22.   actor.GoToObject(this);
  23.   actor.Talk("Sorry, there are no crate puzzles in this demo.");
  24. }
  25.  
  26. on "RightClick"
  27. {
  28.   actor.GoToObject(this);
  29.   actor.Talk("A stack of crates. An inevitable reguisite of any modern game.");
  30. }

67
Technické fórum / Re: Nechci actora chodícího ve scéně
« on: August 25, 2013, 11:30:39 PM »
Quote
Nechci ve scéně mít chodícího actora ale přesto chci aby když kliknu na určitý objekt mluvil

Musíš si vytvoriť neviditeľného aktora. Alebo, čo je ešte jednoduhšie, vytvor si entitu, pozadie bude ružovej farby. Tým bude entita neviditeľná. Potom stačí načítať entitu do pamäti a použiť metódu Talk. Použi globálnu premennú.

68
Technické fórum / Re: Levé a pravé tlačítko myši- actor talk
« on: August 25, 2013, 11:26:17 PM »
Quote
aby prostě jednoduše fungovalo ve scéně když kliknu levým tlačítkem myši actor mluví ...
kliknu pravým actor také mluví ( viz actor talk..) -- děkuji za ochotu sna

Stačí si vytvoriť skript ku konkrétnemu objektu a použiť udalosti on LeftClick a on RightClick.

69
Technické fórum / Re: Milí vážení prosím
« on: August 25, 2013, 11:22:36 PM »
Quote
viz vytvořil jsem si nový projekt... chodící actor už ve scéně není
ale za to se neobjeví žádné psané slovo titulek nebo kdo ví nazvěte to jak chcete

Tejto vete vôbec nerozumiem! Myslíš to tak, že actor vôbec nie je na scéne viditeľný pretože máš v skripte tento riadok kódu?
Code: WME Script
  1. actor.Active = false

Quote
Rád bych prostě kdyby když kliknu na script ve scéně tak aby to psalo to co má
a hloupě to nemlčelo

Môžeš to urobiť napríklad pomocou aktora a metódy Talk(), alebo si vytvoriť okno a prostredníctvom neho zobrazovať titulky, alebo si dať entitu... Možností máš viacej.

Pages: 1 ... 3 4 [5]

Page created in 0.127 seconds with 20 queries.