Author Topic: TrailMyx's Master Rail Engine/Developer  (Read 155767 times)

0 Members and 1 Guest are viewing this topic.

Offline TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #105 on: November 16, 2009, 07:48:17 PM »
0
Oh yeh, that's a use for it.  Unfortunately, that lag can be variable and long lasting.  MIght have to put in a retry when a rail fails.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline Superslayer

  • Elite
  • *
  • *
  • Posts: 1006
  • Activity:
    0%
  • Reputation Power: 14
  • Superslayer barely matters.Superslayer barely matters.
  • Gender: Male
  • Well what do you drink? Not tea.
  • Respect: +43
  • Referrals: 0
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #106 on: November 17, 2009, 02:28:45 PM »
0
I think I may have found a way to resolve the server line issue. After the 'call %railsubs TM_GetStatus' results in an Idle #Result, I compare the current waypoint to the known start and end endpoints of the currently running rail. Knowing the character is at neither point, I call the TM_RunRail function with "Present" as the rail start, then back to the TM_GetStatus line.  All is good after that. 

I have come across an issue and I hope it's just me. Sporadically throughout any rail, the RE will return an IDLE status in the window, but the character is still running the rail. I can't pause the WIT script to find the error, as it seems the RE is in an infinate loop at line 84.  The lines reads:
Code: [Select]
  while #TRUE
  {
    set !TM_temp !TM_RailTotal + 1
    menu set EUOEdit1 !TM_temp
    menu set EUOEdit2 !TM_temp_rail
    menu set EUOEdit3 !TM_temp_index
    menu set EUOEdit5 !TM_ServerCommand
    menu set EUOEdit6 !TM_Status
    if !temp_rails <> !TM_RailTotal
    {
      wait 40
      menu delete EUOListBox1
      menu List Create EUOListBox1 208 4 141 141
      set !temp_rails !TM_RailTotal
      for !i 0 !TM_RailTotal
        menu list add EUOListBox1 !TM_RailName . !i
    }

    if !TM_ServerCommand = RUNRAIL
    {
      set #LPC 100
      gosub TM_DoRail NULL !TM_temp_rail !TM_temp_index !TM_temp_steps !TM_temp_direction
      set #LPC 10
      if #RESULT = #TRUE
      {
        set !TM_Status ERROR
      }
      else
      {
        set !TM_Status IDLE
      }
      set !TM_ServerCommand NONE
    }
    if !temp_ping = PING    ; ping handler.
    {
      set !temp_ping PONG
    }
    if !TM_menuvisible = #TRUE && !TM_menu_command = HIDE
    {
      set !TM_menuvisible #FALSE
      menu hide
    }
    if !TM_menuvisible = #FALSE && !TM_menu_command = SHOW
    {
      set !TM_menuvisible #TRUE
      menu show
    }
  }

When I do pause the WIT script, I tab over to the tool_railengine30l tab and see that I'm continuously going over this block of code.  I'm wondering if my SS_Globals script has anything to do with it, and further yet, if I should put TM_Close somewhere in my script that is really needed.  My SS_Globals script is running in a separate tab just as the RE, and too is using a global namespace to communicate with my WIT script, specifically scanning for gumps in a loop.

Offline Superslayer

  • Elite
  • *
  • *
  • Posts: 1006
  • Activity:
    0%
  • Reputation Power: 14
  • Superslayer barely matters.Superslayer barely matters.
  • Gender: Male
  • Well what do you drink? Not tea.
  • Respect: +43
  • Referrals: 0
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #107 on: November 17, 2009, 04:40:35 PM »
0
I'm pretty sure I found the problem, or at least a major part of it and it is just me atm, heh. While the rail sub part of my script ran, there are other subs that did stuff, idoc scanning, specific action location check subs and whatnot. Specifically though, I have a scan character sub that checks for poison and low hp and stuff.  As it happens, when I had crossed the server line, my stats dropped and the script told the rail to stop (as planned). However as planned, this time was more like a false positive.

Offline TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #108 on: November 17, 2009, 08:25:20 PM »
0
Glad you may have tracked it down.  I've been pretty busy lately and haven't really had time to dig into this kinds of things for people.  That's ok, no dog food for me tonight!
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline gen2000

  • Full Member
  • ***
  • Posts: 123
  • Activity:
    0%
  • Reputation Power: 0
  • gen2000 has no influence.
  • Gender: Male
  • Respect: +40
  • Referrals: 1
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #109 on: November 27, 2009, 11:32:47 AM »
0
When I run a rail using Server mode the rail is perfectly smooth, but when I don't use the server and just load a rail in memory and run it in Subroutine mode the rail is choppy. The char will pause for a split sec after each waypoint.

