Conquer the Base by Doolittle If you're reading this then that means you opened up the source. So this will try to explain a little of how it all works. When the game starts we pick two random spots on startlist and move the teams there. All buying is done from each building's dialog. Each dialog is started from each building's action. Each client assigns actions to objects when each client receives a new object. This action assignment happens in alwaysrunning\vehstart.sqs. alwaysrunning\vehstart.sqs also adds all vehicles to vehiclelist. alwaysrunning\vehcleanup.sqs is responsible for scanning vehiclelist and deleting vehicles that are dead. alwaysrunning\trigcleanup.sqs is also run every so often to clean up any vehicles that didn't get listed in vehiclelist. Flags are taken from the action menu. alwaysrunning\flagtimer.sqs checks to see who owns what flag. If there is a change then this is broadcast to all clients. alwaysrunning\flagmarkers.sqs receives this broadcast and changes markers on clients as well as announces something changed. alwaysrunning\flagtimer.sqs also passes out money. alwaysrunning\income.sqs on the client's end adds money to playersmoney. alwaysrunning\whoisai.sqs is running to see if people disconnect. When they disconnect the server controls them by calling alwaysrunning\ailogic.sqs for each player. alwaysrunning\ailogic.sqs makes players local to the server move to take flags as well as purchase items by calling runonce\buttontwo.sqs. runonce\buttontwo.sqs is also called when a human player uses the building action to open runonce\showdlg.sqs and select an item from the list. runonce\buttontwo.sqs is the mission's most important script. It runs when someone is buying a vehicle, weapons, soldiers, transferring money, upgrading, and buying a vehicle with crew. Based on what someone purchases, that object is sent out to the other players so that they may act upon it. Vehicles are sent out to be picked up by alwaysrunning\vehstart.sqs and have actions or weapons added to them. Soldiers are sent out so that when they die their bodies can be removed. Transferring money is sent out, to be received by alwaysrunning\checkbank.sqs on each client. Upgrades are sent out so that clients may update their runonce\lists.sqs. init.sqs - starts up the following scripts: runonce\lists.sqs - lists which buildings build which items alwaysrunning\flagmarkers.sqs - changes flag color when captured and announces it, also remembers who has what flag for AI logic alwaysrunning\vehstart.sqs - very important, used to add actions to buildings and track when an object dies runonce\showdlg.sqs - attached to building objects found in building_list and called from the action menu runonce\taxi.sqs - attached to planes alwaysrunning\upgrades.sqs - receives upgrades and changes lists runonce\iamserver.sqs - run only by server runonce\iamclient.sqs - run only by clients runonce\iamserver.sqs - runs the following: alwaysrunning\flagtimer.sqs - sends out updates if flags are captured, also sends out money alwaysrunning\airearm.sqs - gives AI weapons when they respawn alwaysrunning\vehcleanup.sqs - scans array periodically and removes dead objects based on each objects timer alwaysrunning\whoisai.sqs - scans to see who is AI and who is a client, used in transferring money and for starting up AI logic alwaysrunning\ailogic.sqs - makes AI move to flags as well as buy items, also makes commander build base if needed alwaysrunning\bldgrepair.sqs - scans array of repairable buildings to see if they are damaged, then scans for nearby repair vehicles alwaysrunning\trigcleanup.sqs - lists dead items found in trigger covering entire map and cleans up any that were missed runonce\iamclient.sqs - runs the following: alwaysrunning\income.sqs - receives money based on flags captured alwaysrunning\playerrearm.sqs - rearms player when they respawn alwaysrunning\unitmarkers.sqs - moves markers around on map to show where a player's AI and teammates are alwaysrunning\checkbank.sqs - checks to see if anyone transferred money to player alwaysrunning\quickgetin.sqs - run when user wishes to enter a vehicle quickly