Author Topic: the beginnings  (Read 11591 times)

0 Members and 1 Guest are viewing this topic.

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #15 on: July 30, 2009, 10:36:20 AM »
0
You can probably get your script to start working by replacing your line 38 with:

Code: [Select]
GoSub TM_TravelFromRunebook %travel_method %currentRune 16 %featherrunebookid

Also you need to be sure you have a valid valud in %travel_method and %currentRune

%currentRune should be a number from 1-16 and denotes what rune number is were page 1 runes are numbered 1-8 and page 2 runes are numbered 9-16.

%travel_method should be set to RE, SJ or GA.

Your code:
Code: [Select]
set %currentBookID %_runebook . %currentSet

this will probably leave %currentBookID uninitialized.  You'll know this because the value in this variable will be N/A
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #16 on: July 30, 2009, 10:38:19 AM »
0
Probably the BEST thing you can do when you are debugging is to be sure that you have variables that are initialized.  Also a great debugging things to do is to single step to your

Code: [Select]
GoSub TM_TravelFromRunebook %travel_method %currentRune 16 %currentBook

and be sure there is valid values for all of these variables listed.  Any N/A in any of those variables will cause things to not work.
Please read the ScriptUO site RULES
Come play RIFT with me!

Scrripty

  • Guest
Re: the beginnings
« Reply #17 on: July 30, 2009, 11:17:53 AM »
0
ehh, I will post up what I eventually want the stupid thing to do, step by step, so that you know where I am going with this.

as for resolving it on my own, that is how I usually roll, but this has me so flustered that I have to ask for help. I usually like to do things on my own so that I'm not being annoying or bothering anyone or anything.


Newest version is under the old post


It might be easier for you to write your OWN sub to recall to harpies at first.  And do it very simply.  You already have your rune book, so just use event macro *sacred journey* then explicitly target your books id or whatever.  Much easier for you to do that than try to make someone elses more advanced sub do that for you. :)  I always try to keep everything VERY simple, then add more advanced features/subs as I go.  I'll write out a whole scipt using VERY simple euo code, then I'll upgrade it and upgrade it till its what I wanted.  It's not hard to add things once you know how they work, and starting with the simple basics gets you that experience. :)  Don't try to reinvent the wheel at first, just work with what you can.  If this is going to be a personal script, you don't need an elaborate setup for anyone to use, just make it work for you for now.

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #18 on: July 30, 2009, 11:20:50 AM »
0
I'm not sure I agree with you there Twinkle McNugget.  There are so  many issues regarding recalling with runebooks.  Regs? Mana? Blocked locations? Fizzles? etc, etc, etc.  For a new scripter, it's MUCH easier to just use something that works.

When you start getting cool at the scripting thing, then it's a better idea to branch out into the additional logic required to handle everything that can go wrong while runebook traveling.
Please read the ScriptUO site RULES
Come play RIFT with me!

Scrripty

  • Guest
Re: the beginnings
« Reply #19 on: July 30, 2009, 11:25:11 AM »
0
I'm not sure I agree with you there Twinkle McNugget.  There are so  many issues regarding recalling with runebooks.  Regs? Mana? Blocked locations? Fizzles? etc, etc, etc.  For a new scripter, it's MUCH easier to just use something that works.

When you start getting cool at the scripting thing, then it's a better idea to branch out into the additional logic required to handle everything that can go wrong while runebook traveling.

What I was trying to say, is when you have NO experience whatsoever, just doing things as simply as possible to get them working is a good way for me to do it.  I like things to just work, then I'll add another feature, and another feature, and another, until it's what I want.  Then I actually understand how it all works, and it makes using a more advanced sub a lot easier.  You gotta start somewhere and if you have no idea how things work its best to learn the basics, which is, get id of runebook, use event macro to cast recall, then target the book. haha  You know what I'm saying. :)  Gotta crawl before you can run in an Ironman...

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #20 on: July 30, 2009, 12:00:32 PM »
0
Twinkle McNugget is essentially correct in his assessment of simplicity.  However, what if you can boil down runebook recalling to 6 lines?  That's pretty simple.  If you can just take the whole recalling/SJ/Gating for granted, then try this:

Just be sure you have a valid rune in the first location of your runebook and replace your #FINDID.

Get this bit of code to work and then you can add onto it.  Give it a try!  I just tested it and it works fine.

