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 - Andrej (Blue Arc)

Pages: 1 2 3 [4] 5
46
Technické fórum / Re: Jak docílit toho, aby se zvuk neopakoval?
« on: March 15, 2010, 04:43:25 PM »
Ještě by mě zajímala jedna věc.. Jak je to u entit..

Každý objekt vo WME ma svoj vlastný skript. Pokiaľ máš vo scéne entitu, priraď tejto entite skript. Keď chceš, aby sa zvuk prehral iba raz, musíš to vyriešiť cez podmienku. Alebo potom je možnosť spraviť to bez podmienky a to tak, že tomuto objektu odoberieš skript. To by som volil v prípade, že v tom skripte už nebude napísané nič iné, len príkaz na prehratie zvuku. Ďalšia možnosť je vypnúť interaktivitu kurzoru s dverami. Vtedy nemusíš dávať žiadnu podmienku, záleží len na Tebe, ako to potrebuješ ;).

Skript s podmienkou bude vyzerať takto:

#include "scripts\base.inc"

global dvere = true;

on "LeftClick"
{
  if(dvere)
  {
    this.PlaySound("SoundName);
    dvere = false;
}

Globálná premenná je použitá preto, ak by si opustil scénu a znova by si sa do nej vrátil, aby keď si už raz klikol na tie dvere, aby sa ten dabing už nikdy neprehral. V opačnom prípade nahradíš global za var.

Quote
Nebo by mě zajímalo jak udělat, když na ty dveře kliknu tak aby se přehrávalo víc zvuků po sobě.. Kliž kliknu po druhé další zvuk,po třetí další zvuk atd.. Mít prostě víc hlášek o těch dveřích.. (tam nejdu.., je to stejně zamčené.., nepotřebuji tam chodit atd..)

// skript, ktorý priradiš dverám
#include "scripts\base.inc"

on "LeftClick"
{
  this.PlayRandomSound();
}

method PlayRandomSound()
{
  Game.Interactive = false;
  var rand = Random(1,5);
  switch(rand)
  {
    case "1":
     this.PlaySound("tam nejdu.waw");
     break;
   case "2":
     this.PlaySound("je to stejně zamčene.wav");
     break;
   case "3":
     this.PlaySound("nepotřebuji tam chodit atd.wav");
     break;
   }
   Game.Interactive = true;
}

47
Technické fórum / Re: Jak docílit toho, aby se zvuk neopakoval?
« on: March 13, 2010, 01:52:55 PM »
Zdravim mam scénu, do které když vejdete tak se spustí dabing (komentář k ponurému místu)..
Chci ale aby se dabing přáhrál jen jednou a né znova při další návštěvě téhle scény..
Snad jsem to popsal dostatačně srozumitelně  :) ::beer

Keď si pozrieš WME demo, je tam presne to, čo potrebuješ. Samozrejme, ide to vyriešiť aj logicky :)

scene_init.script Tvojej scény:

Code: [Select]
#include "scripts\base.inc"

// here comes the stuff which initializes the scene

actor.SkipTo(400, 400);
actor.Direction = DI_DOWN;
actor.Active = true;


////////////////////////////////////////////////////////////////////////////////
// scene state
global Stateroom;


// default values
if(Stateroom==null)
{
  Stateroom.Visited = false;
  // add scene states here
}



////////////////////////////////////////////////////////////////////////////////
// setup scene according to state variables



////////////////////////////////////////////////////////////////////////////////
if(!Stateroom.Visited)
{
  Stateroom.Visited = true;

  // this is our first visit in this scene...
 // tuto si napíšeš príkaz, ktorý Ti spustí dabing
}


if(!Stateroom.Visited)
{
  Stateroom.Visited = true;

  // this is our first visit in this scene...
 // tuto si napíšeš príkaz, ktorý Ti spustí dabing
}

Keď prvýkrát prídeš do scény, vykoná sa Ti tento kód. Pri ďalšej návšteve scény sa tento kód už nevykoná. Funguje to preto, lebo používaš globálnu premennú, ktorá si aj po opustení scény, resp. vypnutí skriptu, v ktorej sa nachádza, zachová hodnotu, ktorú uchováva. Takto program vie, že už si tu bol.

48
Technické fórum / Re: Tři dotazy na Vás..
« on: March 08, 2010, 03:59:06 PM »
Quote
Kam a co mam nascriptovat abych si zvolil scénu, která bude jako první.. ?
Klikneš na scénu, ktorú chceš dať ako prvú. Máš dve možnosti: Set as startup scene a Set as startup scene (debug only). Rozdiel spočíva v tom, že ak vyberieš druhú možnosť a skompiluješ hru, v tejto nebude prvá scéna, ktorú si označil ako debug only.
Okrem iného, ide to aj tak, že vo game.script máš tento kúsok kódu:

