Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - BobOzarius

Pages: 1 ... 3 4 [5] 6 7
61
Computer Rigs / Re: My new Ryzen build
« on: April 03, 2017, 03:33:56 PM »
By the way, the 1070 might be nice, but the Sapphire RX470/480 8 gig... is super nice also. For a lot cheaper.

62
Computer Rigs / Re: My new Ryzen build
« on: April 03, 2017, 03:30:51 PM »
I don't know about the newer chips, but on the stuff one step below yours, 2 sticks is DEFINITELY better than 4. 4 was a nightmare to get stable. And I ended up either burning 2 sticks up or damaging 2 slots by upping the voltage to those sticks after some time. Or both. Luckily the board has worked like a champ for a long time with just 2 sticks for 16 gigs and I haven't had to replace/upgrade it yet. Soon though.

TM, every AMD build I've ever done seems to have a bit of issues with the memory controller and large amounts of ram. I've always had to use ram that's a bit less than the highest available rated when doing a 16 or greater gig build because it puts a lot of stress on the memory controller. I either run the ram at a lower rated speed, or you have to up the power to the ram to get a stable build. I think it's because the memory controller is built into the chips right? I forget, it's been a long time since I've built a system. Mine is super stable finally but I always have to sacrifice a bit in the memory department to be 100% stable. Hopefully the memory controller issues have been worked out with the new chips and memory.

Yes, you're exactly right.  And with the Ryzen, it's extra touchy since it's so new.  Sounds like relief is coming, but it's going to be up to the memory manufacturers to "tweak" their stuff a little bit to make the faster memory more widely useful.  I've read about people who have gotten 2400MHz memory to work, but nothing faster so far.  Also I've read about more success by using only 2 SIMMs vs. 4.  I'm OK for now; the ValueSelect Corsair 2133MHz stuff is good enough for now and the system performance is WAAAY better than my last gaming build from circa 2011.  :)

I generally don't push the performance envelope.  I might build alot of systems, but I generally don't overclock.  I've only done 1 SLI build in my life and that turned into a PITA.

63
You should see the Vulkan drivers go. I have no idea how support is working for Linux, because I'm not interested, but the new Vulkan drivers... omg. The load balancing on a multi core cpu is amazing.

Now if only you'd stop buying Nvidia video cards...  ;)  The newer AMD cards are catching up in performance fairly quickly.

I'm a big Linux user.  So ATI/AMD drivers for that have always been a trainwreck IMHO.  After a few experiences with Linux support and ATI, I decided that they'd never get any more of my hard-earned money.  ;)

64
Computer Rigs / Re: My new Ryzen build
« on: April 03, 2017, 07:55:04 AM »
TM, every AMD build I've ever done seems to have a bit of issues with the memory controller and large amounts of ram. I've always had to use ram that's a bit less than the highest available rated when doing a 16 or greater gig build because it puts a lot of stress on the memory controller. I either run the ram at a lower rated speed, or you have to up the power to the ram to get a stable build. I think it's because the memory controller is built into the chips right? I forget, it's been a long time since I've built a system. Mine is super stable finally but I always have to sacrifice a bit in the memory department to be 100% stable. Hopefully the memory controller issues have been worked out with the new chips and memory. 

65
Now if only you'd stop buying Nvidia video cards...  ;)  The newer AMD cards are catching up in performance fairly quickly.

66
Scripting Chat / Re: Somewhat working EasyUO context coloring
« on: February 25, 2017, 02:04:53 PM »
Regex is so fun. I've found so many crazy uses for it. It's crazy when you are proficient in it's use.

