Sie sind nicht angemeldet.

[TUT] Hupe+Lichthupe+Rundumleuchten mit einer Taste belegen.

Antworten im Thema: 11 » Der letzte Beitrag (9. April 2016, 08:07) ist von Schneemann.

Lieber Besucher, herzlich willkommen bei: Trucksimulator24 - Die freundliche Trucksimulator Community rund um den Euro Truck Simulator 2, Euro Trucksimulator, German Truck Simulator, 18 Wheels of Steel Reihe, Extreme Trucker und den ZModeler.. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

zilpzalp

TS24 - Freund

  • »zilpzalp« ist männlich
  • »zilpzalp« ist der Autor dieses Themas

Beiträge: 506

Wohnort: Sachsen

Danksagungen: 4594

  • Nachricht senden

1

Mittwoch, 16. Oktober 2013, 12:54

[TUT] Hupe+Lichthupe+Rundumleuchten mit einer Taste belegen.

Hallo zusammen, hier mal ein kleines tut wie beim Hupen die Lichthupe und die Rundumleuchte mit angehen.
Dies gibt es im Wahren Leben auch.

Als erstes öffnet hier die controls.sii zu finden im Profil (dokumente/Euro Truck Simulator 2/profiles/)



mit Notepad++ oder den Standart Editor. So sieht die controls.sii dann aus wenn sie geöffnet ist.

Spoiler Spoiler

