|
Ce tutorial permettra
de modifier le menu principal de Unreal Tournament 2003 et le
personnaliser. Logiciel utilisé pour le codage est WrotGreal.

Tous d'abord créer un
dossier "Interface"
dans le dossier Unreal Tournamant 2003 en ajoutant a nouveau un
dossier "classes"
comme ceci: "UT2003/Interface/Classes/"
Allez dans les fichier
sources du jeu "ut2003-2225-source"
dans "XInterface/Classes"
et copiez le fichier "UT2MainMenu.uc"
dans le dossier "UT2003/Interface/Classes/".
Maintenant allez
modifier le fichier "UT2003.ini"
(faites une
copie de sauvegarde de ce fichier)dans
le dossier "UT2003/System/"
et rajouter dans:
[Engine.GameEngine]
..
ServerPackages=Vehicles
ServerPackages=TeamSymbols_UT2003
ServerPackages=Interface
<== ligne a
rajouter
Ensuite
[Editor.EditorEngine]
..
EditPackages=SkaarjPack_rc
EditPackages=OGGPlayer
EditPackages=Interface
<== ligne a
rajouter
Après
[UnrealEd.UnrealEdEngine]
..
EditPackages=SkaarjPack_rc
EditPackages=OGGPlayer
EditPackages=Interface
<== ligne a
rajouter
Finalement
[Engine.GameEngine]
..
MainMenuClass=XInterface.UT2MainMenu
<== remplacer
par "MainMenuClass=Interface.UT2MainMenu"
Cela permettra au
compilateur de prendre en compte votre dossier "Interface".
Voila la préparation
est fini.
Analyse du fichier
UT2MainMenu.uc
Le fichier est
présenter dans l'ordre du code mais certain passage ne seront pas
expliquer tout simplement qu'ils n'ont aucun utilité pour ce que
l'on veut faire, bien qu'il est une importance quand même mais qui ne
nous concerne pas pour l'instant.
Fonctions des
boutons:
Cette partie du code
permettre de renvoyer les pages auquel appartienne les boutons
function bool
ButtonClick(GUIComponent Sender)
{
if ( Sender==Controls[2] )
Controller.OpenMenu("xinterface.UT2SinglePlayerMain");
if ( Sender==Controls[3] )
Controller.OpenMenu("xinterface.ServerBrowser");
if ( Sender==Controls[4] )
Controller.OpenMenu("xinterface.UT2MultiplayerHostPage");
if ( Sender==Controls[5] )
Controller.OpenMenu("xinterface.UT2InstantActionPage");
if ( Sender==Controls[6] )
Controller.OpenMenu("xinterface.UT2SettingsPage");
if (Sender==Controls[7] )
Controller.OpenMenu("xinterface.UT2QuitPage");
Exemple:
if (
Sender==Controls[6] )
Controller.OpenMenu("xinterface.UT2SettingsPage")
Le bouton numéroté 6
ouvre la page des options.
Images:
Je répéterai sans
doute la même a certain moment mais je préfère redire que oublier :)
Le logo du menu (attention
n'inclue pas le petit logo "U" qui est une autre texture
indépendante)

defaultproperties
..
Begin Object
Class=GUIImage Name=ImgUT2Logo
//Nom de
l'image
Image=material'InterfaceContent.Logos.Logo'
//Adresse
complète de l'emplacement de la texture dans les fichier UTX
ImageStyle=ISTY_Scaled
//Définition si
il y a de l'alpha dans la texture
ImageRenderStyle=MSTY_Alpha
ImageColor=(R=255,G=255,B=255,A=255)
//couleur de
l'image & opacité (R=Red, G=Green, B=Bleu, A=Alpha)
WinWidth=0.800000
//Taille de l'image en
largeur
WinHeight=0.500000
//Taille de l'image en
longueur
WinLeft=0.100000
//Permet de déplacer
de gauche à droite
WinTop=-0.033854
//Permet de monter ou
le descendre
End Object
Controls(0)=GUIImage'ImgUT2Logo'
//Numéro du bouton et
nom de l'image