67
Script Debug / Re: Looting Issue
« on: February 24, 2017, 05:22:33 AM »
     It's bad practice to have a repeat without an until. Also, your wait timers don't allow for any error at all. So your character would be walking all over the place. To every corpse. What if the corpse was 9 tiles away? Is 2 seconds enough time while walking? Maybe. What if you lag? Having that wait 10 after the event macro 17 isn't very efficient either. It's a better idea to set a wait timer, over what it would normally take for a corpse to open, and detect if the #contid has changed. Because no 2 corpse container ids will be alike. Then on error, you can break out of that loop while you wait. What if the corpse doesn't open for some reason? Then you wait that 10, and continue through the code like an error never occurred. Which it did... That's not a good idea. You should look at mine for a better idea of how to do it. I actually put in a return for a corpse cont error so it will not continue to execute code if the container doesn't open. That also will fix missing corpses, because it won't ignore that corpse if it errors and it will reloot that corpse again. It's just more logical.

     Plus #findkind is oldschool.  ;)  #findcnt is better.  That's a very basic wait to handle cutting corpses. Now that I wrote all that, I'll write corpse cutting into mine to show you. Another issue you have, is you are doing a finditem every loop for tools, when that isn't needed. It's fine, just slows things down needlessly, when you start writing larger scripts that will matter. And this code should now account for all timings from actions performed in the script itself, so outside of this code, no timing should be needed to use it. It's all taken care of in the looting code itself. You could probly just do a gosub loot and put that code into that, with the variables at the top of the script and it would work fine.

Code: easyuo
  1. set %cutCorpse #true
  2. set %knife ; Set this to any knives or corpse cutting tool
  3. if %cutCorpse = #true
  4. {
  5.   finditem %knife c_ , #backpacked
  6.   if #findcnt > 0
  7.     set %knifeTool #findid
  8.   else
  9.     display ok Tool not found! Get a tool!
  10. }
  11. set %targetTimer #sysTime
  12. set %corpseContSize 144_212; Set this to whatever size the container is for a corpse on your shard
  13. set %corpseLooted n/a
  14. set %itemTypes VLK
  15. set %corpses YFM
  16.  
  17. repeat
  18. finditem %corpses G_2
  19. if #findcnt > 0
  20. {
  21.   set %corpse #findid
  22.   set %contid #contid
  23.   if %cutCorpse = #true
  24.   {
  25.     set #lobjectid %knifeTool
  26.     if #targCurs = 1
  27.     {
  28.       set #targCurs 0
  29.       wait 5
  30.     }
  31.     event macro 17
  32.     set #ltargetkind 1
  33.     set %targetTimer #sysTime + 1000
  34.     while %targetTimer > #sysTime && #targCurs = 0
  35.     {
  36.     }
  37.     if #targCurs = 1
  38.     {
  39.       event macro 22
  40.       while %targetTimer > #sysTime
  41.       {
  42.       }
  43.     }
  44.   }
  45.   while %targetTimer > #sysTime
  46.   {
  47.   }
  48.   event macro 17
  49.   set %contWait #sysTime + 1100
  50.   while #contsize <> %corpseContSize || #contid = %contid
  51.   {
  52.     if #contid <> %contid
  53.     {
  54.       wait 5
  55.       break
  56.     }
  57.   }
  58.   if %contWait < #sysTime
  59.   {
  60.     set %corpseLooted #false
  61.     while %contWait > #sysTime
  62.     {
  63.     }
  64.     return  ; Return on container error
  65.   }
  66.   set %corpseContId #contid
  67.   finditem %itemTypes c_ , %corpseContId
  68.   {
  69.     if #findcnt > 0
  70.     {
  71.       ; Find and loot whatever you want here
  72.       set %corpseLooted #true
  73.     }
  74.   }
  75.   if %corpseLooted = #true
  76.     ignoreitem %contid
  77.   while %contWait > #systime
  78.   {
  79.   }
  80. }
  81. until #false

68
Script Debug / Re: Looting Issue
« on: February 23, 2017, 08:10:12 PM »
I set a timer for it to break out, but forgot to add the time to actually break out of the while loop if it triggers.  ;)  It's there. You'll see it. Just above the while. if %contWait < #sysTime break needs to be INSIDE the while loop.  Oops.  ;)

69
Script Debug / Re: Looting Issue
« on: February 23, 2017, 04:53:01 PM »
You also probly need to account for the timing of instanced corpses, which this does not do. You'd have to loot it once at the beginning, and then again after a couple minutes when the other corpses become un-instanced. (Is that a word?)  Or if you're finding corpses nonstop, instead of looting it twice, find the corpse, set it to an instanced timer, then loot it just once when it combines the instances. But if you're competing with others, probly better to just loot it twice. So you get your items at least. That %contWait timer probly needs some tweaking also. It looks like it would work correctly, but I'm not sure. It seems to wait as long as it takes for a corpse to open, plus 100ms. But is that too long? After opening a corpse with event macro 17, you have to wait at least 1000ms on OSI to perform another action. That's something to consider. That's why I made the timer 1100. But what if the container opens in 500 ms, you'd have a spare 500 ms you'd have to wait before performing an action, so you'd have to account for that somewhere.