Offline gen2000

  • Full Member
  • ***
  • Posts: 123
  • Activity:
    0%
  • Reputation Power: 0
  • gen2000 has no influence.
  • Gender: Male
  • Respect: +40
  • Referrals: 1
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #110 on: November 27, 2009, 11:53:39 AM »
0
and something else I did.. I love playing around with this thing btw!  ;)

I'm using vista so I can't put all my rail files into a Rails folder. So I got all these rail files in my easyuo folder with all my script.
I hate cluter! So I modified the Rail Engine so I could have more than one rail in a Rails.txt file and use something like this..

call %railsubs TM_LoadRail c:\rails.txt railname

Code: [Select]
if %3 <> N/A                ;======================
  {
     set !filename %3       <----    Added this..
     set %filename %3
  }                             ;=======================
  else
  {
      set !filename %2
      set %filename %2
  }
  set !temp_LPC #LPC
  
  set !idx 0
  while !filename . !idx <> N/A
  {
    set !filename . !idx N/A
    set !idx !idx + 1
  }

  set #LPC 10000
  set %fileout0 N/A
  if %3 <> N/A           ;===============================
     call %2 %3            <---    and this...
  else                       ;===============================
     call !filename
  if %fileout0 = N/A

Now Instead of loading a bunch of different rails from different files I use one file

Cotton_Rails.txt
Code: [Select]
gosub %1
exit

sub Bank2Cotton
 set %fileout0 Bank2Cotton3710446611710?0NONE-1011446211680?0NONE-1012445811650?0NONE-1013445811600?0NONE-1014445811540?0NONE-1015445811480?0NONE-1016445811430?0NONE-1017445811370?0NONE-1018445811320?0NONE-101044581124000None0019445611240Teleporter_Gate40NONE-10110445111260?0NONE-10111445111300?0NONE-10112444611310?0NONE-10113444211310?0NONE-10114443711340?0NONE-10115443411390?0NONE-10116443911400?0NONE-10117444311400?0NONE-10118444311375?40NONE-10119449014780?0NONE-10120449414840?0NONE-10121450014860?0NONE-10122450514860?0NONE-10123451114860?0NONE-10124451714860?0NONE-10125452214860?0NONE-10126452814860?0NONE-10127453314860?0NONE-10128453814861?0NONE-10129454314900?0NONE-10130454814860?0NONE-10131455314850?0NONE-10132455814860?0NONE-10133456414860?0NONE-10134457014860?0NONE-10135457014820Cotton_Gate40NONE-10136457014770?0NONE-10
 set %callbackfunctions c:\easyuo\callbacks.txt
return

sub Cotton2Bank
 set %fileout0 Cotton2Bank3610457014770?0NONE-1011457014800?40NONE-1012457014850?0NONE-1013456514860?0NONE-1014456014860?0NONE-1015455414860?0NONE-1016455014860?0NONE-1017454614900?0NONE-1018454114930?0NONE-1019453614930?0NONE-10110452914930?0NONE-10111452414930?0NONE-10112451914930?0NONE-10113451414930?0NONE-10114450914880?0NONE-10115450514840?0NONE-10116450014840?0NONE-10117449614840?0NONE-10118449614803?0NONE-10119449614798?0NONE-101204496147511?40NONE-10123443911280?0NONE-10124444211320?0NONE-10125444711320?0NONE-10126445111300?0NONE-10127445411240?40NONE-10128445811240?0NONE-10129446111290?0NONE-10130446111340?0NONE-10131446111390?0NONE-10132446111430?0NONE-10133445611480?0NONE-10134445611530?0NONE-10135445611590?0NONE-10136445611640?0NONE-10137446111700?0NONE-10138446611720?0NONE-10
 set %callbackfunctions c:\easyuo\callbacks.txt
return

Now when I got to load my rails I just use this..

Code: [Select]
set %railsubs TM_RailEngine_Server.txt  ;Had to do some renaming.. Ha!
set %railfile Cotton_Rails.txt
set %rail1 Bank2Cotton
set %rail2 Cotton2Bank
set %rails 2
gosub SetupRailServer

;============================
code..
;============================

