AW: Ein Lua Command Macro
	
	
		Wichtige Informationen:
- Es ist ein Richtiger server, der aber über linux läuft.
- hlds/srcds/orangebox/garrysmod/lua/autorun/server/
derzeitiger name der datei:
command_calypso.lua (es ist eine lua datei)
Dein neues script habe ich ausprobiert, er gibt garnichts aus.
wenn ich !test in denn chat schreibe, passiert nix...
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Überprüf einmal ob die Datei überhaupt geladen wird. (Schreib einfach mal irgend nen Blödsinn, also ungültigen Lua-Code, in die Datei. Beim Starten des Servers sollte dann ein Lua-Error in der Console kommen.)
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		hmm tatsächlich ...
	Code:
	
[ERROR] lua/autorun/server/command_calypso.lua:18: ')' expected (to close '(' at line 9) near 'end'
  1. unknown - lua/autorun/server/command_calypso.lua:0
[ERROR] lua/autorun/server/command_calypso.lua:18: ')' expected (to close '(' at line 9) near 'end'
  1. unknown - lua/autorun/server/command_calypso.lua:0
 das spuckt er mir aus
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Beim Schreiben des im Spoiler stehenden Textes sind mir 2 Sachen aufgefallen. Probier es einmal mit folgendem Code:
	Code:
	
function RunCommandList()
    for k,v in pairs(player.GetAll()) do
        v:PrintMessage(HUD_PRINTTALK,"Test")
        v:PrintMessage(HUD_PRINTCENTER,"Test")
    end
    RunConsoleCommand("say", "test")
end
hook.Add("PlayerSay","Chat command dingens", function(ply ,msg, teamChat) -- Der Dritte Parameter ist "True" gibt an, ob die Nachricht im Team-Chat geschrieben wurde und nicht ob sie im Public-Chat geschrieben wurde
    if teamChat then return end -- Die Überprüfung hier müssen wir jetzt auch anpassen (von "Wenn nicht Public-Chat dann abbrechen" zu "Wenn Team-Chat dann abbrechen")
    if msg == "!test" then 
        if ply:IsSuperAdmin() then
            ply:RunCommandList() end
        else
            ply:PrintMessage(HUD_PRINTTALK,"Du bist kein Super Admin")
        end
    end
end) -- Die Klammer von hook.Add( sollte hier noch geschlossen werden.
 
	Spoiler:
	
		Sollte obiges nicht funktionieren... (hier klicken)
		
Das ist gut, du kannst dir nun sicher sein, dass die Datei zumindest geladen wird.
Nun probieren wir ob der Hook "PlayerSay" richtig ausgeführt wird.
Dazu fügst du folgenden Code in die Datei ein:
	Code:
	
hook.Add("PlayerSay", "Calypso Chat Command", function(ply, msg, teamChat)
    return "[Calypso] " .. msg
end)
 Egal was du in den Chat schreibst, es sollte vor der Nachricht nun immer noch "[Calypso] " erscheinen.
 
	 
 
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Okey, gut...
Der obere hat nicht fonktioniert, doch wenn ich das mit dem 2. code mache fonktioniert es, es erscheint jetzt immer [Calypso] vor jeder nachricht
Beim ersten code erscheint wieder folgende fehlermeldung:
	Code:
	
[ERROR] lua/autorun/server/command_calypso.lua:18: ')' expected (to close '(' at line 9) near 'end'
  1. unknown - lua/autorun/server/command_calypso.lua:0
[ERROR] lua/autorun/server/command_calypso.lua:18: ')' expected (to close '(' at line 9) near 'end'
  1. unknown - lua/autorun/server/command_calypso.lua:0
 
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Schau dir meinen oberen Post nochmal genau an. Vor allem die letzte Zeile. Hast du die ")" auch eingefügt?
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Ja, auch nach genaueren nachschauen :shock: ändert sich dabei nix
die ) ist direkt hinter end
so sieht das jetzt bei mir aus:
	Code:
	
function RunCommandList()
    for k,v in pairs(player.GetAll()) do
        v:PrintMessage(HUD_PRINTTALK,"Test")
        v:PrintMessage(HUD_PRINTCENTER,"Test")
    end
    RunConsoleCommand("say", "test")
end
hook.Add("PlayerSay","Chat command dingens", function(ply ,msg, teamChat)
    if teamChat then return end
    if msg == "!test" then 
        if ply:IsSuperAdmin() then
            ply:RunCommandList() end
        else
            ply:PrintMessage(HUD_PRINTTALK,"Du bist kein Super Admin")
        end
    end
end)
 
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Ah jetzt sehe ich den Fehler
	Code:
	
function RunCommandList()
    for k,v in pairs(player.GetAll()) do
        v:PrintMessage(HUD_PRINTTALK,"Test")
        v:PrintMessage(HUD_PRINTCENTER,"Test")
    end
    RunConsoleCommand("say", "test")
end
hook.Add("PlayerSay","Chat command dingens", function(ply ,msg, teamChat)
    if teamChat then return end
    if msg == "!test" then 
        if ply:IsSuperAdmin() then
            ply:RunCommandList() end
        else
            ply:PrintMessage(HUD_PRINTTALK,"Du bist kein Super Admin")
        end
    end
end)
 Dieses "end" gehört natürlich weg.
	Spoiler:
	
		Aktueller Code richtig formatiert würde so aussehen
		
	Code:
	
function RunCommandList()
    for k,v in pairs(player.GetAll()) do
        v:PrintMessage(HUD_PRINTTALK,"Test")
        v:PrintMessage(HUD_PRINTCENTER,"Test")
    end
    RunConsoleCommand("say", "test")
end
hook.Add("PlayerSay","Chat command dingens", function(ply ,msg, teamChat)
    if teamChat then return end
    if msg == "!test" then 
        if ply:IsSuperAdmin() then
            ply:RunCommandList()
        end
    else
        ply:PrintMessage(HUD_PRINTTALK,"Du bist kein Super Admin")
    end
end
end)
 Das letzte "end" bleibt hier übrig/ist zu viel, die Klammer gehört auch ein end früher
 
	 
 
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		Mein server verarscht mich -.-
wenn der server hochfährt, kann er die lua datei (endlich) lesen, jedoch wenn ich dann im chat "!test" eingebe kommt in der Console
	Code:
	
[ERROR] lua/autorun/server/command_calypso.lua:13: attempt to call method 'RunCommandList' (a nil value)
  1. fn - lua/autorun/server/command_calypso.lua:13
   2. unknown - addons/ulib/lua/ulib/shared/hook.lua:183
[ERROR] lua/autorun/server/command_calypso.lua:13: attempt to call method 'RunCommandList' (a nil value)
  1. fn - lua/autorun/server/command_calypso.lua:13
   2. unknown - addons/ulib/lua/ulib/shared/hook.lua:183
 
	 
	
	
	
		AW: Ein Lua Command Macro
	
	
		
	Code:
	
function RunCommandList()
    for k,v in pairs(player.GetAll()) do
        v:PrintMessage(HUD_PRINTTALK,"Test")
        v:PrintMessage(HUD_PRINTCENTER,"Test")
    end
    RunConsoleCommand("say", "test")
end
hook.Add("PlayerSay","Chat command dingens", function(ply ,msg, teamChat)
    if teamChat then return end
    if msg == "!test" then 
        if ply:IsSuperAdmin() then
            ply:RunCommandList()
        else
            ply:PrintMessage(HUD_PRINTTALK,"Du bist kein Super Admin")
        end
    end
end)
 Das "ply:" vor "RunCommandList()" muss noch weg.