[ESX - ENG/DE] myDrugs - GTA:O styled and perfect for RP (PAID - 5€)


Hey guys,

with this script I want to present my drug script, which I wrote for roleplay servers. This will make your drug procedure a lot more fun.
The script works similar to GTA Online:

  • You can buy a weed, meth or coke farm and then it’s up to you:
    → You have to get suppliments, to keep the production running
    → You can upgrade the equipment and security to increase productivity and storage
    → You can invite other players (perfect for roleplay): You can decide whether they should have permanent access or if they only should make one mission.

Features:

  • Configurable farms
  • You have to do missions to get suppliments
  • Production only when there are enough suppliments
  • Vehicle for the mission have to be bought (fully managed by the script)
  • You can invite other players to help at your mission
  • Farm upgrades
  • Key cards, to give other players access
  • Weed, Meth and Coke production
  • Players get vanished when they are in different farms
  • Multiple farms (Config)

Update 10.02.2021

  • Added an option to sell your farm
  • Added an optional seller, to be able to sell your produced drugs (like the seller in myRobbery)

Showcase:

Also the script is available in two languages: English and German:

Config
Config = {}

Config.Locale = 'en' -- de or en

-- Supplies
Config.Supplies = {min = 50, max = 90} -- how many items should be given at a mission
Config.VehicleModifier1 = 5 -- extra supplies through bigger vehicle
Config.VehicleModifier2 = 10 -- extra supplies through bigger vehicle

Config.PricePerPlant = 15

Config.Level2Price = 250000
Config.Level3Price = 300000


-- 
Config.StoreCapacity = {

    200,
    300,
    400,

}

-- Finished drugs
Config.FinishCapacity = {

    75,
    125,
    150,

}

-- Produce rate per hour
Config.ProduceRate = {

    12, -- 2/min
    14,
    16,

}

Config.Vehicles = {

    {model = "dloader", label = 'Bravado Duneloader', price = 5000},
    {model = "burrito3", label = 'Declasse Burrito', price = 7500},
    {model = "mule2", label = 'Maibatsu Mule', price = 10000},

}

Config.Farms = {

    {id = 1, type = "weed", name = "GWeed", label = "Grapeseed Weed", price = 380000, enter = {x = 1657.6, y = 4851.92, z = 41.98}, inside = {x = 1064.67, y = -3182.66, z = -39.16, rot = 133.74}, bossActions = {x = 1044.02, y = -3194.92, z = -38.16}, spawnVehicle = {x = 1642.6551513672, y = 4839.2739257813, z = 42.026351928711, rot = 100.69953918457}},
    {id = 2, type = "meth", name = "PMeth", label = "Paleto Meth", price = 385000, enter = {x = 22.82, y = 6488.24, z = 31.43}, inside = {x = 997.3, y = -3200.57, z = -36.39, rot = 260.1}, bossActions = {x = 1002.09, y = -3195.21, z = -38.99}, spawnVehicle = {x = 10.04, y = 6478.48, z = 31.43, rot = 136.4}},
    {id = 3, type = "coke", name = "GCoke", label = "Grapeseed Coke", price = 460000, enter = {x = 2016.71, y = 4987.64, z = 42.1}, inside = {x = 1088.61, y = -3187.81, z = -38.99, rot = 180.0}, bossActions = {x = 1087.4, y = -3194.22, z = -38.99}, spawnVehicle = {x = 2009.29, y = 4985.98, z = 41.24, rot = 226.06}},
    {id = 4, type = "meth", name = "SMeth", label = "Sandy Meth", price = 450000, enter = {x = 1737.69, y = 3709.59, z = 34.14}, inside = {x = 997.3, y = -3200.57, z = -36.39, rot = 260.1}, bossActions = {x = 1002.09, y = -3195.21, z = -38.99}, spawnVehicle = {x = 1730.03, y = 3712.02, z = 34.21, rot = 24.05}},
    {id = 5, type = "weed", name = "SWeed", label = "Sandy Weed", price = 410000, enter = {x = 1407.08, y = 3603.46, z = 35.0}, inside = {x = 1064.67, y = -3182.66, z = -39.16, rot = 133.74}, bossActions = {x = 1044.02, y = -3194.92, z = -38.16}, spawnVehicle = {x = 1411.14, y = 3620.41, z = 34.89, rot = 304.19}},
    {id = 6, type = "coke", name = "SCoke", label = "Desert Coke", price = 490000, enter = {x = 2404.55, y = 3127.57, z = 48.15}, inside = {x = 1088.61, y = -3187.81, z = -38.99, rot = 180.0}, bossActions = {x = 1087.4, y = -3194.22, z = -38.99}, spawnVehicle = {x = 2408.06, y = 3138.08, z = 48.17, rot = 241.86}},
    {id = 7, type = "weed", name = "PWeed", label = "Paleto Weed", price = 340000, enter = {x = -400.21, y = 6378.26, z = 14.07}, inside = {x = 1064.67, y = -3182.66, z = -39.16, rot = 133.74}, bossActions = {x = 1044.02, y = -3194.92, z = -38.16}, spawnVehicle = {x = -409.76, y = 6377.92, z = 13.99, rot = 292.77}},
    {id = 8, type = "meth", name = "HMeth", label = "Port Meth", price = 480000, enter = {x = -253.68, y = -2591.14, z = 6.0}, inside = {x = 997.3, y = -3200.57, z = -36.39, rot = 260.1}, bossActions = {x = 1002.09, y = -3195.21, z = -38.99}, spawnVehicle = {x = -257.35, y = -2586.52, z = 6.0, rot = 94.65}},
    --{id = 9, type = "weed", name = "CWeed", label = "City Hanfplantage", price = 465000, enter = {x = -400.21, y = 6378.26, z = 14.07}, inside = {x = 1064.67, y = -3182.66, z = -39.16, rot = 133.74}, bossActions = {x = 1044.02, y = -3194.92, z = -38.16}, spawnVehicle = {x = 1111.34, y = -2280.78, z = 30.27, rot = 81.42}},
    {id = 10, type = "coke", name = "CCoke", label = "City Coke", price = 570000, enter = {x = -1421.74, y = -641.16, z = 28.67}, inside = {x = 1088.61, y = -3187.81, z = -38.99, rot = 180.0}, bossActions = {x = 1087.4, y = -3194.22, z = -38.99}, spawnVehicle = {x = -1425.48, y = -649.9, z = 28.67, rot = 215.43}},
}

