Please login or register.

Login with username, password and session length
Advanced search  

News:

IRC channel - server: waelisch.de  channel: #wme (read 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 - janCZek

Pages: [1]
1
Technické fórum / Menu Akce na levé tlačítko
« on: July 22, 2005, 12:27:17 AM »
Tak si tady jen tak zkouším různě upravovat scripty z dema a chtěl bych předělat game.script tak, aby se menu akce (Talk/Take/LookAt) zobrazilo při klepnutí levého tlačítka myši na objekt. Pravé by pak fungovalo jen na odkládání zvednutých předmětů z inventáře. Bohužel to nějak nemaká. Žádnou chybu mi to sice neukazuje, ale při zobrazeném menu a klepnutím na nějaké z tlačítek se vůbec nic nestane - jen zmizí menu. Takhle jsem to změnil...možná to je blbě, nevím:

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

// store some of the game's attributes in global variables for convenience
Keyboard = Game.Keyboard;
Scene = Game.Scene;


// load the right-click menu
global WinMenu = Game.LoadWindow("interface\menu\menu.window");
WinMenu.Visible = false;

// load the "caption" window
var win = Game.LoadWindow("interface\system\caption.window");
global WinCaption = win.GetWidget("caption");


global MenuObject = null;


// load our main actor
actor = Game.LoadActor3D("actors\pes\pes.act3d");
Game.MainObject = actor;

// run the "daemon" script
Game.AttachScript("scripts\game_daemon.script");


// which scene to load?
Game.ChangeScene("scenes\scene_1\scene_1.scene");



////////////////////////////////////////////////////////////////////////////////
on "LeftClick"
{
  var ActObj = Game.ActiveObject;
  if(ActObj!=null)
  {   
    if(Game.SelectedItem != null && Game.SelectedItem != ActObj)
    {
      var Item = Game.SelectedItem;
      if(ActObj.CanHandleEvent(Item.Name)) ActObj.ApplyEvent(Item.Name);
      else if(Item.CanHandleEvent("default-use")) Item.ApplyEvent("default-use");
      else if(ActObj.CanHandleEvent("default-use")) ActObj.ApplyEvent("default-use");
      else {
        var id = Random(1,2);
        switch(id)
      {
      case 1: actor.Talk("To je blbost"); break;
      case 2: actor.Talk("Něco jiného"); break;
      }
      }
    }
   
    if(WinMenu.Visible == true) WinMenu.Visible = false;
    else if(ActObj.CanHandleEvent("Take") || ActObj.CanHandleEvent("Talk") || ActObj.CanHandleEvent("LookAt"))
      {
        MenuObject = Game.ActiveObject;
        var Caption = WinMenu.GetWidget("Caption");
        Caption.Text = MenuObject.Caption;
     
        WinMenu.X = Game.MouseX - WinMenu.Width / 2;
        if(WinMenu.X < 0) WinMenu.X = 0;
        if(WinMenu.X+WinMenu.Width>Game.ScreenWidth) WinMenu.X = Game.ScreenWidth-WinMenu.Width;

        WinMenu.Y = Game.MouseY - WinMenu.Height / 2;
        if(WinMenu.Y<0) WinMenu.Y = 0;
        if(WinMenu.Y+WinMenu.Height>Game.ScreenHeight) WinMenu.Y = Game.ScreenHeight-WinMenu.Height;

        WinMenu.Visible = true;
        actor.Reset();
       
    }  else ActObj.ApplyEvent("LeftClick");
  } else Scene.ApplyEvent("LeftClick");
}

////////////////////////////////////////////////////////////////////////////////
on "RightClick"
{
  var ActObj = Game.ActiveObject;
  // if inventory item selected? deselect it
  if (Game.SelectedItem != null){
    Game.SelectedItem = null;
    return;
  }
  if(ActObj!=null) ActObj.ApplyEvent("RightClick"); 
}

////////////////////////////////////////////////////////////////////////////////
on "Keypress"
{
  // on Esc or F1 key
  if(Keyboard.KeyCode==VK_ESCAPE)
  {
    // load and display the main menu window
    WinCaption.Visible = false;
    var WinMainMenu = Game.LoadWindow("interface\system\mainmenu.window");
    WinMainMenu.Center();
    WinMainMenu.GoSystemExclusive();
    Game.UnloadObject(WinMainMenu);
  }
  else if(Keyboard.KeyCode==VK_F1)
  {
  Scene.ShowGeometry = !Scene.ShowGeometry;
  }
}

////////////////////////////////////////////////////////////////////////////////
on "QuitGame"
{
  // on Alt+F4 (window close)
  // load and display the quit confirmation window
  if(QuestionBox(Game.ExpandString("/IGMENU0009/"))) Game.QuitGame();
}

////////////////////////////////////////////////////////////////////////////////
method QuestionBox(Message, SystemExclusive)
{
if(SystemExclusive==null) SystemExclusive = true;

var Window = Game.LoadWindow("interface\system\quit.window");
Window.Center();
Window.xMessage = Game.ExpandString(Message);

if(SystemExclusive) Window.GoSystemExclusive();
else Window.GoExclusive();

var Result = Window.xResult;
Game.UnloadObject(Window);

return Result;
}


Jiné soubory jsem neupravoval. Proč to tedy nejde?

2
Technické fórum / Jak udělat posuvník na hlasitost
« on: June 11, 2005, 06:18:06 PM »
Ahoj všichni, chtěl bych se zeptat, jak se dají udělat posuvníky pro ovládání hlasitosti, takové jako jsou ve hře 5 kouzelných amuletů. Už si s tím lámu hlavu docela dlouho a nemůžu na nic přijít  ???

Moc díky za pomoc!  :D

3
Technical forum / Missing 3D person (colision detection)
« on: May 09, 2005, 12:45:01 PM »
Hi,
I am interested at: I need (if it is really possible) my primary 3D person missed other person (my primary person go on one place and he must missed other person, he musn´t go throught other person). If it is impossible, i will be very unlucky but I will do it another way.

ps: sorry, my english isn't beautifull

Thanks a lot.

4
Technické fórum / Vyhlazené CZ fonty ???
« on: April 25, 2005, 12:45:36 PM »
Ahoj Mnemonicu,

koukám se na ten tvůj engine a líbí se mi čím dál víc. Teď jsem ovšem narazil na problém s fonty. Chtěl bych si udělat vlastní a vyhlazené písmo. Jenže při vygenerování BMP programem BitmapFont Builder se font v enginu zobrazuje divně. I když jsem postupoval podle návodu z fóra, tak se mezi písmeny dělaly mezery nebo tečky. Když udělám písmo nevyhlazené v tomtéž programu vše je ok. Jak mám udělat fonty vyhlazené i s českými znaky? Také by mě zajímalo, jakým způsobem byly fonty udělané ve hře Project Joe, kde jsou znaky vyhlazené i u dialogů postav (na různobarevném pozadí).

Díky moc zdar  ;)

Pages: [1]

Page created in 0.037 seconds with 18 queries.