Begin Object
Class=GUIImage Name=ImgUT2Shader
//Nom de
l'image
Image=material'InterfaceContent.Logos.fbSymbolShader'
//Adresse
complète de l'emplacement de la texture dans les fichier UTX
ImageStyle=ISTY_Scaled
WinWidth=0.198242
//Taille de
l'image en largeur
WinHeight=0.132813
//Taille de
l'image en longueur
WinLeft=0.399414
//Permet de
déplacer de gauche à droite
WinTop=0.223958
//Permet de
monter ou le descendre
// bVisible=false
//Autorise/Interdit les effets graphique sur la texture
End Object
Controls(1)=GUIImage'ImgUT2Shader'
//Numéro du
bouton et nom de l'image
Bouton menu:

defaultproperties
..
Begin Object
Class=GUIButton Name=SinglePlayerButton //Nom du bouton
StyleName="TextButton" //Le type de
bouton
Caption="SINGLE PLAYER"
//Ce qui sera
affiché à l'écran
Hint="Play through the Tournament"
//Commentaire
sur le bouton
OnClick=ButtonClick
//Style de validation
de la commande
WinWidth=0.500000
//Épaisseur de
l'arborescence en longueur
WinHeight=0.075000
//Épaisseur de
l'arborescence en hauteur
WinLeft=0.250000
//Permet de déplacer
de gauche à droite
WinTop=0.438802
//Permet de monter ou
le descendre
bFocusOnWatch=true
//Autorise/Interdit
effets de transition de l'arborescence
End Object
Controls(2)=GUIButton'SinglePlayerButton'
//Numéro du bouton et
nom du bouton

defaultproperties
..
Begin Object
Class=GUIButton Name=MultiplayerButton
//Nom du bouton
StyleName="TextButton"
//Le type de
bouton
Caption="PLAY ON-LINE/LAN"
//Ce qui sera
affiché à l'écran
Hint="Play with Human Opponents Over the Lan or the Internet"
//Commentaire
sur le bouton
OnClick=ButtonClick
//Style de
validation de la commande
WinWidth=0.500000
WinHeight=0.075000
WinLeft=0.250000
//Permet de
déplacer de gauche à droite
WinTop=0.506251
//Permet de
monter ou le descendre
bFocusOnWatch=true
//Autorise/Interdit effets de transition de l'arborescence
End Object
Controls(3)=GUIButton'MultiplayerButton'
//Numéro du
bouton et nom du bouton

defaultproperties
..
Begin Object
Class=GUIButton Name=HostButton
//Nom du bouton
StyleName="TextButton"
//Le type de
bouton
Caption="HOST MULTIPLAYER GAME"
//Ce qui sera
affiché à l'écran
Hint="Start a server an invite others to join your game"
//Commentaire
sur le bouton
OnClick=ButtonClick
//Style de
validation de la commande
WinWidth=0.500000
WinHeight=0.075000
WinLeft=0.250000
//Permet de
déplacer de gauche à droite
WinTop=0.577866
//Permet de
monter ou le descendre
bFocusOnWatch=true
//Autorise/Interdit effets de transition de l'arborescence
End Object
Controls(4)=GUIButton'HostButton'
//Numéro du
bouton et nom du bouton

defaultproperties
..
Begin Object
Class=GUIButton Name=InstantActionButton
//Nom du bouton
StyleName="TextButton"
//Le type de
bouton
Caption="INSTANT ACTION"
//Ce qui sera
affiché à l'écran
Hint="Play a Practice Match"
//Commentaire
sur le bouton
OnClick=ButtonClick
//Style de
validation de la commande
WinWidth=0.500000
WinHeight=0.075000
WinLeft=0.250000
//Permet de
déplacer de gauche à droite
WinTop=0.658334
//Permet de
monter ou le descendre
bFocusOnWatch=true
//Autorise/Interdit effets de transition de l'arborescence
End Object
Controls(5)=GUIButton'InstantActionButton'
//Numéro du
bouton et nom du bouton

defaultproperties
..
Begin Object
Class=GUIButton Name=SettingsButton
//Nom du bouton
StyleName="TextButton"
//Le type de
bouton
Caption="SETTINGS"
//Ce qui sera
affiché à l'écran
Hint="Change Your Controls and Settings"
//Commentaire
sur le bouton
OnClick=ButtonClick
//Style de
validation de la commande
WinWidth=0.500000
WinHeight=0.075000
WinLeft=0.250000
//Permet de
déplacer de gauche à droite
WinTop=0.733595
//Permet de
monter ou le descendre
bFocusOnWatch=true
//Autorise/Interdit effets de transition de l'arborescence
End Object
Controls(6)=GUIButton'SettingsButton'
//Numéro du
bouton et nom du bouton

