summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nomusic.lua98
-rw-r--r--ttt-normal.cfg147
-rw-r--r--ttt-rules.cfg145
-rw-r--r--ttt-shift.cfg23
-rw-r--r--ttt.cfg143
5 files changed, 556 insertions, 0 deletions
diff --git a/nomusic.lua b/nomusic.lua
new file mode 100644
index 0000000..3b6d547
--- /dev/null
+++ b/nomusic.lua
@@ -0,0 +1,98 @@
+--[[
+
+ file name: garrysmod/lua/menu/nomusic.lua
+ reason:
+ to remove all that shitty music from shitty server's shitty loading screens they bought
+ on scriptfucker™
+
+ remember to add an include for this file in menu/menu.lua!
+
+]]
+
+--[[
+ SETTINGS:
+ alternate_iframe:
+ used when shouldremove = false
+ this will basically reroute the videos/sounds to the specified link
+ shouldremove:
+ if true it will simply remove the sounds/videos, otherwise it will use the other values in the settings
+]]
+
+local SETTINGS = {
+ shouldremove = true;
+ alternate_iframe = "https://www.youtube.com/embed/qycqF1CWcXg?autoplay=1";
+};
+
+
+local success = Color(0,200,0,255);
+local failure = Color(200,0,0,255);
+local middle = Color(200,0,200,255); -- purple :)
+local loadp = (GetLoadPanel or function() end)(); -- hopefully no change...
+if(not loadp) then MsgC(failure, "Couldn't get pnlLoading! Not stopping sounds! :(\n"); end
+MsgC(middle, "Got pnlLoading.. executing code to stop sounds...\n");
+
+local ThinkName = "ThinkLoad";
+local javascript = [[
+ var amount = 0;
+ function DeleteAll(name) {
+ var all = document.getElementsByTagName(name);
+ for(var i = 0; i < all.length; i++) {
+ amount = amount + 1;
+ all[i].parentElement.removeChild(all[i]);
+ }
+ }
+ function KillSrc(name) {
+ ]]..(SETTINGS.shouldremove and [[
+ DeleteAll(name);
+ ]] or [[
+ var all = document.getElementsByTagName(name);
+ for(var i = 0; i < all.length; i++) {
+ amount = amount + 1;
+ all[i].src = ']]..SETTINGS.alternate_iframe:JavascriptSafe()..[[';
+ }
+ ]])..[[
+ }
+ KillSrc("iframe");
+ DeleteAll("audio");
+ KillSrc("source");
+ console.log("Removed "+amount+" elements!");
+]];
+local overwrite = [[
+ var old = document.createElement;
+ document.createElement = function(tagname) {
+ tagname = tagname.toLowerCase();
+ if(tagname === "iframe" || tagname === "audio" || tagname === "source") {
+ return; // sorry i am too lazy to redirect this to our stuff
+ }
+ return old(tagname);
+ };
+ console.log("Overwrote document.createElement :)!");
+]];
+
+local hasoverwritten = false;
+
+local function ThinkLoad()
+ if(not IsValid(loadp)) then hook.Remove("Think", ThinkName); return; end
+ if(not IsValid(loadp.HTML)) then return; end -- wait for it
+ if(hasoverwritten == false) then
+ loadp.HTML:RunJavascript(overwrite);
+ MsgC(success, "Overwrote document.createElement - ;)\n");
+ hasoverwritten = true;
+ end
+ if(loadp.HTML:IsLoading()) then return; end -- wait for the load!
+ loadp.HTML:RunJavascript(javascript);
+ MsgC(success, "Removed all audio elements!\n");
+ hook.Remove("Think", ThinkName);
+end
+
+local old_showurl = loadp.ShowURL;
+function loadp:ShowURL(a,b,c,d,e,f)
+ MsgC(middle, "ShowURL called!\n");
+ local ret = old_showurl(self,a,b,c,d,e,f);
+ hasoverwritten = false;
+ hook.Add("Think", ThinkName, ThinkLoad);
+ return ret;
+end
+MsgC(success, "All code executed successfully!\n");
+
+--scriptfucker and all other trademarks are property of their respective owners
diff --git a/ttt-normal.cfg b/ttt-normal.cfg
new file mode 100644
index 0000000..be2f5fd
--- /dev/null
+++ b/ttt-normal.cfg
@@ -0,0 +1,147 @@
+unbindall
+bind "]" "exec ttt"
+
+bind "MOUSE1" "+attack"
+bind "MOUSE2" "+attack2"
+
+bind "w" "+forward"
+bind "a" "+moveleft"
+bind "s" "+back"
+bind "d" "+moveright"
+bind "e" "+use"
+bind "r" "+reload"
+bind "u" "messagemode2"
+bind "y" "messagemode" // Windows/Linux Settings...
+
+bind "z" "ttt_radio innocent"
+bind "x" "ttt_radio check"
+
+bind "c" "+menu_context"
+bind "v" "ttt_quickslot 7"
+bind "b" "ttt_quickslot 8"
+bind "n" "ttt_quickslot 9"
+bind "g" "ttt_dropweapon"
+bind "q" "lastinv"
+bind "t" "ttt_dropammo" // "gmod_undo" // drop ammo
+
+bind "\" "toggleconsole"
+bind "p" "toggleconsole"
+
+bind "F1" "gm_showhelp"
+bind "F2" "gm_showteam"
+bind "F3" "gm_showspare1"
+bind "F4" "gm_showspare2"
+bind "F5" "poison; health;"
+bind "F9" "awarn_menu"
+bind "F10" "ulx dcmenu"
+bind "F11" "meinnameisthase"
+bind "F12" "ulx menu"
+
+bind "h" "ttt_order_equipment 2; ttt_radar_scan"
+
+bind "UPARROW" "ttt_order_equipment weapon_ttt_cse"
+bind "DOWNARROW" "ttt_order_equipment weapon_ttt_cse"
+bind "RIGHTARROW" "ttt_order_equipment weapon_ttt_cse"
+bind "LEFTARROW" "ttt_order_equipment weapoKeyencen_ttt_cse"
+bind "INS" "armor"
+bind "HOME" "disguise; visualizer;"
+bind "DEL" "c4"
+bind "END" "mine"
+
+bind "MWHEELUP" "" // "invprev"
+bind "MWHEELDOWN" "+jump"
+bind "KP_MINUS" "stopsound; status; ttt_print_playercount; ttt_print_adminlog;"
+bind "KP_PLUS" "impulse 201" // Spay logo
+
+bind 0 "ttt_quickslot 0";
+bind 1 "ttt_quickslot 1";
+bind 2 "ttt_quickslot 2";
+bind 3 "ttt_quickslot 3";
+bind 4 "ttt_quickslot 4";
+bind 5 "ttt_quickslot 5";
+bind 6 "ttt_quickslot 6";
+bind 7 "ttt_quickslot 7";
+bind 8 "ttt_quickslot 8";
+bind 9 "ttt_quickslot 9";
+
+alias "+flashlight" "impulse 100"
+alias "-flashlight" "impulse 100"
+
+bind "f" "impulse 100";
+bind PGUP "yes_c" //ttt_radio yes";
+bind PGDN "no_c" //ttt_radio no";
+
+bind MOUSE3 "ttt_radio imwith";
+bind MOUSE4 "ttt_radio traitor; "
+
+alias yes_c yes_1
+alias yes_1 "alias yes_c yes_2; say Yes."
+alias yes_2 "alias yes_c yes_3; say Affirmative."
+alias yes_3 "alias yes_c yes_4; say Roger that."
+alias yes_4 "alias yes_c yes_5; say Ja."
+alias yes_5 "alias yes_c yes_6; say Immers."
+alias yes_6 "alias yes_c yes_1; say Da."
+
+alias no_c no_1
+alias no_1 "alias no_c no_2; say No."
+alias no_2 "alias no_c no_3; say Negative."
+alias no_3 "alias no_c no_4; say Nah."
+alias no_4 "alias no_c no_5; say Nein."
+alias no_5 "alias no_c no_6; say Nie!"
+alias no_6 "alias no_c no_1; say Nay."
+
+alias maybe_c maybe_1
+alias maybe_1 "alias maybe_c maybe_2; say Maybe."
+alias maybe_2 "alias maybe_c maybe_3; say Perhaps."
+alias maybe_3 "alias maybe_c maybe_4; say Possibly."
+alias maybe_4 "alias maybe_c maybe_5; say Conceivably."
+alias maybe_5 "alias maybe_c maybe_1; say Perchance."
+
+// bind "KP_HOME" "h_dete1"
+// bind "KP_UPARROW" "h_dete2"
+// bind "KP_PGUP" "h_dete3"
+
+// bind "KP_LEFTARROW" "h_report1"
+// bind "KP_5" "h_report2"
+// bind "KP_RIGHTARROW" "h_report3"
+
+// bind "KP_END" "h_afkler"
+// bind "KP_DOWNARROW" "h_shortcut1"
+// bind "KP_PGDN" "h_shortcut2"
+
+bind "KP_INS" "maybe_c"
+// bind "KP_DEL" "h_texturen"
+
+
+alias "+ng" "+showscores; net_graph 3; cl_showpos 1"
+alias "-ng" "-showscores; net_graph 0; cl_showpos 0"
+bind "TAB" "+ng";
+
+
+bind "ENTER" "cproven";
+bind "KP_ENTER" "cproven";
+
+alias cproven proof1;
+alias proof1 "alias cproven proof2; say Ich bin Innocent!"
+alias proof2 "alias cproven proof3; say <-- Innocent!"
+alias proof3 "alias cproven proof4; say <-- Definitiv kein Traitor!"
+alias proof4 "alias cproven proof1; say Weil ich so schön bin, so schlau bin, so In-no-cent!"
+
+
+// alias +duckjump "+jump; +duck";
+// alias -duckjump "-jump; -duck";
+bind "ALT" "+speed"
+bind "CTRL" "+duck"
+bind "SHIFT" "+walkbind"
+bind "SPACE" "+jump"
+
+alias +speedbind "+speed; exec ttt-shift";
+alias -speedbind "-speed; exec ttt-normal";
+alias +walkbind "+walk; exec ttt-shift";
+alias -walkbind "-walk; exec ttt-normal";
+
+bind "KP_MULTIPLY" "+mic"
+
+bind "." "volume_up"
+bind "," "volume_down"
+
diff --git a/ttt-rules.cfg b/ttt-rules.cfg
new file mode 100644
index 0000000..326a255
--- /dev/null
+++ b/ttt-rules.cfg
@@ -0,0 +1,145 @@
+// STANDARTSHOP
+alias "armor" "ttt_order_equipment 1" // armor
+alias "radar" "ttt_order_equipment 2" // radar
+alias "disguise" "ttt_order_equipment 4" // disguise
+alias "radiofreq" "ttt_order_equipment 8" // radio frequency / anti jammer
+
+// TRAITORSHOP
+alias "bomb" "ttt_order_equipment weapon_ttt_explo_station"
+alias "c4" "ttt_order_equipment weapon_ttt_c4"
+alias "decoy" "ttt_order_equipment weapon_ttt_decoy"
+alias "defi" "ttt_order_equipment weapon_ttt_defibrillator"
+alias "flare" "ttt_order_equipment weapon_ttt_flaregun"
+alias "jihad" "ttt_order_equipment weapon_ttt_jihad"
+alias "knife" "ttt_order_equipment weapon_ttt_knife"
+alias "mine" "ttt_order_equipment weapon_ttt_tripmine"
+alias "newton" "ttt_order_equipment weapon_ttt_push"
+alias "poison" "ttt_order_equipment weapon_ttt_poisondart"
+alias "radio" "ttt_order_equipment weapon_ttt_radio"
+alias "sp" "ttt_order_equipment weapon_ttt_sipistol"
+alias "tdisguise" "ttt_toggle_disguise"
+alias "teleport" "ttt_order_equipment weapon_ttt_teleport"
+
+// DETECTIVESHOP
+alias "visu" "ttt_order_equipment weapon_ttt_cse"
+alias "defuse" "ttt_order_equipment weapon_ttt_defuser"
+alias "health" "ttt_order_equipment weapon_ttt_health_station"
+alias "ump" "ttt_order_equipment weapon_ttt_stungun"
+alias "m3" "ttt_order_equipment weapon_ttt_m3"
+
+// Alias gibt einem Konsolenbefehl einen "Spitznamen". Diesen kann man in die Konsole schreiben oder auf eine Taste binden.
+// Sie müssen in die admin.cfg im Ordner Steam/Appdata/common/GarrysMod/garrysmod/cfg geschrieben werden.
+// Diese wird - beim Spielspart - geladen, wenn dies in der valve.rc im selben Ordner festgelegt wurde oder indem man "exec admin" in die Konsole schreibt.
+
+// CHATS / HILFEN
+alias "h_help" "echo h_ -> say, ht_ -> say_team, ha_ -> say admin; echo h_emblem h_favs h_traitors h_spec h_slayrules h_texturen h_accept h_dete1,2,3 h_report1,2,3 h_inci h_afkler h_shortcut1,2 h_karma h_ghosting1,2,3"
+
+alias "h_emblem" "say Emblem erstellen unter F6. Bewegen mit WASD. Weitere Tastenbelegung nach Klick auf Zahnrad."
+alias "h_favs" "say Find multiplayer games -> Legacy Browser -> Favorites -> Add Current Server"
+alias "h_traitors" "say Ab 7 Spieler: 2 Traitor. 8 Spieler: Dete. 11 Spieler: 3 Traitor. 13 Spieler: 2 Detes. 14 Spieler: 4 Traitor."
+alias "h_spec" "say F1 -> Settings -> Spectate-only mode (always stay spectator) deaktivieren"
+alias "h_slayrules" "say Deine Antwort zeigt zumindest, dass du die Regeln nicht gelesen hast. Jetzt haste Zeit."
+alias "h_texturen" "say Dir fehlen CSS-Texturen! Pitchblack sagt, da wird geholfen: www.youtube.com/watch?v=2vkV3yE241Y"
+alias "h_accept" "say Du hast nach Betreten des Servers unsere Regeln akzeptiert!"
+alias "h_dete1" "say Dete geworden, aber kein Bock auf / Plan von DNA-Scanner oder Health-Station (gegen Gift)?"
+alias "h_dete2" "say Du kannst F1 -> Settings -> Avoid being selected as Detective aktivieren!"
+alias "h_dete3" "say Wer sich mit dem DNA-Scanner nicht auskennt --> www.youtube.com/watch?v=vuiDcvxmWR0"
+alias "h_report1" "say Grundlos angeschossen worden? Nach der Runde F8 + !report. Leere Reports / nur 'RDM' wird ignoriert!"
+alias "h_report2" "say Sollte ein RDM-Vorwurf nicht zutreffen, so muss diesem in der Reportantwort widersprochen werden!"
+alias "h_report3" "say False reports will get you punished!"
+alias "h_inci" "say Brandgranaten verursachen Randomattacks! Als Innocent sind diese sehr riskant..."
+alias "h_afkler" "say Das Verletzen von AFKlern ist nur den Traitorn erlaubt!"
+alias "h_shortcut1" "say ESC -> Optionen -> Tastatur -> 'Suit Zoom' auf eine Taste legen."
+alias "h_shortcut2" "say Um das direkt auf eine Taste zu legen: ttt.badking.net/help#TOC-Quickchat-radiocommand-keys"
+alias "h_karma" "say Karmabait: Verhalten eines Traitors immitieren, um erschossen zu werden, was anderen Spielern Karma kostet."
+alias "h_ghosting1" "say Metagaming: Das Nutzen von Information aus dritten Quellen (z.B. Teamspeak etc, also Ghosting)."
+alias "h_ghosting2" "say Aber auch das Ausnutzen von Interfaceelementen ('Buchstabier mal Innocent') oder Bugs."
+alias "h_ghosting3" "say Ebenso die Aufforderung, ein Spieler soll eine Taste Druecken, ('Drueck mal v', 'Drueck e an dem Knopf')."
+
+alias "ht_emblem" "say_team Emblem erstellen unter F6. Bewegen mit WASD. Weitere Tastenbelegung nach Klick auf Zahnrad."
+alias "ht_favs" "say_team Find multiplayer games -> Legacy Browser -> Favorites -> Add Current Server"
+alias "ht_traitors" "say_team Ab 7 Spieler: 2 Traitor. 8 Spieler: Dete. 11 Spieler: 3 Traitor. 13 Spieler: 2 Detes. 14 Spieler: 4 Traitor."
+alias "ht_spec" "say_team F1 -> Settings -> Spectate-only mode (always stay spectator) deaktivieren"
+alias "ht_slayrules" "say_team Deine Antwort zeigt zumindest, dass du die Regeln nicht gelesen hast. Jetzt haste Zeit."
+alias "ht_texturen" "say_team Dir fehlen CSS-Texturen! Pitchblack sagt, da wird geholfen: www.youtube.com/watch?v=2vkV3yE241Y"
+alias "ht_accept" "say_team Du hast nach Betreten des Servers unsere Regeln akzeptiert!"
+alias "ht_dete1" "say_team Dete geworden, aber kein Bock auf / Plan von DNA-Scanner oder Health-Station (gegen Gift)?"
+alias "ht_dete2" "say_team Du kannst F1 -> Settings -> Avoid being selected as Detective aktivieren!"
+alias "ht_dete3" "say_team Wer sich mit dem DNA-Scanner nicht auskennt --> www.youtube.com/watch?v=vuiDcvxmWR0"
+alias "ht_report1" "say_team Grundlos angeschossen worden? Nach der Runde F8 + !report. Leere Reports / nur 'RDM' wird ignoriert!"
+alias "ht_report2" "say_team Sollte ein RDM-Vorwurf nicht zutreffen, so muss diesem in der Reportantwort widersprochen werden!"
+alias "ht_report3" "say_team False reports will get you punished!"
+alias "ht_inci" "say_team Brandgranaten verursachen Randomattacks! Als Innocent sind diese sehr riskant..."
+alias "ht_afkler" "say_team Das Verletzen von AFKlern ist nur den Traitorn erlaubt!"
+alias "ht_shortcut1" "say_team ESC -> Optionen -> Tastatur -> 'Suit Zoom' auf eine Taste legen."
+alias "ht_shortcut2" "say_team Um das direkt auf eine Taste zu legen: ttt.badking.net/help#TOC-Quickchat-radiocommand-keys"
+alias "ht_karma" "say_team Karmabait: Verhalten eines Traitors immitieren, um erschossen zu werden, was anderen Spielern Karma kostet."
+alias "ht_ghosting1" "say_team Metagaming: Das Nutzen von Information aus dritten Quellen (z.B. Teamspeak etc, also Ghosting)."
+alias "ht_ghosting2" "say_team Aber auch das Ausnutzen von Interfaceelementen ('Buchstabier mal Innocent') oder Bugs."
+alias "ht_ghosting3" "say_team Ebenso die Aufforderung, ein Spieler soll eine Taste Druecken, ('Drueck mal v', 'Drueck e an dem Knopf')."
+
+// ulx hat Probleme mit Umlauten!
+alias "ha_emblem" "ulx tsay Emblem erstellen unter F6. Bewegen mit WASD. Weitere Tastenbelegung nach Klick auf Zahnrad."
+alias "ha_favs" "ulx tsay Find multiplayer games -> Legacy Browser -> Favorites -> Add Current Server"
+alias "ha_traitors" "ulx tsay Ab 7 Spieler: 2 Traitor. 8 Spieler: Dete. 11 Spieler: 3 Traitor. 13 Spieler: 2 Detes. 14 Spieler: 4 Traitor."
+alias "ha_spec" "ulx tsay F1 -> Settings -> Spectate-only mode (always stay spectator) deaktivieren"
+alias "ha_slayrules" "ulx tsay Deine Antwort zeigt zumindest, dass du die Regeln nicht gelesen hast. Jetzt haste Zeit."
+alias "ha_texturen" "ulx tsay Dir fehlen CSS-Texturen! Pitchblack sagt, da wird geholfen: www.youtube.com/watch?v=2vkV3yE241Y"
+alias "ha_accept" "ulx tsay Du hast nach Betreten des Servers unsere Regeln akzeptiert!"
+alias "ha_dete1" "ulx tsay Dete geworden, aber kein Bock auf / Plan von DNA-Scanner oder Health-Station (gegen Gift)?"
+alias "ha_dete2" "ulx tsay Du kannst F1 -> Settings -> Avoid being selected as Detective aktivieren!"
+alias "ha_dete3" "ulx tsay Wer sich mit dem DNA-Scanner nicht auskennt --> www.youtube.com/watch?v=vuiDcvxmWR0"
+alias "ha_report1" "ulx tsay Grundlos angeschossen worden? Nach der Runde F8 + !report. Leere Reports / nur 'RDM' wird ignoriert!"
+alias "ha_report2" "ulx tsay Sollte ein RDM-Vorwurf nicht zutreffen, so muss diesem in der Reportantwort widersprochen werden!"
+alias "ha_report3" "ulx tsay False reports will get you punished!"
+alias "ha_inci" "ulx tsay Brandgranaten verursachen Randomattacks! Als Innocent sind diese sehr riskant..."
+alias "ha_afkler" "ulx tsay Das Verletzen von AFKlern ist nur den Traitorn erlaubt!"
+alias "ha_shortcut1" "ulx tsay ESC -> Optionen -> Tastatur -> 'Suit Zoom' auf eine Taste legen."
+alias "ha_shortcut2" "ulx tsay Um das direkt auf eine Taste zu legen: ttt.badking.net/help#TOC-Quickchat-radiocommand-keys"
+alias "ha_karma" "ulx tsay Karmabait: Verhalten eines Traitors immitieren, um erschossen zu werden, was anderen Spielern Karma kostet."
+alias "ha_ghosting1" "ulx tsay Metagaming: Das Nutzen von Information aus dritten Quellen (z.B. Teamspeak etc, also Ghosting)."
+alias "ha_ghosting2" "ulx tsay Aber auch das Ausnutzen von Interfaceelementen ('Buchstabier mal Innocent') oder Bugs."
+alias "ha_ghosting3" "ulx tsay Ebenso die Aufforderung, ein Spieler soll eine Taste Druecken, ('Drueck mal v', 'Drueck e an dem Knopf')."
+
+echo "Helps loaded"
+
+// RULES
+
+alias "r_help" "r_friendly r_annoy r_meta r_bugs r_bait r_porn r_admin r_role r_reason r_afk r_duel r_kossource r_kos r_notkos r_dete r_gameplay r_deterole r_traitorrole r_innocentrole r_rolegame r_dmspawn r_dmteam r_airbus_doors r_airbus_doors_bug r_dolls_fan r_dolls_mouse r_kakariko_roof r_kakariko_golden r_rooftops_axe r_rooftops_bridge r_waterworld_slide r_waterworld_roof r_whitehouse_mines"
+
+alias "r_friendly" "1.1 Seid freundlich und aufgeschlossen, nette Menschen spielen länger bei uns."
+alias "r_annoy" "1.2 Unterlasst unnötige Belästigung, die den Spielflüss stört (rumschubsen, blockieren, u.ä.)."
+alias "r_meta" "1.3 Metagaming und Ghosting sind nicht erlaubt."
+alias "r_bugs" "1.4 Bugusing u.ä. wird nicht geduldet (z.B. Propsurfing)."
+alias "r_bait" "1.5 Die Imitation einer anderen Rolle ist nicht erlaubt. Traitorhaftes Verhalten als Innocent ist Karmabaiting und ebenso unerwünscht."
+alias "r_porn" "1.6 Keine unangebrachten oder pornografischen Inhalte."
+alias "r_admin" "1.7 Den Anweisungen höherer Instanzen ist stets Folge zu leisten."
+alias "r_role" "2.1 Schaden und versuchter Schaden, der von euch ausgeht, muss eurer Rolle entsprechen (daneben schiessen, Brandgranate geworfen, Discobombulator auf erhöhter Ebene)."
+alias "r_reason" "2.1.1 Innocents/Detectives müssen Begründungen für ihre Angriffe aufweisen können (Falsche Theorien, welche aber nachvollziehbar sind, gelten auch)."
+alias "r_afk" "2.1.2 Wenn ein Spieler AFK ist, gibt es euch trotzdem nicht das Recht, ihn zu töten."
+alias "r_duel" "2.1.3 Randomkill/Randomattack wird auch bei Einverständnis beider Parteien bestraft."
+alias "r_kossource" "2.2 Wenn ein Spieler von jemand anderem als dem Detektiv KOS gesetzt wird, müsst ihr für euch selbst entscheiden, ob ihr dieser Quelle vertraut."
+alias "r_kos" "2.2.2 Schüsse abgeben, an unidentifizierten Leichen vorbeilaufen, Zerstörung von Detektiv Equipment kann als KOS Grund gelten."
+alias "r_notkos" "2.2.3 Traitorshopverhalten, verfolgen, anvisieren anderer Spieler, Traitortest verweigern und Besitz einer Mordwaffe sind keine direkten KOS Gründe, sondern verdächtig."
+alias "r_dete" "2.3 Der Detektiv kann nur bitten, nicht befehlen. Dennoch ist er eine Respektsperson."
+alias "r_gameplay" "2.4 Das Gameplay steht im Vordergrund. 2.4.1 Secretknifes u.ä. Spielereien sind Nebensache."
+alias "r_deterole" "2.4.2 Der Detektiv soll aufmerksam sein und Leichen untersuchen und - wenn möglich - DNA nehmen."
+alias "r_traitorrole" "2.4.3 Traitor sollen die Zeit sinnvoll nutzen. Minutenlanges Abwarten ohne sichtbare Gewinnabsicht ist unerwünscht."
+alias "r_innocentrole" "2.4.4 Suizid, aus Unlust an der aktuellen Rolle, ist zu unterlassen."
+alias "r_rolegame" "2.4.5 Denkt daran: TTT ist ein Rollenspiel. Keiner würde gemütlich rätseln oder entspannt 'chillen', wenn er sich bewusst ist, dass man ihn töten möchte."
+alias "r_dmspawn" "3.1 Unterlasst Spawncamping und wartet, bis sich die Leute kurz orientiert haben."
+alias "r_dmteam" "3.2 Im Deathmatch spielt Jeder gegen Jeden. Teambildung ist unerwünscht."
+alias "r_airbus_doors" "4.1.1 Das Vorbereiten der Türen für die Sprengung ist ein KOS Grund."
+alias "r_airbus_doors_bug" "4.1.2 Wenn ihr aus dem Flugzeug geschleudert werdet, habt ihr zu sterben."
+alias "r_dolls_fan" "4.2.1 Mit dem Ventilator gezielt jemanden herunterschubsen, ist ein KOS Grund."
+alias "r_dolls_mouse" "4.2.2 Jemanden in eine Mausefalle schubsen, ist ein KOS Grund."
+alias "r_kakariko_roof" "4.3.1 Das Traitordach betreten, ist kein KOS Grund."
+alias "r_kakariko_golden" "4.3.2 Mit der Secret-Golden Gun darf man nicht beliebiege Spieler anschießen."
+alias "r_rooftops_axe" "4.4.1 Das Aufladen der Axt ist kein KOS-Grund. 4.4.2 Mit der Axt Spieler belästigen/ verletzen/ töten, ist ein KOS Grund."
+alias "r_rooftops_bridge" "4.4.3 Brücken zerstören, ist kein KOS-Grund (solange niemand dabei zu Schaden kommt)."
+alias "r_waterworld_slide" "4.5.1 Mit Gegenständen rutschen oder im Spectator-Deathmatch die Rutsche zu betreten ist verboten."
+alias "r_waterworld_roof" "4.5.2 Das Dach betreten ist kein KOS Grund."
+alias "r_whitehouse_mines" "4.6.1 Mit den Minen Spieler belästigen/ verletzen/ töten ist ein KOS Grund."
+
+echo "Rules loaded"
+
diff --git a/ttt-shift.cfg b/ttt-shift.cfg
new file mode 100644
index 0000000..8c8663b
--- /dev/null
+++ b/ttt-shift.cfg
@@ -0,0 +1,23 @@
+bind 0 slot0;
+bind 1 slot1;
+bind 2 slot2;
+bind 3 slot3;
+bind 4 slot4;
+bind 5 slot5;
+bind 6 slot6;
+bind 7 slot7;
+bind 8 slot8;
+bind 9 slot9;
+
+bind "F5" "ttt_order_equipment weapon_ttt_briefcase; arse_loadout weapon_zm_rifle weapon_zm_revolver weapon_ttt_confgrenade;"
+
+bind "f" "+flashlight";
+bind "x" "ttt_radio help";
+bind "z" "maybe_c";
+bind PGUP "ttt_toggle_disguise";
+bind PGDN "invnext";
+bind MOUSE3 "ttt_radio see";
+bind MOUSE4 "ttt_radio suspect";
+
+bind "ENTER" "m3; say Triforce! Die Kraft der...ähhm...DREI!";
+bind "KP_ENTER" "m3; say Triforce! Die Kraft der...ähhm...DREI!";
diff --git a/ttt.cfg b/ttt.cfg
new file mode 100644
index 0000000..16c569f
--- /dev/null
+++ b/ttt.cfg
@@ -0,0 +1,143 @@
+// Settings
+mat_monitorgamma "1.6"
+fps_max 128
+developer 1
+gmod_language "en"
+voice_scale 1
+rate "60000"
+cl_cmdrate "66"
+cl_updaterate "66"
+cl_interp "0.04"
+cl_interp_ratio "1"
+sensitivity 0.75
+
+// default values
+cl_cmdrate 30
+cl_updaterate 20
+cl_interp 0.1
+
+// Spawn-Spielereien
+alias "spawn_explosive" "ulx ent prop_physics model:models/props_c17/oildrum001_explosive.mdl"
+alias "spawn_melon" "ulx ent prop_physics model:models/props_junk/watermelon01.mdl"
+alias "spawn_melon_explosive" "ulx ent prop_physics physdamagescale:0.05 model:models/props_junk/watermelon01.mdl explodedamage:10 exploderadius:100 OnBreak:!activator,ignite,,0,-1 health:99"
+alias "spawn_alyx" "ulx ent npc_alyx"
+alias "spawn_alyx_dead" "ulx ent prop_ragdoll model:models/alyx.mdl"
+alias "spawn_molotov" "ulx ent prop_physics physdamagescale:0.05 model:models/props_junk/garbage_glassbottle001a.mdl explodedamage:10 exploderadius:100 OnBreak:!activator,ignite,,0,-1 health:99"
+alias "spawn_metro" "ulx ent npc_metropolice manhacks:10 additionalequipment:weapon_ar2"
+alias "spawn_airboat" "ulx ent prop_vehicle_airboat model:models/airboat.mdl"
+alias "spawn_buggy" "ulx ent prop_vehicle_jeep model:models/buggy.mdl"
+alias "spawn_car" "ulx ent prop_vehicle_jeep model:models/vehicle.mdl"
+alias "spawn_airboat_gun" "ulx ent prop_vehicle_airboat model:models/airboat.mdl EnableGun:1"
+alias "spawn_fire" "ulx ent env_fire firesize:128 fireattack:4 damagescale:2 firetype:0 spawnflags:132"
+alias "spawn_crate" "ulx ent prop_physics model:models/props_junk/wood_crate001a.mdl"
+alias "spawn_radio" "ulx ent prop_physics model:models/props_lab/citizenradio.mdl"
+
+// Sounds
+alias "s_list" "echo s_ -> ulx playsound - sl_ -> play; sh_afterban; sh_ban; sh_boring; sh_bullshit; sh_english; sh_finally; sh_help; sh_nice; sh_personally; sh_plan; sh_wait;"
+alias "s_afterban" "ulx playsound vo/npc/male01/vanswer14.wav"
+alias "sl_afterban" "play vo/npc/male01/vanswer14.wav"
+alias "sh_afterban" "echo s_afterban -> What did i do to deserve this?"
+
+alias "s_ban" "ulx playsound vo/npc/male01/gethellout.wav"
+alias "sl_ban" "play vo/npc/male01/gethellout.wav"
+alias "sh_ban" "echo s_ban -> GET THE HELL OUT OF HERE!"
+
+alias "s_boring" "ulx playsound vo/npc/male01/doingsomething.wav"
+alias "sl_boring" "play vo/npc/male01/doingsomething.wav"
+alias "sh_boring" "echo s_boring -> Shouldn't we be... uh, doing something?"
+
+alias "s_bullshit" "ulx playsound vo/npc/male01/question26.wav"
+alias "sl_bullshit" "play vo/npc/male01/question26.wav"
+alias "sh_bullshit" "echo s_bullshit -> This is bullshit!"
+
+alias "s_english" "ulx playsound vo/npc/male01/vanswer05.wav"
+alias "sl_english" "play vo/npc/male01/vanswer05.wav"
+alias "sh_english" "echo s_english -> Speak english"
+
+alias "s_finally" "ulx playsound vo/npc/male01/finally.wav"
+alias "sl_finally" "play vo/npc/male01/finally.wav"
+alias "sh_finally" "echo s_finally -> Finally"
+
+alias "s_help" "ulx playsound vo/canals/gunboat_herelook.wav"
+alias "sl_help" "play vo/canals/gunboat_herelook.wav"
+alias "sh_help" "echo s_help -> Here, take a look at this"
+
+alias "s_nice" "ulx playsound vo/npc/male01/nice.wav"
+alias "sl_nice" "play vo/npc/male01/nice.wav"
+alias "sh_nice" "echo s_nice -> Nice!"
+
+alias "s_personally" "ulx playsound vo/npc/male01/vanswer04.wav"
+alias "sl_personally" "play vo/npc/male01/vanswer04.wav"
+alias "sh_personally" "echo s_personally -> Should i take that... personally?"
+
+alias "s_plan" "ulx playsound vo/npc/male01/question11.wav"
+alias "sl_plan" "play vo/npc/male01/question11.wav"
+alias "sh_plan" "echo s_plan I'm pretty sure this wasn't part of the plan"
+
+alias "s_wait" "ulx playsound vo/trainyard/male01/cit_foodline02.wav"
+alias "sl_wait" "play vo/trainyard/male01/cit_foodline02.wav"
+alias "sh_wait" "echo s_wait -> You have to wait your turn like everybody else"
+
+// Connects
+alias "hm" "connect 213.239.211.57:4000"
+alias "hmt" "password hm; connect 213.239.211.57:4007"
+alias "lt" "password kekse; connect 192.168.178.86"
+alias "phil" "password tetriandoch; connect 93.186.204.64:27015"
+alias "rr" "ulx roundrestart"
+alias "sr" "ulx slay ^; ulx respawn ^"
+alias "ra" "ulx respawn *"
+
+alias "vk" "ulx votemap ttt_kakariko_v4; say Kakariko beschte Map!"
+alias "dmg" "ttt_print_damagelog"
+
+alias "test" "ulx rcon ttt_preptime_seconds 5; ulx rcon ttt_firstpreptime 5; ulx rcon ttt_posttime_seconds 5; ulx rcon ttt_round_limit 9999; ulx rcon ttt_haste 0; ulx rcon ttt_roundtime_minutes 99; ulx prevwin; rr; bind f nc"
+alias "nc" "ulx noclip"
+alias "test_d" "ulx rcon ttt_detective_pct 0.5; ulx rcon ttt_detective_min_players 2;"
+alias "test_rl" "ulx map ttt_kakariko_v3"
+alias "1bots" "ulx rcon bot"
+alias "2bots" "1bots; 1bots;"
+alias "3bots" "2bots; 1bots;"
+alias "4bots" "3bots; 1bots;"
+alias "5bots" "4bots; 1bots;"
+alias "6bots" "5bots; 1bots;"
+alias "7bots" "6bots; 1bots;"
+alias "8bots" "7bots; 1bots;"
+alias "9bots" "8bots; 1bots;"
+alias "10bots" "9bots; 1bots;"
+alias "11bots" "10bots; 1bots;"
+alias "12bots" "11bots; 1bots;"
+alias "13bots" "12bots; 1bots;"
+alias "14bots" "13bots; 1bots;"
+alias "15bots" "14bots; 1bots;"
+alias "16bots" "15bots; 1bots;"
+alias "17bots" "16bots; 1bots;"
+alias "18bots" "17bots; 1bots;"
+alias "19bots" "18bots; 1bots;"
+
+// Microphone stuff
+bind "." "volume_up"
+bind "," "volume_down"
+alias "+micoff" "+voicerecord"
+alias "-micoff" "-voicerecord"
+alias "+mic" "volume 0.01; +voicerecord"
+alias "-mic" "-voicerecord; volume_c"
+alias volume_c "volume_2"
+alias volume_5 "volume 0.2; echo "Volume |----+|"; alias volume_c "volume_5"; alias volume_up "volume_5"; alias volume_down "volume_4"; bind "KP_MULTIPLY" "+mic""
+alias volume_4 "volume 0.1; echo "Volume |---+-|"; alias volume_c "volume_4"; alias volume_up "volume_5"; alias volume_down "volume_3"; bind "KP_MULTIPLY" "+mic""
+alias volume_3 "volume 0.05; echo "Volume |--+--|"; alias volume_c "volume_3"; alias volume_up "volume_4"; alias volume_down "volume_2"; bind "KP_MULTIPLY" "+mic""
+alias volume_2 "volume 0.02; echo "Volume |-+---|"; alias volume_c "volume_2"; alias volume_up "volume_3"; alias volume_down "volume_1"; bind "KP_MULTIPLY" "+mic""
+alias volume_1 "volume 0.01; echo "Volume |+----|"; alias volume_c "volume_1"; alias volume_up "volume_2"; alias volume_down "volume_0"; bind "KP_MULTIPLY" "+mic""
+alias volume_0 "volume 0; echo "Volume |-----|"; alias volume_c "volume_0"; alias volume_up "volume_1"; alias volume_down "volume_0"; bind "KP_MULTIPLY" "+micoff""
+volume_2
+
+alias "linux" "bind y messagemode; unbind z; unbind MOUSE5; sensitivity 0.375; echo Linux Settings loaded"
+alias "windows" "bind z messagemode; unbind y; unbind MOUSE5; sensitivity 0.75; echo Windows Settings loaded"
+
+ttt_specdm_hitmarker 1
+
+exec ttt-rules
+exec ttt-normal
+exec hm
+
+// gm_demo_icon 0
+// record ttt