Keep in mind what the parameter names are. Sometimes there is a naming convention that is followed. Usually "int" values whose name starts with a "b", followed by an uppercase letter starting a new word means it's a "boolean" value. Boolean values only take two values: 0 = false, 1 = true (or "non-zero" = true).
For boolean parameters, you should pass either "true" or "false". You can also pass 1 or 0, but that's a little less clear.
For instance, if bOneShot is true, then the trigger will only fire once, and then get disabled. This could be used in a time trigger for a single event, such as a volcanic eruption some number of ticks into the game. If instead bOneShot was set to false, then the trigger would reset itself after firing, and would be able to fire again. This could be used to create disasters at regular intervals. (You probably want a range of times here, which would be the second CreateTimeTrigger function that can specify a min and max number of ticks between firing, and it will choose a random value in that range).
The map_id parameter is an "enum". An enum is just a list of named constants. You can look in MapIdEnum.h from the SDK to see all possible values.
Similarly, the Unit class is defined in Unit.h in the SDK. This is only really a stub class that just points to the real internal unit class. As such, you can't create a unit with this class, but only obtain a handle to a pre-existing unit. For instance, TethysGame::CreateUnit will fill in the passed Unit object, so it can be used to refer to the unit that was just created. You can also obtain unit handles using the enumerator classes (PlayerUnitEnum, PlayerBuildingEnum, PlayerVehicleEnum, GroupEnumerator, InRangeEnumerator, InRectEnumerator, LocationEnumerator, ClosestEnumerator). Again, check TethysGame.h and Enumerators.h in the SDK.
The last parameter of the CreateTriggerX functions is the name of the callback function. When the trigger fires, this is the function that gets called to handle the event. Note that for Outpost 2 to find this function, it must be exported from your DLL. Hence it will need "EXPORT" in front of the function definition. For instance, suppose you want to create disasters at regular intervals. You'd define a callback function that chooses a random location, and possibly random disaster type and random disaster strength, and create the disaster. You'd then set that function as the callback for a time trigger. Then whenever the time trigger fires, Outpost 2 will call your function, and your function will create a new disaster.