Commodity creation tutorial - Printable Version +- Discovery Gaming Community (https://discoverygc.com/forums) +-- Forum: Discovery Development (https://discoverygc.com/forums/forumdisplay.php?fid=7) +--- Forum: Discovery Developers Forum (https://discoverygc.com/forums/forumdisplay.php?fid=183) +---- Forum: Freelancer Modding Tutorials (https://discoverygc.com/forums/forumdisplay.php?fid=36) +---- Thread: Commodity creation tutorial (/showthread.php?tid=472) Pages:
1
2
|
Commodity creation tutorial - Igiss - 12-27-2005 This is a tutorial that will help everyone willing to participate in creation of commodities for Discovery mod. Or, to be more precise, not commodities but trading routes for those. If you will do good, then your routes will be included into the final version of Discovery - after my checks and modifications, of course. I. Trading routes for new Discovery commodities (well, most of them) is located in a Goods.xml file that you will find in Discovery mod folder root. This file is processed by FLMM - information from it is extracted into market_commodities.ini file in Freelancer/DATA/EQUIPMENT folder. This file contains information about trading routes in Freelancer - what bases sell and buy certain things and what is their price on each base. The structure of Goods.xml and market_commodities.ini is similar - each have separate sections with lists of commodities for bases. Difference is that xml file has xml syntax, and does not contain all Freelancer bases (only the most important ones, around 50% of bases total). If you need to add commodities to bases that were not yet listed in Goods.xml, you are free to do so. Entry for each base/planet in Goods.xml looks like this: <data file="data\equipment\market_commodities.ini" method="sectionappend] <section> [BaseGood] base = Li01_01_base </section> <source> MarketGood = commodity_marijuana, 0, -1, 0, 0, 1, 2.16000 MarketGood = commodity_passengers, 0, -1, 150, 500, 0, 1.20000 MarketGood = commodity_mlieutenant, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_mcaptain, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_mgeneral, 0, -1, 0, 0, 1, 0.80000 </source> </data> This part: [BaseGood] base = Li01_01_base indicates to what base will the main part be appended. Each base in Freelancer has a number like this. I will further provide full list of bases for reference. This part: MarketGood = commodity_marijuana, 0, -1, 0, 0, 1, 2.16000 MarketGood = commodity_passengers, 0, -1, 150, 500, 0, 1.20000 MarketGood = commodity_mlieutenant, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_mcaptain, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_mgeneral, 0, -1, 0, 0, 1, 0.80000 is the main one. It adds actual new commodities that the base Li01_01 will be buying and selling. This section will not replace any existing original commodities, but rather amend the original commodity list. II. Ok, let's go in for some more details. Look at this entry: MarketGood = commodity_passengers, 0, -1, 150, 500, 0, 1.20000 "MarketGood = " is the start of any commodity line. "commodity_passengers" is the name of your commodity. "0" - don't change. "-1" - reputation needed to buy or sell. Do not change, it must be -1. "150, 500, 0, " - This part indicates if the commodity is for sale or to buy. 150, 500, 0, means that commodity is sold on the base. 0, 0, 1, means that base buys the commodity. If the commodity is sold, the base will buy it for the same price it sells it. If base only buys the commodity, you won't be able to buy the commodity from it - only sell. "1.20000" - it's the last number. It indicates the price of commodity. If commodity is sold (150, 500, 0,), it will be buying and selling price. If the commodity is only bought (0, 0, 1,), it will be only buying price. The number indicates the difference between base price for each commodity (which is fixed) and price on the particular base. III. So, you probably wonder where is the commodity itself? Well, the name, base price and icon for commodity are specified in two other ini files that Goods.xml does not modify. To keep it simplier for you, I'd better do those entries myself. So, what should you do? 1) Make up a name for your commodity. For example, Armchairs. 1a) You may make some kind of description that will be displayed along with the commodity in-game, or leave this part to me. 2) Make up some a commodity id. For armchairs it should be "commodity_armchairs". 3) Specify the base price. Note that base price is the price for which all bases that you do not specify will buy your commodity, so do not make your base price high! For example, for cardamine it's 300. You don't need to edit any files for the first three, just send me text. Then open Goods.xml and start editing. 4) In Goods.xml, start creating trade routes by setting the commodity for sale and to buy on different bases for different prices. For each base you are interested in, add commodity_armchairs entry to the list of new commodities, like this: MarketGood = commodity_marijuana, 0, -1, 0, 0, 1, 2.16000 MarketGood = commodity_passengers, 0, -1, 150, 500, 0, 1.20000 MarketGood = commodity_mlieutenant, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_mcaptain, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_mgeneral, 0, -1, 0, 0, 1, 0.80000 MarketGood = commodity_armchairs Then decide whether it will be bought or sold. There must be more places where you can sell the commodity than where you can buy it! Note that maximum prices should be only for selling - no player will buy commodity for the maximum price. If you want armchairs to be sold on Li01_01 (which is Manhattan, by the way), add appropriate numbers to the armchairs entry: MarketGood = commodity_armchairs, 0, -1, 150, 500, 0, If you want Manhattan only to buy armchairs, add other numbers: MarketGood = commodity_armchairs, 0, -1, 0, 0, 1, All bases where there's no entry for armchairs will buy them for the base price, and won't sell them. This is why it's very important to set base price with care. If you want armchairs to be sold or bough by Manhattan, than you want price to be different from base price. So, you need to decide what this price will be exactly. For example, base price on armchairs is 200. Then, if you set 0.9 as a price modifier: MarketGood = commodity_armchairs, 0, -1, 150, 500, 0, 0.9 Manhattan will sell armchairs for 180. DO NOT reduce sell price far below 1! It will cause players to buy the commodity and sell them at nearby bases, where price remains unmodified and much higher. For example, you add 0,1 price modifier to Manhattan and don't add entry for Trenton Outpost. This will cause players to buy armchairs for 20 on Manhattan and sell them for 200 on Trenton. To avoid this, you'll have to reduce prices on armchairs all around Liberty, which is hard to do. It's a better idea to set low base price and add price modifiers ABOVE 1, thus multiplying buy and sell cost of any commodity. For example, that's how you make a specific base buy armchairs for 300 credits: MarketGood = commodity_armchairs, 0, -1, 0, 0, 1, 1.5 5) Trade routes creation If you want good trade routes (which you should want, otherwise your editing will never be used in the mod), you should think about the area or areas where the commodity will be produced, and where prices on it will be low, and areas of high demand where prices will be high. Areas of production are areas where players will buy your commodity. Areas of demand will be places where they sell them. It's better to make versatile prices to make trading more interesting, so that fewer bases have same price. The longer and more dangerous is the route, the more money difference you can make. Avoid short and profitable routes. All routes with profit 1000 per unit and above must be long, 5-6 systems to pass or even more. Prices within one system, especially for bases close together, must have minimum difference. Commodity creation tutorial - Igiss - 12-29-2005 LIBERTY BASES New York Li01_01_Base - Planet Manhattan Li01_02_Base - Planet Pittsburgh Li01_03_Base - Battleship Missouri Li01_04_Base - Benford Station Li01_05_Base - Ithaca Research Station Li01_06_Base - Trenton Outpost Li01_07_Base - Norfolk Shipyard Li01_08_Base - Newark Station Li01_09_Base - West Point Military Academy Li01_10_Base - Detroit Munitions Li01_11_Base - Fort Bush Li01_12_Base - Buffalo Base Li01_13_Base - Rochester Base Li01_14_Base - Baltimore Shipyard Li01_15_Base - Battleship Osiris SP ONLY California Li02_01_Base - Planet Los Angeles Li02_02_Base - California Minor Li02_03_Base - Battleship Yukon Li02_04_Base - Willard Research Station Li02_05_Base - San Diego Border Station Li02_06_Base - Alcatraz Depot Colorado Li03_01_Base - Planet Denver Li03_02_Base - Battleship Rio Grande Li03_03_Base - Ouray Base Li03_04_Base - Pueblo Station Texas Li04_01_Base - Planet Houston Li04_02_Base - LPI Huntsville Li04_03_Base - Battleship Mississippi Li04_04_Base - Beaumont Base Li04_05_Base - LPI Sugarland Li04_06_Base - Battleship Osiris SP ONLY Alaska Li05_01_Base - Prison Station Mitchell BRETONIA BASES New London Br01_01_Base - Planet New London Br01_02_Base - Southampton Shipyard Br01_03_Base - Battleship Suffolk Br01_04_Base - Waterloo Station Br01_05_Base - Canterbury Station Br01_06_Base - Thames Outpost Br01_07_Base - Kensington Ship Platform Br01_08_Base - Trafalgar Base Manchester Br02_01_Base - BPA Newgate Br02_02_Base - Birmingham Station Br02_03_Base - Sheffield Station Br02_04_Base - Liverpool Border Station Br02_05_Base - Kingston Border Station Cambridge Br03_01_Base - Planet Cambridge Br03_02_Base - Cambridge Research Station Br03_03_Base - Battleship Norfolk Br03_04_Base - Cardiff Mining Facility Leeds Br04_01_Base - Planet Leeds Br04_02_Base - Stokes Mining Station Br04_03_Base - Battleship York Br04_04_Base - Glasgow Outpost Br04_05_Base - LD-14 Br04_06_Base - Durham Border Station Dublin Br05_01_Base - Battleship Hood Br05_02_Base - Mining Station Glorious Br05_03_Base - Graves Station Br05_04_Base - Battleship Essex Br05_05_Base - Arranmore Base Edinburgh Br06_01_Base - Luxury Liner Shetland Br06_02_Base - Aberdeen Border Station Br06_03_Base - Islay Base Br06_04_Base - Perth Station KUSARI BASES New Tokyo Ku01_01_Base - Planet New Tokyo Ku01_02_Base - Narita Outpost Ku01_03_Base - Yokohama Shipyard Ku01_04_Base - Roppongi Station Ku01_05_Base - Shinagawa Station Ku01_06_Base - Shinjuku Station Ku01_07_Base - Kabukicho Depot Ku02_01_Base - Fuchu Prison Ku02_02_Base - Battleship Myoko Ku02_03_Base - Deshima Station Ku02_04_Base - Planet Junyo Ku02_05_Base - Ohashi Border Station Kyushu Ku03_01_Base - Planet Kyushu Ku03_02_Base - Tsushima Depot Ku03_03_Base - Battleship Nagumo Ku03_04_Base - Nansei Research Complex Ku03_05_Base - Kagoshima Depot Honshu Ku04_01_Base - Planet Honshu Ku04_02_Base - Osaka Storage Facility Ku04_03_Base - Yukawa Shipyard Ku04_04_Base - Kansai Research Station Ku04_05_Base - Aomori Station Ku04_06_Base - Akita Border Station Hokkaido Ku05_01_Base - Battleship Matsumoto Ku05_02_Base - Ainu Depot Ku05_03_Base - Chugoku Gate Con Site Ku05_04_Base - Sapporo Station Chugoku Ku06_01_Base - Kyoto Base Tohoku Ku07_01_Base - Ryuku Base Ku07_02_Base - Tekagis Base RHEINLAND BASES New Berlin Rh01_01_Base - Planet New Berlin Rh01_02_Base - Oder Shipyard Rh01_03_Base - The Ring Rh01_04_Base - Bonn Station Rh01_05_Base - Dortmund Station Rh01_06_Base - Essen Station Rh01_07_Base - Brandenburg Border Station Rh01_08_Base - Kreuzberg Depot Hamburg Rh02_01_Base - Planet Hamburg Rh02_02_Base - Battleship Westfalen Rh02_03_Base - Vierlande Prison Rh02_04_Base - Alster Shipyard Rh02_05_Base - Altona Station Rh02_06_Base - L?beck Border Station Rh02_07_Base - Battleship Osiris SP ONLY Stuttgart Rh03_01_Base - Planet Stuttgart Rh03_02_Base - Planet Baden Baden Rh03_03_Base - Freiburg Station Rh03_04_Base - Ulm Border Station Rh03_05_Base - Konstanz Border Station Rh03_06_Base - Darmstadt Depot Frankfurt Rh04_01_Base - Planet Holstein Rh04_02_Base - Mainz Storage Facility Rh04_03_Base - Mannheim Station Rh04_04_Base - Fulda Border Station Rh04_05_Base - Bruchsal Base Dresden Rh05_01_Base - Leipzig Station Rh05_02_Base - Bautzen Station Rh05_03_Base - Pirna Border Station Rh05_04_Base - Vogtland Base INDEPENDENT WORLDS BASES Bering Iw01_01_Base - Pacifica Base Iw01_02_Base - Freeport 2 Hudson Iw02_01_Base - Barrow Base Iw02_02_Base - Dawson Base Iw02_03_Base - Battleship Osiris SP ONLY Magellan Iw03_01_Base - Freeport 4 Iw03_02_Base - Mactan Base Cortez Iw04_01_Base - Planet Curacao Iw04_02_Base - Montezuma Base Kepler Iw05_01_Base - Ames Research Station Iw05_02_Base - Nome Base Galileo Iw06_01_Base - Leiden Base Iw06_02_Base - Padua Base BORDER WORLDS BASES Omega-3 Bw01_01_Base - Planet Sprague Bw01_02_Base - Freeport 1 Bw01_03_Base - Rugen Station Bw01_04_Base - Douglas Station Bw01_05_Base - Baxter Research Station Omega-5 Bw02_01_Base - Cadiz Base Bw02_02_Base - Ronneburg Base Omega-7 Bw03_01_Base - Freistadt Base Bw03_02_Base - Briesen Mining Facility Bw03_03_Base - Elbich Mining Facility Omega-11 Bw04_01_Base - Solarius Station Bw04_02_Base - Freital Base Sigma-13 Bw05_01_Base - Gas Miner Naha Bw05_02_Base - Helgoland Station Bw05_03_Base - Yanagi Depot Sigma-17 Bw06_01_Base - Planet Kurile Bw06_02_Base - Atka Research Station Sigma-19 Bw07_01_Base - Luxury Liner Hawaii Bw07_02_Base - Gas Miner Ogashawa Tau-23 Bw08_01_Base - Cali Base Bw08_02_Base - Tau-31 Gate Con Site Bw08_03_Base - Java Station Tau-29 Bw09_01_Base - Nago Station Bw09_02_Base - Shinkaku Station Bw09_03_Base - Freeport 6 Tau-31 Bw10_01_Base - Planet Harris Bw10_02_Base - Holman Outpost EDGE WORLDS BASES Tau-37 Ew01_01_Base - Freeport 10 Ew01_02_Base - Falkland Base Omicron Beta Ew02_01_Base - Ruiz Base Omicron Theta Omega-41 Ew03_01_Base - Leon Base Ew03_02_Base - Freeport 5 Ew04_01_Base - Freeport 9 Unknown Ew06_01_Base - Planet Primus Ew06_02_Base - Planet Gammu Omicron Order St01_01_Base - Planet Toledo Omicron Delta St04_01_base - Yaren Base HISPANIA BASES Omicron Alpha Hi01_01_Base - Planet Malta Omicron Gamma Hi02_01_Base - Planet Crete Hi02_02_Base - Tripoli Shipyard Commodity creation tutorial - Igiss - 01-11-2006 Commodity creating tutorial (complete) from LancersReactor forums: http://lancersreactor.com/t/forum/topic.as...Editing&M=False NavMap: http://lancersreactor.com/t/flsystems/map.asp Commodity creation tutorial - Dab - 01-11-2006 O_O :shok: Well I have resspect for anyone willing to make new commodities.... Commodity creation tutorial - xit - 01-19-2006 I wouldn't mind trying it, already got ideas for three new commodities. :) Commodity creation tutorial - Dormat1 - 04-02-2007 I Have been looking through the commdities list and code trying to put together a comprehensive commodities list with buy & sell prices for all bases and systems (i'm about 60% complete) but there are a few entries that I cant match to a base, There are several I cant find in the codes the following are just 2 examples: Li01_hgn01_base Br01_hgn01_base Any help would be appreciated (This project is keeping me sane in the middle of the desert) v/r Nuclear Nightmare AKA Dormat1 Commodity creation tutorial - Panzer - 04-02-2007 Uhh, wow, didn't expect it to be so... complex, ah well, worth a shot Commodity creation tutorial - Zyreal - 05-01-2007 What governs if the commodity is contraband? I know it must have some way to specify it on a faction basis... I thought it had to do with "commodities_per_faction", but it almost seems like that file is useless... Nevermind on the contraband file, found it...still curious about commodities_per_faction though Commodity creation tutorial - Commodore - 05-05-2007 off topic question: Why is there BS Osiris in... texes, hudson, and... NY I can understand. But texas and hudson? Commodity creation tutorial - DJRWolf - 05-05-2007 Did you list the Discovery bases? I noticed in California that Riverside Station is not listed. Also did not see Freeport 11 in Delta. Have not checked for others. |