sub SetupRailServer
call %railsubs TM_GetServerMode ; SERVER, SUBROUTINE, or *blank*
if #RESULT = SERVER
{
   call %railsubs TM_PingServer
   if #RESULT = PONG ; server is alive, must reset it and were good to go.
   {
      call %railsubs TM_ServerInitialize ; still need to break a move if in progress....
   }
   else
   {
       display ok Namespace is initialized, but server is not running. Please restart server.
       call %railsubs TM_Close
       stop
   }
   goto skipsetupcheck
}
if #RESULT = SUBROUTINE
{
   display ok You were running in Subroutine mode, please start a server.
   call %railsubs TM_Close
   stop
}
display ok No server was found, please start a server session.
call %railsubs TM_Close
stop

skipsetupcheck:
for %i 1 %rails
{
    call %railsubs TM_LoadRail %railfile %rail . %i
    if #RESULT = #TRUE
    {
       display ok Error loading , #SPC , %rail . %i
       stop
    }
    wait 2s
}
return

I still have to copy and paste my rails into the Rails.txt file, but after that I can delete them and just have one Rails file per scipt.

EDIT:

I'm sure most people figure this out, but you can put your rails at the bottom of your script, and add this to the top. That way you don't even have to use a separate rail file. Just call the script it's self.. 

Code: [Select]
if %1 <> N/A
{
   gosub %1
   exit
}

;=========================
script...
;=========================

;=========================
; Rails
;=========================
sub Bank2Cotton
 set %fileout0 Bank2Cotton3710446611710?0NONE-1011446211680?0NONE-1012445811650?0NONE-1013445811600?0NONE-1014445811540?0NONE-1015445811480?0NONE-1016445811430?0NONE-1017445811370?0NONE-1018445811320?0NONE-101044581124000None0019445611240Teleporter_Gate40NONE-10110445111260?0NONE-10111445111300?0NONE-10112444611310?0NONE-10113444211310?0NONE-10114443711340?0NONE-10115443411390?0NONE-10116443911400?0NONE-10117444311400?0NONE-10118444311375?40NONE-10119449014780?0NONE-10120449414840?0NONE-10121450014860?0NONE-10122450514860?0NONE-10123451114860?0NONE-10124451714860?0NONE-10125452214860?0NONE-10126452814860?0NONE-10127453314860?0NONE-10128453814861?0NONE-10129454314900?0NONE-10130454814860?0NONE-10131455314850?0NONE-10132455814860?0NONE-10133456414860?0NONE-10134457014860?0NONE-10135457014820Cotton_Gate40NONE-10136457014770?0NONE-10
 set %callbackfunctions c:\easyuo\callbacks.txt
return

sub Cotton2Bank
 set %fileout0 Cotton2Bank3610457014770?0NONE-1011457014800?40NONE-1012457014850?0NONE-1013456514860?0NONE-1014456014860?0NONE-1015455414860?0NONE-1016455014860?0NONE-1017454614900?0NONE-1018454114930?0NONE-1019453614930?0NONE-10110452914930?0NONE-10111452414930?0NONE-10112451914930?0NONE-10113451414930?0NONE-10114450914880?0NONE-10115450514840?0NONE-10116450014840?0NONE-10117449614840?0NONE-10118449614803?0NONE-10119449614798?0NONE-101204496147511?40NONE-10123443911280?0NONE-10124444211320?0NONE-10125444711320?0NONE-10126445111300?0NONE-10127445411240?40NONE-10128445811240?0NONE-10129446111290?0NONE-10130446111340?0NONE-10131446111390?0NONE-10132446111430?0NONE-10133445611480?0NONE-10134445611530?0NONE-10135445611590?0NONE-10136445611640?0NONE-10137446111700?0NONE-10138446611720?0NONE-10
 set %callbackfunctions c:\easyuo\callbacks.txt
return
« Last Edit: November 27, 2009, 12:32:14 PM by gen2000 »

Offline TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #111 on: November 27, 2009, 03:48:35 PM »
0
Good deal Gen2000.  I was going to add this type of feature to the next version of the engine.  I kinda figured that people might like to have small rails included in their code without having to have rail files.  I did it a bit differently, but the end effect is the same.
Please read the ScriptUO site RULES
Come play RIFT with me!

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: TrailMyx's Master Rail Engine/Developer
« Reply #112 on: November 27, 2009, 04:48:50 PM »
0
Good deal Gen2000.  I was going to add this type of feature to the next version of the engine.  I kinda figured that people might like to have small rails included in their code without having to have rail files.  I did it a bit differently, but the end effect is the same.

I rember us talking about this sort of thing way back on uoCoders TM... that is how my rail system works.. but super compressed..  A rail to walk around luna in my system is about 16characterslong.
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 TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #113 on: November 27, 2009, 07:20:06 PM »
0
When I run a rail using Server mode the rail is perfectly smooth, but when I don't use the server and just load a rail in memory and run it in Subroutine mode the rail is choppy. The char will pause for a split sec after each waypoint.

