**Got you covered, **it’s a ballache for me to understand any code, i do not know how to get a crosshair working. But if i can get a whole savegame kismet working then anyone can.
UDN - SaveGameState Gem
- All you need to know is it works. Touch nothing
- no kismet required
- This Image Below shows An Integer.
** When the Player picks up the weapon, it changes the integer from 0 to 1.
***It will save because the SaveGame Gem saves Kismet, the same is true for matinee sequences. (Bools don’t seem to work well, but Int’s and matinee sequences work 100%)
** When the Game is loaded, compare the int we saved earlier and manually give the items back.
**Crusha’s **- Ultimate Save System (USS)](User:Crusha/UltimateSaveSystem - Unreal Wiki)
- As above, touch no code, it just works
- Kismet required
- also easy to add code to
**WorldOFDasm **Staff- Save Game Tutorial (USS - Strongly recommended for you)](Save_game_Tutorial_Menu)
**Mavrik’s **- Basic savegame tutorial (for reading - it is not basic, it is just the savegamestate gem explained)](UDK Basic Save Game Tutorial - Mavrik Games)
TKBS/ FreeTimeCoder - Adventure-Shoot’n’Save-Kit [OLD]](- YouTube)
TKBS- My brand new super easy to use gamedevkit](- YouTube)
Your End result should be simple like this:
- 924 Lines in a Text File [See AttachMents]
- KismetSnippet-Save-Load-Delete.txt (39.5 KB)*
If you wish to save Integers and stuff using the SaveGame GEM then you will do something like this:
//this Object contains our game vairables and pickup items.
//When "savegame" is called all this saves ??
// no config file is created ??
class ItemSaveObject extends Object config(MazeGame) perobjectconfig;
var string SaveName;
var config int item1;
var config int Item2;
var config int Item3;
var config int Weapon1;
var config int Weapon2;
var config int Weapon3;
function LoadObject(String Path)
{
//LOAD
class'Engine'.Static.BasicLoadObject(Self, Path, True, 1);
}
// when this file is called from in our savegamestate.uc it should automatically save itself?
//save itself as basicsaveobject with all values visible in the UDKMazeGame.ini
function SaveObject(String Path)
{
SaveConfig();
class'Engine'.Static.BasicSaveObject(Self, Path, True, 1);
}
DefaultProperties
{
SaveName="MazeSaveItemList.sav"
}
…But personally i am just rocking everything as a 0 or 1 integer value and doing everything in kismet sequences.
USS:
You can download the USS linked on the WorldOfDASM and copy/paste the attached text file into a map
The checkpoints shown in the image are simply triggers with custom textures, easier from an LD perspective.
class MazeLocation_Trigger extends Trigger
ClassGroup(MazeContent)
placeable;
defaultproperties
{
Begin Object Name=Sprite
Sprite=Texture2D'Maze_EditorResources.Textures.PlayerLocation'
HiddenGame=False
AlwaysLoadOnClient=False
AlwaysLoadOnServer=False
End Object
Components.Add(Sprite)
}
Kismet Notes Stuff that might help:
- Attach to event -
- On Death -
// remember who is dead and alive etc
- Player Spawned -
// usually after death
Level Loaded and Beginning of level
// be careful not to confuse or overload
SaveGameStateLoaded
// important with the USS
It is 2017 and i do not feel that people should still struggle with this stuff, It should be made easy for people to understand and readily available. Once i solve a few issues with the Kit (shown in the video) the whole thing will be available to D/L
For me this was the Golden Code i wanted for 7 years. Enjoy it.