ScriptUO

Ultima Online Fan Board => General UO Chat => Topic started by: UOMaddog on October 14, 2010, 10:35:15 AM

Title: CodeUO
Post by: UOMaddog on October 14, 2010, 10:35:15 AM
So I've thought about learning the client interactions and developing my own version of EUO. I have been looking through UOMachine and UOAI and thinking that if we can get the right minds together, we could either make SUO fully functional, or build a library (C or Java based probably) that would allow users to harness the full power of client interaction. This WOULD mean learning a new language (or at least a Java library for example) but unlike OEUO, would make things EASIER and SHORTER! All the superfluous code would be hidden in the library. I am including a sample class below so you can get an idea of how it might work. If I proceed with Java (this is how I'm leaning right now), you could use the full power of Swing or another GUI builder to make AMAZING menus compared to EUO!


"Tile" class:
Attributes
(int) x
(int) y
(int) z
(string) type
(string) name
(int) layers
(string) flags

Methods
(ArrayList<Tile>) getSurroundingTiles()
(int) distance()

"Container" class
Attributes
(int) x
(int) y
(int) size
(string) kind
(string) id
(string) type
(string) name

Methods
(Item) find(ItemType OR String)
(void) open()
(void) close()
(void) empy(Container container_to_empty_into)


Sample Coding:
Code: [Select]
//Initial coding that would probably be required in all scripts
Character self = new Character(Client.getSelf());


//Code to heal yourself if you've taken damage
if(self.hp<self.maxhp) {
Action.Cast(Magery.Greater_Heal,self);
}


//Code to cast Poison Strike on someone until they're dead
Character enemy = new Character("INSERT ENEMY ID");
while(!enemy.isDead()) {
Action.Cast(Necro.Poison_Strike,enemy);
}


//Code to find a heal pot in your backpack
self.backpack.find(Potion.Heal);


//Code to drink a cure pot if poisoned
if(self.isPoisoned()) {
     Action.DrinkCure();
}


//Code to look auto-open doors
while(true) {
for(Tile tile:self.currentLocation().getSurroundingTiles()) {
if(tile.flag.equals("DOOR") {
Action.OpenDoor(tile);
}
}
}
Title: Re: CodeUO
Post by: Paulonius on October 14, 2010, 10:45:20 AM
If you can get something that is relatively simple to code script compared to OEUO live in the next month or two you probably have a window to get people scripting in an alternative before momentum gets them settled into OEUO.  Even if you miss the window I am sure people will explore the idea with you in light of the stability issues with OEUO.
Title: Re: CodeUO
Post by: UOMaddog on October 14, 2010, 10:56:47 AM
Exactly! My biggest problem is TIME! LoL! Hence why I'd like to get a TEAM working on it, so that way we don't have the issues that Cheffe does in terms of updating, stabilizing, etc! Plus, it allows anyone to take a break, quit, etc. without losing the project integrity. My free time doesn't open up until the spring, but I pretty much have an entire sketch in my head that I would just need programmers to implement. That's why I'm thinking someone like Xenoglyph might be able to merge his project with this and we'll all be the better for it! TRUE "open source" project!
Title: Re: CodeUO
Post by: UOMaddog on October 14, 2010, 11:00:26 AM
If there is enough interest, perhaps we could get our own forum or such to begin development. I might also be able to host a repository on my personal server if we wanted to maintain good coding version control behaviors. If this is a true community project, we can keep everything here, if just a few people want to work on it, I can host a separate site that we can link to. We'll just kind of "go with the flow"!
Title: Re: CodeUO
Post by: Tidus on October 14, 2010, 11:34:02 AM
I would help. But i don't understand the normal languages like i would want to.  But i'm all for what you are talking about.
Title: Re: CodeUO
Post by: Paulonius on October 14, 2010, 11:35:51 AM
I am not even a pretend programmer, but IMHO even for a true open project you have to have someone who is the champion, gets it rolling and manages the project or it doesn't go anywhere.
Title: Re: CodeUO
Post by: Masscre on October 14, 2010, 12:15:53 PM
I am up for it but I am only expierenced in interfaces and the low level work like doing the research of what goes where and how to get it there. I am interested but we still have 3 weeks of good work on the new house so I only have a little amount of time to devote to the project?
Title: Re: CodeUO
Post by: cbrenan on October 14, 2010, 12:32:32 PM
I by no means want to thread crap, but I just want you to be aware that Cheffe said OEUO is going to be done within the next week or two?  With the coding looking close enough to OEUO in structure I don't know how valuable this project would be from a time:reward stand point.

Just my opinion, but it's cool to even conceptualize it.
Title: Re: CodeUO
Post by: TrailMyx on October 14, 2010, 01:38:28 PM
I think people are just getting tired of the random course corrections.  EasyUO should have alternatives for the sake of keeping everyone honest.  That's why I was hosting and advocating other projects.  I also advocate OpenEUO.  It's all good in my eyes.  Hopefully someone can step forward that can keep the interests of the users in mind at the same time as their own.