SiiNunit
{
input_config : _nameless.5182.AE90 {
version: 0
config_lines: 216
config_lines[0]: "device keyboard `di8.keyboard`"
config_lines[1]: "device mouse `di8.mouse`"
config_lines[2]: "device joy ``"
config_lines[3]: "device ui_joy ``"
config_lines[4]: "device joy2 ``"
config_lines[5]: "device joy3 ``"
config_lines[6]: "device joy4 ``"
config_lines[7]: "device joy5 ``"
config_lines[8]: "device joy6 ``"
config_lines[9]: "input j_steer `joy.x`"
config_lines[10]: "input j_throttle `joy.y`"
config_lines[11]: "input j_brake `joy.y`"
config_lines[12]: "input j_clutch ``"
config_lines[13]: "input j_look_ud ``"
config_lines[14]: "input j_look_lr ``"
config_lines[15]: "constant c_steer_func 0.000000"
config_lines[16]: "constant c_steer_dz 0.000000"
config_lines[17]: "constant c_throt_dz 0.100000"
config_lines[18]: "constant c_brake_dz 0.100000"
config_lines[19]: "constant c_clutch_dz 0.100000"
config_lines[20]: "constant c_lr_dz 0.100000"
config_lines[21]: "constant c_ud_dz 0.100000"
config_lines[22]: "constant c_msens 0.330000"
config_lines[23]: "constant c_minvert 0.000000"
config_lines[24]: "constant c_jzthrottle 1.000000"
config_lines[25]: "constant c_jithrottle 1.000000"
config_lines[26]: "constant c_jzbrake 1.000000"
config_lines[27]: "constant c_jibrake 0.000000"
config_lines[28]: "constant c_jzclutch 0.000000"
config_lines[29]: "constant c_jiclutch 1.000000"
config_lines[30]: "constant c_jisteer 0.000000"
config_lines[31]: "constant c_jilookud 0.000000"
config_lines[32]: "constant c_jilooklr 0.000000"
config_lines[33]: "constant c_rsteersens 1.000000"
config_lines[34]: "constant c_asteersens 6.000000"
config_lines[35]: "constant c_mousesteer 0.000000"
config_lines[36]: "constant c_mousepedal 0.000000"
config_lines[37]: "constant c_mped_dz 0.200000"
config_lines[38]: "constant c_relatsteer 1.000000"
config_lines[39]: "constant c_ffenabled 1.000000"
config_lines[40]: "constant c_ffgain 1.000000"
config_lines[41]: "constant c_ffspring 1.000000"
config_lines[42]: "constant c_fffriction 1.000000"
config_lines[43]: "constant c_ffengine 1.000000"
config_lines[44]: "constant c_ffsurface 1.000000"
config_lines[45]: "constant c_ffcollis 1.000000"
config_lines[46]: "constant c_hsauto 0.000000"
config_lines[47]: "constant c_krspeed 1.047198"
config_lines[48]: "constant c_jrspeed 2.094395"
config_lines[49]: "mix any_shift `keyboard.lshift?0 | keyboard.rshift?0`"
config_lines[50]: "mix any_ctrl `keyboard.lctrl?0 | keyboard.rctrl?0`"
config_lines[51]: "mix any_alt `keyboard.lalt?0 | keyboard.ralt?0`"
config_lines[52]: "mix any_cmd `keyboard.lcmd?0 | keyboard.rcmd?0`"
config_lines[53]: "mix prv_itm `keyboard.uarrow?0 | ui_joy.up?0 | ui_joy.pov1_up?0`"
config_lines[54]: "mix nxt_itm `keyboard.darrow?0 | ui_joy.down?0 | ui_joy.pov1_down?0`"
config_lines[55]: "mix prv_ctrl `((! any_alt) & any_shift & keyboard.tab?0) | ui_joy.left?0 | ui_joy.pov1_left?0`"
config_lines[56]: "mix nxt_ctrl `((! any_alt) & (! any_shift) & keyboard.tab?0) | ui_joy.right?0 | ui_joy.pov1_right?0`"
config_lines[57]: "mix mve_left `keyboard.larrow?0 | ui_joy.left?0 | ui_joy.pov1_left?0`"
config_lines[58]: "mix mve_right `keyboard.rarrow?0 | ui_joy.right?0 | ui_joy.pov1_right?0`"
config_lines[59]: "mix mve_up `keyboard.uarrow?0 | ui_joy.up?0 | ui_joy.pov1_up?0`"
config_lines[60]: "mix mve_down `keyboard.darrow?0 | ui_joy.down?0 | ui_joy.pov1_down?0`"
config_lines[61]: "mix selectfcs `keyboard.enter?0 | keyboard.numenter?0 | ui_joy.b1?0`"
config_lines[62]: "mix back `keyboard.esc?0 | ui_joy.b2?0`"
config_lines[63]: "mix skip `keyboard.esc?0 | ui_joy.b1?0`"
config_lines[64]: "mix complete `(! any_alt) & keyboard.tab?0`"
config_lines[65]: "mix delete_p `(! any_shift) & (! any_ctrl) & (! any_alt) & keyboard.backspace?0`"
config_lines[66]: "mix delete_c `keyboard.del?0`"
config_lines[67]: "mix line_sta `keyboard.home?0`"
config_lines[68]: "mix line_end `keyboard.end?0`"
config_lines[69]: "mix insert `keyboard.ins?0`"
config_lines[70]: "mix page_up `keyboard.pgup?0`"
config_lines[71]: "mix page_down `keyboard.pgdn?0`"
config_lines[72]: "mix copy `any_ctrl & (keyboard.c?0 | keyboard.ins?0)`"
config_lines[73]: "mix paste `(any_ctrl & (! any_alt) & keyboard.v?0) | (any_shift & keyboard.ins?0)`"
config_lines[74]: "mix select `mouse.button_left?0`"
config_lines[75]: "mix selectalt `mouse.button_right?0`"
config_lines[76]: "mix scrol_up `mouse.wheel_up?0`"
config_lines[77]: "mix scrol_dwn `mouse.wheel_down?0`"
config_lines[78]: "mix profmode `any_shift & keyboard.backspace?0`"
config_lines[79]: "mix gputimings `any_alt & keyboard.backspace?0`"
config_lines[80]: "mix quit `any_alt & keyboard.f4?0`"
config_lines[81]: "mix pause `keyboard.pause?0`"
config_lines[82]: "mix screenshot `keyboard.f10?0`"
config_lines[83]: "mix console `keyboard.f12?0`"
config_lines[84]: "mix dbgfovup `keyboard.numplus?0`"
config_lines[85]: "mix dbgfovdown `keyboard.numminus?0`"
config_lines[86]: "mix dbgfovreset `keyboard.nummultiply?0`"
config_lines[87]: "mix hdrsetupon `keyboard.lctrl?0 & keyboard.lshift?0 & keyboard.uarrow?0`"
config_lines[88]: "mix hdrsetupoff `keyboard.lctrl?0 & keyboard.lshift?0 & keyboard.darrow?0`"
config_lines[89]: "mix sndedittool `keyboard.lshift?0 & keyboard.rshift?0`"
config_lines[90]: "mix sndeditdata `keyboard.lalt?0 & keyboard.d?0`"
config_lines[91]: "mix cam1 `keyboard.key1?0`"
config_lines[92]: "mix cam2 `keyboard.key2?0`"
config_lines[93]: "mix cam3 `keyboard.key3?0`"
config_lines[94]: "mix cam4 `keyboard.key4?0`"
config_lines[95]: "mix cam5 `keyboard.key5?0`"
config_lines[96]: "mix cam6 `keyboard.key6?0`"
config_lines[97]: "mix cam7 `keyboard.key7?0`"
config_lines[98]: "mix cam8 `keyboard.key8?0`"
config_lines[99]: "mix camcycle `keyboard.key9?0`"
config_lines[100]: "mix camdbg `keyboard.key0?0`"
config_lines[101]: "mix camrotate `mouse.button_right?0`"
config_lines[102]: "mix camzoomin `mouse.wheel_up?0`"
config_lines[103]: "mix camzoomout `mouse.wheel_down?0`"
config_lines[104]: "mix camfwd `keyboard.num8?0`"
config_lines[105]: "mix camback `keyboard.num5?0`"
config_lines[106]: "mix camleft `keyboard.num4?0`"
config_lines[107]: "mix camright `keyboard.num6?0`"
config_lines[108]: "mix camup `keyboard.num9?0`"
config_lines[109]: "mix camdown `keyboard.num3?0`"
config_lines[110]: "mix lookleft `keyboard.numslash?0`"
config_lines[111]: "mix lookright `keyboard.nummultiply?0`"
config_lines[112]: "mix camlr `-mouse.rel_position.x?0 * c_msens`"
config_lines[113]: "mix camud `-mouse.rel_position.y?0 * sel(c_minvert, -c_msens, c_msens)`"
config_lines[114]: "mix looklranaraw `deadzone(-sel(c_jilooklr, -j_look_lr?0, j_look_lr?0), c_lr_dz)`"
config_lines[115]: "mix lookudanaraw `deadzone(-sel(c_jilookud, -j_look_ud?0, j_look_ud?0), c_ud_dz)`"
config_lines[116]: "mix looklrdigspd `(bool(lookleft) - bool(lookright)) * c_krspeed`"
config_lines[117]: "mix looklranaspd `looklranaraw * c_jrspeed`"
config_lines[118]: "mix looklrspd `looklrdigspd + looklranaspd`"
config_lines[119]: "mix lookudspd `lookudanaraw * c_jrspeed`"
config_lines[120]: "mix lookpos1 `keyboard.num5?0`"
config_lines[121]: "mix lookpos2 `keyboard.num9?0`"
config_lines[122]: "mix lookpos3 `keyboard.num7?0`"
config_lines[123]: "mix lookpos4 `keyboard.num6?0`"
config_lines[124]: "mix lookpos5 `keyboard.num4?0`"
config_lines[125]: "mix lookpos6 `keyboard.num8?0`"
config_lines[126]: "mix lookpos7 ``"
config_lines[127]: "mix lookpos8 ``"
config_lines[128]: "mix lookpos9 ``"
config_lines[129]: "mix trackiron `trackir.device.active?0`"
config_lines[130]: "mix trackiryaw `trackir.device.position.yaw?0`"
config_lines[131]: "mix trackirpitch `trackir.device.position.pitch?0`"
config_lines[132]: "mix trackirx `trackir.device.position.x?0`"
config_lines[133]: "mix trackiry `trackir.device.position.y?0`"
config_lines[134]: "mix trackirz `trackir.device.position.z?0`"
config_lines[135]: "mix dsteerleft `keyboard.larrow?0 | keyboard.a?0`"
config_lines[136]: "mix dsteerright `keyboard.rarrow?0 | keyboard.d?0`"
config_lines[137]: "mix dsteering `dsteerleft - dsteerright`"
config_lines[138]: "mix steering `dsteering - (pow(normalize(abs(sel(c_jisteer, -j_steer?0, j_steer?0)), c_steer_dz), (1.0 + c_steer_func * 0.5)) * sign(sel(c_jisteer, -j_steer?0, j_steer?0)))`"
config_lines[139]: "mix msteering `-mouse.rel_position.x?0 * c_msens`"
config_lines[140]: "mix mpedals `-mouse.rel_position.y?0 * c_msens`"
config_lines[141]: "mix dforward `keyboard.uarrow?0 | keyboard.w?0`"
config_lines[142]: "mix dbackward `keyboard.darrow?0 | keyboard.s?0`"
config_lines[143]: "mix aforward `normalize(sel(c_jzthrottle, sel(c_jithrottle, -j_throttle?0, j_throttle?0), sel(c_jithrottle, j_throttle?1 * -0.5 + 0.5, j_throttle?-1 * 0.5 + 0.5)), c_throt_dz)`"
config_lines[144]: "mix abackward `normalize(sel(c_jzbrake, sel(c_jibrake, -j_brake?0, j_brake?0), sel(c_jibrake, j_brake?1 * -0.5 + 0.5, j_brake?-1 * 0.5 + 0.5)), c_brake_dz)`"
config_lines[145]: "mix forward `dforward + aforward`"
config_lines[146]: "mix backward `dbackward + abackward`"
config_lines[147]: "mix dclutch ``"
config_lines[148]: "mix clutch `dclutch + normalize(sel(c_jzclutch, sel(c_jiclutch, -j_clutch?0, j_clutch?0), sel(c_jiclutch, j_clutch?1 * -0.5 + 0.5, j_clutch?-1 * 0.5 + 0.5)), c_clutch_dz)`"
config_lines[149]: "mix activate `keyboard.enter?0`"
config_lines[150]: "mix menu `keyboard.esc?0`"
config_lines[151]: "mix engine `keyboard.e?0`"
config_lines[152]: "mix attach `keyboard.t?0`"
config_lines[153]: "mix horn `keyboard.h?0 | keyboard.num0?0`"
config_lines[154]: "mix lighthorn `keyboard.h?0 | keyboard.j?0`"
config_lines[155]: "mix beacon `keyboard.h?0 | keyboard.o?0`"
config_lines[156]: "mix motorbrake `keyboard.b?0`"
config_lines[157]: "mix retarderup `keyboard.semicolon?0`"
config_lines[158]: "mix retarderdown `keyboard.apostrophe?0`"
config_lines[159]: "mix parkingbrake `keyboard.space?0`"
config_lines[160]: "mix wippers `keyboard.p?0`"
config_lines[161]: "mix cruiectrl `keyboard.c?0`"
config_lines[162]: "mix light `keyboard.l?0`"
config_lines[163]: "mix hblight `keyboard.k?0`"
config_lines[164]: "mix lblinker `keyboard.lbracket?0`"
config_lines[165]: "mix rblinker `keyboard.rbracket?0`"
config_lines[166]: "mix 4wayflasher `keyboard.f?0`"
config_lines[167]: "mix showmirrors `keyboard.f2?0`"
config_lines[168]: "mix showhud `keyboard.f3?0`"
config_lines[169]: "mix navmap `keyboard.m?0`"
config_lines[170]: "mix radio `keyboard.r?0`"
config_lines[171]: "mix display `keyboard.i?0`"
config_lines[172]: "mix quickpark `keyboard.q?0`"
config_lines[173]: "mix gearup `keyboard.lshift?0 | keyboard.rshift?0`"
config_lines[174]: "mix geardown `keyboard.lctrl?0 | keyboard.rctrl?0`"
config_lines[175]: "mix drive `joy.b11?0`"
config_lines[176]: "mix reverse `joy.b12?0`"
config_lines[177]: "mix cmirrorsel ``"
config_lines[178]: "mix fmirrorsel ``"
config_lines[179]: "mix mirroryawl ``"
config_lines[180]: "mix mirroryawr ``"
config_lines[181]: "mix mirrorpitu ``"
config_lines[182]: "mix mirrorpitl ``"
config_lines[183]: "mix mirrorreset ``"
config_lines[184]: "mix teleport `keyboard.f9?0`"
config_lines[185]: "mix bugreportrec `(! any_shift) & keyboard.f11?0`"
config_lines[186]: "mix bugrepscrrcc `any_shift & keyboard.f11?0`"
config_lines[187]: "mix gearsel1on ``"
config_lines[188]: "mix gearsel1off ``"
config_lines[189]: "mix gearsel1tgl `joy.b1?0`"
config_lines[190]: "mix gearsel2on ``"
config_lines[191]: "mix gearsel2off ``"
config_lines[192]: "mix gearsel2tgl ``"
config_lines[193]: "mix gear1 `joy.b15?0`"
config_lines[194]: "mix gear2 `joy.b9?0`"
config_lines[195]: "mix gear3 `joy.b10?0`"
config_lines[196]: "mix gear4 `joy.b11?0`"
config_lines[197]: "mix gear5 `joy.b12?0`"
config_lines[198]: "mix gear6 `joy.b13?0`"
config_lines[199]: "mix gear7 `joy.b14?0`"
config_lines[200]: "mix gear8 ``"
config_lines[201]: "mix gear9 ``"
config_lines[202]: "mix gear10 ``"
config_lines[203]: "mix gear11 ``"
config_lines[204]: "mix gear12 ``"
config_lines[205]: "mix gear13 ``"
config_lines[206]: "mix gear14 ``"
config_lines[207]: "mix gear15 ``"
config_lines[208]: "mix gear16 ``"
config_lines[209]: "mix adjuster `keyboard.f4?0`"
config_lines[210]: "mix advpage0 `keyboard.f5?0`"
config_lines[211]: "mix advpage1 `keyboard.f6?0`"
config_lines[212]: "mix advpage2 `keyboard.f7?0`"
config_lines[213]: "mix advpage3 `keyboard.f8?0`"
config_lines[214]: "mix advmouse `keyboard.f1?0`"
config_lines[215]: "mix gar_man `keyboard.g?0`"
}

}


