Garry's Mod

Garry's Mod

Not enough ratings
Boiguhs: How to make your own restaurant!
By David Ralphsky and 1 collaborators
A helpful guide on how to create your own map for the gamemode Boiguhs!
   
Award
Favorite
Favorited
Unfavorite
What is Boiguhs?
Boiguhs is a gamemode created by myself, David Ralphsky, and my friend Nationside. It's heavily inspired by the game Citizen Burger Disorder[kritz.net]. It mostly started out as a joke dare but has turned into a full gamemode. It's available for download on the Workshop, and you can view the code on GitHub[github.com]! Pull requests are welcome. If you don't know how to play, there's also a helpful guide! Okay, enough links. Let's talk maps.

Boiguhs is pretty severely lacking in maps. At time of writing, there is only one map available, and it's being remade from scratch due to us not being happy with it. However, I included a lot of customizability (that's not a word) in the code to allow just about any map idea to be feasible. If you find the customization lacking, please notify me through the GitHub or Workshop, linked above.

Now, onto the guide!
Entity List
Boiguhs includes a lot of custom entiites. Here's the full list:

Readable Name
Entity Name
Notes
A chair for customers
ai_customer_seatpoint
May need to be placed higher than you expect.
The point where cars will stop
ai_drivethrough
Used for a drivethrough if you wish to have one. Put it right outside the window. Serves as a waypoint for the Nextbots.
Spawnpoint for rats
ai_ratspawn
If multiple are placed, rats will pick a random one to spawn at.
Spawnpoint for the Supply Truck
ai_truckspawn
Has many possible keyvalues, see the Keyvalues section.
Top bun
boiguh_top
Can be placed on top of each other.
Bacon
boiguh_bac
Very thin, may fall over if stacked.
Cheese
boiguh_che
N/A
Lettuce
boiguh_let
N/A
Patty
boiguh_pat
N/A
Tomato
boiguh_tom
Very small and may fall over if stacked.
Bottom bun
boiguh_bot
Can be placed on top of each other.
A crate of buns
boiguhs_buncrate
Has a sprite hovering above it, so placing it on a shelf will make identification difficult for players. Contains top and bottom buns.
A crate of meat
boiguhs_meatcrate
See buncrate note, contains bacon and patties.
A crate of produce
boiguhs_producecrate
See buncrate note, contains cheese, lettuce, and tomatoes.
Spawnpoint for cars
boiguhs_carspawner
Is a point entity. Nextbots may have difficulty getting to the drivethrough if the path is difficult. Try to make it as easy as possible.
Spawnpoint for customers
boiguhs_customerspawner
Is a point entity. If multiple are present, customers will pick a random one to spawn from.
Fire Extinguisher
boiguhs_fireextinguisher
May not work properly until the game is started (after map cleanup).
Grill
boiguhs_grill
Default model is very large. See keyvalues section to change its model.
Cash Register
boiguhs_register
Register model is difficult to angle.
A rat corpse
boiguhs_ratcorpse
Should not be placed by mapmaker, it's handled by the gamemode. Will disappear after a few seconds.
AI Car
boiguhs_car
Should not be placed by mapmaker. Make sure you have a navmesh.
A Customer
boiguhs_customer
Should not be placed by mapmaker. Make sure you have a navmesh.
A normal Rat
boiguhs_rat
Should not be placed by mapmaker. Make sure you have a navmesh.
The King Rat
boiguhs_ratking
Should not be placed by mapmaker. Make sure you have a navmesh.
The Supply Truck
boiguhs_supplytruck
Should not be placed by mapmaker. Make sure you have a navmesh.
Lua Functions
Boiguhs utilizes gamemode functions. This means you will have to use a lua_run to activate them. The two most important functions are listed below:

Name
Description
GAMEMODE:StartGame()
Starts the game. If triggered while the game is still in progress, nothing will happen.
GAMEMODE:CallTruck()
Will spawn the supply truck if you have enough money.

While the above functions are required to play the gamemode, below are some functions you can use for map events, or whatever your crazy mind can think up.

Mechanic Name
Description
Functions
Money
Earned by serving boiguhs, used to buy supplies.
GAMEMODE:SetMoney(#)
GAMEMODE:AddMoney(#)
GAMEMODE:SubtractMoney(#)
GAMEMODE:GetMoney()
Morale
Explained in the How To Play Guide, more morale increases spawnrate of customers, less decreases the spawnrate. Clamped between 4 and 20.
GAMEMODE:SetMorale(#)
GAMEMODE:AddMorale(#)
GAMEMODE:SubtractMorale(#)
GAMEMODE:GetMorale()
Wave
A wave of customers.
GAMEMODE:SetWave(#)
GAMEMODE:GetWave()
Game Status
Whether the game is started or not.
GAMEMODE:GameStarted()
GAMEMODE:StartGame()
GAMEMODE:StopGame()
Keyvalues
Keyvalues are used to change aspects of certain entities. Below are entities that are able to be keyed, however you do not have to use keyvalues for the gamemode to work, they all have default values to prevent script errors.

ai_customer_seatpoint
Name
Value Type
Default Value
Notes
model
String
"models/props_c17/chair02a.mdl"
Changes the model of the chair.

boiguhs_grill
Name
Value Type
Default Value
Notes
model
String
"models/hunter/plates/plate1x5.mdl"
Changes the model of the grillface, the thing that you touch patties to in order to cook them.

ai_truckspawn
Name
Value Type
Default Value
Notes
distance
Number
1600
Distance (in hammer units) truck drives until it disappears.
speed
Number
200
Speed of the truck.
wait
Number
3
Time (in seconds) that the truck waits before dropping its cargo.
right
Number
320
How powerfully the crate should be pushed to the right (use negative values for left).
up
Number
150
How powerfully the crate should be pushed upwards (use negative values for down)
yaw
Number
0
Yaw angle for the truck when it spawns.
Other Notables
MAKE SURE YOU HAVE A NAVMESH! And you may want to edit it to make sure the nextbots can get to and from their destinations.

Rats - Rats have a hitbox of 20 by 20 by 20 units. They will search for food within 15 units of themselves on the Z axis. Once they have food, they will return to where they spawned and disappear. If they cannot get to where they spawned, they'll probably get stuck and then disappear. So make sure they can get back to their spawnpoint.

Rat King - Behaves identically to the rat sans food stealing. It will only attack players. Same hitbox as a normal rat.

Customers - Customers have a hitbox of 8 by 8 by 64 units. They will walk from their spawnpoint to the chair, then once they get up they walk back to their spawnpoints. See above if they can't return to their spawnpoint.

Supply Truck - The supply truck has no custom hitbox, so try to keep it out of reach of players. It will drive in a straight line and then disappear. See keyvalues section for its configurability.

The map will cleanup when the game starts and when the game ends. This is to prevent cheating and to reset everything.
1 Comments
Dr.Nastiel 1 Jul, 2018 @ 7:01am 
Where a entity?