Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest WME version: WME 1.9.1 (January 1st, 2010) - download

Author Topic: Podivné chování save  (Read 3620 times)

0 Members and 1 Guest are viewing this topic.

Net

  • Gripped Software Programmer
  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 48
    • View Profile
    • Čurina
Podivné chování save
« on: October 15, 2007, 10:17:33 PM »

Ahoj,
potřeboval bych poradit s ukládáním/načítáním hry.

Když dám uložit hru, tak vše proběhne v pořádku, ale opětovné načtení hry do slotu dělá problémy.
Hru uložím na pozici 1. Tlačítko má taky jméno 1, ale dostanu se k němu přes GetControl(0)  :o

Určitě budu mít někde chybu ve skriptu, ale ani za nic ji nemůžu najít.

Zde je onen skript SAVE.

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

self.xResult = false;

var SelectedSlot;

SetState();

////////////////////////////////////////////////////////////////////////////////
on "zpet"
{
  self.Close();
}

////////////////////////////////////////////////////////////////////////////////
on "uloz_hru"
{
  if(SelectedSlot > 0)
  {
var edit = self.GetControl(ToString(SelectedSlot) + "_ed");
    Game.SaveGame(SelectedSlot, edit.Text);
  Game.LoadWindow("interface\system\mainmenu.window");
  }
}


////////////////////////////////////////////////////////////////////////////////
on "Keypress"
{
  var button;

  if(Keyboard.KeyCode==VK_ESCAPE)
{
    button = self.GetControl("close");
    button.Press();
  }
}

////////////////////////////////////////////////////////////////////////////////
function SetState()
{
  for(var i=1; i<9; i=i+1)
  {
    var SlotButton = self.GetControl(i-1);

    if(Game.IsSaveSlotUsed(i))
    {
      SlotButton.Text = Game.GetSaveSlotDescription(i);
    }
  }
}

////////////////////////////////////////////////////////////////////////////////
on "1"
{
  SelectedSlot = 1;

  var button = self.GetControl("1");
  var edit = self.GetControl("1_ed");
 
  if(Game.IsSaveSlotUsed(1)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "2"
{
  SelectedSlot = 2;

  var button = self.GetControl("2");
  var edit = self.GetControl("2_ed");
 
  if(Game.IsSaveSlotUsed(2)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "3"
{
  SelectedSlot = 3;

  var button = self.GetControl("3");
  var edit = self.GetControl("3_ed");
 
  if(Game.IsSaveSlotUsed(3)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "4"
{
  SelectedSlot = 4;

  var button = self.GetControl("4");
  var edit = self.GetControl("4_ed");
 
  if(Game.IsSaveSlotUsed(4)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "5"
{
  SelectedSlot = 5;

  var button = self.GetControl("5");
  var edit = self.GetControl("5_ed");
 
  if(Game.IsSaveSlotUsed(5)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "6"
{
  SelectedSlot = 6;

  var button = self.GetControl("6");
  var edit = self.GetControl("6_ed");
 
  if(Game.IsSaveSlotUsed(6)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "7"
{
  SelectedSlot = 7;

  var button = self.GetControl("7");
  var edit = self.GetControl("7_ed");
 
  if(Game.IsSaveSlotUsed(7)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

on "8"
{
  SelectedSlot = 8;

  var button = self.GetControl("8");
  var edit = self.GetControl("8_ed");
 
  if(Game.IsSaveSlotUsed(8)) edit.Text = button.Text;
 
  button.Visible = false;
  edit.Visible = true;
}

a LOAD:

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

var SelectedSlot;

SetState();

////////////////////////////////////////////////////////////////////////////////
on "zpet"
{
  self.Close();
}

////////////////////////////////////////////////////////////////////////////////
on "nacti_hru"
{
  if(SelectedSlot > 0) Game.LoadGame(SelectedSlot);
}


////////////////////////////////////////////////////////////////////////////////
on "Keypress"
{
  var button;

  if(Keyboard.KeyCode==VK_ESCAPE){
    button = self.GetControl("zpet");
    button.Press();
  }
}

////////////////////////////////////////////////////////////////////////////////
function SetState()
{
  var thumbnail = self.GetControl("thumbnail");
  for(var i=1; i<9; i=i+1)
  {
    var SlotButton = self.GetControl(i-1);
thumbnail.SetImage("savegame:" + SelectedSlot);

    if(Game.IsSaveSlotUsed(i))
    {
      SlotButton.Text = Game.GetSaveSlotDescription(i);
      SlotButton.Disabled = false;
    }
    else
    {
      SlotButton.Disabled = true;
    }
  }
}

////////////////////////////////////////////////////////////////////////////////
on "1"
{
  SelectedSlot = 1;
}

on "2"
{
  SelectedSlot = 2;
}

on "3"
{
  SelectedSlot = 3;
}

on "4"
{
  SelectedSlot = 4;
}

on "5"
{
  SelectedSlot = 5;
}

on "6"
{
  SelectedSlot = 6;
}

on "7"
{
  SelectedSlot = 7;
}

on "8"
{
  SelectedSlot = 8;
}

Lámu si nad tím hlavu a nevím co dál.

Předem dík za návrhy
Logged

Net

  • Gripped Software Programmer
  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 48
    • View Profile
    • Čurina
Re: Podivné chování save
« Reply #1 on: October 16, 2007, 09:56:54 AM »

Tak nic, problém vyřešen. Z nějakého důvodu to nechtělo brát tlačítka začínající číslem.
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Podivné chování save
« Reply #2 on: October 16, 2007, 10:11:51 AM »

Ona totiz ta metoda GetControl() se chova ruzne podle toho, jestli ji posles text nebo cislo. Kdyz ji posles text, hleda ovladaci prvek s danym jmenem. Kdyz ji posles cislo, vrati ti prvek v danem poradi na okne.
Takze bys musel explicitne tu promennou SelectedSlot prevest na text:

Code: WME Script
  1. this.GetControl(ToString(SelectedSlot));
  2.  
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

Net

  • Gripped Software Programmer
  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 48
    • View Profile
    • Čurina
Re: Podivné chování save
« Reply #3 on: October 16, 2007, 01:10:37 PM »

Dík za radu. Dám si na to pozor.  ;)
Logged
 

Page created in 0.163 seconds with 24 queries.