I love the smell of UnrealEd crashing in the morning. – tarquin

User talk:Eliot

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

Hi there! It's a good thing to finally see someone add knowledge instead of questions to the wiki. ;-) —Wormbo 08:54, 22 April 2010 (UTC)

Hehe nice to have you on my talk page(first one...), i couldn't resist adding some knowledge :P, and btw would technical articles about the Unreal File format be acceptable here? i don't mind explaining how the summary order of every unreal signed file is saved i.e. header, Names Table, Export Table and the Import Table.
And also what you would you think of articles about UnrealScript ideas which would be an article about community ideas for general improvements or new features for unrealscript rather than silly requests and another article about UnrealScript Issues which would explain known parsing problems such as the defaultproperties{
} block.
And then another article perhaps named Third-Party extensions thus containing links to tools like the PreProcessor elmuerte made and community made operators/functions that are usable in general such as Legacy:WUtils. Eliot 19:09, 29 April 2010 (UTC)
That all sounds good to me, I dont see why a technical document on the package format would be a bad thing, there is one amongst the legacy stuff. As to general improvements or new features for unrealscript I did add acouple of ideas to my personal page, I dunno if youd consider them silly, they arnt super new ideas or anything but simply ideas for a 'less is more' styled approach to uscript. There are extensions for the udk, solidsnake has a dataobject up on the forums which would be an example of a udk extension someone might add to a page like youve suggested. --00zX 19:22, 29 April 2010 (UTC)

Within exploit[edit]

A exploit i found while working on MutBestTimes, using the within feature of UnrealScript, by accessing protected members of a specific class.

class ProtectedAccess extends Object within Weapon;
 
private function StartAccessingProtectedMembers()
{
	// Accessing FireModes without using this function
	//simulated function WeaponFire GetFireMode( byte Mode )
 
	//var() protected WeaponFire FireMode[NUM_FIRE_MODES];
	FireMode[0].FireRate += 2f;
}
 
final static function ProtectedAccess( Weapon W )
{
	local ProtectedAccess PA;
 
	PA = new(W) default.Class;
	PA.StartAccessingProtectedMembers();  // Calling private function...
	return;
}

Notice i'm also calling a private function of PA. --Eliot 03:07, 14 June 2010 (UTC)

I think it's similar in Java, i.e. protected members of outer classes can be accessed from inner classes. Basically UnrealScript's "within" corresponds to non-static inner classes in Java. Similarly Java allows accessing private members of a class from anywhere in the class, even through object references. —Wormbo 15:11, 14 June 2010 (UTC)