NOTE: This guide is a work in progress, wich means that you might find it very short, lacking of information, poorly done or with terrible spelling. If you have any suggestions, ideas or you know any workarounds, please go to the comments section.
When developing a mod you will often run across the no-coding issue, wich consists in you trying to implement a feature but not being able to do so since you dont know how to code, there are no programmers on your mod team or you just simply don´t want to code. This can be a problem for the development of the mod.
On this tutorial we will review a lot of workarounds that will help to add some features to your mod without coding.
The main problem of no-coding workarounds
Some of the workarounds presented in here may not be what you want. Besides, this workarounds are very limited. An example would be that you can´t add a new weapon or NPC. These are all based on leftover content and "exploiting" already existent features, so dont get too excited.
However, the advantage of using these workarounds is that it will make your mod stand out of the crowd, or at least look less plain.
Without further adieu, lets start.
Different loading background
Half-Life uses a single background image both for the menu and when the game is loading. However, you can add different backgrounds for the loading screen and menu.
Main Menu
Loading screen
This can be achieved by modifying the file "YourMod/resource/BackgroundLoadingLayout.txt", and adding your new background files. A recommended way to organize the backgrounds is putting the files in different folders, rather than putting everything in the "background" folder:
Image
Music in the main menu
This one is pretty popular. Adding a music file named "gamestartup.mp3" to the folder "YourMod/media" adds music to the main menu. However, the music plays in a loop and does not play again when the player leaves the game or disconnects from a server.
Mapping/Level editing
Dynamic Lights
This one was found in a russian server by the user
Windawz. If you add the parameter "effects" to a brush or point-based entity with the value of 8 or 4, it will emit dynamic light.
Image by Windawz
An example can be found
here.
Models
Different models for a single entity
You can make variations of pickups, monsters, etc. by adding a bodygroup to the model and adding the "body" property in a map editor:
Pickups
Monsters
You can also add "limitless" body/skingroups to entities that already use them like HECU grunts or scientists. I wrote "limitless" because there is still a limit on every model. Acording to The303.org, the limits are:
- 32 submodels
- 32 skingroups
A problem with this workaround is that some entities like Barney dont work as intended. In this case, Barney´s model has 3 bodygroups:
- Holstered gun
- Unholstered gun (in-hand)
- No gun
If the model is modified, Barney will change to a different variation on certain actions, like when unholstering his gun or dying. However, it seems that Barney is the only affected by this problem.
An example can be found
here, by UrbaNebula.
monster_*
entities.func_*
entities include the effects key by default.When I once used the func_conveyor entity in ka_airtrain, it also compiled with a light effect in the map, even though I didn't do anything unconventional with it.
It's hard to say because this entity was deleted by me a long time ago.