Erl Carlson's Programmer Application

Status
Not open for further replies.

Erl Carlson

Active member
Jun 9, 2022
276
64
21
In-game name: Erl Carlson
Steam ID: STEAM_0:1:574361869
Age: 17
For how long have you played on our servers?: 5-6 months | Almost 1300 hours
What country are you from?: Romania
Time Zone: UTC+2
Do you have a mic? Yes
Is this your first application for Developer? If not, link previous ones: Yes
Have you received any bans?: No
How confident are you with GLua? (Rate yourself 1-10 using rating guide): 5
Do you have any experience with Git?: I know the basics, but I will try to get better experience with git.
Do you have previous experience as a Developer for GMod?: No
How many hours can you commit to developing per week?: 10-20 depending on the school work but could be more
Why do you want to be a Developer? What can you help us with?: The first reason is that I have been playing on this server for over 5 months and a lot of hours, I love it. I already joined the staff team to assist the server and I hope I can help with the servers development as well. Another reason is that I just enjoy developing for GMOD.

Some examples of addons

King of the Hill Control point | Github


I made a simple KOTH control the point, with the intention that you could download a map and put this on and have a fight with you mate. You can set your team with !setteam red/blue and and the radius of the point with set_capradios 5000. For example here the radius of the point will be 5000 units. You can also remove the point using remove_point

Simple mini map | Github


I made a simple mini map addon that speaks for itself. I do plan on adding more features to it

DarkRP Money Printer | Github


DarkRP Money printer made with imgui. Plan on adding more features soon
 
Last edited:

Erl Carlson

Active member
Jun 9, 2022
276
64
21
Made some updates to the radar addon. Also a quite complex Derma settings menu also made it so it updates the settings to a SQL database. Also generally a lot of smaller features/fixes/Qol stuff to deal with the new system. I will update and add more settings in the future this is more of a extended proof of concept

Updated Github (same one as before)

 

Cloak

Civil Gamers Expert
Jan 14, 2021
705
2
414
71
One thing I will mention about your code is that you need to be using local variables a lot more. When you define a variable without the local keyword, you're updating it in the global table. If you're using a unique name like MyAddon_ConfigValue (or even better, make a table for your addon MyAddon = MyAddon or {} and then use something like MyAddon.ConfigValue) then that's not usually a problem (generally you want config values to be globally defined), but if you're using simple names then you risk overwriting the global value that another addon might've set up. Badly written gmodstore addons, for instance, might be using the global table when they shouldn't, so you risk breaking random addons that aren't so well written.

In your radar code pretty much all of the variables you define should be local. Also I'd recommend packaging your GitHub repos how an addon should be structured - e.g. for your money printer all your files should be under lua/entities/{class_name}. This means someone could then download the repo and whack it straight onto a server as a stand-alone addon. I also recommend using descriptive names for your addons and for net messages, e.g. call your addon "erl_printers" and your net messages "erl_printers_money_extraction", etc.

Overall though your dev app looks promising, please take a look at the feedback I've given and then we can look at taking it further.
 

Erl Carlson

Active member
Jun 9, 2022
276
64
21
One thing I will mention about your code is that you need to be using local variables a lot more. When you define a variable without the local keyword, you're updating it in the global table. If you're using a unique name like MyAddon_ConfigValue (or even better, make a table for your addon MyAddon = MyAddon or {} and then use something like MyAddon.ConfigValue) then that's not usually a problem (generally you want config values to be globally defined), but if you're using simple names then you risk overwriting the global value that another addon might've set up. Badly written gmodstore addons, for instance, might be using the global table when they shouldn't, so you risk breaking random addons that aren't so well written.

In your radar code pretty much all of the variables you define should be local. Also I'd recommend packaging your GitHub repos how an addon should be structured - e.g. for your money printer all your files should be under lua/entities/{class_name}. This means someone could then download the repo and whack it straight onto a server as a stand-alone addon. I also recommend using descriptive names for your addons and for net messages, e.g. call your addon "erl_printers" and your net messages "erl_printers_money_extraction", etc.

Overall though your dev app looks promising, please take a look at the feedback I've given and then we can look at taking it further.
Thank you for the feedback, its always appreciated. Everything should be in order now. The github links are the same as before
 

Erl Carlson

Active member
Jun 9, 2022
276
64
21
I have also done one of the of the github no access ticket, but I cant seem to find it now on the github. It was something along the lines of "Add voice ranges similar to /y /w in chat". I have also made it so that you can select the limitation for each job through a config file. For example you could have D-Class not be able to shout and SCP only whisper or not talk at all, all it needs is just a bit of configuration which can be done in the config file. This should be easy to implement on the server all that needs to be done is change it so it matches with the server HUD. Here is an example and here is the Github.

 

Erl Carlson

Active member
Jun 9, 2022
276
64
21
Regarding the last post I have made some improvements mainly by using DistToSqr instead of Distance for better performance since the hook will be ran 16384 at peak server times a second and some other minor stuff including making the syntax a bit more readable, if I will make any more improvement to the code ill mention them here
 
Status
Not open for further replies.