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) Určitě budu mít někde chybu ve skriptu, ale ani za nic ji nemůžu najít.
Zde je onen skript
SAVE.
#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:
#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