During server mode, the rail engine will crank up the LPC a bit in order to keep the rail smooth.  If you are running in subroutine mode, you need to do this yourself.  So before you call the run rail function, put the #LPC up to something over 100.  That should smooth things out and make your subroutine calls as smooth as the server calls.

I'm glad to see others starting to use this rail engine.  It's really a very powerful tool.  There's just nothing else out there like it (or even close to it).  :)
« Last Edit: November 27, 2009, 07:27:08 PM by TrailMyx »
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #114 on: November 27, 2009, 07:28:27 PM »
0
I rember us talking about this sort of thing way back on uoCoders TM... that is how my rail system works.. but super compressed..  A rail to walk around luna in my system is about 16characterslong.

EN, you should post your thoughts on this again.  I promise it won't disappear like the last conversation did.  ;)

Your rail stuff was singularly unique and compact to boot!
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline gen2000

  • Full Member
  • ***
  • Posts: 123
  • Activity:
    0%
  • Reputation Power: 0
  • gen2000 has no influence.
  • Gender: Male
  • Respect: +40
  • Referrals: 1
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #115 on: November 27, 2009, 09:11:45 PM »
0
When I run a rail using Server mode the rail is perfectly smooth, but when I don't use the server and just load a rail in memory and run it in Subroutine mode the rail is choppy. The char will pause for a split sec after each waypoint.

During server mode, the rail engine will crank up the LPC a bit in order to keep the rail smooth.  If you are running in subroutine mode, you need to do this yourself.  So before you call the run rail function, put the #LPC up to something over 100.  That should smooth things out and make your subroutine calls as smooth as the server calls.

I'm glad to see others starting to use this rail engine.  It's really a very powerful tool.  There's just nothing else out there like it (or even close to it).  :)

Cool Thanks! I'll give that at try.

Offline TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #116 on: December 18, 2009, 12:00:46 PM »
0
Superslayer reminded me to add his script to the ones using this engine.  So if anyone else out there would like to have their script added to the list, please PM me.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline Superslayer

  • Elite
  • *
  • *
  • Posts: 1006
  • Activity:
    0%
  • Reputation Power: 14
  • Superslayer barely matters.Superslayer barely matters.
  • Gender: Male
  • Well what do you drink? Not tea.
  • Respect: +43
  • Referrals: 0
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #117 on: January 19, 2010, 03:20:48 PM »
0
Question:

I'm comming around to using some of the other commands, in particular, the TM_Pop & TM_Push functions.  I'm obviously not doing it right, so I'm asking, could you post a small example or correction to what I'm doing?

What I'm doing:

1. Load rail1
2. Start running rail1 from 0 to End
3. Call TM_SetPresentServerCommand STOP midway through rail... waypoint 100 for example
4. Call TM_Push
5. Load rail2
6. Run rail2 from 0 to end, then backwards 100 to End.
7. Call TM_Pop
At this point, I'd half expect to see the TM_RE Info window to show that rail1 is now loaded with the last waypoint from where I pushed it from, rail1/waypoint 100. From the call tm_pop, there is no error.
« Last Edit: February 09, 2010, 12:18:55 PM by Superslayer »

Offline manwinc

  • Elite
  • *
  • *
  • Posts: 2556
  • Activity:
    0%
  • Reputation Power: 32
  • manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!manwinc is a rising star!
  • Gender: Male
  • "The Devs Hard at Work"
  • Respect: +123
  • Referrals: 1
    • View Profile
Re: TrailMyx's Master Rail Engine/Developer
« Reply #118 on: January 19, 2010, 03:26:55 PM »
0
I shall have to try this out. Just had to rape CEO's Script and make it write everything in chunks instead of one fricking line at a time(SCREAMS)
Monkeys and Typewriters!

" Oh I know, We'll make a Boss Encounter that requires 3 keys per player to enter, Then we'll make it not a closed instance so you never know if you are going to pop into a fresh room or a boss that has 1% Health left with 20 dudes smashing its face in, wasting your time and effort"

Offline TrailMyxTopic starter

  • 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: TrailMyx's Master Rail Engine/Developer
« Reply #119 on: January 19, 2010, 06:06:37 PM »
0
I shall have to try this out. Just had to rape CEO's Script and make it write everything in chunks instead of one fricking line at a time(SCREAMS)

Lol, then you'll really like mine.  ;)
Please read the ScriptUO site RULES
Come play RIFT with me!