Config.StorageMissionDestinations = {

    {loc = {x = 1725.3040771484, y = 4731.705078125, z = 42.131866455078}},
    .... 31 more locations in the script
}
Translations
Translation = {
    ['en'] = {
        ['access_computer'] = 'Press ~g~E~s~, to access the computer',
        ['enter_farm'] = 'Press ~g~E~s~, to enter ~o~',
        ['enter_farm_2'] = '~s~.',
        ['leave_farm'] = 'Press ~g~E~s~, to leave the farm',

        ['nothing_produced'] = '~y~Nothing could be produced in your absence as there are no supplies.',
        ['successfully_produced'] = '~g~During your absence, ~w~',
        ['successfully_produced_2'] = '~g~were produced.',
        ['successfully_produced_3'] = ' ~g~produced.',
        ['successfully_produced_storageEmpty'] = ' ~g~produced. Supplies are empty!',

        ['get_from_storage'] = '~s~ taken from the warehouse.',
        ['farm_bought_title'] = 'Farm bought',
        ['farm_bought'] = 'Well! ~g~',
        ['farm_bought_2'] = ' ~s~is now yours. Good choice!',

        ['weed'] = '~g~Weed',
        ['meth'] = '~b~Meth',
        ['coke'] = '~w~Coke',

        ['supplies'] = 'Supplies',
        ['already_started_mission'] = '~r~You have already started a mission!',
        ['notEnoughMoney'] = '~r~Not enough money!',

        ['mission_car_changed'] = 'You new vehicle ~y~',
        ['mission_car_changed_2'] = ' ~s~is being delivered.',
        ['mission_startLoading'] = 'Hee! You have to be here to pick up the supplies. We start loading.',
        ['mission_seller'] = 'Seller',
        ['mission_outofrange'] = '~y~The vehicle could not be fully loaded. Return to the seller!',
        ['mission_loading'] = 'Vehicle is being loaded: \n~g~',
        ['mission_loading_2'] = '% ~s~completed.',
        ['mission_wrongCar'] = 'I guess this vehicle is not the right one..',
        ['mission_backToFarm'] = 'Drive back to your farm!',

        ['mission_self_plants_bought'] = 'x supplies ~s~bought for ~g~',
        ['mission_self_plants_bought_2'] = '$~s~.',
        ['mission_self_plants_notEnoughMoney'] = 'The supplies were ~r~unloaded~s~, because you do not have enough money!.',
        ['mission_dou_plants_bought'] = 'x supplies ~s~were ~g~bought ~s~by your boss.',
        ['mission_dou_plants_abort'] = '~b~',
        ['mission_dou_plants_abort_2'] = '~s~s Mission was ~r~canceled~s~, because you do not have enough money.',
        ['mission_dou_plants_abort_target'] = 'Mission was ~r~aborted~s~, because the supplies were not paid for.',
        ['mission_dou_plants_arrived'] = 'The delivery with ~g~',
        ['mission_dou_plants_arrived_2'] = ' supplies arrived at this moment.',
        ['mission_dou_plants_arrived_target'] = 'Supplies successfully ~g~delivered',

        ['mission_press_e_deliver'] = 'Press ~g~E~s~, to unload the supplies',
        ['mission_wrongCar_deliver'] = 'This is not the vehicle we have loaded?',

        ['mission_invited'] = 'You were ~g~invited ~s~to do a ~b~mission~s~. Press  ~g~E~s~, to accept.',
        ['mission_invited_over'] = 'The invite has ~r~expired~s~!',

        ['menu_enter_farm'] = 'Enter the farm',
        ['menu_buy_farm'] = 'Buy the farm',
        ['menu_buy_name'] = 'Name:',
        ['menu_buy_type'] = 'Type:',
        ['menu_buy_price'] = 'Price:',
        ['menu_buy_confirm'] = 'Confirm',

        ['menu_computer_level'] = 'Level ',
        ['menu_computer_produced'] = 'Finished drugs',
        ['menu_computer_produced_desc'] = 'Finished and packed drugs',
        ['menu_computer_storage'] = 'Supplies',
        ['menu_computer_storage_desc'] = 'Supplies are needed for the production',
        ['menu_computer_takedrugs'] = 'How much should be withdrawn?',
        ['menu_computer_notenoughdrugs'] = 'You do not have that much in stock!',

        ['menu_storage'] = 'Get supplies',
        ['menu_storage_input'] = 'Store supplies',
        ['menu_storage_input_desc'] = 'Store supplies you have in your inventory',
        ['menu_storage_storageLimit'] = '~s~There is only space left for ~y~',
        ['menu_storage_storageLimit_2'] = ' supplies~s~!',
        ['menu_storage_notenough'] = '~r~You do not have enough supplies!',
        ['menu_storage_buy'] = 'Buy supplies',
        ['menu_storage_buy_desc'] = 'Buy supplies from black market',
        ['menu_storage_buy_self'] = 'Buy supplies on your own',
        ['menu_storage_buy_others'] = 'Let somebody buy your supplys',
        ['menu_storage_buy_others_desc'] = 'The person have to stay next to the farm entrance',
        ['menu_storage_inputseeds'] = 'How much should be stored?',
        ['storagemission_invite'] = 'Click to ask ~b~',
        ['storagemission_invite_2'] = '~s~',

        ['menu_upgrade'] = 'Upgrade farm',
        ['menu_upgrade_prod'] = 'Improve farm',
        ['menu_upgrade_prod_desc'] = 'Increase productivity and storage',
        ['menu_upgrade_prod_level2'] = 'Improve equipment',
        ['menu_upgrade_prod_level2_desc'] = 'Increase performance by improving your equipment: e.g. better fans',
        ['menu_upgrade_prod_level3'] = 'Improve security',
        ['menu_upgrade_prod_level3_desc'] = 'Increase performance by improving your monitoring: e.g. Video recording',
        ['menu_upgrade_level2required'] = 'Level 2 required',
        ['upgraded_title'] = 'Buy upgrade',
        ['upgraded'] = 'The ~y~level ~s~of your farm was upgraded to ~y~',
        ['upgraded_2'] = ' ~s~. Reenter the farm to see the progress.',

        ['menu_stats_finished'] = '~b~Storage capacity (finished drugs):',
        ['menu_stats_storecap'] = '~b~Storage capacity (supplies):',
        ['menu_stats_storecap_desc'] = '~s~4x supplies = 1x drug',
        ['menu_stats_productivity'] = '~b~Production speed',

        ['menu_changeVehicle'] = 'Change mission vehicle',
        ['menu_changeVehicle_change'] = 'Click to select ~b~',
        ['menu_changeVehicle_change2'] = ' ~s~as your mission vehicle',

        ['menu_access'] = 'Key cards',
        ['menu_access_desc'] = 'Set up who have access to the farm',
        ['menu_access_trust_remove'] = 'Click to revoke ~b~',
        ['menu_access_trust_remove_2'] = ' ~s~s access',
        ['menu_addTrusted'] = '~g~Grant access',
        ['menu_access_trust_add'] = 'Click to grant ~b~',
        ['menu_access_trust_add_2'] = ' ~s~access',

        ['menu_access_removed'] = ' ~s~s access was revoked.',
        ['menu_access_removed_target'] = 'You access for ~y~farm (#',
        ['menu_access_removed_target_2'] = ') was revoked.',
        ['menu_access_granted'] = ' ~s~s access was granted.',
        ['menu_access_granted_target'] = 'You now have access to ~g~farm (#',
        ['menu_access_granted_target_2'] = ')',
    },

    ['de'] = {
        ['access_computer'] = 'Drücke ~g~E~s~, um auf den Computer zuzugreifen',
        ['enter_farm'] = 'Drücke ~g~E~s~, um ~o~',
        ['enter_farm_2'] = '~s~ zu betreten',
        ['leave-farm'] = 'Drücke ~g~E~s~, um die Produktion zu verlassen',

        ['nothing_produced'] = '~y~Während deiner Abwesenheit konnte nichts produziert werden, da keine Vorräte vorhanden sind.',
        ['successfully_produced'] = '~g~Während du weg warst, wurden ~w~',
        ['successfully_produced_2'] = '~g~verarbeitet.',
        ['successfully_produced_3'] = ' ~g~produziert.',
        ['successfully_produced_storageEmpty'] = ' ~g~produziert. Deine Vorräte sind leer!',

        ['get_from_storage'] = '~s~ aus dem Lager entnommen.',
        ['farm_bought_title'] = 'Farm gekauft',
        ['farm_bought'] = 'Dann ist die ~g~',
        ['farm_bought_2'] = ' ~s~wohl ab Sofort deins..gute Wahl!',

        ['weed'] = '~g~Hanf',
        ['meth'] = '~b~Meth',
        ['coke'] = '~w~Kokain',

        ['supplies'] = 'Vorräte',
        ['already_started_mission'] = '~r~Du hast bereits eine Beschaffungsmission gestartet!',
        ['notEnoughMoney'] = '~r~Du hast nicht genügend Geld!',

        ['mission_car_changed'] = 'Dein neues Beschaffungsfahrzeug ~y~',
        ['mission_car_changed_2'] = ' ~s~wird umgehend geliefert.',
        ['mission_startLoading'] = 'Hee! Du musst hier sein, um die Vorräte abzuholen. Wir beginnen mit dem Beladen.',
        ['mission_seller'] = 'Verkäufer',
        ['mission_outofrange'] = '~y~Das Fahrzeug konnte nicht vollständig beladen werden. Kehre zurück zum Verkäufer!',
        ['mission_loading'] = 'Fahrzeug wird beladen: \n~g~',
        ['mission_loading_2'] = '% ~s~abgeschlossen.',
        ['mission_wrongCar'] = 'In das Fahrzeug bekommen wir die Ware aber nicht rein..',
        ['mission_backToFarm'] = 'Fahre nun zurück zur Anlage',

        ['mission_self_plants_bought'] = 'x Rohmaterial ~s~für ~g~',
        ['mission_self_plants_bought_2'] = '$ ~s~bezahlt.',
        ['mission_self_plants_notEnoughMoney'] = 'Die Ware wird wieder ~r~abgeladen~s~, da du nicht genug Geld hast.',
        ['mission_dou_plants_bought'] = 'x Rohmaterial ~s~wurden von deinem Auftraggeber ~g~bezahlt.',
        ['mission_dou_plants_abort'] = 'Mission von ~b~',
        ['mission_dou_plants_abort_2'] = ' ~s~wurde abgebrochen, da du die Ware nicht bezahlt hast.',
        ['mission_dou_plants_abort_target'] = 'Die Mission wurde ~r~abgebrochen~s~, da die Ware nicht bezahlt wurde.',
        ['mission_dou_plants_arrived'] = 'Die Lieferung über ~g~',
        ['mission_dou_plants_arrived_2'] = ' Pflanzen ist soeben eingetroffen.',
        ['mission_dou_plants_arrived_target'] = 'Ware erfolgreich ~g~abgeliefert',

        ['mission_press_e_deliver'] = 'Drücke ~g~E~s~, um die Ware auszuladen',
        ['mission_wrongCar_deliver'] = 'Wo ist denn das Fahrzeug, was beladen wurde?',

        ['mission_invited'] = 'Du wurdest ~g~eingeladen ~s~eine ~b~Beschaffungsmission ~s~durchzuführen. Drücke  ~g~E~s~, um anzunehmen.',
        ['mission_invited_over'] = 'Die Einladung ist ~r~abgelaufen~s~!',

        ['menu_enter_farm'] = 'Farm betreten',
        ['menu_buy_farm'] = 'Farm kaufen',
        ['menu_buy_name'] = 'Name:',
        ['menu_buy_type'] = 'Art:',
        ['menu_buy_price'] = 'Preis:',
        ['menu_buy_confirm'] = 'Kauf bestätigen',

        ['menu_computer_level'] = 'Stufe',
        ['menu_computer_produced'] = 'Fertige Ware',
        ['menu_computer_produced_desc'] = 'Fertig verpackte Ware',
        ['menu_computer_storage'] = 'Vorräte',
        ['menu_computer_storage_desc'] = 'Für die Produktion benötigte Vorräte',
        ['menu_computer_takedrugs'] = 'Wie viel soll entnommen werden?',
        ['menu_computer_notenoughdrugs'] = 'Du hast nicht so viel im Lager!',

        ['menu_storage'] = 'Vorräte besorgen',
        ['menu_storage_input'] = 'Vorräte einlagern',
        ['menu_storage_input_desc'] = 'Lagere bereits beschaffte Vorräte ein',
        ['menu_storage_storageLimit'] = '~s~Du kannst nur noch ~y~',
        ['menu_storage_storageLimit_2'] = ' Vorräte ~s~einlagern!',
        ['menu_storage_notenough'] = '~r~Du hast nicht genügend dabei!',
        ['menu_storage_buy'] = 'Vorräte kaufen',
        ['menu_storage_buy_desc'] = 'Kaufe Vorräte vom Schwarzmarkt',
        ['menu_storage_buy_self'] = 'Vorräte selber besorgen',
        ['menu_storage_buy_others'] = 'Vorräte besorgen lassen',
        ['menu_storage_buy_others_desc'] = 'Beauftrage einen Mitarbeiter, der vor der Tür steht',
        ['menu_storage_inputseeds'] = 'Wie viel soll eingelagert werden?',
        ['storagemission_invite'] = 'Klicke, um ~b~',
        ['storagemission_invite_2'] = ' ~s~anzufragen',

        ['menu_upgrade'] = 'Anlage erweitern',
        ['menu_upgrade_prod'] = 'Anlage verbessern',
        ['menu_upgrade_prod_desc'] = 'Erhöhe die Produktivität und Lagerkapazitäten',
        ['menu_upgrade_prod_level2'] = 'Ausrüstung verbessern',
        ['menu_upgrade_prod_level2_desc'] = 'Steigere Leistung durch eine Verbesserung deiner Ausrüstung: z.B. bessere Lüfter',
        ['menu_upgrade_prod_level3'] = 'Sicherheit verbessern',
        ['menu_upgrade_prod_level3_desc'] = 'Steigere Leistung durch die Verbesserung deiner Überwachung: z.B. Videoaufzeichnung',
        ['menu_upgrade_level2required'] = 'Level 2 benötigt',
        ['upgraded_title'] = 'Verbesserung gekauft',
        ['upgraded'] = 'Das ~y~Level ~s~deiner Anlage wurde auf ~y~',
        ['upgraded_2'] = ' ~s~verbessert. Der Umbau beginnt in Kürze',

        ['menu_stats_finished'] = '~b~Lagerkapazität (Fertige Ware):',
        ['menu_stats_storecap'] = '~b~Vorratskapazität:',
        ['menu_stats_storecap_desc'] = '~s~Verhältnis zum Endprodukt 4:1',
        ['menu_stats_productivity'] = '~b~Produktionsgeschwindigkeit',

        ['menu_changeVehicle'] = 'Beschaffungswagen ändern',
        ['menu_changeVehicle_change'] = 'Klicke, um ~b~',
        ['menu_changeVehicle_change2'] = ' ~s~als Beschaffungsfahrzeug zu verwenden',

        ['menu_access'] = 'Zugänge:',
        ['menu_access_desc'] = 'Verwalte die Zugänge der Mitarbeiter',
        ['menu_access_trust_remove'] = 'Klicke, um ~b~',
        ['menu_access_trust_remove_2'] = ' ~s~den Zugang zu entziehen',
        ['menu_addTrusted'] = 'Zugang freischalten',
        ['menu_access_trust_add'] = 'Klicke, um ~b~',
        ['menu_access_trust_add_2'] = ' ~s~den Zugang zu entziehen',

        ['menu_access_removed'] = ' ~s~wurde der Zugang entzogen.',
        ['menu_access_removed_target'] = 'Dir wurde der Zugang für ~y~Farm (#',
        ['menu_access_removed_target_2'] = ') entzogen.',
        ['menu_access_granted'] = ' ~s~wurde der Zugang freigeschaltet.',
        ['menu_access_granted_target'] = 'Dir wurde der Zugang für ~g~Farm (#',
        ['menu_access_granted_target_2'] = ') erteilt.',
    }

}

