Hello Athena,

thanks a lot for the suggestion.

Do you think it would that be much slower or no problem at all? I have all Data stored in a TPlayer Record, then should I do that to every single value in the record or can I make a ^ on the record itself, would that also help?

The record of TPlayer contains long lasting data, can be saved etc.
The other records both contain data for space and planet missions are new created each level.

TPlayer=record
nscore,nface: integer;
sname: string[20];
sstatement: string[32];
srank: string[20];
nExp,nXRunlong,nXRunfast,
nXWalkfast,nXShootfast,
nXEnergy: integer;
nrank,
ncredit: integer;
yco: single;
control: tcontrol;
nshieldtime: integer;
colshipr,colshipg,colshipb: byte;
colmanr, colmang, colmanb : byte;
nchosenprimary,nchosensecondary: byte;
npainkiller,nmanweapon,nmanarmor,
nshiparmor: byte;
priweapon1f,priweapon1s,
priweapon1r,priweapon1fd,priweapon1rd,
spapriweapon2, spapriweapon3,
surpriweapon2, surpriweapon3,
surpriweapon1: byte; //Waffe StAŹ§rke
prienergy1, prienergy2, prienergy3: byte; //Waffe Energie
prienergy1r,prienergy2r,prienergy3r:byte; //Waffe Energie Reload
nsatelite1,nsatelite2: byte;
ndrone1,ndrone2,ntracers,ntracertime: byte;
// secweapon1, secweapon2, secweapon3: byte;
spapriammo1, spapriammo2,
spapriammo3: integer; //Ammo Anzahl
surpriammo1, surpriammo2,
surpriammo3: integer; //Ammo Anzahl
sursecammo1: single;
sursecammo2, sursecammo3: integer;
spasecammo1,spasecammo2,
spasecammo3: integer;
nengine, nreload,nbot,ndef: byte;
charE,charX,charT,charR,charA: boolean;
proR,proB,proY: boolean;
end;
TPlayerMan = class(TSprite)
Xco,Yco,nshootnr,
LastXco,LastYco: single;
SaveXco,SaveYco: single;
SaveSaveXco,
SaveSaveYco: single;
SchattenX,SchattenY,
LastX,LastY: single;
nlastscrolly: single;
nWavelapsed: single;
Status: Tstatus;
nEnergy: Integer;
nBullet,nRocket: Byte;
nEnergya,nBulleta,
nRocketa: Byte;
RichtLauf, RichtFeuer, Lastr: TRicht;
nAnimation,
nAniWait,
nAniSpeech,
naniHit: byte;
nHurt: single;
nshootindex,
nimageindex: single;
naniNohit,
naniKill,
nAniBonus,
naniFreeze: integer;
nspeedindex,
nspeedcount: byte;
nplayerdran: byte;
boolfeuert,
boolsprint: boolean;
boolisdead: boolean;
constructor Create(const AParent: TOmegaSprite; nPlayernr: byte); overload;
procedure draw; override;
procedure move(const movecount: single); override;
procedure oncollision(const sprite: tsprite; const colx,coly: integer); override;
end;
TPlayerShip = class(TSprite)
nanim: single;
nWavelapsed: single;
xhit,yhit: single;
nEnergy,nLasertime: single;
nshootnr,nruettel,nrauch: single;
nEnergya,nShootwaita: Byte;
nplayerdran: byte;
// neigleft,neigup: byte;
constructor Create(const AParent: TOmegaSprite; nPlayernr: byte); overload;
procedure draw; override;
procedure move(const movecount: single); override;
procedure oncollision(const sprite: tsprite; const colx,coly: integer); override;
end;
I would need to make it hard to 'hack' into all TPlayer values, and some of the Playership/Playerman values like Energy. A main problem could be the shop scene, where you click a button then loose money and get a new weapon or something.

Thanks a lot,
Firle