Please login or register.

Login with username, password and session length
Advanced search  

News:

IRC channel - server: waelisch.de  channel: #wme (read more)

Author Topic: MIZENÍ VARiables??!! "VY  (Read 4261 times)

0 Members and 1 Guest are viewing this topic.

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
MIZENÍ VARiables??!! "VY
« on: October 24, 2009, 01:52:00 PM »

Ahoj, můj další problem je v dialogu. Musím to tu rozepsat aby jste aspon trochu pochopily. Mám lokaci v chaloupce kde je babička, tu mám na dvě entity, jedna je zamrzlá a druhá je normální. Budu mluvit hlavně k normalní. Normální babička má script který sem uvedu, je poměrně hodně dlouhý tak vymažu co nejvíce dialogů. Je tam plno otázek IF. A abych je mohl dobře plnit a ptát se, použil jsem proměny VAR, který jsem si vypsal do scriptu místo global, kterých se bojím mít v budoucnu plno. VAR pokud vím platí poze pro danou scenu a pro ten jeden script. Vše funguje dobře do doby, kdy muj actor vyleze z chaloupky, vrátí se do ní a po znovu rozhovoru se mi vytratí  (možná falsne) variables "rozhovor3". Jak je to možné?
SCRIPT:
#include "scripts\base.inc"

//promeny v rozhovoru
var rozhovor1;
var rozhovor2;
var rozhovor3;
var dopisy_po_rozhovoru;

on "rozbitaproteza"
{
actor.Talk("Tahle protéza je rozbitá.");
}

on "kovovaproteza"
{
actor.GoTo(737, 477);
actor.TurnTo(DI_LEFT);
Game.Interactive = false;
actor.PlayAnim("actors\molly\ll\take1.sprite");
actor.PlayAnim("actors\molly\ll\take2.sprite");
Game.DropItem("kovovaproteza");
babicky_zuby.Active = true;
rozhovor1.Active = true;
Game.Interactive = true;
}

on "dopisy"
{
actor.GoTo(737, 477);
actor.TurnTo(DI_LEFT);
Game.Interactive = false;
   
   if(rozhovor2.Active) //babička s protezou
   {
      if(dopisy_po_rozhovoru.Active)
      {
         actor.PlayAnim("actors\molly\ll\take1.sprite");
         actor.PlayAnim("actors\molly\ll\take2.sprite");
         Game.DropItem("dopisy");
         actor.Talk("Babičko, tyhle dopisy jste měla ve schránce. Poslali je ze sirotčince.");
         
         actor.GoTo(760, 477);
         actor.TurnTo(DI_RIGHT);
         actor.Talk("Nějak se mi ta pohádka o vlkovi nezdá, ale kam se potom podělo všechno jídlo?");
         rozhovor3.Active = true;
      }
      else
      {
         actor.Talk("Napřed si s babičkou promluvím.");
      }
   }
   else//babička ještě nemá protezu
   {
   actor.Talk("Ještě ne.");
   }
   
Game.Interactive = true;   
}