Jetzt sucht ihr die zwei Zeilen raus:

config_lines[154]: "mix lighthorn `keyboard.h?0 | keyboard.j?0`"
config_lines[155]: "mix beacon `keyboard.h?0 | keyboard.o?0`"

Im Spoiler Blau Makiert und setzt beide nach dem keyboard. ein h wie es oben schon zu sehen ist.
Abspeichern und ab ins Spiel.

Nun könnt ihr im Game das Fernlicht,Rundumleuchte die Original Tasten zuweisen Aber unter der Sekundäreinstellung.
Die Hupe legt ihr auf ein nicht besetzten Knopf, so könnt ihr trotzdem alles einzelln Steuern im Game.

Hier das Ergebniss, nachteil ist das man die Rundumleuchte dann ausschalten muss da sie nicht mit ausgeht.

Mfg ZilpZalp

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »zilpzalp« (16. Oktober 2013, 13:03)


Es haben sich bereits 15 registrierte Benutzer bedankt.

Tester20091

Sprinter-Fahrer

  • »Tester20091« ist männlich

Beiträge: 19

Wohnort: Lunteren

  • Nachricht senden

2

Freitag, 18. Oktober 2013, 18:19

also bei mir geht das nicht..
KROMMIX Modding and Design

Today.. We go HARD in STYLE !

