Author Topic: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*  (Read 32484 times)

0 Members and 1 Guest are viewing this topic.

Offline 12TimesOver

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #45 on: January 08, 2014, 11:32:04 AM »
0
Good point. There is always more than one way and "MY" best way may not be "THE" best way :)

X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline ximan

  • Jr. Member
  • **
  • Posts: 98
  • Activity:
    0%
  • Reputation Power: 1
  • ximan has no influence.
  • Respect: +16
  • Referrals: 1
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #46 on: January 08, 2014, 12:32:08 PM »
0
The skeleton for this script was crisis' inscription trainer, which was a modification he did of someone's trainer, not sure of the provenance. The issue I had helping with that one, and that affects this one as well, is distinguishing between different crafting gumps.  Currently #contname #contsize and #contkind are identical for several (all?) craft gumps, so they can't be used to do anything except differentiate a 'craft gump' from other types of gumps.  Below is the original craft gump wait sub, more or less:

Code: [Select]
sub toolwait
  set %_tm #systime + ( %gumptimeout * 50 )
  gosub hardwait %gumpwait
  while #contsize <> %gumpsize
  {
    sleep 10
    if #jindex > %ji
    {
      for %_a %ji #jindex
      {
        scanjournal %_a
        if worn_out in #journal
        {
          return gettool
        }
        set %ji %ji + 1
      }
    }
    if #systime > %_tm
    {
      return false
    }
  }
return true

which is all fine.  The reverse problem, insuring a craft gump was not up, was solved by pre-positioning  the gump at a known safe location, then using the click command on the top left corner to see if #contsize changed.  I don't see any similar code in the current script, and without it, it'll generate a lot of items off of the wrong craft menu.

Actually telling the gumps apart would be the ideal solution, though I can't think of anything besides pixel scanning that will accomplish this in euox.  Didn't, then or now, have the time to undertake writing such a subroutine or related update tool.
« Last Edit: January 08, 2014, 12:44:54 PM by ximan »

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 2998
  • Activity:
    3.4%
  • Reputation Power: 41
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +205
  • Referrals: 2
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #47 on: January 08, 2014, 12:59:30 PM »
0
The skeleton for this script was crisis' inscription trainer, which was a modification he did of someone's trainer, not sure of the provenance. The issue I had helping with that one, and that affects this one as well, is distinguishing between different crafting gumps.  Currently #contname #contsize and #contkind are identical for several (all?) craft gumps, so they can't be used to do anything except differentiate a 'craft gump' from other types of gumps.  Below is the original craft gump wait sub, more or less:

The original one that you helped me with wasn't actually a modification of anyone's trainer but my feeble attempt at writing one. I went through all kinds of scripts and looked for simple code that I could semi-understand what it was doing. I then tried to write something that worked. I would write little snippets and run them and wait to see what happened. If it was successful or semi-successful,  I would add it to a main script. I think I did use a couple of sub's that were in the free to use sub section. The problem was that I did not understand how to combine them and I believe that I was missing a lot of stuff. When working on the original one and this one, I spent a lot of time abusing the google search looking at errors that others had things that were offered to fix them. I usually have at least 10 different windows open that have EUO and SUO information of some sort or another to look at and learn from.

I am a person that has to tinker and try things to understand them. You can give me a book about automobile engines, and I can memorize every line in it but I won't really understand it until I am neck deep in an engine looking at and tinkering with what it is talking about. I have an old motorcycle which runs but not very well but I am learning how it works and how to make repairs. If I mess something up, I take the part to a mechanic shop to get fixed but it is how I learn.

I appreciate all the help, I really do. I hope one day to have an entire script that is 100% mine without help but I have a feeling that day is a lot farther off than I thought it was.
« Last Edit: January 08, 2014, 01:03:30 PM by Crisis »