Dependencies:

  • ESX
  • NativeUI
    (bob74_ipl) - I used it for updating the IPLs. If you don’t want this feature, you can disable it in the Config or just replace the function for updating the IPLs. Of Course you can also ask me, maybe I can help you.

Price: 5€ / 6$
Download at https://luis-scripts.tebex.io/package/4219689

13 Likes

Please keep all discussions on topic, concerns about paid topics can be directed to the moderator team directly or on another topic.

If you have questions about the Tebex system or with the resource being illegitimate, stolen, copied or something else please flag it and explain to the moderator team.

Thank you.

2 Likes

For somebody who know what he does the code will be easy to modify.
If there is any problem, just ask - then it won’ be a problem anymore ^^

2 Likes

Nice release

2 Likes

its a good script tho but ima thinking about like just imagine 15 people get to same entrance for that and the cops know exactly where its locate.

Like you can see, it’s possible to set multiple locations of drug farms. Of course the cops could know the locations, but they can’t be everywhere at every time.
Personally, on my server, I hadn’t trouble with this.

1 Like

Just one little thing about this. While you opened the farm action menu inside the farm and then you just walk away to make the menu disappear instead of closing it. But when you exit the farm and stand on the entrance marker, the farm action menu just show up again.

Ouh, I’ve forgot to actually close it…you are absolutely right.