Code: [Select]
// which scene to load?
Game.ChangeScene(Game.StartupScene);

Atribut Game.StartupScene sa automaticky naplní názvom scény, ktorú si vybral horeuvedenými možnosťami.

Alebo to spravíš takto:

Code: [Select]
Game.GhageScene("path_to_my_scene");
Quote
2) Nascriptoval jsem, aby po dohrání videa, byla změněna scéna.. Ta se sice změní ale nejdřív se po videu na chvilku ukáže ta stará scéna a pak ta nová.. (SCÉNA-kliknu na dveře-videoukázka-SCÉNA??-nová scéna).

S videom som naozaj ešte nepracoval, takže skúsiť Ti len poradiť, aby si namiesto metódy Game.PlayVideo použil metódu Game.PlayTheora.

Quote
3) V jedný scéně mi hraje hudba.. Ale když vlezu do další scény, tak pokračuje ta hudba co byla v první scéně.. A to právě že nechci.

Vo skripte scény, kde chceš, aby hrala iná hudba, napíšeš rovnaký kód, ako si dal do predošlej scény, ale zmeníš iba cestu ku zvukovému súboru.

Napr. máme dve scény. Scéna izba, scena balkon.

izba.script

// ostatný kód
Game.PlayMusic("music\room.wav",true,0);
// Game.PlayMusic("music\room.ogg",true,0);

balkon.script

// ostatný kód
Game.PlayMusic("music\balkon.wav",true,0);
// Game.PlayMusic("music\balkon.ogg",true,0);

49
Technické fórum / Re: WME návod
« on: March 08, 2010, 07:55:49 AM »
Do čestiny je preložený len návod na tvorbu scén. Nájdeš ho tu: http://forum.dead-code.org/index.php?topic=1144.0

50
Technické fórum / Re: Pomoc se sriptama
« on: March 08, 2010, 07:53:16 AM »
Chci se zeptam jestli někde na webu nejsou zdrojové kódy?

Po nainštalovaní WME nájdeš vo zložke projects ukážkové projekty, ktoré veľmi pekne demonštrujú, ako WME fungujú a naučíš sa z nich veľa potrebných a užitočných vecí :).

Ďalšie zdrojové kódy sú aj na WIKI, nájdeš tam aj rôzne tutoriály. Pozri sem: http://res.dead-code.org/doku.php

Existuje aj kniha, WME Book, ktorá je online, ale je iba v AJ: http://res.dead-code.org/doku.php/wmebook:start


52
Technické fórum / Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« on: February 20, 2010, 12:43:07 PM »
Přišel? Myslíš upravil můj vytvořený script? Nefunguje to pro dabing na druhém místě, ale předpokládam, že za tím stojí jen drobná úprava pořadí. Škoda, že je to takhle furt musím otrocky vypínat. Jinak to je dobrý.  ::thumbup

Nie, tvoj skript som neupravoval;) V čom je problém napísať si teda tú metódu tak, aby fungoval aj dabing? :) U m

53
Technické fórum / Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« on: February 20, 2010, 10:36:16 AM »
Na začiatku tejto diskusie som uviedol zdrojový kód, ktorý mal dva nedostatky:
- vo skripte game.loop bolo treba dať do cyklus while(true) podmienku if, v ktorej sa testoval, či daná postava hovorí alebo nie. Ak by bolo vo hre napr. 30 postáv, engine by v každom kroku tohto nekonečného cyklu musel testovať túto podmienku. Z toho plynie, že je to veľmi neefektívne!

- stalo sa, že okno občas bliklo, čo bolo veľmi nežiadúce!

Prišiel som a otestoval som veľmi jednoduché riešenie, ktoré spočíva v preťažení metódy Talk a pridaní jedného parametra do zoznamu parametrov tejto metódy.

Preťažená metóda Talk vyzerá takto:

Code: [Select]
method Talk(Text, IsLast, SoundFilename, Duration, TalkStances, TextAlignment)
{
WinSubtitlesBox.Visible = true;
this.Talk(Text, SoundFilename, Duration, TalkStances, TextAlignment);

        // aby nepríjemne neblikal text
        Sleep(100);

if(IsLast)
{
  WinSubtitlesBox.Visible = false;
  Sleep(20);
}
}

Príklad volania metódy:

Code: [Select]
this.Talk("Ahoj, toto je testovací prototyp na zobrazenie okna dialógov.");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?", true);

Zavolá sa preťažená metóda Talk na object actor.  Zobrazí sa okno, kde budú zobrazené titulky. Toto okno bude zobrazené dovtedy, pokiaľ nedáme inštrukciu, aby sa zavrelo. Touto inštrukciou je predanie argumentu typu 1 alebo true ako druhý argument funkcie Talk. Pokiaľ bude v rozhovore viacero viet za sebou, stačí predať tento argument až v poslednom volaní funkciu Talk.