on "leftclick"
{
   actor.GoTo(737, 477);
   actor.TurnTo(DI_LEFT);
   Game.Interactive = false;

   if(babicky_zuby.Active)
   {
       if(rozhovor1.Active) //prvni kloudný rozhovor s babičkou
      {
          rozhovor2.Active = true;
         rozhovor1.Active = false;
         dopisy_po_rozhovoru.Active = true;
         this.Talk("Kulivočko, jsi to opravdu ty, chlapče?");
         
         this.Talk("Dobře. Já zatím budu přemýšlet tady u krbu.");
      }
      else
      {
         if(rozhovor3.Active) /////////////////Otevřený DIALOG/////////////////////////////////////////////////////////////////////
         {
            this.Talk("Chlapče, co bys rád?");
            //zakladni
            var resp0;
            var resp1;
            var resp2;
            var resp3;
            var resp4;
            var resp5;

            var jednicka_a;
            var jednicka_b;
            var dvojka_b;
            
            var Responses;
            var Selected;
            var Loop = true;

            while(Loop)
            {
                  // výběr pro hráče
                  Responses[0] = "Kde tady najdu nějaké jídlo, babičko?";
                  Responses[1] = "Můžu se vás zeptat na dědečka?";
                  Responses[2] = "Babičko, mohl bych tady zůstat napořád?";
                  Responses[3] = "Jak je to dlouho, co spadla ta lavina venku?";
                  Responses[4] = "Babičko, nepamatujete si kombinaci trezoru?";
                  Responses[5] = "Už musím jít.";

                  // Zbarveni a nabidka
                  if(resp0.Active)
                  {
                  Game.AddResponse(0, Responses[0], null, null, null, "fonts\pouzite_responses.font");
                  }
                  else
                  {
                  Game.AddResponse(0, Responses[0]);
                  }
                  
                  if(resp1.Active)
                  {
                  Game.AddResponse(1, Responses[1], null, null, null, "fonts\pouzite_responses.font");
                  }
                  else
                  {
                  Game.AddResponse(1, Responses[1]);
                  }
                  
                  if(resp2.Active)
                  {
                  Game.AddResponse(2, Responses[2], null, null, null, "fonts\pouzite_responses.font");
                  }
                  else
                  {
                  Game.AddResponse(2, Responses[2]);
                  }
                  
                  if(resp3.Active)
                  {
                  Game.AddResponse(3, Responses[3], null, null, null, "fonts\pouzite_responses.font");
                  }
                  else
                  {
                  Game.AddResponse(3, Responses[3]);
                  }
               
                  if(jednicka_b.Active)
                  {
                     if(resp4.Active)
                     {
                     Game.AddResponse(4, Responses[4], null, null, null, "fonts\pouzite_responses.font");
                     }
                     else
                     {
                     Game.AddResponse(4, Responses[4]);
                     }
                  }
               
                  if(resp5.Active)
                  {
                  Game.AddResponse(5, Responses[5], null, null, null, "fonts\pouzite_responses.font");
                  }
                  else
                  {
                  Game.AddResponse(5, Responses[5]);
                  }
                  // let the player choose one //DULEŽIT
« Last Edit: October 29, 2009, 11:10:38 AM by pirko7 »
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: MIZENÍ VARiables??!!
« Reply #1 on: October 25, 2009, 12:54:39 PM »

Quote from: pirko7
VAR pokud vím platí poze pro danou scenu a pro ten jeden script.

Pokud odejdeš ze scény, tak přece měníš danou scénu, ne? Každopádně používat globální proměnné pro věci, které se táhnou přes více scén jednoduše musíš. :)
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: MIZENÍ VARiables??!!
« Reply #2 on: October 25, 2009, 04:11:45 PM »

To ano, jako global to sice funguje, ale je to přece pouze pro danej script s danou scenou. Nepracuje to s nějakou jinou, proto nechápu že to zmizne z paměti a variabilní to prostě "zapomene".
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: MIZENÍ VARiables??!!
« Reply #3 on: October 26, 2009, 09:55:46 AM »

Každá proměnná má rozsah platnosti. Proměnná lokální (var), platí pouze pro script ve kterém je definována. Pak je tato proměnná z paměti uvolněna, takže přijdeš o všechno co do ní dáš.
Globální proměnná (global) platí pro celou hru.
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: MIZENÍ VARiables??!!
« Reply #4 on: October 28, 2009, 05:27:31 PM »

To by vysvětlovalo me problemy, no a řekněme ž e když je global v jednom scriptu a važese na druhý script v obou jej předepišu například nahoru "global neco;". Nebo stačí napsat do base a nemusím to nikam předepisovat že?. Problem je ale potom v GlobResp. Když pomocí nich řeším barvu responses, budu si hold muset vymýšlet delší názvy že? Aby se to vzajemně neovlivnovalo s jinou psotavou předpokládám dobře?  :)
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: MIZENÍ VARiables??!!
« Reply #5 on: October 29, 2009, 10:25:54 AM »

ano. názvy proměnných musí být jedinečné. Druhá cesta jsou atributy globálních objektů, ale raději se zatím drž globálních proměnných.

Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: MIZENÍ VARiables??!!
« Reply #6 on: October 29, 2009, 11:10:21 AM »

Dobře děkuju  :).
Logged
 

Page created in 0.043 seconds with 24 queries.