Grüß dich,





ich hab genau so etwas gebraucht was dein Script bietet, allerdings sind mir ein paar Sachen aufgefallen die etwas unpraktikabel sind und welche ich zum Teil umgeschrieben habe:





- Bei deiner neusten Version liegt eine exe dabei, das ist zwar wunderbar und wesentlich besser wenn das ganze auf dem Windows Client läuft, falls allerdings ein Root-Server mit installiertem TTT Server verwendet wird auf dem zumeist Linux läuft, steht man da vor einem kleinen Problem. Ich hab auch versucht den beiliegenden Sourcecode mit Lua auszuführen, aber das klappt leider nicht da die .exe für Windows anscheinend noch ein paar mehr Sachen macht als nur mit Lua das Script zu starten? Natürlich ist das Script für einen TS Client gedacht, aber da unbedingt das serveradmin Query Passwort notwendig ist, sollte das nur der TS-Admin am Laufen haben. Wenn jetzt jemand ohne den Admin TTT spielen möchte und dabei nicht auf Auto-Mute verzichten will, guckt er in die Röhre :(. Deswegen finde ich dass es schon von Vorteil ist, das Script auch direkt mit auf dem Root laufen zu lassen (sofern vorhanden).





- Die Clients bekommen erst wieder Talk Power wenn die Prepairing Phase vorbei ist und die Traitor ausgelost wurden, was eigentlich nicht wirklich Sinn macht da man in der Prepairing Phase unmöglich ghosten kann (hab ich angepasst, siehe weiter unten)





- Spieler welche disconnecten, bleiben in der alive.txt, bekommen also immer Talk Power. Wenn ein Spieler nun disconnected (Z.b. weil die Mutti kreischend mit dem Essen vor der Tür steht) und in einen AFK Channel im TS wechselt, bekommt dieser im genannten AFK Channel Talk Power zugewiesen, was nicht unbedingt toll ist :b: (Hab ich ebenfalls angepasst).





Nun zu meinen 2 Änderungen:





- Unmute bereits wenn die Prepairing Phase beginnt: in gmod_script.lua "TTTBeginRound" mit "TTTPrepareRound" austauschen

- Spieler berücksichtigen welche Disconnecten: Mangels Lua Erfahrung, habe ich das ganze nur sehr sehr notdürftig dadurch gehandhabt, das falls der Hook player_disconnect ausgelöst wird, die alive.txt und dead.txt einfach leer überschrieben wird. Da das Lua Script abbricht, falls beide Dateien leer sind bleibt der aktuelle Zustand erhalten (Also, wer Talk Power hat und wer nicht). Falls dann einer der anderen Hooks ausgelöst wird (prepare round, end round, entity killed etc.) werden deine ursprünglichen Funktionen wieder genutzt und befüttern entsprechend die alive/dead Dateien wieder mit den richtigen Infos.





Das Script ist in dem jetzigen Zustand nahezu perfekt um das zu tun, wofür es da ist, aber ich denke dass auch noch viel Potenzial darin steckt. Deswegen würde ich das ganze gerne bei Github forken, wenn das für dick klar geht? In 'nem git lassen sich auch viel einfacher Änderungen anderer User mergen oder diskutieren und man könnte gemeinsam daran entwickeln :).