Guten Tag auch!
Ich habe endlich GMod und habe mich augenblicklich an die Arbeit gemacht und angefangen, mich in LUA für GarrysMod einzuarbeiten.
Läuft alles wunderbar, sieht man von einem kleinen Problem ab, dass ich momentan habe:
Die Verfügbarkeit der Variablen.
Es ist folgendermaßen:
Ich schreibe momenten an einem SEnt. Ich definiere in der init.lua Eigenschaften für das SEnt. Diese möchte ich dann unter anderem in der cl_init.lua verwenden. Die Werte sind dort allerdings nicht vorhanden. (print() spuckt Nil)
Noch ein wenig Code, damit das ganze erichtlicher wird. (Auf das Minimum begrenzt, versteht sich.)
Init.lua
Lua Code:
AddCSLuaFile( "cl_init.lua" ) // Make sure clientside AddCSLuaFile( "shared.lua" ) // and shared scripts are sent. include('shared.lua') function ENT:Initialize() self.Entity:SetModel( "models/ce_miningmodels/mininglasers/laser_mk1_standard.mdl" ) self.Length=200 // In diesem Fall Konstant, wird aber eigentlich errechnet.end
cl_init.lua
Lua Code:
include('shared.lua') local Laser = Material( "cable/redlaser" ) function ENT:Draw()//self.BaseClass.Draw(self) -- We want to override rendering, so don't call baseclass.
self.Entity:DrawModel() local Vector1 = self.Entity:LocalToWorld( Vector( 0, 0, 0 ) ) local Vector2 = self.Entity:LocalToWorld( Vector( 0, 0, self-length ) ) render.SetMaterial( Laser ) render.DrawBeam( Vector1, Vector2, 5, 0, 0, Color( 255, 255, 255, 255 ) ) print(self.Length)end
(Ich gestehe, der DrawBeam() ist aufs schändlichste aus der Wiki kopiert, aber für Testzwecke reicht es allemal =) )
print(self.Length) schreibt mir, wie erwähnt Nil in die Konsole...
PS: Bitte nicht hauen, ich habe gestern Angefangen"