Keď bude mať postava povedať iba jednu vetu, volanie metódy sa zmení na this.Talk("blah“, true);

Tu je link na stiahnutie WPR: http://www.edisk.sk/stahnout-soubor/60421/SubtitlesBox.rar_2.98MB.html

Enjoy  :) ;)

54
Děkuji, ale už není třeba.  :) Ale pokud jsi ho už nachystal, rád se podívam.

Reagujem trocha neskôr, doma som mal kopec práce, ale už som tu:). Rád by som ten prototyp dal ako ukážkový, ale grafika, ktorá tam je, nie je mojím vlastníctvom, preto som Ti poslal PM, kde je link na stiahnutie:).

55
Všiml jsem si že WME si pamatuje nastavení halsitosti i po vypnutí hry, dokonce i v uložený pozici je uschovaný nastavení hlasitosti. A já potřebuju vytvořit if otázku, která se mi zeptá přímo na počet procent hlasitosti.


56
Ahá, děkuju, tak to jsem si špatně přeložil, přísáhám že nejdřív lovím tam. A je možné udělat to co potřebuju jinak?

Ahoj,

dobre viem, do ktorého projektu to potrebuješ a pretože som to už dávnejšie vyriešil, som ochotný poskytnúť Ti tu celý zdrojový kód :)

Toto je script, ktorý som priradil oknu nastavenia:

Code: [Select]
#include "scripts\base.inc"
#include "scripts\functions.script"

global WinMainMenu;

// pri otvorení tohto okna engine z registrov načíta hodnoty, aké užívateľ predtým nastavil
// a podľa toho nastaví pozíciu noty

SetVolumePos(Game.GetGlobalSpeechVolume());
SetMusicPos(Game.GetGlobalMusicVolume());
SetSFXPos(Game.GetGlobalSFXVolume());
SetSubtitlesOnStartup();

on "arrow"
{
  this.Visible = false;
  WinMainMenu.Visible = true;
  Game.ShowWindow(WinMainMenu);
  Game.UnloadObject(this);
}
 
on "volume_1"
{
 SetVolumePos(20);
}

on "volume_2"
{
  SetVolumePos(40);
}
 
on "volume_3"
{
  SetVolumePos(60);
}

on "volume_4"
{
  SetVolumePos(80);
}
 
on "volume_5"
{
  SetVolumePos(100);
}
 
 
on "music_1"
{
  SetMusicPos(20);
}

on "music_2"
{
  SetMusicPos(40);
}

on "music_3"
{
  SetMusicPos(60);
}

on "music_4"
{
  SetMusicPos(80);
}

on "music_5"
{
  SetMusicPos(100);
}

on "sound_1"
{
  SetSFXPos(20);
}

on "sound_2"
{
  SetSFXPos(40);
}

on "sound_3"
{
  SetSFXPos(60);
}

on "sound_4"
{
  SetSFXPos(80);
}

on "sound_5"
{
  SetSFXPos(100);
}

on "subtitles"
{
  SetSubtitles();
}

tu je script functions.script

Code: [Select]
// referencie na tlačítka

var BtnNotaVolume = this.GetControl("nota_volume");
var BtnNotaMusic = this.GetControl("nota_music");
var BtnNotaSound = this.GetControl("nota_sound");
var BtnNotaSubtitles = this.GetControl("nota_subtitles");

function SetVolumePos(Value)
{
  switch(Value)
{
    case "20":
  BtnNotaVolume.SkipTo(188,117);
          Game.SetGlobalSpeechVolume(20);
    break;
   
case "40":
  BtnNotaVolume.SkipTo(226,116);
          Game.SetGlobalSpeechVolume(40);
break;

case "60":
  BtnNotaVolume.SkipTo(261,113);
          Game.SetGlobalSpeechVolume(60);
break;

case "80":
   BtnNotaVolume.SkipTo(297,111);
           Game.SetGlobalSpeechVolume(80);
break;

case "100":
  BtnNotaVolume.SkipTo(330,110);
          Game.SetGlobalSpeechVolume(100);
       break;
}
}

function SetMusicPos(Value)
{
  switch(Value)
{
    case "20":
  BtnNotaMusic.SkipTo(191,199);
          Game.SetGlobalMusicVolume(20);
    break;
   
case "40":
  BtnNotaMusic.SkipTo(231,197);
          Game.SetGlobalMusicVolume(40);
break;

case "60":
  BtnNotaMusic.SkipTo(265,194);
          Game.SetGlobalMusicVolume(60);
break;

case "80":
   BtnNotaMusic.SkipTo(299,192);
           Game.SetGlobalMusicVolume(80);
break;

case "100":
  BtnNotaMusic.SkipTo(333,189);
          Game.SetGlobalMusicVolume(100);
       break;
}
}