defaultproperties
..
Begin Object
Class=GUIButton Name=QuitButton
//Nom du bouton
Caption="QUIT"
//Ce qui sera
affiché à l'écran
Hint="Exit Unreal Tournament 2003"
//Commentaire
sur le bouton
OnClick=ButtonClick
//Style de
validation de la commande
StyleName="SquareMenuButton"
//Le type de
bouton
WinWidth=0.205078
WinHeight=0.042773
WinLeft=0.391602
//Permet de
déplacer de gauche à droite
WinTop=0.905725
//Permet de
monter ou le descendre
bFocusOnWatch=true
//Autorise/Interdit effets de transition de l'arborescence
End Object
Controls(7)=GUIButton'QuitButton'
//Numéro du
bouton et nom du bouton
Fond d'écran:

defaultproperties
..
Background=Material'InterfaceContent.Backgrounds.bg10' //Adresse
complète de l'emplacement de la texture dans les fichier UTX
WinWidth=1.0
//Taille de l'image
(de 0.0 à 1.0) par rapport à la taille de l'image
WinHeight=1.0
//Taille de l'image
(de 0.0 à 1.0) par rapport à la taille de l'image
WinTop=0.0
WinLeft=0.0
OnCanClose=CanClose
OnKeyEvent=MyKeyEvent
AllowClose=False
bAllowedAsLast=true
bDisconnectOnOpen=true
Voila l'analyse du
fichier est fini.
Modification
Nous pouvons passez a
la partie pratique.
Nous allons en fait
bougez le menu de telle façon qu'il soit en escalier et changer le
fond d'écran. Nous ne toucherons pas au logo et au petit 'u' car se
sont les même procédé pour le déplacement et le changement de
texture.

Voici le plan pour les
déplacements

Attention le programme
déplace les menus a partir de ce point la!

et non pas a partie de
celui ci!

Ouvrez a nouveau le
fichier "UT2MainMenu.uc"
et chercher le
paragraphe sur le premier bouton "Single
Player"
Caption="SINGLE PLAYER"
..
WinLeft=0.250000 =>
changer par WinLeft=0.050000 ce
qui permettra de le faire avancer vers la gauche.
"Play
on-line/Lan"
Caption="PLAY
ON-LINE/LAN"
..
WinLeft=0.250000 =>
changer par WinLeft=0.100000
"Host
Multiplayer Game"
Caption="HOST MULTIPLAYER GAME"
..
WinLeft=0.250000 =>
changer par WinLeft=0.200000
"Instant
Action"
Caption="INSTANT
ACTION"
...
WinLeft=0.250000
=> changer par
WinLeft=0.150000
"Settings"
Caption="SETTINGS"
..
WinLeft=0.250000
=> changer par
WinLeft=0.140000
Une fois fini enregistrer et compilé
avec Wotgreal.
Maintenant nous allons nous occupé du
fond d'écran
Choisissez le fond d'écran que vous
voulez et il doit être en puissance-de-2(2, 4, 8, 16, 32, 64, 128,
256, 512, 1024,...). Ceux d'UT2003 sont en 1024*1024. Mais sa
pourrait très bien être 1024*512.
Allez ouvrir "UnrealEd"
ensuite ouvrez "Texture
Browser" et remplissez comme
ceci:

et faites "New".
Ensuite faites "file"
et "Import",
allez recherchez votre fond. Il doit apparaître comme ceci:

Enregister le package en laissant
deja le nom proposé.
Le nom la texture est "00".
Maintenant repartez dans votre
fichier "UT2MainMenu.uc"
et allez au paragraphe concernant le fond d'écran.
Background=Material'InterfaceContent.Backgrounds.bg10'
=> changer par
Background=Material'Modification.Fond.10'
Enregistrer et compilez.
Vous devez vous retrouver avec ceci:

Voila j'espère que ce tutorial vous
apprendra a créer de belle présentation.
Par le WebMaster |