Hi Leute,
Ich war dabei ein Skript zu schreiben, das ganze hat eigentlich auch ganz gut geklappt, bis zu dem Punkt wo ich im Skript definieren wollte, wenn ein MP Spiel vorliegt dann mach das.
Das bekam ich (danke bassaddict) den Tip es mit g_server.netIsRunning bzw mit g_client.netIsRunning zu versuchen.
Im Sp klappte das ganze auch hervorraggend, mein Skript hat so gearbeitet wie es sollte, da ich am Anfang nur dem Ordner im Mods Ordner hatte, habe ich es dann auch mit "not" versucht, was ja dann das gegenteil wäre, also bei SP Spiel. Auch da funktionierte das ganze wunderbar.
Meine Abfrage sah so aus:
[lua]
if (g_server.netIsRunning or g_client.netIsRunning) then
erledige meinen Block
end;
[/lua]
Wenn ich alleine in den MP gegangen bin, hat auch noch alles geklappt, keine LOG Fehler. Dann habe ich meinen Tester dazugeholt, er hatte gleiche einen LOG Error, bei ihm hat das Skript weiter den SP Teil ausgeführt und nicht "gemerkt" das es ein MP Spiel war. Der Fehler besagte folgendes:
Zeile der LUA, "g_server" attemp to index global (a nil value)
Warum bekomme ich einen LUA Fehler wenn eine variable bekannt ist, bzw in meinem Fall warum soll sie "nil" sein, wenn sie entweder ein true oder false zurückgibt?
Zumindest wenn ich es selber mit diesem Thema http://planet-ls.de/board/inde…age=Thread&threadID=16992 ausgeben lasse, dann bekomme ich bei g_server die variable netIsRunning als boolean mit false ausgegeben wenn ich im SP bin, wenn ich ein MP erstelle und mir ausgeben lasse dann bekomme ich ein true zurück.
Oder hat der Fehler damit zu tun das wenn der client es abfragt das es dann nil ist???
Ich hatte ja noch gedacht das es an meiner Abfrage liegen könnte, also habe ich es auch mal einzeln abgefragt, also:
[lua]
if g_server.netIsRunning then
erledige meinen Block
end;
if g_client.netIsRunning then
erledige meinen Block
end;
[/lua]
Auch so bekam ich den gleichen Fehler.
Ich habe das ganze mittlerweile gelöst, so das es im SP und MP funktioniert, ob nun als Server oder Client, aber ich möchte das ganze doch gern mal verstehen...