Code: [Select]
set %travel_method RE ; RE, GA, or SJ
set %rune1 1
set %rune2 1
set %runebook XXYYZZ1 ; <- replace this with your #FINDID of your runebook
gosub TM_TravelFromRunebook %travel_method %rune1 %rune2 %runebook
stop

;-------------------------------------------------------------------------------
;    Runebook subs -------------------------------------------------------------
;-------------------------------------------------------------------------------
; %1 = spell number
; %2 = #TARGETID or SELF or NONE
; %3 = retry count (-1 = cast until successful)
; %4 = cast delay
; %5 = recovery delay
sub TM_NewCastSpell
  namespace push
  namespace local NCS
  set !lpc #LPC
  set #LPC 100
  set !whichspell %1
  set !whichtarget %2
  set !castretrymax %3
  set !waitdelay %4
  set !recovery_delay %5
  set !castretry 0
  set !temp_ltargetid #LTARGETID
  set !temp_ltargetkind #LTARGETKIND
  
  repeat
  until #LLIFTEDKIND = 0 && #TARGCURS = 0 && A notin #CHARSTATUS
  
NewCastSpell_loop1:
  if !castretrymax < 0
    goto NewCastSpell_cont1
  if !castretry > !castretrymax
    goto NewCastSpell_end1
NewCastSpell_cont1:
  gosub TM_AdvJournalSync SPELLCAST
  set #LTARGETKIND 1
  set #LTARGETID !whichtarget
  set !tempmana #MANA
  event macro 15 !whichspell ; cast the spell
  wait !waitdelay
  repeat
  until A notin #CHARSTATUS
  set !targettimeout #SCNT + 7
NewCastSpell_wait1:
  gosub TM_AdvJournalScan SPELLCAST VALID spell_fizzles you_have_not_yet mana your_spirit
  if #RESULT = #TRUE || #SCNT > !targettimeout
  {
    set !casttimeout #SCNT2 + !recovery_delay
    repeat
    until #SCNT2 > !casttimeout     ; finish up cast delay
    set !castretry !castretry + 1
    goto NewCastSpell_loop1
  }
  gosub TM_AdvJournalScan SPELLCAST VALID more_reagents
  if #RESULT = #TRUE
    goto NewCastSpell_end1 ; fail
  
  if !whichtarget = NONE
    goto NewCastSpell_skip1
  if #TARGCURS = 1
    goto NewCastSpell_targ1
  goto NewCastSpell_wait1 ; wait for target cursor
  
NewCastSpell_targ1:
  if !whichtarget = SELF
    event macro 23
  else
    event macro 22
  
NewCastSpell_skip1:
  wait 5
  set !casttimeout #SCNT2 + !recovery_delay
NewCastSpell_skip2:
  if !whichspell >= 0 && !whichspell <= 63 ; Magery
  {
    gosub TM_AdvJournalScan SPELLCAST VALID spell_fizzles there_is_already mana your_spirit more_reagents
  }
  else
  {
    set !cont #FALSE  ; Chivalry, Necromancy, etc
    finditem !whichtarget *
    if !whichtarget in SELF_NONE || #FINDKIND <> -1
      set !cont #TRUE
    
    if #MANA >= !tempmana && !cont = #TRUE ; check if target is still there
      set #RESULT #TRUE
    else
      set #RESULT #FALSE
  }
  repeat
  until #SCNT2 > !casttimeout     ; finish up cast delay
  if #RESULT = #TRUE
  {
    if !castretrymax > -1
    {
      set !castretry !castretry + 1 ; %castretrymax of -1 will cast until successful
      if !castretry > !castretrymax
        goto NewCastSpell_end1
    }
    goto NewCastSpell_loop1
  }
  if #SCNT2 <= !casttimeout     ; finish up cast delay
    goto NewCastSpell_skip2
NewCastSpell_end1:
  set #LTARGETID !temp_ltargetid
  set #LTARGETKIND !temp_ltargetkind
  set #LPC !lpc
  namespace pop
return
;-------------------------------------------------------------------------------
; %1 = Method (RE, GA, SJ)
; %2 = index location within runebook (1-16)
; %3 = index location within runebook (1-16), try up to this point
; %4 = runebook item id
; returns #TRUE if error, #FALSE for no error
sub TM_TravelFromRunebook
  namespace push
  namespace local RFR
  set #LTARGETKIND 1
  set !method %1
  set !locindex %2
  set !locindexend %3
  set !rbook %4
  
  finditem !rbook C_ , #BACKPACKID
  if !method notin RE_GA_SJ || #FINDKIND = -1
  {
    namespace pop
    return #TRUE
  }
  if !locindex notin 1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16
  {
    namespace pop
    return #TRUE
  }
  if !locindexend notin 1_2_3_4_5_6_7_8_9_10_11_12_13_14_15_16
  {
    namespace pop
    return #TRUE
  }
  
