Jump to content

Seether

Member
  • Content Count

    13
  • Joined

  • Last visited


Reputation Activity

  1. Like
    Seether reacted to SGCam in Balancing PvP Going Forward   
    We can debate all day about if pirates flying XS cube ships with L Railguns have any class or not (spoiler: they don't, cubes are lame), but I think we can all agree that the current iteration of PvP has plenty of problems.
     
    Current Problems:
    Lock-on range is only determined by core size Some weapons have ranges that are greater than the minimum Lock-on range Weapons have no/minimal accuracy falloff with increasing range Weapons have no/minimal accuracy loss for high transversal velocities and accelerations  
    My Proposed Solutions:
     
    1: Lock on range needs to be based on different parameters.  The current meta of L guns on XS ships is problematic, since S and M ships (even if they also have L guns) are outranged and don't even get an opportunity to fight back.  I propose splitting lock-on into 4 separate "Radar" units:
    Radar - lock-on range based on sum of ship's 3 cross-sections (already calculated, and doing it as a sum encourages non-cube ships) Gravimetric - lock-on range based on ship's mass (already calculated, makes heavy ships easier to detect whether its cargo or armor) Thermal - lock-on range based on magnitude of the ship's maximum thrust in newtons (already calculated, makes ships with lots of engines easier to detect) Electromagnetic - lock-on range based on power capacity and shields (obviously only useful when/if those systems are added) Balancing the ranges from the 4 methods will take some trial and error, but overall it would make detection more "fair" by adding more control handles for NQ to balance.
     
    2+3: Weapons being able to shoot far is very reasonable, and is really a necessity for the BVR combat caused by the velocities of ships in space.  With the lock-on changes above, #2 becomes less of a problem.  However, just because your weapon CAN reach that far, doesn't mean it should have great accuracy at doing so.  Weapons should be able to fire when they are locked on, regardless of range (maybe missiles would be an exception to this), but should have accuracy falloff due to that range.  Additionally, lasers should have damage falloff with range.  I'd like to see the weapons rebalanced accordingly:
    Railguns - high accuracy, low rof, moderate damage Cannons - moderate accuracy, moderate rof, moderate damage Lasers - high accuracy, high rof, damage falloff at range (low damage at long range, moderate damage at short range) Missiles - moderate accuracy, low rof, hard cap range limited (high damage at short range)  
    4: Unless you are exactly in the target's flight path, you shouldn't be able to hit someone blazing past at 30k kph, aka "0.99c".  Accounting for transversal velocity forces pursuers to match velocities in order to have high hit chances, not just reduce the distance.  This means that weapons need a "tracking speed" property, so that some are better than others.  While tracking speed should vary by weapon type, it should primarily vary by weapon size so that Large weapons have low accuracy at high transversal velocities.  This solves the "the ultimate ship is the biggest ship covered in the most armor and cannons" problem, by making it hard for large weapons to target faster moving ships.  While that can be overcome by adding a ton of engines to make "the ultimate ship" accelerate like a fighter, it will also drastically increase their Thermal signature thus allowing smaller ships to plink them to death from out of range.  Additionally, if transversal acceleration and facing cross section were taken into account, small and quick ships like fighters would be harder to hit.
     
    Now some of you are going to say "but SGCam, that sounds a lot like the combat mechanics in EVE."  And you are right, it does.  But as with many things in DU that take inspiration from EVE, Lock+Fire combat is one of them.  That system overall works pretty well for EVE, and the more granular and customizable nature of DU means that it can be even more effective here.  I'm also looking forward to warp interdiction and tackling, but that would be a whole other post.
     
    Overall, the more complex the mechanics, the less all-around advantage "meta" builds have.  They may be powerful in certain situations, and that's ok - as long as they are weaker elsewhere due to their optimization.  Adding tradeoffs opens up the design space for more varied and interesting PvP, and will hopefully prevent us from playing "Cube Gank Squad 2020" going forward.
  2. Like
    Seether reacted to Mordgier in Anyone running DU on AMD Threadripper?   
    Yeah Intel is plugging it for their 8 cores -
     
    https://software.intel.com/content/www/us/en/develop/blogs/intel-core-i9-processors-reduce-open-world-load-times.html
     
    So ok - fine it scales to 8 - but at a certain point it clearly won't matter - and I am under the assumption that anything beyond 16 cores for DU will be pointless - but was hoping someone out there with an overkill build could confirm.
     
     
     
  3. Like
    Seether reacted to Emptiness in Core Limit   
    If you bury the cores in elements and/or enclose the ship in large glass windows and then abandon the ship, people could view it but not repair/claim and it wouldn't count towards your limit anymore.
  4. Like
    Seether reacted to Ikeprof in PVP VS NON PVP   
    My suspicion is simply that there is NOTHING else out there that brings the other elements to the table like this game does.  The market is pretty bereft of offerings and I found myself mostly playing Space Engineers had this not come along and even that was starting to get stale no matter how many mods I threw on the pile.
     
    if all the other facets of the game were terrible, such as ship building, industries, talent tree design, voxel deformation based terraforming etc..if all of those were subpar aspects of gameplay but PVP combat was exceptional, then I think the only people even chatting in this forum would be hard core pvp folks.
     
    The game offers enough elements that as a package cant' be found anywhere else that it is going to draw a diverse crowd.
     
    I'm personally on the fence and reserving judgement until there are more specifics on actual mechanics, inter-safe zone travel etc.  I've done my share of 3d newtonian based physics pvp in a very old game called Jumpgate, but I'm just getting too old for it anymore.  With that said, I understand the appeal.
  5. Like
    Seether reacted to Moosegun in PVP VS NON PVP   
    My irony meter just broke..... you owe me a new one

    Still confused why we are arguing over a pvp zone which is completely optional for players to enter, in a game where the main pvp mechanics have not even been properly outlined, let alone confirmed.
  6. Like
    Seether reacted to HangerHangar in PVP VS NON PVP   
    With current mechanics it will be very difficult for "unsponsored" players to do much.   Including both new players and returning players.
     
    it’s a big ask to get a new player into the equivalent of a 0.0 Corp in the month or two it takes them to empty their sanctuary claim, or a returning player in a day or two to return to a 0.0 equivalent Corp since their sanctuary claim is already emptied out.
     
    The game also lacks the permeable boarder that EVE has with a large green/yellow/red boarder, and Wormhole systems that increase those number of systems in both mass (number of exits)/randomness.
  7. Like
    Seether reacted to JohnnyTazer in When will the space safe zone be removed?   
    This is 100% eve online. It's bad when you arent even surprised by people there anymore.  18 years after release, you will still see an occasional new person get ganked, then go on a rant about how its poor mechanics and ganking is the reason eve is dying.  And this may be anecdotal, as I know salt comes from anywhere, but after playing for 10 years of eve, I've been called the N word on more than one occasion in eve. And it was only when I ganked a miner in "High Security" space. Coincidence? You be the judge. 
  8. Like
    Seether reacted to NEWMidgetMAN in Basic Ore Monitor For Containers   
    Thats my bad. I forgot to set some parameters. The script has been updated with a Lua parameter set to work properly.
  9. Like
    Seether reacted to LouHodo in Basic Ore Monitor For Containers   
    Yep... There are words in there I recognize.  I will link this to my org-mates who understand that LUA magic.
  10. Like
    Seether reacted to NEWMidgetMAN in Basic Ore Monitor For Containers   
    Basic Ore Monitor.

    Requires
    3 Programming Boards
    2 Databanks --two is needed to prevent weird code crossing bugs. later this may be less when they fix bug.
    20 Containers of same Size
    1 screen
    1 switch
    1 relay
     
    PB1->switch-> relay-> PB2 PB3

    Create Events in Lua Editor and Paste the Following as Instructed.
     
    9/17 - Fixed parameter for single boards.Changed some names and Added more exports
     
     
    Programming Board 1 -- Can do 9 Containers OR Read from Databanks ---screen ---databank-----only if your doing more than 9 items added last ---databank2-----only if your doing more than 9 items(using 2 helps code from being crossed from bugs)added last ---switch-----only if your doing more than 9 items ----Unit Start if Morethan9slots == "On" then switch.activate() end unit.setTimer("Live",1) unit.hide() ----Unit Tick ---Name the Tick Live Morethan9slots = "Off" --export:Off for 9 slots and On for more than 9 and requires databanks. local containermax = 9600 --export:;Your max container holding. local slot1item = "Bauxite" --export:;Slot1 Iten. local slot1weight = 1.28 --export:;Slot1 weight. local slot2item = "Coal" --export:;Slot2 Iten. local slot2weight = 1.35 --export:;Slot2 weight. local slot3item = "Hematite" --export:;Slot3 Iten. local slot3weight = 5.04 --export:;Slot3 weight. local slot4item = "Quartz" --export:;Slot4 Iten. local slot4weight = 2.65 --export:;Slot4 weight. local slot5item = "Chromite" --export:;Slot5 Iten. local slot5weight = 4.54 --export:;Slot5 weight. local slot6item = "Limestone" --export:;Slot6 Iten. local slot6weight = 2.71 --export:;Slot6 weight. local slot7item = "Malachite" --export:;Slot7 Iten. local slot7weight = 4.0 --export:;Slot7 weight. local slot8item = "Natron" --export:;Slot8 Iten. local slot8weight = 1.55 --export:;Slot8 weight. local slot9item = "Acanthite" --export:;Slot9 Iten. local slot9weight = 7.2 --export:;Slot9 weight. if Morethan9slots == "Off" then local dbhtml = "" local dhtml = "" local index = {1, 2, 3, 4, 5, 6, 7, 8, 9} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display local htmlContent = "" for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB1</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[ </table>]] screen.setHTML(html) elseif Morethan9slots == "On" then switch.activate() dbhtml = databank.getStringValue(OreMonitorTwo) dhtml = databank2.getStringValue(OreMonitorThree) local index = {1, 2, 3, 4, 5, 6} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item} -- names to display local htmlContent = "" for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB1</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[]]..dbhtml..[[]]..dhtml..[[ </table>]] screen.setHTML(html) end ---Unit Stop if Morethan9slots == "On" then switch.deactivate() end screen.clear() Programming Board 2 --databank is last slot to add and named databank ---Unit Start unit.setTimer("Live",1) unit.hide() ----Unit Tick ---Name the Tick Live --databank is last slot to add and named databank local slot1item = "Malachite" --export:;Slot1 Iten. local slot1weight = 4.0 --export:;Slot1 weight. local slot2item = "Natron" --export:;Slot2 Iten. local slot2weight = 1.55 --export:;Slot2 weight. local slot3item = "Acanthite" --export:;Slot3 Iten. local slot3weight = 7.2 --export:;Slot3 weight. local slot4item = "Garnierite" --export:;Slot4 Iten. local slot4weight = 2.60 --export:;Slot4 weight. local slot5item = "Petalite" --export:;Slot5 Iten. local slot5weight = 2.41 --export:;Slot5 weight. local slot6item = "Pyrite" --export:;Slot6 Iten. local slot6weight = 5.01 --export:;Slot6 weight. local slot7item = "Colbaltite" --export:;Slot7 Iten. local slot7weight = 6.33 --export:;Slot7 weight. local slot8item = "Cryolite" --export:;Slot8 Iten. local slot8weight = 2.95 --export:;Slot8 weight. local slot9item = "Gold Nuggets" --export:;Slot9 Iten. local slot9weight = 19.30 --export:;Slot9 weight. local dbhtml = "" local dhtml = "" local index = {7, 8, 9, 10, 11, 12, 13, 14, 15} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display local htmlContent = "" local containermax = 9600 --export:;Your max container holding. for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB2</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[ </table>]] databank.setStringValue(OreMonitorTwo,html) Programming Board 3 --databank is last slot to add and named databank ---Unit Start unit.setTimer("Live",1) unit.hide() ----Unit Tick ---Name the Tick Live --databank is last slot to add and named databank local slot1item = "Kobelckite" --export:;Slot1 Iten. local slot1weight = 2.37 --export:;Slot1 weight. local slot2item = "Columbite" --export:;Slot2 Iten. local slot2weight = 5.38 --export:;Slot2 weight. local slot3item = "Illmenite" --export:;Slot3 Iten. local slot3weight = 4.55 --export:;Slot3 weight. local slot4item = "Rhodonite" --export:;Slot4 Iten. local slot4weight = 3.76 --export:;Slot4 weight. local slot5item = "Vanadinite" --export:;Slot5 Iten. local slot5weight = 6.95 --export:;Slot5 weight. local slot6item = "Not set" --export:;Slot6 Iten. local slot6weight = 0 --export:;Slot6 weight. local slot7item = "Not set" --export:;Slot7 Iten. local slot7weight = 0 --export:;Slot7 weight. local slot8item = "Not set" --export:;Slot8 Iten. local slot8weight = 0 --export:;Slot8 weight. local slot9item = "Not set" --export:;Slot9 Iten. local slot9weight = 0 --export:;Slot9 weight. local index = {16, 17, 18, 19, 20} -- Row of Container? local containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names local weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item local items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display local htmlContent = "" local containermax = 1200 --export:;Your max container holding. for i=1, #containers do htmlContent = htmlContent .. "<tr>".."<th>"..index[i].."</th><th>"..items[i].."</th><th>"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100)).."%</th><th>"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5).."</th><tr>" end local html = [[ <table style=" margin-left: auto; margin-right: auto; width:30%; font-size:1.25em; text-align:left;"> <tr style = " background-color:Purple; color:black !important;"> <svg> <g> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="30" id="svg_8" y="50" x="10" stroke="#ff0000" fill="#ff7f00">PB3</text> </g></svg> <th>Row</th> <th>Product</th> <th>Container%</th> <th>Total Ore</th> </tr> ]]..htmlContent..[[ </table>]] databank.setStringValue(OreMonitorThree,html)  
     
    Pasteable Config for Programming Board 1. Hook up all containers (Bauxite, Coal, Hematite, Quartz, Chromite, Limestone)first and then link switch, screen, databank, databank2 and named them accordingly in the Lua editor slot area. Leave containers slots alone.
    {"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"slot6","type":{"events":[],"methods":[]}},"6":{"name":"switch","type":{"events":[],"methods":[]}},"7":{"name":"screen","type":{"events":[],"methods":[]}},"8":{"name":"databank","type":{"events":[],"methods":[]}},"9":{"name":"databank2","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"if Morethan9slots == \"On\" then\nswitch.activate()\nend\n\n\nunit.setTimer(\"Live\",1)\nunit.hide()","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"0"},{"code":"if Morethan9slots == \"On\" then\nswitch.deactivate()\nend\n\nscreen.clear()\n","filter":{"args":[],"signature":"stop()","slotKey":"-1"},"key":"1"},{"code":"Morethan9slots = \"Off\" --export:Off for 9 slots and On for more than 9 and requires databanks.\nlocal containermax = 9600 --export:;Your max container holding.\nlocal slot1item = \"Bauxite\" --export:;Slot1 Iten.\nlocal slot1weight = 1.28 --export:;Slot1 weight.\nlocal slot2item = \"Coal\" --export:;Slot2 Iten.\nlocal slot2weight = 1.35 --export:;Slot2 weight.\nlocal slot3item = \"Hematite\" --export:;Slot3 Iten.\nlocal slot3weight = 5.04 --export:;Slot3 weight.\nlocal slot4item = \"Quartz\" --export:;Slot4 Iten.\nlocal slot4weight = 2.65 --export:;Slot4 weight.\nlocal slot5item = \"Chromite\" --export:;Slot5 Iten.\nlocal slot5weight = 4.54 --export:;Slot5 weight.\nlocal slot6item = \"Limestone\" --export:;Slot6 Iten.\nlocal slot6weight = 2.71 --export:;Slot6 weight.\nlocal slot7item = \"Malachite\" --export:;Slot7 Iten.\nlocal slot7weight = 4.0 --export:;Slot7 weight.\nlocal slot8item = \"Natron\" --export:;Slot8 Iten.\nlocal slot8weight = 1.55 --export:;Slot8 weight.\nlocal slot9item = \"Acanthite\" --export:;Slot9 Iten.\nlocal slot9weight = 7.2 --export:;Slot9 weight.\n\nif Morethan9slots == \"Off\" then\nlocal dbhtml = \"\"\nlocal dhtml = \"\"\nlocal index = {1, 2, 3, 4, 5, 6, 7, 8, 9} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display\nlocal htmlContent = \"\"\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB1</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[\n</table>]]\n\nscreen.setHTML(html)\nelseif Morethan9slots == \"On\" then\nswitch.activate()\ndbhtml = databank.getStringValue(OreMonitorTwo)\ndhtml = databank2.getStringValue(OreMonitorThree)\nlocal index = {1, 2, 3, 4, 5, 6} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item} -- names to display\nlocal htmlContent = \"\"\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB1</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[]]..dbhtml..[[]]..dhtml..[[\n</table>]]\n\nscreen.setHTML(html)\n\nend\n\n\n","filter":{"args":[{"value":"Live"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"2"},{"code":"dbhtmltwo = databank.getStringValue(OreMonitorTwo)\nscreen.setHTML(dbhtmltwo)","filter":{"args":[{"value":"option2"}],"signature":"actionStart(action)","slotKey":"-2"},"key":"3"},{"code":"local index = {1, 2, 3, 4, 5, 6, 7} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7} -- slot names\nlocal weights = {1.28, 1.35, 5.04, 2.65, 4.54, 2.71, 4.0} -- inspected kg of item\nlocal items = {\"Bauxite\", \"Coal\", \"Hematite\", \"Quartz\", \"Chromite\", \"Limestone\", \"Malachite\"} -- names to display\nlocal htmlContent = \"\"\n\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><th>\"..items[i]..\"</th><th>\"..index[i]..\"</th></tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:25%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Blue;\ncolor:black !important;\">\n <th>Amount</th>\n <th>Row</th>\n <th>#</th>\n </tr>\n ]]..htmlContent..[[]]..dbhtmltwo..[[]]..dbhtml..[[\n</table>]]\n\nscreen.setHTML(html)\n","filter":{"args":[{"value":"option1"}],"signature":"actionStart(action)","slotKey":"-2"},"key":"4"},{"code":"dbhtmlthree = databank.getStringValue(fuck)\nscreen.setHTML(dbhtmlthree)","filter":{"args":[{"value":"option3"}],"signature":"actionStart(action)","slotKey":"-2"},"key":"5"}],"methods":[],"events":[]} Programming Board 2   Link containers(Malachite, Natron, Acanthite, Garnieririte, Petalite, Pyrite, Cobaltite, Cryolite, Gold Nuggets First and then Last slot is databank and named like so.
     
    {"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"slot6","type":{"events":[],"methods":[]}},"6":{"name":"slot7","type":{"events":[],"methods":[]}},"7":{"name":"slot8","type":{"events":[],"methods":[]}},"8":{"name":"slot9","type":{"events":[],"methods":[]}},"9":{"name":"databank","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"--databank is last slot to add and named databank\n\n\nlocal slot1item = \"Malachite\" --export:;Slot1 Iten.\nlocal slot1weight = 4.0 --export:;Slot1 weight.\nlocal slot2item = \"Natron\" --export:;Slot2 Iten.\nlocal slot2weight = 1.55 --export:;Slot2 weight.\nlocal slot3item = \"Acanthite\" --export:;Slot3 Iten.\nlocal slot3weight = 7.2 --export:;Slot3 weight.\nlocal slot4item = \"Garnierite\" --export:;Slot4 Iten.\nlocal slot4weight = 2.60 --export:;Slot4 weight.\nlocal slot5item = \"Petalite\" --export:;Slot5 Iten.\nlocal slot5weight = 2.41 --export:;Slot5 weight.\nlocal slot6item = \"Pyrite\" --export:;Slot6 Iten.\nlocal slot6weight = 5.01 --export:;Slot6 weight.\nlocal slot7item = \"Colbaltite\" --export:;Slot7 Iten.\nlocal slot7weight = 6.33 --export:;Slot7 weight.\nlocal slot8item = \"Cryolite\" --export:;Slot8 Iten.\nlocal slot8weight = 2.95 --export:;Slot8 weight.\nlocal slot9item = \"Gold Nuggets\" --export:;Slot9 Iten.\nlocal slot9weight = 19.30 --export:;Slot9 weight.\nlocal dbhtml = \"\"\nlocal dhtml = \"\"\nlocal index = {1, 2, 3, 4, 5, 6, 7, 8, 9} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display\nlocal htmlContent = \"\"\nlocal containermax = 9600 --export:;Your max container holding.\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB2</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[\n</table>]]\n\n\ndatabank.setStringValue(OreMonitorTwo,html)\n","filter":{"args":[{"value":"Live"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"0"},{"code":"unit.setTimer(\"Live\",1)\nunit.hide()","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"1"}],"methods":[],"events":[]} Programming Board 3 Link containers(Kobelckite, Columbite, Illemnite, Rhodonite, Vanadinite) First and then Last slot is databank and named like so.
    {"slots":{"0":{"name":"slot1","type":{"events":[],"methods":[]}},"1":{"name":"slot2","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"databank","type":{"events":[],"methods":[]}},"6":{"name":"slot7","type":{"events":[],"methods":[]}},"7":{"name":"slot8","type":{"events":[],"methods":[]}},"8":{"name":"slot9","type":{"events":[],"methods":[]}},"9":{"name":"slot10","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"--databank is last slot to add and named databank\n\nlocal slot1item = \"Kobelckite\" --export:;Slot1 Iten.\nlocal slot1weight = 2.37 --export:;Slot1 weight.\nlocal slot2item = \"Columbite\" --export:;Slot2 Iten.\nlocal slot2weight = 5.38 --export:;Slot2 weight.\nlocal slot3item = \"Illmenite\" --export:;Slot3 Iten.\nlocal slot3weight = 4.55 --export:;Slot3 weight.\nlocal slot4item = \"Rhodonite\" --export:;Slot4 Iten.\nlocal slot4weight = 3.76 --export:;Slot4 weight.\nlocal slot5item = \"Vanadinite\" --export:;Slot5 Iten.\nlocal slot5weight = 6.95 --export:;Slot5 weight.\nlocal slot6item = \"Not set\" --export:;Slot6 Iten.\nlocal slot6weight = 0 --export:;Slot6 weight.\nlocal slot7item = \"Not set\" --export:;Slot7 Iten.\nlocal slot7weight = 0 --export:;Slot7 weight.\nlocal slot8item = \"Not set\" --export:;Slot8 Iten.\nlocal slot8weight = 0 --export:;Slot8 weight.\nlocal slot9item = \"Not set\" --export:;Slot9 Iten.\nlocal slot9weight = 0 --export:;Slot9 weight.\nlocal index = {16, 17, 18, 19, 20} -- Row of Container?\nlocal containers = {slot1, slot2, slot3, slot4, slot5, slot6, slot7, slot8, slot9} -- slot names\nlocal weights = {slot1weight, slot2weight, slot3weight, slot4weight, slot5weight, slot6weight, slot7weight, slot8weight, slot9weight} -- inspected kg of item\nlocal items = {slot1item, slot2item, slot3item, slot4item, slot5item, slot6item, slot7item, slot8item, slot9item} -- names to display\nlocal htmlContent = \"\"\nlocal containermax = 1200 --export:;Your max container holding.\nfor i=1, #containers do\n htmlContent = htmlContent .. \"<tr>\"..\"<th>\"..index[i]..\"</th><th>\"..items[i]..\"</th><th>\"..math.ceil(((math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)/containermax)*100))..\"%</th><th>\"..math.ceil((containers[i].getItemsMass()/weights[i]) - 0.5)..\"</th><tr>\"\nend\nlocal html = [[\n<table style=\"\nmargin-left: auto;\nmargin-right: auto;\nwidth:30%;\nfont-size:1.25em;\ntext-align:left;\">\n <tr style = \"\nbackground-color:Purple;\ncolor:black !important;\">\n <svg>\n <g>\n <text xml:space=\"preserve\" text-anchor=\"start\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" id=\"svg_8\" y=\"50\" x=\"10\" stroke=\"#ff0000\" fill=\"#ff7f00\">PB3</text> \n </g></svg>\n <th>Row</th>\n <th>Product</th>\n <th>Container%</th>\n <th>Total Ore</th>\n </tr>\n ]]..htmlContent..[[\n</table>]]\ndatabank.setStringValue(OreMonitorThree,html)\n\n","filter":{"args":[{"value":"Live"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"0"},{"code":"unit.setTimer(\"Live\",1)\nunit.hide()","filter":{"args":[],"signature":"start()","slotKey":"-1"},"key":"1"}],"methods":[],"events":[]}  
  11. Like
    Seether reacted to Haunty in Made an XS Railgun and a small PvP radar, linked them to my seat, how to access the radar interface?   
    Re-doing the autoconfiguration on the cockpit/seat after placing the radar should do it. Still might have to manually link the seat/cockpit to the radar after that.
  12. Like
    Seether reacted to Megaddd in Production Screens Need Demand (from a professional manufacturing planner)   
    Over the years I've found that the only way to please everyone in a game with a complex crafting system and economy is to implement Google Sheets into the game client.
  13. Like
    Seether reacted to w1r3dh4ck3r in Made an XS Railgun and a small PvP radar, linked them to my seat, how to access the radar interface?   
    Yeah by all means don't share your solution with the rest of us...
  14. Like
    Seether reacted to Megaddd in [Lua] [Example] Printing max engine thrust   
    Great workaround until we get talent effects / modifiers in element report 😉
  15. Like
    Seether reacted to hdparm in [Lua] [Example] Printing max engine thrust   
    About
    This is a short script that prints base max thrust of linked engines. It can serve as an example, and may also be used to detect which engines do not have a technician buff applied to them.
     
    Set-up
    Place a programming board. Link up to 10 engines to the programming board. In the Lua editor (right-click, "Advanced", "Edit Lua code") create a unit start() event handler with this code: -- detect linked engines local engines = {} for key, value in pairs(unit) do if type(value) == "table" and type(value.export) == "table" then -- `value` is an element and `key` is the slot name if value.getThrust and value.getMaxThrust then -- `value` is an engine engines[#engines + 1] = value end end end -- get engine names local engineNames = {} for _, engine in ipairs(engines) do -- engine name is available in its widget data -- for other elements `core.getElementNameById` would have to be used instead local dataJson = engine.getData() local data = json.decode(dataJson) engineNames[engine] = data.name or "???" end -- sort engines by name table.sort(engines, function (engine1, engine2) return engineNames[engine1] < engineNames[engine2] end) -- print engines and their base max thrust system.print("Linked engines: " .. #engines) for _, engine in ipairs(engines) do local name = engineNames[engine] local maxThrustBase = engine.getMaxThrustBase() system.print(string.format("%s: %.0f N", name, maxThrustBase)) end unit.exit()  
    Click "Apply" in the Lua editor, exit build mode and activate the programming board. You should see base max thrust printed in the Lua chat tab.  
    Change log
    2020-09-13. Posted the first version (tested in r0.21.5).
  16. Like
    Seether got a reaction from JohnnyTazer in GET IT TOGETHER NQ!   
    The total lack of professionalism: 
    The 24/7 round the clock help that people like NQ-Stargazer et al have been providing to players who have issues such as losing items during placement, crashing into the earth with a ship full of Large elements due to server crash / own player folly and fully repairing their ships, and teleporting people to places they need to go when they wind up at Sanc instead of their activated Resurrection location. Totally unprofessional.

    Devs constantly trying to keep players informed of what they are doing and what they're trying to fix.  Trying to fix issues right now instead of next patch cycle.  Trying to give a cushion of how long servers will be down for maintenance/upgrade/bughunting so they don't grossly overshoot the deadline.  Totally unprofessional.
  17. Like
    Seether reacted to Sinfil in GET IT TOGETHER NQ!   
    imagine saying the its a failed game while the game is still being made lol. 
  18. Like
    Seether reacted to MadmanMac in GET IT TOGETHER NQ!   
    I gota say the this community as a whole is pretty good, and very helpful. More so in game tbh, but still mostly very helpful. 
  19. Like
    Seether reacted to Istanicas in Greifers   
    I think the protections in place will protect you greatly. I am sure that if you are peaceful in nature and want to do only building and no combat there are options for you. However limiting pvp to arenas would also cut down on tons of people who like to do PVP or just play to do PVP.  The STU and GTU mechanics talked about offer tons of building options in safe areas. Space stations are the  only real thing that my organization discussed that almost wouldn't be worth building without having sentries on guard at all times. Since space is open pvp. I am interested in other people thoughts on this. 
  20. Like
    Seether reacted to Sinister in GET IT TOGETHER NQ!   
    Oh Deal with the server issues? Im sure thar is a revelation to them.
     
    And we all are in the discord too. People get muted for being drama queens in help chats complaining about shit NQ is actively working on... 
×
×
  • Create New...