1. Erklärung der Funktionen sowie Alle Funktionen die man eigentlich für einen Hud Brauch.
2. Das Herausfinden der Position auf dem Bildschirm wo der Hud Später Hin soll.
3. Hud Erstellen
Hallo Erstmal
Ich Schreibe mein Erstes Tut über MTA(Multi Theft Auto)
Ich Hoffe ihr Versteht das Meiste wenn nicht Könnt ihr Gerne Nachfragen ich werde Versuchen Alle Fragen zu Beantworten .
Voraussetzungen :
Ein Bischen Ahnung von MTA server
Englisches Verständnis
So Nun Beginne ich mal:
1. Erklärung der Funktionen sowie Alle Funktionen die man eigentlich für einen Hud Brauch
Diese Funktionen Nutzen wir In diesem Tut jede von Ihnen werde ich mit einem Link zu der MTA wiki verlinken damit man sich Schlauer machen kann wenn man Möchte :



h











Erklärung :
getLocalPlayer = der Lokale Spieler wird Gefunden
dxCreateFont = eine Neue Schriftart wird in MTA eingefügt diese wird mit einer Datei der Resource hinzugefügt
getElementHealth = Das Leben wird Herausgefunden -Ein Wert wird ausgegeben 1-100
getPlayerMoney = Geld
guiGetScreenSize = Bildschirmauflösung wird Herausgefunden
getPedAmmoInClip = Die Munition in der Waffe die der Spieler Hält wenn er eine Waffe dabei hat wird Herausgefunden
getPedTotalAmmo = Die Totale Munition von einem Spieler wird Herausgefunden inkl aller Magazine
getPedWeapon = die Waffe des Spieler wird Herausgefunden
getWeaponNameFromID = die id die durch getPedWeapon ausgegeben wird wird zu einem Namen Gemacht
dxDrawText = ein Text wird auf den Bildschirm geschrieben
dxDrawImage = ein Bild wird auf den Bildschirm gemacht
dxDrawRectangle = Ein Rechteck wird auf den Bildschirm gemacht
getPedArmor = die Rüstung eines Spielers wird Herausgefunden -Ein Wert wird ausgegeben 1-100
showPlayerHudComponent = Die Hud Komponenten des Alten GTA huds kann man ein Und ausblenden
2. Das Herausfinden der Position auf dem Bildschirm wo der Hud Später Hin soll
Dazu Starten wir MTA, Klicken auf Host Game
Darauf achten das man den Guieditor in den Resourcen hat wenn nicht Sollte man ihn sich hier Runter laden :

