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.


Topics - xapcx

Pages: [1]
1
Hello everyone,

I was a registered member from back in 2009.  I quit playing UO in December of '15.  After a few years off, I have decided to return. 

My favorite part of UO was creating scripts to allow my three accounts to interact with each other.  Debugging and watching the accounts path find around my favorite North American shard was an addicting hobby. 

A little about me:
I started playing UO after I separated from the Navy in '98.  I maintained three accounts from day one.  I continued to play while I was in college and graduated with an undergrad duel degree in mechanical and electrical engineering.  I continued playing UO while raising my now 17 year old, 16 year old, and quit while my wife was pregnant with our almost 4 year old daughter.  I quit UO and let my Luna house and Felluca castle fall when we decided that real life needed more time than I had to offer.

Aside from UO, I play Battlefield and Ghost Recon, I used to race R/C cars all summer but that hobby also died down.  I still enjoy building PC's and goofing around with benchmark test and tweaking GPU bios settings, however I'm no k|ngp|n.

I am ready to do this UO thing again with the hopes that I can tweak my old scripts (without Cheffe this time I guess) and get it all running again.  I hope to see you guys in game and look forward to working with you here on the boards.

Mike xApCx

2
Scripting Chat / Serpent Eggs.. Snake holes..
« on: April 14, 2011, 06:26:41 PM »
So I am working on a egg collecting script to do medusa with.. I am having trouble actually targetting the snake hole, I use the flute on the snake, it says the animal walks where instructed - has the sparklies around it, but it is not actually looking in the hole?  I have notices the the hole location sometimes does not fall on the same "Z" axis.

Any advice on this one?

3
General UO Chat / emulation...
« on: December 29, 2009, 03:27:36 AM »
Last night something rather cool happened around my house.  I walked in the pc room and noticed that my 8 and 9 year old were writing scripts on the desktop pc.  I always have a client or two up and running, I guess the kids had been reading the scripts and decided they were going to make the charaters doing something.  Without getting all mushy on here I will summarize it by saying it was real cute.

So, that was the background leading to my question.  What offline emulators are still around?  Years ago I used UOX before it became UOX3.  Is any of the old UOX stuff still around?  What is everyone using now?  I want to keep this real simple so that the kids will keep having fun and keep themselves intrested it playing with it.

4
Script Debug / finditem issue
« on: October 03, 2009, 03:40:25 PM »
I have ran into a problem when looting gold...  Background, i'm trying to open a corpse and loot the gold out of it.  I use:

