The traditional way of setting up a shop on a map is having a display of units or other showcased items, some sort of pad in front of them, and an Old Man or Folstag Flag Bearer. The Folstag Flag Bearer would move to the pad in front of the desired unit and the unit would be purchased. Currency could be any resource, such as gold or favor.
I am assuming you have the shop set up with a display of units, some sort of pad, and a unit chooser. (In the screenshot, the unit chooser would be the Folstag Flag Bearer.) You need 1 trigger per unit. For example, to make buying the Arcus work, it just takes one trigger. However, there are several conditions and effects. Begin by creating a new group called "Shops" and then create this trigger. Lets start filling in the conditions. The first condition you'll need is some sort of "Unit in Area" condition. You can literally use the "Unit in Area" condition but there is also "Distance to Point" and "Distance to Unit." If you decide to use "Distance to Unit" you must place a cinematic block directly in the middle of the pad. This cinematic block will be the "Unit" that your Folstag Flag Bearer or Old Man has to be near to to fire. Your next condition has to be a timer. Why a timer? If you complete this trigger and leave out a timer in the condition, then when your Old Man or Folstag Flag Bearer buys a unit, he will buy it millions of times in 1 second if he's able. By adding a timer, he can only buy the unit or upgrade once every 1, 2, or 3 seconds. (However long you decide to set it). The last condition is to make sure the player trying to buy the unit or upgrade has enough gold. Use the trigger "Player Resource Count." An example of how this condition should be set up is displayed below. NOTE: The operator must be as it is shown below. Once your finished with setting up all the conditions, we'll move on to effects… The first effect should be what you bought. For example, in the The second effect takes away what the player spent. There are two triggers to do this; one is better than the other. The first is "Tribute." You would set it up so if the unit/upgrade/god power cost 100 gold, you would tribute 100 gold from that player to Gaia. However, it makes a message appear "User tributed x Amount" or something similar. If you choose this effect, the next trigger is not needed. The other way to take resources away from a player is to use "Grant Resources." Put the amount of whatever resource, 100 gold for example, but put a negative sign in front of it. So it would look like this. -100. If you use this effect, you want to let the player know he is buying something, so the next effect is needed. The last effect, which is optional, is letting the player know they are buying something. Simply use the effect "Send Spoofed Chat to Player." You can enter the text "_____ Purchased" or "________ Purchased for ______ Gold" or anything else. If you use the "Tribute" effect with this, the screen will be spammed with too many messages. This is the final form of the trigger. It looks complicated but its only 5 or 6 conditions and effects. [This message has been edited by Cirrow (edited 12-20-2006 @ 11:07 PM).]
Distance: 3
Resource: Gold (If you want the unit to cost gold.)
Operator: >=
Number: 100 (If you want the unit to cost 100 of a resource.)
Distance: 3
Resource: Gold (If you want the unit to cost gold.)
Operator: >=
Number: 100 (If you want the unit to cost 100 of a resource.)
ProtoName: Arcus
Count: 1
Heading: 0 (The heading determines which way a unit will face when deployed based on 360 degrees. If you put in "90" the unit will face left, "180" the unit will face north, etc.)
Clear Existing Units: ON
Resource: Gold
Amount: -100