Changing Mining Crystals in Belts (0 viewing)
 | | |
|
TOPIC: Changing Mining Crystals in Belts
|
|
Re: Changing Mining Crystals in Belts 9 Years, 8 Months ago
|
Karma: 33
|
|
Minesalot wrote:
Personally I am not concerned about "perfect efficiency", that looks too Botty.
Also the same idea can be done with mining drones. They dont have to be perfect. So what if they "waste" a cycle here and there. Most miners like drones, and use them. Except most bots, because they are difficult.
If you have a crappy mining drone script that shares roids with lasers, I'll be happy to use it.
You have no idea how bad this would be... 3 ships mining the same ore in the same belt would bring in less than two mining in separate belts. Try it, but do it scientifically by writing stuff down and comparing.
Umm, so... two things.
1. I really enjoy doing really complex stuff because I enjoy the challenge. My script will be able to use the tree view on the left side of the inventory window and literally allow you to loot and move stuff wherever. Which will make the Orca the most awesome looter in high sec! It is a long way off though, but I'm thinking about sharing it. (I took a break for 6 months and I'm just now trying to get back into the code, but I'm 70% done. However, there's already about 3,000 lines of code, which took me 4 months of hard core coding, and I've not gotten back into that kind of groove yet.)
2. You nailed the sole reason why I haven't shared my drone script... If I shared my drone script, then hundreds to thousands of bots would start using it. Sounds great, right? Everyone getting about 20% more from their miners? Except that the market would be flooded with 10-20% more ore and cause ore prices to drop proportionally, so really the drone script would barely bring in more ISK in the end due to increased supply decreasing demand. That may sound a bit selfish (more pragmatic though) but sharing it would barely benefit anyone in the end. (I have seen the list of registered users on this site, which is about 20,000.)
(By comparison, sharing an MTU script has very little effect on market prices.)
|
|
|
|
Last Edit: 2016/07/15 07:28 By innominate.
|
|
|
Re: Changing Mining Crystals in Belts 9 Years, 8 Months ago
|
Karma: 10
|
|
1. I understand. I am a salesman by day, and programming dabbler by night. I enjoy taking code others have done and modifying it. So I do understand the amount of time coders put in to 3000+ lines of code. Lots of copy and paste for me lol.
2.Understandable. Don't want to flood the market. With any one ore. Which is also why I have changed all of my miners to mine different ores. Plus I am in a huge 20+ belt system, so they don't bump into each other very often. I am more interested in the not looking like a bot type of activity. Drone switching, wasting cycles, stuff like that.
In order to test it properly, I'll set each miner to use a different hangar to drop goodies off in the pos. Run them for a few days, and see who does what. This is also how I determined I cant run a looter properly. I rana team of 2 miners with a looter, and a team of 2 dropping in POS. Ran them for 3 days, and the Looter team had 27% less ore than the POS drop team. Same skills, Same ships, Same times, Same roids.
|
|
|
|
|
|
|
Re: Changing Mining Crystals in Belts 9 Years, 8 Months ago
|
Karma: 33
|
|
Curious about your test. Looter on same VM in tank mode (or whatever where it only warps to cans, or does it go to every belt even if no cans are there? If just cycling through belts, then 20 may be too many for it to get all cans before they pop? Looter set to log off 50 minutes after miners so last batch of cans aren't lost?
|
|
|
|
|
|
|
Re: Changing Mining Crystals in Belts 9 Years, 7 Months ago
|
Karma: 10
|
|
Hindsight, I should have written down the numbers. It would make it more meaningful, I know.
1st test. 4 hour run
Booster on 1 VM
3 on 1 VM. 2 hulks 1 looter. Tank mode, hulks jetting, Looter set to run 1 hr longer. Set to drop into compression array.
2 on another VM both hulks. Set to drop into POS large ship array.
The large ship array had more ore. Much more.
Test 2. 4 hour run
All different VMs
Booster
1 hulk jet BM's shared 1-10
1 hulk jet BM's shared 1-10
1 hulk POS BM's shared 11-20
1 hulk POS BM's shared 11-20
1 Looter set to warp to BM's shared 1-10 start at 20 minutes, run for 1hr longer than 2-3 vm.
Large ship array had more ore. Not as big of a difference. But significantly.
Test 3. 4 hour run
All different VMs
Booster
1 skiff POS compression array BM's shared 1-10
1 skiff POS compression array BM's shared 1-10
1 skiff POS large assembly array BM's shared 11-20
1 skiff POS large assembly array BM's shared 11-20
Looter not logged in
Both arrays were equal in ore.
|
|
|
|
|
|
|
Re: Changing Mining Crystals in Belts 9 Years, 7 Months ago
|
Karma: 33
|
Having an extra client on the same VM is probably a big factor. The VM has to split it's time by 3. Also, some Eve Pilot modules are not made to share time, which is ESPECIALLY true for the can looting module. It can take 30+ seconds of time, and any miners that have had a roid pop will have to wait until the looting script is done. The same goes for the time it takes to jettison or and deposit it into the POS arrays. By comparison, the mining loop in the algorithm takes 6-10 seconds to check everything each time, and only up to 15 seconds for starting a new roid. That is why I put the looter on its own VM and am so happy about the other thread where Slav2 is making grouping available over network.
I'm not saying you're wrong. But I am skeptical. 
|
|
|
|
|
|
|
Re: Changing Mining Crystals in Belts 9 Years, 7 Months ago
|
Karma: 10
|
innominate wrote:
Having an extra client on the same VM is probably a big factor...
Bingo. That is the assumption I am making. I notice better performance with 2 couriers on different vm's too. Hence why I am now splitting up all teams into different vm's. I wrote a simple autoit script to run on my main pc to to handle vmrun starting each set at random times. Also added some logging so i know each ran, stopped and took breaks. It is pretty nice. It runs on the main pc with a little tool tip in the upper corner of monitor 2 that counts down the time for each run and break time.
Hehehe I wrote a bot to bot my bots.
I just didn't like how the internal timers worked. Too much inconsistency in who was running.
I would like to be able to send commands to each VM to tell them to dock, or POS up before stopping the vm. So they are not in space alone, in the dark, where no one can hear you scream.
Warning: Spoiler!
#include <AutoItConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#Include <Date.au3>
Global $vmRunstart = '\VMware\VMware Workstation\vmrun.exe start "'
Global $vmRunstop = '\VMware\VMware Workstation\vmrun.exe stop "'
Global $vmMain = "C:\Virtual Machines\??????.vmx"
Global $vmTeam1 = "C:\Virtual Machines\???????.vmx"
Global $vmTeam2 = "C:\Virtual Machines\????????.vmx"
Global $vmTeam3 = "C:\Virtual Machines\????????.vmx"
Global $vmTeam4 = "C:\Virtual Machines\?????????.vmx"
Global $LoopTimer, $Resttimer, $Hours = 0, $Minutes = 0, $Seconds = 0
Global $g_bPaused = False
Global $sLogPath = "C:\????????\"
HotKeySet("!{ESC}", "_Terminate") ;Alt Escape
HotKeySet("{PAUSE}", "TogglePause")
$number= InputBox("Runs", "How many runs do you want to do?", "3", "", default, default, 0, 0,10)
If @error = 2 Then
$number=3
EndIf
For $x = 1 to $number
$LoopTimer = Random(12600000,14400000) ;3.5 hrs to 4 hrs
$RestTimer = Random(5400000,7200000) ;1.5 to 2 hours
Sleep(100)
_Shutdown() ; stop all virtual machines just in case they are running.
_Begin() ;start all virtual machines
sleep (100)
_Countdown($LoopTimer) ; run time of virtual machines
sleep (100)
_Shutdown() ; stop all virtual machines
sleep (100)
_Breaktime($RestTimer) ; take a break for a couple hours
sleep (100)
Next
Func _Begin()
TrayTip ( "Starting Virtual Machines:", "", 10)
_Writelog("Starting bots:")
_RunVM($vmRunstart,$vmMain)
_RunVM($vmRunstart,$vmTeam1)
_RunVM($vmRunstart,$vmTeam2)
_RunVM($vmRunstart,$vmTeam3)
_RunVM($vmRunstart,$vmTeam4)
EndFunc
func _Writelog($message)
Local $tCur
$tCur = _Date_Time_GetSystemTime()
_FileWriteLog ( $sLogPath & "\Trackinglog.txt", $message)
EndFunc
Func _Shutdown()
TrayTip ( "Stopping Virtual Machines:", "", 10)
_Writelog("Stopping bots:")
_RunVM($vmRunstop,$vmMain)
_RunVM($vmRunstop,$vmTeam1)
_RunVM($vmRunstop,$vmTeam2)
_RunVM($vmRunstop,$vmTeam3)
_RunVM($vmRunstop,$vmTeam4)
EndFunc
Func _RunVM($vmAction,$vmpath)
Run(@ProgramFilesDir & $vmAction & $vmpath & '"', @ProgramFilesDir & "\VMware\VMware Workstation\",@SW_HIDE)
sleep(10000)
EndFunc
Func _Countdown($MaxTime)
$timer = TimerInit()
While TimerDiff($timer) < $MaxTime
$Seconds = TimerDiff($timer)/1000
$diff = $Seconds - ($MaxTime/1000)
$Hours = Int($diff / 3600)
$Minutes = Int($diff/ 60)
if ($Minutes*-1 >60) Then
$tHours = $Hours*60
$Minutes = $Minutes-$tHours
EndIf
$SecondsRem = $diff - ($Minutes * 60) - ($Hours*3600)
$Minutes = $Minutes * -1
$SecondsRem = $SecondsRem * -1
$Hours = $Hours * -1
$CountdownTimer = StringFormat("%01i:%02i:%02i", $Hours, $Minutes, $SecondsRem)
ToolTip("Current Run: " & $x & @CRLF & "Time Remaining: " & $CountdownTimer, 1920, 1)
Sleep(1000)
WEnd
EndFunc
Func _Breaktime($MaxTime)
$timer = TimerInit()
While TimerDiff($timer) < $MaxTime
$Seconds = TimerDiff($timer)/1000
$diff = $Seconds - ($MaxTime/1000)
$Hours = Int($diff / 3600)
$Minutes = Int($diff/ 60)
if ($Minutes*-1 >60) Then
$tHours = $Hours*60
$Minutes = $Minutes-$tHours
EndIf
$SecondsRem = $diff - ($Minutes * 60) - ($Hours*3600)
$Minutes = $Minutes * -1
$SecondsRem = $SecondsRem * -1
$Hours = $Hours * -1
$CountdownTimer = StringFormat("%01i:%02i:%02i", $Hours, $Minutes, $SecondsRem)
ToolTip("Break Time: " & $x & @CRLF & "Break Time Remaining: " & $CountdownTimer, 1920, 1)
Sleep(1000)
WEnd
_Writelog("Break time over")
EndFunc
Func TogglePause()
$g_bPaused = Not $g_bPaused
While $g_bPaused
Sleep(100)
ToolTip('Script is "Paused"', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>TogglePause
Func _Terminate()
Exit 0
EndFunc
|
|
|
|
|
|
|
 | | |
|
|
© Macro Laboratory 2026
All rights reserved!
|