Code: easyuo
  1. set %corpseContSize ; Set this to whatever size the container is for a corpse on your shard
  2. set %corpseLooted n/a
  3. finditem %corpses G_2
  4. if #findcnt > 0
  5. {
  6.   set #lobjectid #findid
  7.   set %contid #contid
  8.   event macro 17
  9.   set %contWait #sysTime + 1100
  10.   while #contsize <> %corpseContSize || #contid = %contid
  11.   {
  12.     if #contid <> %contid
  13.     {
  14.       wait 5
  15.       break
  16.     }
  17.   }
  18.   if %contWait < #sysTime  
  19.   {
  20.     set %corpseLooted #false
  21.     return  ; Return on container error
  22.   }
  23.   set %corpseContId #contid
  24.   finditem %itemTypes c_ , %corpseContId
  25.   {
  26.     if #findcnt > 0
  27.     {
  28.       ; Find and loot whatever you want here
  29.       set %corpseLooted #true
  30.     }
  31.   }
  32.   if %corpseLooted = #true
  33.     ignoreitem %contid
  34. }

70
Script Debug / Re: Looting Issue
« on: February 22, 2017, 08:14:44 PM »
Or wait for the container and use it's id. The corpse id and the container id can be different. Sometimes they are the same. Sometimes they are not. On OSI anyways. Probly due to instanced corpses. But I've seen it happen during solo pvm and when you'd think instanced corpses would be a problem with multiple people attacking the same monster. You're using the corpse id for the container id, which isn't always the same thing. Just assume that the corpse id is different from the corpse container id, and write your script to assume that also and your problems should go away.

72
Script Debug / Re: #FINDCNT incorrect value
« on: February 09, 2017, 09:41:39 AM »
Well you probly want it to be if #findcnt >= 2. That would be much more logical. Unless you ONLY want it to MS at 2 monsters, because you want it to whirlwind at 3 and above. And at 1, you want it to ai or something. Then maybe I see your point. But = 1 and = 2 works fine if there's 1 and 2 monsters found. Are you pixel scanning for LS? Did the icon move? There's a lot of reasons why it didn't activate. We'd probly need to see your code.

73
Script Debug / Re: #FINDCNT incorrect value
« on: February 09, 2017, 05:17:17 AM »
#findcnt > 0 is the standard way of doing things. It's the way recommended by Cheffe also. You'll always have a problem if someone picks up an item after you do a finditem to see if it's there, but you should never rely on a finditem after a second anyways. The longer you wait between a finditem the more chance you have of an item disappearing or being picked up. That just makes sense... why would you wait that amount of time without doing another finditem? I'm well aware of all the ways that finditem can be used, and I've never had a problem with #findcnt > 0. Not ever. What you said above doesn't really make sense. You're saying if you do a finditem, then ignore an item, it will still be found? That's not logical. If a corpse disappears, and you do a finditem for it... it can't be found either... so that makes zero sense also.  Maybe you're not 100% certain of it's use, I can give you some example code if you'd like. If you do a finditem, and someone picks up an item while you're iterating through the #findindex, of course it will show as being found, but how often does that ever happen? Once in 10000000000 times? I'm trying to understand your point, but you're losing me.

74
Script Debug / Re: #FINDCNT incorrect value
« on: February 03, 2017, 06:19:17 AM »
Why not just use: if #findcnt > 0. That means an item was found. -1 might be throwing it off since it's finding a YM item. Which I believe literally means nothing... and it sounds like it's coming up with -1 as the result...?  Grasping at straws here. But #findcnt works perfectly. I use it a ton.

75
Scripting Chat / Re: #findindex iteration limit
« on: February 01, 2017, 11:53:16 AM »
Code: [Select]
for #findindex 1 50

Pages: 1 ... 3 4 [5] 6 7