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...


Author Topic: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost? "VY  (Read 8335 times)

0 Members and 1 Guest are viewing this topic.

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Game.GetMusicVolume, aneb je možné zeptat se na hlasitost? "VY
« on: February 18, 2010, 10:03:17 PM »

Ahoj, chtěl bych se zeptat jestli se dá ve WME položit IF která se zeptá jak hlasitá hudba hraje v procentech. Mám nastaveník pro hudbu, sfx, voice, a master. V něm si hrači mužou měnit hlasitost jednodlivých věcí podle své chutě. Příkaz používam například u hudby Game.SetMusicVolume(100) na maximalní hudbu a k tomu se rozvití i daná nota. Chtěl bych ale při startu aby se mi nota rozvítila podle hlasitosti. Jediné co jsem našel je například na hudbu: Game.GetMusicVolume(); problem je, že do zavorky mužu napsat jakekoliv číslo ale nefunguje to. Rozlišuje to akorad vyplou a zaplou hudbu. Je jiná možnost jak se zeptat na kolik procent hraje "hudba"? Nebo jak lepe použit tuto?
« Last Edit: February 23, 2010, 12:26:03 AM by pirko7 »
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #1 on: February 18, 2010, 10:07:40 PM »

Nevím, jakým způsobem se snažíš GetMusicVolume() používat, ale letmý pohled do dokumentace napoví, že ta funkce žádné parametry nemá, a že vrací hlasitost v procentech.
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #2 on: February 18, 2010, 10:38:56 PM »

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?
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #3 on: February 19, 2010, 08:34:34 AM »

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 ;)
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #4 on: February 19, 2010, 09:33:49 AM »

Vážím si tak velké odpovědi, a vypsaný cele dva scripty. Ale bohužel to nefunguje. Mohl bych poprosit o prototyp? Chybu to nehlásí.
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #5 on: February 19, 2010, 10:26:42 AM »

A je možné udělat to co potřebuju jinak?
Teď ti nerozumím. Myslel jsem, že to je přesně co potřebuješ, proč to chceš dělat jinak?
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #6 on: February 19, 2010, 10:40:48 AM »

No, já se potřebuju scriptem zeptat, kolik je hlasitost například Game.MasterVolume. 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. A myslel jsem, že když napíšu tenhle script, že mi to půjde.

if(Game.GetMasterVolume(100)) //je hlasitost 100%, tak napiš zprávu
{
Game.Msg("hlasitost je 100%");
}
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #7 on: February 19, 2010, 10:42:53 AM »

Ok, tak ještě jednou. Ty funkce nemají žádné parametry, ale vracejí hlasitost v procentech. Takže:

if (Game.GetMasterVolume() == 100)
{
  Game.Msg("hlasitost je 100%");
}
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #8 on: February 19, 2010, 10:47:58 AM »

Velké díky mnemonicu. Opět jsi mě zachránil,  funguje to přesně tak jak potřebuju. Pro ostatní: trochu jsem popletl přesný název ifky. Je to takhle.

Quote
if (Game.GetGlobalMasterVolume() == 100)
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #9 on: February 19, 2010, 10:52:38 AM »

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.

Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #10 on: February 19, 2010, 10:57:12 AM »

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

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: Game.GetMusicVolume, aneb je možné zeptat se na hlasitost?
« Reply #11 on: February 19, 2010, 12:36:03 PM »

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:).
Logged
 

Page created in 0.077 seconds with 20 queries.