sub openIt
    wait 1
    event macro 17
    wait 10
    set %lootCont #contid
    OI:
    finditem %loot C_ , %lootCont ;gold
    wait 2
    if #findkind <> -1
    {
     wait 3
     GOSUB moveItem #FINDID #FINDBAGID #BACKPACKID

The problem I am running into is that I am not correctly filling the varriable %lootCont with the correct #contid.  The reason for this is that I am using EV's to kill monsters while the looter is looting.  When the EV does damage, the little damage numbers change my gump id and contid information.  

How do I only loot the container that is popping open and ignore all other gumps when the YFM pops?

5
General UO Chat / Battle chickens...
« on: September 12, 2009, 07:39:52 PM »
What does everyone know about the battle chickens so far?
details details?

6
General UO Chat / Razor, does it work with the 7.0.0.0?
« on: September 12, 2009, 03:28:17 AM »
Like the subject line says, does razor work now?  Mine gives me an:
Error code:NO_MEMCOPY

and right after I posted this question, I found this:
http://www.easyuo.com/forum/viewtopic.php?p=349738&sid=9ef1bdba83b93311cde798c4051b8f51

7
Script Debug / Following archer
« on: September 10, 2009, 04:59:38 PM »
Im working on an archer that will follow a lead character.  when the archer sees a target creature, he will attack it.  he will constantly move so that his lead is between him and the creature.  this is the begining:

Code: [Select]
set %timWait ( #SCNT - 16 )
set %findtype PI_DH_FD_ME_TD
set %lastMon 00000
set %disMon 00000
set %corpse YFM
set %Gold POF
set %keys LZF
set %loot POF_LZF_ZFM_MIG
set %prize SWO
set %BOS 00000000
set %findPet 00000000
set %aids ZLF
;=====================================================
set %location 0 ; 0 = everything, 1 = ice, 2 = doom,
;=====================================================
if %location = 0
{
set %creaturetype TH_ME_PI_DH_FD_ME_TD_WD_R_EB
}
if %location = 1
{
set %creaturetype TH
}
if %location = 2
{
set %creaturetype ????
}
;=====================================================
FINDITEM %aids C_ , #BACKPACKID
      IF #FINDKIND = -1
      {
        DISPLAY you need aids. $ HALTED!
        HALT
      }
set %bandage #findid

gosub setLead



;================== main loop =========================

loop:
gosub healthcheck
wait 1
gosub movOption
wait 1
goto loop

;======================================================


;================== health check ======================


sub healthcheck
    if %timWait < ( #SCNT - 4 )
    {
    if ( #HITS + 10 ) < #MAXHITS || C in #CHARSTATUS
    event sysmessage injured
    set #lobjectid %bandage
    event macro 17 0
    target 2s
    event macro 23 0
    if #MAXSTAM < 115
    {
    set %timWait ( #SCNT + 2 )
    }
    set %timWait ( #SCNT + 1 )
    }
    }
return


;======================================================


sub movOption
gosub findMonster
return


;======================================================


sub findMonster
findItem %creaturetype G_8
  if #findkind <> -1
  {
if #finddist < 2
{
set #ltargetid #findid
set %target #findid
set %monX #findx
set %monY #findY
gosub findLead2
}
goto fm
  }
  gosub findLead1
  fm:
return


sub findLead1
findItem %lead G_17
  if #findkind <> -1
  {
if #finddist <= 2
{
set %movex ( #findx ) 
set %movey ( #findy )
gosub moveNow1
}
  }
return


sub findLead2
findItem %lead G_17
  if #findkind <> -1
  {
if #findx > %monX
{
   if #findy > %monY
   {
      set %movex ( #findx + 1 ) 
      set %movey ( #findy + 1 )
   }
   if #findy < %monY
   {
      set %movex ( #findx + 1 ) 
      set %movey ( #findy - 1 )
   }
   if #findy = %monY
   {
      set %movex ( #findx + 1 ) 
      set %movey ( #findy )
   }
}
if #findx < %monX
{
   if #findy > %monY
   {
      set %movex ( #findx - 1 ) 
      set %movey ( #findy + 1 )
   }
   if #findy < %monY
   {
      set %movex ( #findx - 1 ) 
      set %movey ( #findy - 1 )
   }
   if #findy = %monY
   {
      set %movex ( #findx - 1 ) 
      set %movey ( #findy )
   }
}
        if #findx = %monX
{
   if #findy > %monY
   {
      set %movex ( #findx ) 
      set %movey ( #findy + 1 )
   }
   if #findy < %monY
   {
      set %movex ( #findx ) 
      set %movey ( #findy - 1 )
   }
}
  gosub moveNow2
  gosub attack
  }
return


;================== move now ==========================================


sub moveNow1
  set %x %movex
  set %y %movey
  set %z %movez
  moving1:
  event pathfind %x %y
  if #CHARPOSX < ( %x - 2 ) || #CHARPOSX > ( %x + 2 ) || #CHARPOSY < ( %y - 2) || #CHARPOSY > ( %y + 2)
  {
  wait 10
  goto moving1
  }
return

sub moveNow2
  set %x %movex
  set %y %movey
  set %z %movez
  moving2:
  event pathfind %x %y
  if #CHARPOSX <> %x || #CHARPOSY <> %y
  {
  wait 10
  goto moving2
  }
return


;========================= attack ======================================


sub attack
event macro 22 0
wait 1
event macro 27 0
  event sysmessage attack!
  wait 10
return


;========================================================================


sub setLead
    display ok please target your Lead.
    set #targcurs 1
    target 5s
    watLeadLup:
    if #targcurs = 1
    {
    goto watLeadLup
    wait 5
    }
    finditem #ltargetid
    set %lead #ltargetid
return



8
Scripting Chat / No client...
« on: September 09, 2009, 01:24:20 PM »
OK, sorry if i have completely missed something.  Here goes, I can not get script uo to run.  It is still displaying no client is found and run mode is disabled.  What have I done wrong?

9
Script Debug / Pathfinding question
« on: September 06, 2009, 03:56:26 PM »
I have an issue when i use pathfinding to move in my script.  If the z axis changes levels, i get the "can't get there from here" message above my head.  As a work around, I use an incremental %i to just cancle out of the pathfind.  Does anyone have any suggestions on how I could fix this?  Here is my move code i use:

Sub moveNow
  set %x %movex
  set %y %movey
  set %z %movez
  set %i 0
  while ( #CHARPOSX <> %x || #CHARPOSY <> %y ) && %i < 5
  {
  event pathfind %x %y
  wait 5
  set %i ( %i + 1 )
  }
Return
Code: [Select]
Sub moveNow
  set %x %movex
  set %y %movey
  set %z %movez
  set %i 0
  while ( #CHARPOSX <> %x || #CHARPOSY <> %y ) && %i < 5
  {
  event pathfind %x %y
  wait 5
  set %i ( %i + 1 )
  }
Return

10
New member introductions / a long time silent scripter, new to SUO
« on: September 01, 2009, 08:34:27 PM »
Hello all,

I am a UO adict with 3 128 month old accounts.  I took a two year break from UO and was lucky enough to find my accounts still alive.  Since my return, I have spent the past three years hard at work creating EASYUO scripts to make my video life much more enjoyable.  I have found that I actually spend more time and have more fun writing scripts than I spend "playing" the game.  I have become a scripting adict.  I go to bed dreaming of what I can make my characters do next.  I just stumbled on to this site and recognized a few names from years ago on the EasyUO boards.  I am looking forward to tinkering with your interface!

xApCx

Post Merge: September 02, 2009, 12:42:30 AM
Here is an tidbit of one of my favorite scripts.  Its very generic, but came in real handy durring the TOT drop period.  

Code: [Select]
set %timeWait ( #SCNT - 16 )
set %findtype UE_TC_TH_PI_DH_FD_ME_HI ;FanDancer
;set %findtype WD_R_EB ; lich lichlord
set %lastMon 00000
set %disMon 00000
set %corpse YFM
set %Gold POF
set %keys LZF
set %loot POF_LZF_ZFM_MIG_QIP
set %prize SWO
set %BOS 00000000
set %findPet 00000000
set %instmnt RGP_LQF ;PGP

gosub setPet

gosub setBOS
gosub setLLLt
gosub setURLt



top:
gosub playMusic
wait 1
gosub findMonster
wait 1
gosub allAttack
wait 1
gosub healthcheck
wait 1
gosub findCorpse
wait 1
gosub useBag
wait 1
gosub findPet
wait 1
gosub deathcheck
;gosub mempoCheck
goto top

sub deathcheck
if #charGhost = YES
{
wait 2s
click 845 66
wait 2s
click 542 393
wait 5s
stop
}
return

sub allAttack
finditem %findtype G_6
;if %timeWait < ( #SCNT - 10 )
   ;{
   ;set %lastMon 000000
   ;}
     if #findkind <> -1 && #findid <> %lastMon
     {
      wait 5
      set #ltargetid #findid
      set #ltargetkind 1
      msg all kill$
      target 2s
      event macro 22 0
      wait 2
      set %lastMon #ltargetid
      wait 10
     }
return

sub playMusic
    finditem %instmnt C_ , #BACKPACKID
     set #LOBJECTID #FINDID
     wait 5
     event macro 17 0
     wait 5
return


sub findMonster
   if %timeWait < ( #SCNT - 10 )
   {
    if #targcurs = 0
    {
     set #findkind 0
     set #findid 0
     set #ltargetid X
     finditem %findtype G_10
     if #findkind <> -1 && #findid <> %disMon
     {
      set #ltargetid #findid
      set #ltargetkind 1
      event macro 13 15 ;this part uses skill discord
      target 2s
      event macro 22 0
      wait 5
      if %message2 in #sysmsg || %message3 in #sysmsg
      {
       set %disMon #ltargetid
      }
      if %message5 in #sysmsg
      {
         ignoreitem #ltargetid
         return
      }
      set %timeWait #SCNT
      set %waitCount 0
     }
    }
   }
return

sub findPet
    finditem %findPet G_25
    if #FINDDIST > 4 && #FINDX < %LLLX || #FINDX > %URLX || #FINDY < %URLY || #FINDY > %LLLY )
    {
     msg all follow me$
     wait 60
     finditem %lastMon G_6
     if #findkind <> -1
{
     set #ltargetid %lastMon
     set #ltargetkind 1
     msg all kill$ ;this part tells your animal to kill
     target 2s
     event macro 22 0
     wait 5
}
    }
return

sub healthcheck
    if #CHARSTATUS = C
    {
     gosub cureMe
    }
    if #CHARSTATUS = CA
    {
     gosub cureMe
    }
    if #CHARSTATUS = CB
    {
     gosub cureMe
    }
    if #CHARSTATUS = GC
    {
     gosub cureMe
    }
    if #HITS < 85
    {
     gosub invisMe
     wait 5
     gosub healMe
    }
return

sub cureMe
    if #MANA > 15
    {
     event sysmessage curing
     event macro 15 24 ; cast arch cure
     target 100
     event macro 23 ; target me
     wait 20
    }
return

sub healMe
    if #MANA > 15
    {
     set #ltargetid #ENEMYID
   set #ltargetkind 1
   msg all kill$ ;this part tells your animal to kill
   target 2s
   event macro 22 0
   wait 5
     event macro 15 28 ; cast greater heal
     target 100
     event macro 23 ; target me
     wait 20
    }
return

sub invisMe
if #CHARSTATUS <> HB
       {
       set #ltargetid #ENEMYID
     set #ltargetkind 1
     msg all kill$ ;this part tells your animal to kill
     target 2s
     event macro 22 0
     wait 5
       event macro 15 43
       target 10s
       event macro 23 0
       wait 2s
       }
return

sub findCorpse
fc:
if #WEIGHT <= 440
{
    finditem %corpse G_10
    if #findkind <> -1
    {
    event sysmessage #findx #findy
    event sysmessage %LLLX %URLX %LLLY %URLY
    ;wait 2s
    if #FINDX < %LLLX || #FINDX > %URLX || #FINDY < %URLY || #FINDY > %LLLY )
    {
    ignoreitem #findid 1
    goto fc
    }
     set %corpseID #FINDID
     set #lobjectid %corpseID
     set %movex #findx
     set %movey #findy
     gosub moveNow
     wait 5
     gosub openIT
     wait 5
     ignoreitem #lobjectid 1
    }
}
return

sub openIt
    wait 10
    event macro 17
    OI:
    wait 1s
    finditem %loot C_ , #CONTID ;gold
    if #findkind <> -1
    {
     wait 5
     GOSUB moveItem #FINDID #FINDBAGID #BACKPACKID
     wait 5
     ignoreitem #findid 2
     goto OI
    }
return

Sub moveNow
  set %x %movex
  set %y %movey
  set %z %movez
  movingB:
  event pathfind %x %y
  if #finddist > 1
  {
   wait 10
   goto movingB
  }
Return

Sub useBag
    if #WEIGHT >= 440
    {
    ignoreitem reset
    ignoreitem reset 1
    ignoreitem reset 2
     finditem %BOS C_ , #BACKPACKID
     set #LOBJECTID #FINDID
     wait 5
     event macro 17 0
     target 1s
     finditem %Gold C_ , #BACKPACKID ;gold
     finditem #findid
     set #LTARGETID #FINDID
     event macro 22 0
     wait 10
    }
return

Sub mempoCheck
     finditem %prize C_ , #BACKPACKID
     if #findkind <> -1
     {
     finditem %BOS C_ , #BACKPACKID
     set #LOBJECTID #FINDID
     wait 5
     event macro 17 0
     target 1s
     finditem %prize C_ , #BACKPACKID
     set #LTARGETID #FINDID
     event macro 22 0
     wait 10
    }
return

sub setPet
    display ok please target your pet.
    set #targcurs 1
    target 5s
    watPetLup:
    if #targcurs = 1
    {
    goto watPetLup
    wait 5
    }
    finditem #ltargetid
    set %findPet #ltargetid
return

sub setBOS
    display ok please target your BOS.
    set #targcurs 1
    target 5s
    watBOSLup:
    if #targcurs = 1
    {
    goto watBOSLup
    wait 5
    }
    finditem #ltargetid
    set %BOS #ltargetid
return

sub setLLLt
    display ok please target your Lower Left Loot.
    set #targcurs 1
    target 5s
    watLLLtLup:
    if #targcurs = 1
    {
    goto watLLLtLup
    wait 5
    }

    set %LLLX #charposx
    set %LLLY #charposy
    event sysmessage %LLLX
    event sysmessage %LLLY
return


sub setURLt
    display ok please target your Upper Right Loot.
    set #targcurs 1
    target 5s
    watURLtLup:
    if #targcurs = 1
    {
    goto watURLtLup
    wait 5
    }

    set %URLX #charposx
    set %URLY #charposy
    event sysmessage %URLX
    event sysmessage %URLY
return

Pages: [1]