function SetSFXPos(Value)
{
  switch(Value)
{
    case "20":
  BtnNotaSound.SkipTo(192,285);
          Game.SetGlobalSFXVolume(20);
    break;
   
case "40":
  BtnNotaSound.SkipTo(227,284);
          Game.SetGlobalSFXVolume(40);
break;

case "60":
  BtnNotaSound.SkipTo(262,282);
          Game.SetGlobalSFXVolume(60);
break;

case "80":
   BtnNotaSound.SkipTo(298,279);
           Game.SetGlobalSFXVolume(80);
break;

case "100":
  BtnNotaSound.SkipTo(335,278);
          Game.SetGlobalSFXVolume(100);
       break;
}
}

// zistil som, že pri každom spustení hry engine automaticky nastaví hodnotu Game.Subtitles na true,
// preto si ukladám hodnotu o zapnutí a vypnutí do registra, odkiaľ nastavím či boli titulky naposledy
// zapnuté alebo vypnuté

function SetSubtitles()
{
  if(Game.Subtitles)
  {
    BtnNotaSubtitles.Visible = false;
Game.Subtitles = false;
Game.RegWriteString("HKEY_CURRENT_USER\Software\Fat Funky\Kulivočko", "SubtitlesOff");
  }
  else
  {
    BtnNotaSubtitles.Visible = true;
BtnNotaSubtitles.SkipTo(191,362);
Game.Subtitles = true;
Game.RegWriteString("HKEY_CURRENT_USER\Software\Fat Funky\Kulivočko", "SubtitlesOn");
  }
}

function SetSubtitlesOnStartup()
{
  var value = Game.RegReadString("HKEY_CURRENT_USER\Software\Fat Funky\Kulivočko");
  //Game.Msg(value);
 
  if(value == "SubtitlesOn")
  {
BtnNotaSubtitles.Visible = true;
BtnNotaSubtitles.SkipTo(191,362);
  }
  else if(value == "SubtitlesOff")
  {
    BtnNotaSubtitles.Visible = false;
Game.Subtitles = false;
  }


Poznámka: v scripte functions.script nie je #include "scripts\base.inc", pretože tento skript sa vkladá to options.script a takto by tam boli dvakrát tie isté premenné, čo je chyba ;)

57
Technické fórum / Re: SubtittleWindow - jak ho chytře vytvořit?
« on: February 16, 2010, 10:35:24 PM »
Čo keby skúsiš dať

Code: [Select]
this.SubtitlesPosRelative = false;
this.SubtitlesPosX = 650;
this.SubtitlesPosY = 730;
this.SubtitlesWidth = 1000;

mimo túto preťaženú metódu? Aj tak stále pretráva problém s titulkami?

58
Technické fórum / Re: Přepínání mezi aktory
« on: February 15, 2010, 05:58:52 PM »
Ku tým postavám: niečo som našiel v metovej knihe: http://res.dead-code.org/doku.php/wmebook:ch6

59
Technické fórum / Re: Otazka na skusenych
« on: February 14, 2010, 06:48:06 PM »
Zdravim som tu novy.V kodeni v PHP,HTML mam uz nieco za sebou.Skusam preto hry.Chcem sa opytat ci by sa v tomto programe dala vytvorit RPG hra?Nieco ako je WoW az na to ze by to nebolo Onlline (MMORPG).
Chcem len vedet ci sa mam do toho pustat alebo sa to ani neoplati ?

Wintermute Engine Development Kit je sada nástrojů pro tvorbu a spouštění grafických “point&click” adventure her a to jak tradičních 2D, tak moderních 2.5D her (3D postavy na 2D pozadích).

Spraviť RPG vo WME čiastočne ide, ale určite ho nespravíš také, ako by si ho spravil priamo v engine na RPG. Poradím Ti, ak chceš, skús 3D Game Studio, v tom by si niečo ako WoW určite spravil! :)

60
Technické fórum / Re: Credits - Titulky pro firstmenu i mainmenu
« on: February 14, 2010, 06:45:59 PM »
Ahoj, chtěl bych si předělat titulky, ktere jsem použil z WME_3D_tutorialu. Jejich script jsem použil a udělal si tak taky jezdící titulky. Mám hru dělanou na firstmenu a mainmenu jak je také v tutorialů a jsem na to už zvyklý. Chtěl bych titulky dát i do mainmenu. Mám je tam teď, ale jinak než přes script. Přes window a není to moc dobré. Jak je udělat také přes script a přinejlepším udělat pouze jeden script s nima společně?

Ako ich tam máš teraz? :) Pokiaľ chceš použiť jeden skript pre viacej objektov, použi metódu Game.AttachScript().

Pages: 1 2 3 [4] 5

Page created in 0.055 seconds with 20 queries.