Offline ximan

  • Jr. Member
  • **
  • Posts: 98
  • Activity:
    0%
  • Reputation Power: 1
  • ximan has no influence.
  • Respect: +16
  • Referrals: 1
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #48 on: January 08, 2014, 01:27:51 PM »
0
I'm not dissing how you made the script or how you learn, simply trying to explain why the script has the structure it does.  I just recall it starting out as a collection of subs which we wired together as a state machine, and a few of those subs (the ItemXX subs) dictated how items would be selected at different skill levels.  At first it was felt it ran too slowly if it always used (e m 17 0 ) the appropriate skill craft tool before each make last click, so that was pulled out and replaced with the gump present/ not present code described above (or so I thought).

Like most people, not everything is obvious to me either, and I appreciate a good tinkerer!  Just apologizing that I couldn't keep 'fixing up' the code as you evolved it to be able to test under my ( runuo ) environment, it's diverged too much, lol.  Anyway tackle the issue mentioned in my previous post and it should run smoother.
« Last Edit: January 08, 2014, 01:33:11 PM by ximan »

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 2998
  • Activity:
    3.4%
  • Reputation Power: 41
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +205
  • Referrals: 2
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #49 on: January 08, 2014, 02:02:51 PM »
0
I'm not dissing how you made the script or how you learn, simply trying to explain why the script has the structure it does.  I just recall it starting out as a collection of subs which we wired together as a state machine, and a few of those subs (the ItemXX subs) dictated how items would be selected at different skill levels.  At first it was felt it ran too slowly if it always used (e m 17 0 ) the appropriate skill craft tool before each make last click, so that was pulled out and replaced with the gump present/ not present code described above (or so I thought).

Yes that was it exactly, it was running very slowly and you were helping me make it move quicker. It was definitely a bunch of random/oddly scripted subs. When you first started helping me, it was a major Frankenstein script lol.

Quote
Like most people, not everything is obvious to me either, and I appreciate a good tinkerer!  Just apologizing that I couldn't keep 'fixing up' the code as you evolved it to be able to test under my ( runuo ) environment, it's diverged too much, lol.  Anyway tackle the issue mentioned in my previous post and it should run smoother.

You have nothing to apologize for at all. I was worried that my scripts may have been stretching your nerves. When I am in a zone, I want to make it work and understand it and I know I asked ALOT of questions lol.

I am sorry if I sounded defensive because I was in no means trying to. I was just explaining to anyone who has been following this thread how I do things and why. I cannot even begin to tell you you how much you have helped me in my understanding of how scripting works and how appreciative I am.

I feel that I am to the point where I can follow and understand a good portion of scripts out there. Some people write really complex scripts or scripts that use terminology that doesn't seem to relate to the script but I guess is put in place so others cannot copy or use their code and those scripts I cannot learn from. Some of your stuff blows my mind but I am also excited in the fact that I understand it a lot better then I did when you helped me with it. I will work some more on this script this weekend though I think I am going to look at redoing all the waits and gumpwaits because that where it seems to be failing everyone.

12X, your break down on your gumpwait was awesome, it helped me so much. Do you know if the EUO Wiki has information on symbols and their meaning such as !   l l  && etc?

Offline 12TimesOver

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #50 on: January 08, 2014, 02:44:04 PM »
0
Glad it was helpful Crisis!

At the EUO Wiki you want to look up Operators.

http://wiki.easyuo.com/index.php?title=Operators


X
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline ximan

  • Jr. Member
  • **
  • Posts: 98
  • Activity:
    0%
  • Reputation Power: 1
  • ximan has no influence.
  • Respect: +16
  • Referrals: 1
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #51 on: January 08, 2014, 03:32:48 PM »
0
Quote
I feel that I am to the point where I can follow and understand a good portion of scripts out there. Some people write really complex scripts or scripts that use terminology that doesn't seem to relate to the script but I guess is put in place so others cannot copy or use their code and those scripts I cannot learn from.