das Müsste dann so Etwa aussehen :Nun Klicken wir auf Start danach Dauert es ein Bischen dann Finden wir uns Ingame wieder nun Loggen wir uns ein,
und geben das Kommand ein :
start guieditor in die Console in die man Durch F8 Kommt
dann Müsste es So aussehen in Etwa man Beachte die Unterstrichende Zeile
Nun Drücken wir Shift und G zusammen dann Sehen wir einen Mauszeiger mit dem Drücken wir jetzt Linksklick dann Öffnet sich ein Menü dort gehen wir auf Drawing
dann auf DX draw Rectangel nun Wählen wir die Position aus an Dem der Hud Später sein soll ich habe die Obere Rechte ecke Dafür Gewählt
Wenn wir Fertig sind Drücken wir Wieder Rechtsklick auf den Bildschirm dort Steht dann Print Code
dort Drücken wir drauf Dann Öffnet sich ein Fenster
Dies Kopieren wir und Fügen es in Ein Lua Dokument ein Nun Müssen wir noch machen das es bei Jeder auflösung gleich aussieht und an der Gleichen Stelle ist
dies Können wir durch Rechnen oder durch Probieren Rauskriegen. ich bin ein Fan der 2. Möglichkeit,
3. Hud Erstellen
So nun Fängt die Eigentliche Arbeit an :
Als Erstes finden wir den Lokalen Spieler raus und erstellen die neuen Fonts
rofl = getLocalPlayer ( )
nfont = dxCreateFont( "data/nFont.ttf", 20 )
ag = dxCreateFont( "data/agency.ttf", 22 )
uk = dxCreateFont( "data/UKNumberPlate.ttf", 22 )
Code:
und die Fonts immer unterschiedlich
Funktions Anfang :
Code:
addEventHandler("onClientRender",getRootElement(),
function ()
Nun Brauchen wir die Ganzen Variablen
für den Hud
die Finden wir so Raus :
Code:
local leben = getElementHealth ( rofl ) local money = getPlayerMoney(rofl) local sWidth,sHeight = guiGetScreenSize() clip = getPedAmmoInClip ( rofl ) ammo = getPedTotalAmmo ( rofl ) waffe = getPedWeapon ( rofl ) namewap = getWeaponNameFromID ( waffe ) local armor = getPedArmor ( rofl )
Nun zu den Positionen die wir Rausgefunden haben ich habe Etwas rumprobiert und schon die Passenden Kordinaten gesammelt
Code:
if leben >= 1 then dxDrawRectangle ( sWidth/1.19, sHeight/11.8, 120, 21, tocolor(1,1,1) ) dxDrawRectangle ( sWidth/1.18, sHeight/11.5, leben, 16, tocolor(200,0,0) ) if armor >= 1 then dxDrawRectangle ( sWidth/1.19, sHeight/8.8, 120, 22, tocolor(1,1,1) ) dxDrawRectangle ( sWidth/1.18, sHeight/8.5, armor, sHeight/55, tocolor(0,100,200) ) else end else end
Code:
dxDrawRectangle ( x-Kordinate, y-Kordinate, Breite, Höhe, tocolor(R,G,B) )
die Finden wir mit getPedAmmoInClip usw raus wie oben Beschrieben
Code:
if ammo ~= 0 then --Wenn munition was Anderes als 0 Ist dxDrawText( " :"..ammo-clip.."", sWidth/1.26, sHeight/4.4, 0, 0, tocolor(255,255,255), 0.7, Font ) --Die Anzahl der Munition wird auf den Bildschirm "gedrawt" in diesem Fall wird clip von Ammo subtrahiert dxDrawText( " :"..clip.."", sWidth/1.12, sHeight/4.4, 0, 0, tocolor(255,255,255), 1, Font ) --Die Munition die in dem "clip" noch ist wird Gedrawt dxDrawImage ( sWidth/1.31, sHeight/4.8, 50, 50, "anzeigen/Barrett 6.8.png", 0, 0, 0) --Bild einer Kugel wird Neben clip gedrawt dxDrawImage ( sWidth/1.16, sHeight/4.8, 50, 50, "anzeigen/mag.png", 0, 0, 0) --Bild eines Magazins wird neben Ammo Gedrawt else end
:
Code:
showPlayerHudComponent ( "radar", true ) showPlayerHudComponent ( "ammo", false ) showPlayerHudComponent ( "armour", false ) showPlayerHudComponent ( "health", false ) showPlayerHudComponent ( "weapon", false ) showPlayerHudComponent ( "clock", false ) showPlayerHudComponent ( "money", false )
:
Code:
rofl = getLocalPlayer ( ) nfont = dxCreateFont( "data/nFont.ttf", 20 ) ag = dxCreateFont( "data/agency.ttf", 22 ) uk = dxCreateFont( "data/UKNumberPlate.ttf", 22 ) addEventHandler( "onClientPreRender",getRootElement(), function( ) local leben = getElementHealth ( rofl ) local money = getPlayerMoney(rofl) local sWidth,sHeight = guiGetScreenSize() clip = getPedAmmoInClip ( rofl ) ammo = getPedTotalAmmo ( rofl ) waffe = getPedWeapon ( rofl ) namewap = getWeaponNameFromID ( waffe ) if ammo ~= 0 then --[[ammo-clip]] if (ammo >= 1000) then dxDrawText( " :"..ammo-clip.."", sWidth/1.26, sHeight/4.4, 0, 0, tocolor(255,255,255), 0.7, Font ) else munidraw = dxDrawText( " :"..ammo-clip.."", sWidth/1.26, sHeight/4.4, 0, 0, tocolor(255,255,255), 1, Font ) end --[[clip]] dxDrawText( " :"..clip.."", sWidth/1.12, sHeight/4.4, 0, 0, tocolor(255,255,255), 1, Font ) --[[clipbild]] dxDrawImage ( sWidth/1.31, sHeight/4.8, 50, 50, "anzeigen/Barrett 6.8.png", 0, 0, 0) --[[ammobild]] dxDrawImage ( sWidth/1.16, sHeight/4.8, 50, 50, "anzeigen/mag.png", 0, 0, 0) else end if leben >= 1 then dxDrawRectangle ( sWidth/1.19, sHeight/11.8, 120, 21, tocolor(1,1,1) ) dxDrawRectangle ( sWidth/1.18, sHeight/11.5, leben, 16, tocolor(200,0,0) ) if armor >= 1 then dxDrawRectangle ( sWidth/1.19, sHeight/8.8, 120, 22, tocolor(1,1,1) ) dxDrawRectangle ( sWidth/1.18, sHeight/8.5, armor, sHeight/55, tocolor(0,100,200) ) else end else end end ) showPlayerHudComponent ( "radar", true ) showPlayerHudComponent ( "ammo", false ) showPlayerHudComponent ( "armour", false ) showPlayerHudComponent ( "health", false ) showPlayerHudComponent ( "weapon", false ) showPlayerHudComponent ( "clock", false ) showPlayerHudComponent ( "money", false )
und Etwas Schöner zu machen wenn Weiterhin Fragen bestehen
Bitte in den Kommentaren Fragen,
Die Bilder Müsst ihr Entweder Selbst suchen oder wenn Genügend nachfrage besteht Uploade ich sie Nochmals.
MfG