Eika

Gigaline-Fahrer

Beiträge: 457

Danksagungen: 2604

  • Nachricht senden

3

Samstag, 19. Oktober 2013, 18:28

Bei mir geht das auch nicht :fie:


mit freundlichen Grüssen
Eika/Fäbu
HARDSTYLE is my life:love::love::love:

°!DaF!°

Gliederzug-Fahrer

  • »°!DaF!°« ist männlich

Beiträge: 250

Danksagungen: 2976

  • Nachricht senden

4

Samstag, 19. Oktober 2013, 20:26

Doch das funktioniert. Bei mir war der Fehler ich hatte es nur unter Profiles gemacht, dann ging es bei mir nicht. Dann hatte ich es bei allen gemacht (Profil,profil(bak 1.3 usw überall habe ich die controls eingefügt und dann ging es bei mir müsst da die controls datei einfach mal überal einfügen :) Ist ein bissen doof geschrieben aber hoffe ihr versteht es :D

Tester20091

Sprinter-Fahrer

  • »Tester20091« ist männlich

Beiträge: 19

Wohnort: Lunteren

  • Nachricht senden

5

Sonntag, 20. Oktober 2013, 13:14

Aber überall ist doch die controls datei.. ?
KROMMIX Modding and Design

Today.. We go HARD in STYLE !

zilpzalp

TS24 - Freund

  • »zilpzalp« ist männlich
  • »zilpzalp« ist der Autor dieses Themas

Beiträge: 506

Wohnort: Sachsen

Danksagungen: 4594

  • Nachricht senden

6

Sonntag, 20. Oktober 2013, 13:39

ja richtig, du musst aber in den ordner profile und darin befinden sich wieder ordner, all diese ordner sind deine save games für jedes einzellne profil was du im game gemacht hast.
Mfg ZilpZalp

7

Montag, 21. Oktober 2013, 17:39

Du müsstest die alte ersetzen, so funktionierte es jedenfalls bei mir

rollrasen

Sattelzug-Fahrer

Beiträge: 79

Danksagungen: 1368

  • Nachricht senden

8

Sonntag, 20. April 2014, 05:30

hi,muss ich dann den vorhandenen buchstaben löschen?bin noch am rumtesten zwecks tastatur und lenkrad

Oppa1991

Sprinter-Fahrer

  • »Oppa1991« ist männlich

Beiträge: 12

Wohnort: Mannheim

Danksagungen: 42

  • Nachricht senden

9

Samstag, 11. April 2015, 18:03

Ich habe es damals über die sii gemacht von der becon dort steht eine Zeile das wenn du die rul anmachst auch die ruls angehen
Ich habe diese Zeile geändert und die ruls nur angehen wenn ich vernlicht anmache das heißt auch wenn ich Lichthupe mache gehen die ruls an und gehen auch wieder mit aus

Hier ist mal ein Video von mir wo ihr es sehen könnt
http://youtu.be/YVBdhRP4XT8

Bei Fragen einfach fragen oder in schicken

Lg oppa (Thomas)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Oppa1991« (11. April 2015, 18:45)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

zilpzalp

MarsKing3399

Sattelzug-Fahrer

  • »MarsKing3399« ist männlich
  • »MarsKing3399« wurde gesperrt

Beiträge: 66

Wohnort: Augsburg (Schwaben Bayern)

OS: Windows 7/64 Bit

Game: ETS2

GV: 1.20.x

  • Nachricht senden

10

Montag, 31. August 2015, 14:24

Oppa1919 kannst du mal die Controls.sii zeigen was du in den Zeilen geändert hast ?

Social Bookmarks

Counter:

Hits heute: 13 383 | Hits gestern: 42 513 | Hits Tagesrekord: 102 526 | Hits gesamt: 43 789 853 | Hits pro Tag: 19 496,38

Klicks heute: 39 626 | Klicks gestern: 118 123 | Klicks Tagesrekord: 756 082 | Klicks gesamt: 426 135 253 | Klicks pro Tag: 189 726,47 | Gezählt seit: 3. Mai 2011, 07:40

Ungelesene Beiträge Unbeantwortete Themen Themen der letzten 24 Stunden

Euro Truck Simulator,Euro Truck Simulator 2,German Truck Simulator,Forum,Community,Downloads,Support,Euro Trucksimulator,Euro Trucksimulator 2,German Trucksimulator,Trucks,18 Wheels of Steel,Haulin,Convoy,Pttm,Long Haul,Trucksimulator,Trucksimulation,Truck Simulator,Simulation,ATS,Trucksim,Extreme Trucker 2,ETS,ETS2,GTS,UKTS,ET,ET2,18WoS,Tutorial,Tutorials,Tipp,Zmodeler,z3d,Modding,SCS,simulation,support, Zmod,z3d,Sk,Skins,Map,Maps,Mod,Mods,Trucksims,STD,Scania Truck Driving Simulator,Scania,ETS2Mods, Euro Trucksimulator2 Mods