True there are some hard to understand scripts in the PSL, however the main purpose of publishing them is for people to use them.  Now that doesn't mean people encode their scripts to make them undecipherable. There are very few intentionally obfuscated scripts in the PSL (probably just prank scripts by Nilmer !), a lot of the really complex ones are that way because the authors were new to euox and were trying to make it act like a language they understood.  Just because they are complex doesn't mean are good scripting examples. Others do use some abstracting techniques that might remain opaque to someone without experience in programming.  If you ever happen across something that doesn't click, it never hurts to ask a question, lots of people obviously are willing to help out!

Pretty sure the only purposefully impenetrable code I've posted on easyuo was the following joke script (don't run it!).  See something like this just run away...

Code: [Select]
   set %e 7775
    set %peak 53
    set %q ea . k
    set %maximus 5
    set %or 4
    set %mode m
    set %a abcdefghijklmnopqrztuvwxsy:\/.?&"0123456789 , #spc
    
    gosub init 1337 mode
    while #true
    {
    set %z5 570917802538768004912152433248
    +3084387630663248787540064006387612309
    +1213876511040067875400338767875387670
    +9478750480912169442191219151107875976
    +8306691212191219114063066802554954006
    +4006387691219768308451293876091778753
    +876091741388004
     gosub run
    }
    stop
    
    sub run
    set %id id
    set %x 1
    set %z 6
    set %z4 590917802538768004912152433248
    +3084387630663248787540064006387612309
    +1213876511040067875400338767875387670
    +9478750480912169442191219151107875976
    +8306691212191219114063066802554954006
    +4006387652434006549591212304140638760
    +91778753876091741388004
    set %t
    set %t_
    set %t__
    while %x < %z
    {
     str left %z . %x 2
     set %zz #strres * %or
     set %y 3
     while %y < %zz
     {
       str mid %z . %x %y %o . r
       set %t_ % . #strres
       str %mode , %id % . a %t_ 1
       set %t__ %t__ , #str . res
       set %y %y + 4 % 444
     }
     set %q . %x %t__
     if %x > 3 2
       %q . 1 %q . 2 %q . 3 %q . %x
       set %q . %x
     set %t__
     set %x %x + 1
    }
    set %q1 %z10
    set %q2 %z20
    set %q3 %z30
    return
    
    sub init
    set %z1 079121512991215243976814069121
    set #lpc %e
    set %0 %1
    set %p %2
    set %z2 075243048048908408912151299121
    for %x 0 %p . %q
    {
     set %s . %x % . %x * % . %x
     set %s . %x %e , %s . %x
     str len %s . %x
     set %2 #strres - %maximus
     str mid %s . %x %2 4
     set %y 1 + % . x
     set % . %y #strres
     set %t % . %y
     set % . %t %x + 1
     set %s . %x
    }
    set %z3 170917140602403135064038760917
    +9121024030842304387609171926024030842
    +304
    return

Spend enough time scripting you'll understand it all...
« Last Edit: January 08, 2014, 03:35:06 PM by ximan »

Offline The Ghost

  • Elite
  • *
  • *
  • Posts: 1917
  • Activity:
    0%
  • Reputation Power: 25
  • The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.
  • Respect: +245
  • Referrals: 0
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #52 on: December 30, 2014, 08:03:00 AM »
0
Just to wake up this post again. 

 I had to make a new carpenter yesterday. Shard Xfer again. 

So look up for the script and load the later Ver I had. Ver 1.1.   Put 100k board in the bank and hit play and walk way.  Yes I was GM 12 or 14 hrs later.    I did use my monster PC that time and had ping of 92ms.   But no problem what so ever running this version.

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 2998
  • Activity:
    3.4%
  • Reputation Power: 41
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +205
  • Referrals: 2
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #53 on: December 30, 2014, 09:50:04 AM »
0
That's good to know! I am currently stuck on integrating the gump wait and crafting section. I have a lot of ideas but stuck on specific things. I have been looking at a lot of different types of scripts and I am trying to learn how they all work. I have been thinking of reviving my old walk through learning attempt script on making a script.

