Archiv verlassen und diese Seite im Standarddesign anzeigen : ...:::LUA für Anfänger:::..
Kurz und knapp:
Auf folgender Seite ist LUA ziemlich gut erklärkt und ich hoffe es hilft einigen Leuten;)
-->LUA für Anfänger (http://lua.gts-stolberg.de/)
-->dies sollte man anpinnen:D
mfg Pac_187
Blackfinal
17.07.2006, 14:06
Ich habe es mir mal kurz durchgelesen und denke das man wenn man lua lernen will damit anfängt.Man versteht eigentlich alles was Darin erklärt wird
btW: Pinned
Robertico
17.07.2006, 17:00
Ich habe es mir mal kurz durchgelesen und denke das man wenn man lua lernen will damit anfängt.Man versteht eigentlich alles was Darin erklärt wird
btW: Pinned
Danke für die Blumen. Versuche auch, so wie ich Zeit habe, immer zu erweitern. Heute habe ich mit der Erklärung von Metatables angefangen.
Sollte etwas nicht verstanden werden: Ich habe bisher jede Mail beantwortet.
Noch eins. Habe in einem Beitrag hier gelesen, dass jemand, der noch nicht mal wusste was C++ ist, dies zuerst lernen sollte.
Denke das ist das gleiche als wenn man sagt: Mache zuerst den Pilotenschein, dann ist der Führerschein einfach ;)
Gruß Robert
PAY_DAY = 40; -- How much you recieve on pay day
MONEY = 500;
TIME_BIS_PAY = 1
for TIME_BIS_PAY = 1, 200, 1.0 do
print = TIME_BIS_PAY
if TIME_BIS_PAY = 200 == then
MONEY = MONEY + PAY_DAY
print (MONEY)
TIME_BIS_PAY = TIME_BIS_PAY - 199
end
end
mein erster versuch nur beim roten sacht er
[ERROR]: `then' expected near `=' (8) - 17.07.2006 21:54:48
ach ja dein tut is gooooooood
Robertico
17.07.2006, 21:10
if TIME_BIS_PAY = 200 == then
Wörtlich übersezt heist das:
Wenn (TIME_BIS_PAY du hast jetzt den Wert 200) ist gleich dann:
Kann lua nicht verstehen. (ich auch nicht) ;)
Denke das meinst du :
if TIME_BIS_PAY == 200 then
Das heist:
Wenn TIME_BIS_PAY ist gleich 200 dann:
Kommt aber noch ein Fehler. Schau mal, was du mit print anstellst.
oh danke umm naja anfänger halt ich mag solche leute ja auch net die immer sawas fragen wie der dark ne (:lol: :lol: :lol: )
aber der printet mir das garnet im output fenster
Robertico
17.07.2006, 21:20
Habe noch etwas erweitert. Du machst die Funktion print zu einer Zahl.
Wundert mich, das er nicht meckert.(der PC)
function: 00CF0D1C
das sacht der immer wenn ich math.randomseed (os.time() ) mache
ich möchte aber nen zufallswert zwischen 0-100 haben und bei math.random sacht der fast das gleiche
wenn ich nen math.random mach wie mach ich es dann das er die zahl die rauskommt mit einer anderen mal nimmt
for a = 1, 1000, 1 do
if a ==1000 then
math.random ( 1 , 10 )
c = math.random * b
print ( b )
end
end
Robertico
18.07.2006, 18:12
Ich erkläre dir das zwar gerne, aber du solltest zunächst mal intensiv mit den ersten 5 -6 Tutorials anfangen.
math.random ist eine Funktion. Funktionen haben, wenn man sie brauchen will, immer ein (oft_mit_Parameter). Sie übergeben meist etwas an eine oder mehrere Variablen, die davor stehen.
zahl = math.random(1, 10)
Die zahl kannst du dann ausdrucken.
Nimm dir etwas Zeit. Rom ist auch nicht an einem Tag erbaut worden ;)
Und du musst sehen, ob es bei euch überhaupt os gibt. Das wird oft lahmgelegt.
print (type(os)) - muss "table" herauskommen.
wenn ichs richtig verstanden hab dann soll ich das im luaedit eingeben
hab ich kam auch table raus die dinger wo man sone art menü machen kann oder so sachen zusamen fassen ann die dann z.b. mit print table... angezeigt werden ??
is dat richtig:?: ;)
btw der sacht attempt to call global
Robertico
18.07.2006, 22:12
Das hast du richtig verstanden. Denn ich denke es geht zunächst einmal darum lua zu verstehen.
Nachher fehlen ein paar Möglichkeiten ( aus gut verständlichen Sicherheitsgründen )
Das hat aber mit LUA selbst nichts zu tun, sondern mit den Funktionen, die Lua bereitstellt.
kann mir bitte einer erklären warum dieser hier nicht funktioniert?
gordondied = false
gordonisstillalive = true
if gordondied == false then
print ("Game Over")
else gordonisstillalive == true then
print ("He saved the world")
end
Bei dem Problem kann ich nicht helfen, aber Lua für Anfänger ist nicht schlecht, werde mich mal ransetzen
Hm, hab n paar Fehler gefunden, was syntax und so etwas angeht..
Doppelpost-Edit:
kann mir bitte einer erklären warum dieser hier nicht funktioniert?
gordondied = false
gordonisstillalive = true
if gordondied == false then
print ("Game Over")
else gordonisstillalive == true then
print ("He saved the world")
end
else if statt else, nur mal so...
Robertico
11.02.2007, 18:50
Für alle.
Habe an einem einfachen Editor für Lua angefangen.
Er soll nicht einfach bleiben. ;)
Aber um etwas in Lua zu versuchen, kann man ihn schon brauchen.
Kein Schnickschnak einfach zu benutzen.
Zu finden:http://robertico.ro.funpic.de/phpBB2/portal.php
Gruß Robert
Killer_13
23.02.2007, 16:56
Da werd ich mich auch ma dran versuchen.
Hm, hab n paar Fehler gefunden, was syntax und so etwas angeht..
Doppelpost-Edit:
else if statt else, nur mal so...
elseif nich else if isn unterschied ;) sprich am ende siehts so aus:
gordondied = false
gordonisstillalive = true
if gordondied == false then
print("Game Over");
elseif gordonisstillalive == true then
print("He saved the world");
end
du kanns das ganz nun auch so machen:
function gordon_dead()
for k,v in pairs( player.GetAll ) do
v:PrintMessage( HUD_PRINTCENTER, "You died press left mouse button to respawn" );
end
end
hook.Add( "PlayerDeath", "Gordon Dead", gordon_dead );
function gordon_alive( user )
for k,v in pairs( player.GetAll ) do
if v:Alive then
v:PrintMessage( HUD_PRINTCENTER, "You are Alive but your death rate is now +1" );
end
end
end
// Die function is optional aber man kann es auch alternative wie das obrige machen
/*function gordon_alive()
for k,v in pairs( player.GetAll ) do
v:PrintMessage( HUD_PRINTCENTER, "You are Alive but your death rate is now +1" );
end
end
hook.Add( "PlayerSpawn", "Gordon Alive", gordon_alive );*/
achso das is atm mehr so das es jedem angezeigt wird (Serverside) wenn de willst das es nur die person sieht die das script hat dann musst einfach die for schleife weglassen und stat denn v: einfach LocalPlayer(): machen also ClientSide dann musst aber auch AddCSLuaFile("<name dieser Datei>"); machen wenn des aufm server laufen lässt was schwachsinnig wär einfach unter autorun client rienmachen dann siehts nur der eine hoff das ncih zu kompliziert erklärt Oo
wenn noch fragen sind stellt se einfach :D aber eigendlich is das doch eher Off-Topic in dem Thread naja egal :D
Scarecrow
03.04.2007, 10:57
Für alle.
Habe an einem einfachen Editor für Lua angefangen.
Er soll nicht einfach bleiben. ;)
Aber um etwas in Lua zu versuchen, kann man ihn schon brauchen.
Kein Schnickschnak einfach zu benutzen.
Zu finden:http://robertico.ro.funpic.de/phpBB2/portal.php
Gruß Robert
Hast du den in C++ gemacht? Wen ja, könntest du mir mal den Source-Code schicken? Oder wenigstens einen kleinen Teil?
Robertico
14.06.2007, 18:36
Hallo alle,
Bin in eine werbefreie Umgebung Umgebung umgezogen.
Wäre nett, wenn ein Admin das oben ändern würde.Die Seite leitet zwar um, hat dann eine Meldung und man weis nicht wie lange das noch gestattet wird.
http://lua.gts-stolberg.de/
Gruß Robert
*DEAD*Pr0no0b
14.06.2007, 20:44
Der Link zum einfachen Lua-Editor geht nicht.
Scarecrow
15.06.2007, 07:02
Der Link zum einfachen Lua-Editor geht nicht.
Du brauchst ihn auch nicht, nimm lieber Notepad++ (http://notepad-plus.sourceforge.net/de/site.htm)
Damit machen das, unter Anderem auch ich, viele Lua-Scripter ;)
Ich habe dieses Tutorial auch genutzt, nach etwa einer Stunde hatte ich es dann drauf
ich fand mich schnell zurecht, da ich bereits Visual Basic, HTML und ein klitzekleinesbisschen C++ und Delphi beherrsche
aber ansonsten: top!
WeltEnSTurm
19.07.2008, 10:49
Man wirds nicht glauben, aber ich habe ein Problem :gmod:
Da man in Gmod ja viel zu schnell läuft hab ich mir gedacht, ich bau ne eigene kleine autorun, die auch meldet wenn ein Spieler spawnt.
function playerRespawn( ply )
ply:SetWalkSpeed(100)
ply:SetRunSpeed(150)
playerName = ply:GetName()
Msg( "The player, " .. playerName .. " has respawned.\n" )
end
hook.Add( "PlayerSpawn", "playerRespawnTest", playerRespawn )
Das Problem ist, dass er beim spawnen überhaupt nichts macht D:
Und per console lua_run_cl LocalPlayer():SetWalkSpeed(100) oder SetJumpPower funktioniert auch nicht.
Vielleicht weil das alles Serverside Hook's und Funktionen sind?
WeltEnSTurm
19.07.2008, 11:31
Ich habs in ner autorun/server lua.
Und warum benutzt du dann lua_run_cl zum testen?
Hast du auch die File mal mit lua_openscript autorun/server..
Gehöffnet?
WeltEnSTurm
19.07.2008, 12:29
Und warum benutzt du dann lua_run_cl zum testen?
(hat) funktioniert im Singleplayer.
Er schreibt es in die console, aber er verändert nicht meine gehgeschwindigkeit.
Scarecrow
19.07.2008, 16:45
(hat) funktioniert im Singleplayer.
Er schreibt es in die console, aber er verändert nicht meine gehgeschwindigkeit.
Benutzt lua_run und nicht lua_run_cl. Zwar sind Client und Server bei dir auf einem Rechner (SP), aber das ändert nichts an der Trennung zwischen CL und SV ;)
PS: Gibts die Funktionen SetWalkSpeed und SetRunSpeed eigentlich? In der Library hab ich nix gefunden :|
WeltEnSTurm
19.07.2008, 16:50
Wenn ich lua_run benütze kommt ein error, ich glaube da muss man ply.GetByID(1) machen, aber wenn ich das mache passiert das gleiche wie bei lua_run_cl: garnichts.
Ich hab probiert direkt in der base/gamemode/player_shd.lua zu ändern, hat nichts gebracht.
http://wiki.garrysmod.com/wiki/?title=GAMEMODE:SetPlayerSpeed
Seht mal die source und die echte player_shd, garry hat wieder mal mist gebaut D:
Ich hab auch mal lua_run GAMEMODE:SetPlayerSpeed(1, 90, 140) probiert, funktioniert auch nicht.
Ich möchte Pac hier einmal danken, durch das Tutorial bin ich zu C++ gekommen und habe es nie bereut! :bow
KrystalCroft
24.03.2010, 07:48
Ich denke mal das ich mit LUA heute mal anfangen werde. ;)
Danke für diesen Thread, ist echt hilfreich! Danke!
BOBI2111
10.02.2011, 13:13
Wenn ich bei gmod server öffne steht bei fast jedem oben llinks Lua cache couldnt be downloaded und es funktioniert nicht...ich bin aber auch tzu blöd das hier zu verstehen
Schade, diese Seite existiert nicht mehr. Der Beitrag hier ist schon etwas in die Jahre gekommen. Würde aber gerne doch noch Fragen ob es sich im Jahr 2018 überhaupt lohnt LUA zu lernen? Und wenn ich das richtig verstanden habe, Lua ist eine Programmiersprache für Spiele? Was kann man denn so programmieren mit LUA?
monky2k6
07.05.2018, 16:03
Neben den Verwendungen hier:
https://en.wikipedia.org/wiki/List_of_applications_using_Lua
Wird LUA z.B. auch für die Addons für World of Warcraft genutzt.
Auch gibt es Gaming-Frameworks für LUA. Als Beispiel https://love2d.org/
Das Spiel Mari0 wurde z.B. damit entwickelt. Soweit ich weiß sogar von unserem (inaktivem) Community-Mitglied Maurice.
Dominikk
10.05.2018, 12:55
LUA hat so eine Mischung von JavaScript, TypeScript und ein paar anderen Sprachen, ist also relativ anstrengend. Ich empfehle daher eine gute IDE zu verwenden, welche euch viel Tipparbeit abnimmt. Intellij mit dem LUA Plugin ist hier vermutlich die beste Wahl.
Powered by vBulletin® Version 4.2.2 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.