[Tutorial] [LUA] Einstieg (Anfänger)
Hallo
Heute präsentiere ich euch ebenfalls was wichtiges, die debug Konsole.
Wir führen sie auch durch /debugscript 3 natürlich müssen wir den Rank eines Administratorens haben.
Wir unterscheiden den unterschied zwischen INFO, WARNING, und ERROR.
- INFO
Abgerufen nur durch die Funktion im Script (outputDebugString. Wir können durch diese sehen wo der Code ausgeführt wurde.
- WARNING
Dies ist eine Warnung , dir nur von dem Server kommt, erscheint z. B. wenn der Parser die Funktion , die wir in addEventHandler definiert haben nicht finden könnte .
- ERROR
Aufgerufen durch Funktion Error oder durch parser. Erscheint zB wenn wir zu wenig ends haben.
- Marker(Pickup) Spawn von Fahrzeug
- Nun erstellen wir einen Marker und nutzen die Funktion createMarker, unser Marker wird die Größe 2 haben und Rot sein.
- 255, 000, 000 ist die Farbe in der RGB.
- http://www.rapidtables.com/web/color/RGB_Color.htm
- Cylinder ist die Art vom Marker
local infernuS = createMarker(2488.8708496094, -1656.8953857422, 12.5, "cylinder" 2, 255, 000, 000)
- Unsere Position können wir so prüfen.
function getPos ()
x,y,z = getElementPosition(source)
outputChatBox(""..x..","..y..","..z.."", soure)
end
addCommandHandler("pos", getPos)
- Nun kommen wir zur unserer Funtkion
function infernuS (player)
if getElementType(player) ~= "player" then return end
if getPedOccupiedVehicle(player) then -- wenn spieler im Fahrzeug ist senden wir Ihm folgendes
outputChatBox("verlasse erst das Fahrzeug!", player)
return end
if getElementData(player, "nahmAuto") == true then -- falls der spieler das Fahrzeug namen verbieten wir es Ihm nochmal zu nehmen.
outputChatBox("fahrzeug bereits genommen", player)
return end
x, y, z = getElementPosition(player)
infernus = createVehicle(411, x, y, z) -- erstellen unser Fahrzeug
warpPedIntoVehicle(player, infernus) -- porten den Spieler zum Fahrzeug
setElementData(player, "nahmAuto", true)
outputChatBox("infernus Gespawnt :)", player)
end
addEventHandler("onMarkerHit", infernuSS, infernuS)
Alles anzeigen
Funktion set/getElementData, damit speichern für kurz alles für den Spieler bis er den Server verlässt, das gleiche können wir zB in der Paintball Arena abfragen wie viel male er getroffen wurden und mit setElementData speichern.
2. Bedienungen IF
- Erstes Beipspiel
- Zweites Beispiel wie man sehen kann beenden wir den code mit end, doch es gibt auch else wenn es nicht richtig ausgeführt wird
if a == b then
outputChatBox("A hat den gleichen Wert wie B")
else
outputChatBox("A hat ein anderen Wert als B")
end
- Drittes Beispiel elseif wenn es ist korrekt ausgeführt wird
if a == b then
outputChatBox("A hat den gleichen Wert wie B")
elseif c == d
outputChatBox("A hat anderen Wert als B, aber C hat den gleichen Wert wie D")
end
- Viertes Beispiel return
if getElementData(source, "test") == 4 then
outputChatBox("Darum ging es mir nicht")
end
outputChatBox("Datum ging es mir")
- Fünftes Beispiel
- IF getElementData(source, "test") ist gleich 4 es zeigen sich beide Nachrichten doch wenn ich es zB so mache,
if getElementData(source, "test") == 4 then
outputChatBox("Darum ging es mir nicht")
return end
outputChatBox("Darum ging es mir")
- dann nur die erste da wir reutrn genutzt haben. Diese Funktion hält die Code in diesem Punkt an.
- < wenn eine Zahl kleiner ist von der andere
- > wenn eine Zahl größer ist als die andere
- ~= wenn einer der Inhalte anders ist als der Zweite zB. A ~= B
- wenn die Inhalte gleich sind zB. A == A
- <= wenn eine Zahl kleiner ist oder gleich wie die andere 1 <= 2
- >= wenn eine Zahl größer ist oder gleich wie die andere 2 >= 1
3. Anonyme Funktionen/ Funkionen ohne Namen
- Beispiel
addEventHandler("onPlayerChat", resourceRoot,
function ( )
if isPlayerMuted(source) then
outputChatBox("Du bist gemutet und kannst nicht schreiben", source)
return end
end)
addEventHandler("onPlayerChat", resourceRoot, function ( ) outputChatBox("Du hast was geschrieben!", source) end)
- Die Anonyme Funktionen können wir später nicht bei addEventHandler nutzen da sie keinen Namen haben, außer wir definieren sie sie unter addEventhandler.
4. Port Marker
- Wir erstellen diesmal ein Standart Blauen Marker.
- Jetzt die Funktion
function teleport (player)
if getElementType(player) ~= "player" then return end
setElementPosition(player, 2440.1860351563, -1646.46875, 27.388200759888)
end
addEventHandler("onMarkerHit", teleport2, teleport)
Alles anzeigen
- Möchtest du den Spieler in ein Interior Porten? vergiss nicht dieses https://wiki.multitheftauto.com/wiki/DE/Interior_IDs
- Sammlung der Links.
https://wiki.multitheftauto.com
https://wiki.multitheftauto.com/wiki/DE/Interior_IDs
http://www.rapidtables.com/web/color/RGB_Color.htm
Hoffe es hat euch gefallen.
lg Alex