myDrugs - Update - 17.12.2020

- Bug fixed that the menu wasn't closed after starting a mission.
- Updated readme File. (Added the item names for those who haven't installed a drug script before)
- Added a marker for the delivery point of missions (Can be disabled in Config.lua)
- Added a Debug mode in Config. When this is activated, you can simply restart the script to test some changes. 

myDrugs - Update - 18.12.2020

  • Added config option to rename the final drug item name.
  • Added missing translations.

New Config entries:

Config.WeedItem = 'weed_pooch' -- name of the final drug item
Config.MethItem = 'meth_pooch'
Config.CokeItem = 'coke_pooch'

18.12.2020 - 18:03: The version had an error - Iam sorry. I’ve pushed a new update to fix this.

Thank you for this release! I Wonder, is it possible to completely disable the delivery part? I’d only like the drug production part

Hey,

there is no delivery part. The missions are there to get supplies to keep the production running.

So if I get this right - there is only production that gives the player drugs? They can sell to NPCs with another script?

Yes, that’s it.

Hello I have a problem when I go to buy supplies he loads me the truck I stay inside and when I will deliver to the farm there is nothing in the farm his mark supply deliver but nothing in the stock I have no error on the logs

You get the supplies directly in your inventory. After that you can put the supplies in the farm manually.

when i try to go buy a warehouse i get this error, the menu doesnt even open

How many labs can you have max?

There is no limit. You can set up as many as you want

where I can buy?