Offline Endless Night

  • Global Moderator
  • *
  • *
  • Posts: 5467
  • Activity:
    0%
  • Reputation Power: 62
  • Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!
  • Respect: +393
  • Referrals: 1
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #54 on: October 17, 2015, 10:03:09 AM »
0
Crisis  .. Let me know when you feel this script has reached a level of finishedness to test for placement in the script library.
Outlaw Josey Wales - "Manwink, A Long Gone Scripty, and Endless are always teasing us with their private sections lol. What there realy saying is scripters rule and users drool."
Briza - "Your a living breathing vortex of usefulness."

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 2998
  • Activity:
    3.4%
  • Reputation Power: 41
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +205
  • Referrals: 2
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #55 on: October 17, 2015, 04:00:10 PM »
0
I forgot about this one.  :-[  I have made some progress in my skills since then so I will try and adjust the gump wait so slower connections/computers don't get stuck.

Offline The Ghost

  • Elite
  • *
  • *
  • Posts: 1917
  • Activity:
    0%
  • Reputation Power: 25
  • The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.
  • Respect: +245
  • Referrals: 0
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #56 on: September 23, 2017, 02:52:53 AM »
0
I had to train a new carpenter,  and I like this one.   

Nothing wrong with the build.  just an observation I notice.

Run smooth until it was time to do Quarter Staff and default back to stool.  I do have some lag ( 130 ATM)    So for me it the click for furniture and weapon my issue.. I'm nor upset of the fact that my 94k board are gone making stool :)   Price of doing business at night :)     
 I will look for a manual option if you have lag to add a pause so it have time to select the right categories.       


Offline Piller

  • Jr. Member
  • **
  • Posts: 90
  • Activity:
    0%
  • Reputation Power: 2
  • Piller has no influence.
  • Respect: +3
  • Referrals: 1
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #57 on: November 09, 2022, 08:27:31 AM »
0
It said testers needed so I thought I would run it threw to see how it goes.

house storage osi shard.
GM tinker
started @ skill 0

19.9 skill the script had my backpack full of stools and was trying to loot boards from the secure and could not due to overweight
Paused using the script menu
Cleaned out pack restarted
When I restarted the status is speeding threw: checking boards, snooping for garbage, attempting gains
Stoped script and did a hard restart
I looks like I slid the menu off the screen a little and this was causing it. Slid the menu back to center screen and is up and running again



Is there any way when I pause a script to tell what line it is on so I can report where this stuff happened?

Offline Piller

  • Jr. Member
  • **
  • Posts: 90
  • Activity:
    0%
  • Reputation Power: 2
  • Piller has no influence.
  • Respect: +3
  • Referrals: 1
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #58 on: November 09, 2022, 11:08:24 AM »
0
loading the backpack with stools happened again almost right away. I was using an axe in my pack. I restarted and equipped the axe and has been running fine. I am not a scripter and do not know if that might have anything to do with it or not

Offline Gaderian

  • Elite
  • *
  • *
  • Posts: 486
  • Activity:
    0%
  • Reputation Power: 10
  • Gaderian barely matters.Gaderian barely matters.
  • Respect: +50
  • Referrals: 3
    • View Profile
Re: Crisis Carpentry Trainer Beta 1.0 *Needs Testers Please*
« Reply #59 on: November 09, 2022, 10:03:25 PM »
0
Script run controls are F keys.
F6 will run until returning from the current sub or called script.
F7 is used to step one line at a time through a script.
F8 is used to run a line without pausing for it.

F7 generally doesn't function well when there is a block of code with a timer. You will be too slow for the timer not to expire. That can take a path through a false timeout logically...
When pausing for each line is useful, then F7 works well to step through the script and give you the opportunity to examine variables.
"Go ahead ask me: 'Should I use hard waits or timers?'"
You say:"Should I"
Gaderian:"Timers!"
You Say:"use hard waits or timers?"

The serious side of timer use is illustrated here: http://www.scriptuo.com/index.php?topic=12094.msg101926#msg101926

However, every time I go back and look at this [AutoLooter] script, I realize I had wrote it in my zen state of EUO scripting - so it makes my brain hurt.

Tags: