Wintermute Engine Forum

Czech forum - fórum v češtině => Technické fórum => Topic started by: Kevinekss on September 25, 2003, 05:35:09 PM

Title: Mnemonicu velkej problem:)
Post by: Kevinekss on September 25, 2003, 05:35:09 PM
Ahoj.Hele mam problem s tim scriptem,vsecho jsem Ti psal na icq,ale nemuzu ze zastihnout online a do zitra jsem slibil male demo na www.plnehry.cz jediny co me brzdi je ten script.Ani do skoly jsem kvuli tomu nesel:)

Cau
Title: Re:Mnemonicu velkej problem:)
Post by: Kevinekss on September 25, 2003, 05:43:38 PM
Jinak pro ostatni to sem napisu,kdyby chtel nekdo pomoct.

mam entitu hak script pro hak je

  var rybar=Scene.GetNode("rybar");

global muzuvzithak;                              
 

          on "LeftClick"
               {  
                               actor.Talk("Hk na sumce");
                               }
                               
                               on "RightClick"
                               {
                               if (muzuvzithak=true)
                               {
                               Game.TakeItem("hak");
                               var Enthak=Scene.GetNode("hak");
                               Enthak.active=false;
                               }
                               else
                               rybar.Talk("Hej nech to tam kde to je");
     actor.Talk("Promiňte,j jen myslel jestli bych si to mohl půjčit");
                               
                               rybar.Talk("Nemysli a nech to tam");
                               }                              
                             
ten je ve stejne lokaci jako ma entita rybar.Hak muzu sebrat pouze tehdy kdyz je (muzuvzithak=true)
a tru je tehdy kdyz dam dalsi entitu drobky entite rybar

cili script pro entitu rybar je tento

#include "scripts\base.inc"
var rybar=Scene.GetNode("rybar");
global chcenavnadu; //jestli chce navnadu
global muzuvzithak;//jestli muzu vzit hak
on "LeftClick"
{

actor.Talk("Rybř,zřejmě mu to moc nebere,protoe kdyby mu to bralo tak se určitě tolik nevztek.No popravdě se ani nedivm,e mu to nebere,kdy nem nvnadu.Mon bych mu mohl pomoct");
 chcenavnadu=true;//kdyz prozkoumam rybare,tak se da navnada true,muzu mu dat drobky
}

on "RightClick"
{
actor.Talk("Nevypada to,e měl chuť se s nekm bavit");
}


on "drobky" //kdyz dam rybari drobky
{
if(chcenavnadu=true) //kdyz jsem prozkoumal rybare da se true a ja mu muzu dat drobky
{
muzuvzithak=true;
Game.DropItem("drobky"); //dam mu drobky
rybar.Talk("To je pro mě?Dky moc,bude se mi to hodit,třeba jetě něco chytm");
actor.Talk("Nemte zač.Prosim vs č je tmhleten hk?");
rybar.Talk("Můj.Za to,e jsi mi dal to krmen,si ho můes vzt");
actor.Talk("Dekuju");

}
else actor.Talk("Nevidm,jedinej důvod,proč bych mu to dval");
}

tak kdyz hur spustim,tak slape ok,ale dojdu do lokace kde je rybar a hak. tak a ted kdyz chci sebrat hak tak by to nemelo jit protoze jsem jeste rybari nedal drobky,ale ono se to rovnou pri kliknu pravym tlacitkem na hak vypne.A kdyz chci dat rybari entitu drobky tak se to taky vypne.Nekde urcite je nejaka chyba v promenych.Jinak nemuze to byt tim ze predmety nacitam pres scene edit sprite entity?Nemel bych je nacitat tak jako entity postav?Omlouvam se za muj dlouhy dotaz,ale kdyby nekdo vedel,tak mi prosim odpovezte.Diky vsem.Kevinekss




Title: Re:Mnemonicu velkej problem:)
Post by: Mnemonic on September 25, 2003, 06:12:14 PM
Mas tam docela hodne chyb. Pri porovnavani se musi pouzit == nikoliv = (rikal jsi, ze se ucis C, tam je to stejny). Taky pozor na to, ze se rozlisuji velka a mala pismena (active / Active).


var rybar=Scene.GetNode("rybar");

global muzuvzithak;                              
 

on "LeftClick"
{  
  actor.Talk("Hk na sumce");
}
                             
on "RightClick"
{
  if (muzuvzithak==true)
  {
    Game.TakeItem("hak");
    var Enthak=Scene.GetNode("hak");
    Enthak.Active=false;
  }
  else
  {
    rybar.Talk("Hej nech to tam kde to je");
    actor.Talk("Promiňte,j jen myslel jestli bych si to mohl půjčit");
    rybar.Talk("Nemysli a nech to tam");
  }
}

                           

#include "scripts\base.inc"

var rybar=Scene.GetNode("rybar");
global chcenavnadu; //jestli chce navnadu
global muzuvzithak;//jestli muzu vzit hak

on "LeftClick"
{
  actor.Talk("Rybř,zřejmě mu to moc nebere,protoe kdyby mu to bralo tak se určitě tolik nevztek.No popravdě se ani nedivm,e mu to nebere,kdy nem nvnadu.Mon bych mu mohl pomoct");
  chcenavnadu=true;//kdyz prozkoumam rybare,tak se da navnada true,muzu mu dat drobky
}

on "RightClick"
{
  actor.Talk("Nevypada to,e měl chuť se s nekm bavit");
}


on "drobky" //kdyz dam rybari drobky
{
  if(chcenavnadu==true) //kdyz jsem prozkoumal rybare da se true a ja mu muzu dat drobky
  {
    muzuvzithak=true;
    Game.DropItem("drobky"); //dam mu drobky
    rybar.Talk("To je pro mě?Dky moc,bude se mi to hodit,třeba jetě něco chytm");
    actor.Talk("Nemte zač.Prosim vs č je tmhleten hk?");
    rybar.Talk("Můj.Za to,e jsi mi dal to krmen,si ho můes vzt");
    actor.Talk("Dekuju");
  }
  else actor.Talk("Nevidm,jedinej důvod,proč bych mu to dval");
}
Title: Re:Mnemonicu velkej problem:)
Post by: Kevinekss on September 25, 2003, 07:48:28 PM
Diky moc,no c se pomalu ucim,ale to vis mam navyky s delphi a tam presne to co delam spatne je dobre:)takze se omlouvam.Jinak diky za pomoc zkusim to.Cau Kevinekss
Title: Re:Mnemonicu velkej problem:)
Post by: Kevinekss on September 25, 2003, 08:45:05 PM
Jinak jakse pouziva to IsTalking();    nejak takhle if IsTalking("rybar")
{
rybar.Talk("Ahoj");
}

nebo jak diky
Title: Re:Mnemonicu velkej problem:)
Post by: Mnemonic on September 25, 2003, 09:03:22 PM
if(rybar.IsTalking()) ...
Title: Re:Mnemonicu velkej problem:)
Post by: Kevinekss on September 25, 2003, 10:10:16 PM
Diky :-)
Title: Re:Mnemonicu velkej problem:)
Post by: Kevinekss on September 25, 2003, 10:16:38 PM
jeste do tretice:) v delphi se dela treba pro zapor if not    jak je to ve wme
Title: Re:Mnemonicu velkej problem:)
Post by: Mnemonic on September 26, 2003, 08:53:41 AM
Stejne jako v C, C++, Jave, JavaScriptu... Tj. pred podminku se da vykricnik.

if( !rybar.IsTalking() ) ...
Title: Re:Mnemonicu velkej problem:)
Post by: Kevinekss on September 26, 2003, 02:42:14 PM
A jo:)dik