TravelFromRunebook_loop1:
  set #LOBJECTID !rbook
  set #LTARGETKIND 1
  event macro 17 0
  gosub GumpWait generic_gump generic_gump
  set !tempcontx #CONTPOSX
  set !tempconty #CONTPOSY
  
  set !runeclickx 140 ; page 1, rune 1
  set !runeclickx ( #CONTPOSX + !runeclickx + ( 35 * ( ( !locindex - 1 ) / 2 ) ) )
  if !locindex > 8
  {
    set !runeclickx 310 ; page 2, rune 1
    set !runeclickx ( #CONTPOSX + !runeclickx + ( 35 * ( ( !locindex - 9 ) / 2 ) ) )
  }
  set !runeclicky #CONTPOSY + 196
  click !runeclickx !runeclicky
  wait 5
  
  set !runeclicky #CONTPOSY + 24
  set !runeclickx #CONTPOSX + 164 ; page 1 set to default
  if !locindex % 2 = 0
  {
    set !runeclickx #CONTPOSX + 305 ; page 2 set to default
  }
  click !runeclickx !runeclicky
  wait 5
  set !oldx #CHARPOSX
  set !oldy #CHARPOSY
  if !method = RE
    gosub TM_NewCastSpell 31 !rbook -1 10 10 ; recall until successful
  if !method = GA
  {
    gosub TM_NewCastSpell 51 !rbook -1 10 20 ; gate until successful
    set !temp_cnt #SCNT + 10
    repeat
      finditem KEF_OTF_JEF G_0
    until #FINDKIND <> -1 || #SCNT > !temp_cnt
    if #FINDKIND <> -1
    {
      set #LOBJECTID #FINDID
      wait 10
      event macro 17 0
      wait 20
      if #CONTNAME = generic_gump && #CONTSIZE = 420_280
      {
        gosub TM_AdvJournalSync SPELLCAST
        set !clickx #CONTPOSX + 26
        set !clicky #CONTPOSY + 261
        click !clickx !clicky ; click ok
      }
    }
  }
  
  if !method = SJ
    gosub TM_NewCastSpell 210 !rbook -1 10 30 ; sacred journey until successful
  wait 30
  
  set !tempscnt #SCNT + 10
WaitforTravel_loop1:
  gosub TM_AdvJournalScan SPELLCAST VALID location_is_blocked something_is_blocking you_spirit_lacks
  if #RESULT = #TRUE
  {
    gosub TM_AdvJournalSync SPELLCAST
    set !locindex !locindex + 1
    if !locindex > !locindexend
    {
      namespace pop
      return #TRUE
    }
    goto TravelFromRunebook_loop1
  }
  if ( ( #CHARPOSX = !oldx && #CHARPOSY = !oldy ) && #SCNT < !tempscnt )
    goto WaitforTravel_loop1
  
;  if #CONTNAME = generic_gump && #CONTSIZE = 452_236 ; RunUO close runebook
;  {
;    set !clickx #CONTPOSX + 120
;    set !clicky #CONTPOSY + 60
;    click !clickx !clicky mc r
;    wait 5
;  }
  namespace pop
return #FALSE
;-------------------------------------------------------------------------------
; %1 = Gumpname 1
; %2 = Gumpname 2
; #TRUE gump occured before timeout
sub GumpWait
  namespace push
  namespace local GW
  wait 10
  set !timedelay #SCNT
  while #SCNT <= !timedelay + 7
  {
    if #CONTNAME = %1 || #CONTNAME = %2
    {
      namespace pop
      return #TRUE
    }
  }
  namespace pop
return #FALSE
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - #LPC setting (optional)
; Brings !_jindex up to the most recent #journal entry
sub TM_AdvJournalSync
  namespace push
  namespace local TM_AdvJS_ , %1
  set !_jindex #jindex + 1
  if %0 > 1
    set !lpc_set %2
  namespace pop
  set !TM_FunctionCalled #TRUE
return
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
;-------------------------------------------------------------------------------
; %1 - Journal Name
; %2 - NONE, ADVANCE , ( _VALID ) - advances jindex pointer, anything else
; %3, %4, %5, etc strings to match
; returns #TRUE for match, #FALSE for no match
;  Will not advance !_jindex pointer to allow for scanning journal history for more than one search.
;  Also searches for : , #SPC in journal entry to be sure someone isn't spamming the text
;  About %2 arguments:
;    NONE: defaults to basic journal scan (no SPAM checking, no #jindex pointer copy advancing)
;    ADVANCE: no spam checking, advances #jindex copy
;    VALID: invokes SPAM filtering, no advance of #jindex copy
;    VALID_ADVANCE, VALIDADVANCE, ADVANCE_VALID, etc.: invokes SPAM filtering, advances of #jindex copy
sub TM_AdvJournalScan
  namespace push
  namespace local TM_AdvJS_ , %1
  set !args %2
  set !temp_lpc #LPC
  if !lpc_set = N/A
    set #LPC 1000
  else
    set #LPC !lpc_set
  set !num_args %0
  set !first_arg 3
  set !sampled_jindex #JINDEX
  if !_jindex = N/A
    set !_jindex !sampled_jindex
  if !charname = N/A
  {
    set !charname #CHARNAME
    AdvJournalScan_loop1:
      str pos !charname #SPC
      if #STRRES <> 0
      {
        set !val #STRRES - 1
        str left !charname !val
        set !left #STRRES
        set !val !val + 1
        str del !charname 1 !val
        set !charname !left , _ , #STRRES
        goto AdvJournalScan_loop1
      }
  }
  set !index !first_arg
  repeat
    set !temp_jindex !_jindex
    set !text % . !index
    while !temp_jindex <= !sampled_jindex
    {
      scanjournal !temp_jindex
      str pos #JOURNAL !charname 1
      set !namepos #STRRES
      str count #JOURNAL !charname
      set !namecnt #STRRES
      str pos #JOURNAL :_ 1
      set !smcpos #STRRES
      str pos #JOURNAL !text 1
      set !textpos #STRRES
      if !textpos < !smcpos && !smcpos <> 0 || !smcpos = 1 || :_ notin #JOURNAL || VALID notin !args
        set !pass #TRUE
      else
        set !pass #FALSE
      if ( !text in #journal && ( ( !namepos = 1 && !namecnt <= 1 ) || !pass ) )
      {
        set !temp_jindex !temp_jindex + 1
        if ADVANCE in !args
          set !_jindex !temp_jindex
        set #LPC !temp_lpc
        namespace pop
        set !TM_FunctionCalled #TRUE
        return #TRUE
      }
      set !temp_jindex !temp_jindex + 1
    }
    set !index !index + 1
  until !index - !first_arg > !num_args - !first_arg
  set %10 !sampled_jindex - !_jindex
  set %10 %1 , _ , %10 ; for debugging purposes
  set #LPC !temp_lpc
  namespace pop
  set !TM_FunctionCalled #TRUE
return #FALSE
« Last Edit: July 30, 2009, 12:02:44 PM by TrailMyx »
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline SunTigressTopic starter

  • TopTwo's Woman
  • Elite
  • *
  • *
  • Posts: 900
  • Activity:
    0%
  • Reputation Power: 9
  • SunTigress has no influence.
  • Gender: Female
  • Respect: +43
  • Referrals: 0
    • View Profile
Re: the beginnings
« Reply #21 on: July 30, 2009, 12:04:12 PM »
0
if i have a piece of code, lets say
Code: [Select]
sub setup_travel
  set %travel_method SJ
  display YESNO Travel by Sacred Journey?
  if #dispres = NO
  {
    set %travel_method RE
  }
return

that set %travel_method SJ sets the travel method to SJ in the entire script, correct? so if I have the same set for my runebooks, doens't that set their ID for that particular runebook (feathers) in the entire script (when it is called for)? how can i check that these variables are actually being set?
If at first you don't succeed, try try again. Then give up. There is no use in making a fool of yourself.

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #22 on: July 30, 2009, 12:07:51 PM »
0
This is the part that sets up the #FINDID:

Code: [Select]
sub setup_feather_runebooks
display Target your feather Rune Book
  wait 1
  set #targcurs 1
  while #targcurs = 1
    wait 0
set %featherrunebookid #ltargetid
return

What you are doing is grabbing the #FINDID from the object you last targetted. 

You can also find this value by hand by just double clicking (opening) your runebook and then check to see what the value is in #LOBJECTID.  This stands for "last object id".  This is always the value of what you double clicked last.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #23 on: July 30, 2009, 12:11:24 PM »
0
how can i check that these variables are actually being set?

ok, try my test code.  Put a pause right before the TM_TravelFromRunebook and let it run until it pauses.

Goto Tools/VarDump and look for these 4 values:
%travel_method
%rune1
%rune2
%runebook

They should all have something assigned to them.  Now go and do the same thing with your code and check to see that your variables you're using are also assigned with something.  If any one of them has an N/A or some nonsensical value, then you'll know where your bug is.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #24 on: July 30, 2009, 12:19:55 PM »
0
You are going to find that you'll probably spend only about 15% of your time actually writing code.  The rest of the time you'll be debugging it.  So it's really best to write your code in little functional blocks so you can test the little pieces and assemble them into larger working scripts. 

The concept of debugging can be odd for someone who hasn't really done much.  Another problem is EUO doesn't give you much facility do actually debug easily.  So really you only have the VARDUMPs to look at, and also you can create your own variable watch list (Tools/Manage Varlist).  Frankly, this his how I normally do my debugging; I rarely use VARDUMPs.  It's cumbersome, but it does eventually show where your bugs are.

Many people start and fail scripting because they didn't realize the needed patience during that 85% debugging phase.  If it helps at all, we all go through the same thing.
Please read the ScriptUO site RULES
Come play RIFT with me!

Scrripty

  • Guest
Re: the beginnings
« Reply #25 on: July 30, 2009, 12:25:20 PM »
0
Yea, try debugging my pvm script with all the timings.  Getting 10 spells to cast on time, when you want, under all the right conditions can be a pain.  But then when you make a mistake!?!??  haha I've spent TONS of time looking for ONE bracket out of place.  But strangely enough it didn't cause too much of a NOTICEABLE problem.  If I wouldn't have known my script inside and out, I wouldn't have found it.

Offline SunTigressTopic starter

  • TopTwo's Woman
  • Elite
  • *
  • *
  • Posts: 900
  • Activity:
    0%
  • Reputation Power: 9
  • SunTigress has no influence.
  • Gender: Female
  • Respect: +43
  • Referrals: 0
    • View Profile
Re: the beginnings
« Reply #26 on: July 30, 2009, 02:53:43 PM »
0
ok, when i step by step go through the script (good old F8), it seems to work just fine. Goes right through. I think the problem lies right here

Code: [Select]
sub harpies
set %currentBookID %_runebook . %currentSet
    GoSub TM_TravelFromNamedRunebook %travel_method %currentRune 16 %featherrunebookid
return

the variables are set, I checked. it is as if the travelfromnamedrunebook is not getting the travel method variable. also, the only N/A I have is the %currentbookID, and i don't know how to fix that
If at first you don't succeed, try try again. Then give up. There is no use in making a fool of yourself.

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #27 on: July 30, 2009, 02:57:58 PM »
0
Where are you setting %_runebook or %currentSet?  I don't think that means anything. 

Ohh, also you are using the NAMED runebook.  I didn't notice that before.  Replace TM_TravelFromNamedRunebook to TM_TravelFromRunebook.

This is because %featherrunebookid contains the ID of the runebook, and not the name.

Again, try my sample code to see how it works and then compare it to your own.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline SunTigressTopic starter

  • TopTwo's Woman
  • Elite
  • *
  • *
  • Posts: 900
  • Activity:
    0%
  • Reputation Power: 9
  • SunTigress has no influence.
  • Gender: Female
  • Respect: +43
  • Referrals: 0
    • View Profile
Re: the beginnings
« Reply #28 on: July 30, 2009, 03:01:32 PM »
0
well, i thought right there, where is says

set %currentBookID %_runebook . %currentSet

i thought that would move my ids into the gosub TM_travel
If at first you don't succeed, try try again. Then give up. There is no use in making a fool of yourself.

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13303
  • Activity:
    0.4%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: the beginnings
« Reply #29 on: July 30, 2009, 03:01:47 PM »
0
Or if you don't want to swap out the routines, then just include the name as the argument....

Code: [Select]
GoSub TM_TravelFromNamedRunebook %travel_method %currentRune 16 your_runebook_name
Please read the ScriptUO site RULES
Come play RIFT with me!

Tags: