PDA

View Full Version : SageScript in-game



JamusPsi
06-02-2009, 07:52 PM
loop:
matchre said ^You say, "(?<said>.*?)"$
matchwait

said:
echo You said %said
goto loop


>>testregex
l
[Library Sanctuary]
Cramped shelves rise on all sides, their dusty expanses riddled with books of all sizes and shapes. Carefully shielded lanterns offer dim illumination for a space crowded with antique scrolls, tomes, and leather rolls. Dusty tables covered with maps, odd trinkets, and yellowed diagrams leave little floor space. A topaz eye with a deep ebon slit is painted into the ceiling, which houses hundreds of cobwebs.
Obvious exits: out
>'Hello
You said Hello.
You say, "Hello."
>'Beautiful
You said Beautiful.
You say, "Beautiful."

Bobmuhthol
06-02-2009, 07:54 PM
It's like a glorified version of JSE! Show me something new, plz.

JamusPsi
06-02-2009, 07:58 PM
I believe I have reimplemented all the commands in wizard/sf script into the game, excepting the highlighting functions (which I cannot replicate). Please correct me if I missed any:

GOTO (actually a language feature)
ECHO
MATCH
MATCHRE
MATCHWAIT
MOVE
NEXTROOM
PAUSE
PUT
SAVE
SETVAR
SHIFT
WAIT
WAITFOR

A few of these commands have slight variations:

PUT uses a lag-correction algorithm to try to guess the soonest millisecond that another command can be sent without being in roundtime.

MOVE works the same.

WAIT waits for any text from the game which is not empty, but does not match blank lines or invisible tags.

MATCHRE, when a match has been found, sets local variables for each named capture group (%said, above) in the regex pattern. Additionally, it sets a $lastmatch variable which contains all the matches, named or not. (ie, above, %lastmatch[1] is equal to %said.)

JamusPsi
06-02-2009, 08:05 PM
It's not much to look at, yet; basically wizard-script with the ability to pull information from the game, do math, call functions within imported scripts, set complex variables, define functions and methods for objects, test and loop on conditions, and set interrupt hooks which either resume or backtrack.

Hm. Maybe it is slightly more than a glorified JSE.

The next step is exposing PsiNet's internal tracking data (status, skills, stats, magic, atlas) to the scripting engine; this'll take some time, and the current stuff needs to be tested a little more. Nonetheless, it is rapidly approaching a real release.

Future posts will describe the methods for getting access to that tracking data, and feedback will be appreciated.

JamusPsi
06-03-2009, 06:52 PM
Data binding to the information psinet collects went *way* faster than I expected.

I also wrote a little bit so that you can run script on the fly, without opening a file. It loses certain compilation features like control structures (no if, while, for) but it's handy for quick little checks. It also maintains its own scope, so if you set variables, they stay set.

Some more examples. Where possible, italics is commands I entered, and bold are messages from the engine.

Checking your current mana:


@echo Mana: %me.mana/%me.maxmana =((%me.mana * 100.) / %me.maxmana) percent
Mana: 276/276 100.00 percent
Script ended. (Ended)
120
Voodoo '120' to 'INCANT 120'.
You gesture while calling upon the lesser spirits to aid you with the Lesser Shroud spell...
Your spell is ready.
You gesture.
Lesser Shroud (120) starts for 1h 05m. [+20STD, +27DS, +27BoltDS]
You suddenly feel a lot more powerful.
You are surrounded by a white light.
Cast Roundtime 3 Seconds.
(Forcing stance down to guarded)
>@echo Mana: %me.mana/%me.maxmana =((%me.mana * 100.) / %me.maxmana) percent
Mana: 252/276 91.30 percent
Script ended. (Ended)



People in the room


>l
[Ta'Illistim, Hanging Gardens]
Although the floating platform is suspended well above the ground below, it overflows with abundant plant life. The edges of the dais are brimming with delicate white queen's lace, dark lavender, fragrant rosemary and a variety of other colorful flora. Thick grass underfoot provides an enticingly peaceful resting spot. A thin silk canopy is suspended above, providing ample shade from the day's brightness. You also see the Amadicias disk, some barley grass, a copper lockpick, a filled piece of bread, a medicinal donations bin, a glaesine arch, a richly finished wooden bench with some stuff on it and a large faenor-chased barrel.
Also here: Lord Cyfhron, Ramuant who is sitting, Dragauth, Zee who is sitting, Amadicias
Obvious paths: out
@echo There are %here.people.count people here.
There are 5 people here.
Script ended. (Ended)
>@echo The first person is %here.people[0], his title is %here.people[0].title, and he is %here.people[0].position
The first person is Cyfhron, his title is Lord, and he is Standing
Script ended. (Ended)

Niqk just arrived.
>l
>
[Ta'Illistim, Hanging Gardens]
Although the floating platform is suspended well above the ground below, it overflows with abundant plant life. The edges of the dais are brimming with delicate white queen's lace, dark lavender, fragrant rosemary and a variety of other colorful flora. Thick grass underfoot provides an enticingly peaceful resting spot. A thin silk canopy is suspended above, providing ample shade from the day's brightness. You also see the Blades disk, the Amadicias disk, some barley grass, a copper lockpick, a filled piece of bread, a medicinal donations bin, a glaesine arch, a richly finished wooden bench with some stuff on it and a large faenor-chased barrel.
Also here: Niqk who is sitting, Blades, Lord Cyfhron, Ramuant who is sitting, Dragauth, Zee who is sitting, Amadicias
Obvious paths: out
>@echo The first person is %here.people[0], his title is %here.people[0].title, and he is %here.people[0].position
The first person is Niqk, his title is , and he is Sitting
Script ended. (Ended)

Kinslar
06-03-2009, 07:27 PM
That sounds great. I definitely would like to use these in my scripts. Is there list of variables (you use %me and %here above) someplace?

JamusPsi
06-03-2009, 07:42 PM
Right at this moment, there's too much changing as I move stuff around and expose more (and more and more) of the information that sage tracks.

I expect it to end up on the psinet wiki, however-- tonight or tomorrow. Expect a beta relatively soon.

Deathravin
06-03-2009, 07:54 PM
Why are you wasting your time on Psinet?

Inspire
06-03-2009, 08:37 PM
Because it's cool?

Liberi Fatali
06-03-2009, 09:02 PM
Why are you wasting your time on Psinet?

What's wrong with Psinet? Gemstone is much more entertaining/enjoyable with it. Brian is exceptionally created, and I for one appreciate all his hard work.

phantasm
06-03-2009, 09:20 PM
Why are you wasting your time on Psinet?

I think you stand alone in this view.

Deathravin
06-03-2009, 11:28 PM
Lich > Psinet

DaCapn
06-03-2009, 11:44 PM
Lich > Psinet

Lich, practically perfect in every way.

Donquix
06-03-2009, 11:56 PM
I'm glad the dozen of you that use lich are happy :)

pabstblueribbon
06-04-2009, 12:04 AM
Christ. Dont turn this into a Lich vs. Psinet thing. If you're using Lich, why bother reading this thread? Let the animosity die already.

I use lich and psinet together. Though from what I've been told thats not going to happen for much longer.. le sigh.

Deathravin
06-04-2009, 12:07 AM
The reason it's confusing is because Jamus is working on a scripting engine when there is a functional, perfectly working scripting engine in Lich. Every other function of Psinet either has already been emulated. Even Atlas is in the works...

So what's the point?

Celephais
06-04-2009, 12:08 AM
I don't understand why Jamus doesn't embrace this, it's SO fucking easy to add ruby scripting to a .NET program. (this is why I'm so confused as to why he's bothering writing his own language. You can write language agnostic hooks in a .NET program and let people write scripts in Ruby, Python, Javascript, C#, and VB trivially, and more .NET scripting languages/compilers emerge all the time).

pabstblueribbon
06-04-2009, 12:16 AM
I've spoken at length with him about it.

Its ease of use MOSTLY (since it follows alot of SF/Wiz conventions yet still allows for high-level programming conventions). He wants people to use psinet. He's tired of having to try to support people who want lich too and dealing with the headaches when PEBKAC occurs.

Think of Psinet as ready to go out of the box Windows and Lich as Linux I guess. (Hopefully that doesnt offend anyone..)

I honestly will have to pick Lich over Psinet when they no longer work together though..

Thats what I got out of the conversation anyways.

Bobmuhthol
06-04-2009, 12:39 AM
As not a programmer, I was always happy with JSE because I was familiar with BASIC more than any other language. I've since given up on software entirely, so I would be pretty unhappy if I had to write my scripts in Ruby. Not that I play anyway, but I'm sure a lot of people feel the same way.

Then again, there are probably more people that just piggyback the Lich scripts that the real programmers write.

Donquix
06-04-2009, 01:24 AM
The reason it's confusing is because Jamus is working on a scripting engine when there is a functional, perfectly working scripting engine in Lich. Every other function of Psinet either has already been emulated. Even Atlas is in the works...

So what's the point?

Lich scripts have errored out on me several times tonight, and eaten my SF sever stored settings 3 times int he past week. I'm sure other people have had different experiences, but that has been mine.

Psinet crashes in the past 2 years in builds i wasn't testing before release: 0

I don't like lich spellup

i don't like go2

things psinet does have always been "snappier" for me in game. Will that carry over to the scripting engine? I don't know that yet.

that being said, i wish psinet had support for ruby/python built in and/or it was open source.

Beyond mechanical differences...

The PsiNet informs you that there are 175 people currently linked with it.

Currently linked to LichNet:
Total: 22 (and what...half of you are afk scripting right now? :-P)

Ridiculous elitist comments about "teh nubs uzing psinads" aside, it is a social game and I play it, in part, to interact with other people. Between the two, psinet is by far the superior option for that. this has the added mechanical benefit of more people being around should you need any help with spellups, blessing, corpse recovery, or hot cyberz action.

I like both programs, and both have a lot to offer. I wish Shaelun and Jamus could have come together on this, but that didn't happen obviously. I will use both for as long as I can.

Ultimately, I feel psinet will be the better option. To each their own.

Deathravin
06-04-2009, 01:53 AM
Lich scripts have errored out on me several times tonight, and eaten my SF sever stored settings 3 times int he past week. I'm sure other people have had different experiences, but that has been mine.Never had that problem at all, and certainly never had any but growing pains on Tillmen's Lich.
I don't like lich spellupROFL. Make your own! Find somebody else to make one for you. Mine keeps you spelled up to >30 minutes of all your spells if you're <muddled, 60 minutes for muddled, 90 for becoming numbed, and 250 for numbed or higher. It also recasts any spell if it happens to fall at any time. I haven't had to spell myself up since I wrote it.
i don't like go2The map database isn't quite up to date, but it gets me where I need to go. Go2 has type-ahead ability and will use plat portals. It can get me (without the portal) from TSC to solhaven north market in 12 seconds... Tillmen was updating map.dat, and I said I would help. Shouldn't take too long...

Also, an Atlas clone is being actively worked on, which I really think will spell disaster for Psinet to be honest. That's the #1 thing people say they have to have psinet for when I ask them.
The PsiNet informs you that there are 175 people currently linked with it.

Currently linked to LichNet:
Total: 22 (and what...half of you are afk scripting right now? :-P)If Jamus wasn't so proud, he could easily write a script to connect Lich to the Psinet server.
Ridiculous elitist comments about "teh nubs uzing psinads" aside, it is a social game and I play it, in part, to interact with other people. Between the two, psinet is by far the superior option for that. this has the added mechanical benefit of more people being around should you need any help with spellups, blessing, corpse recovery, or hot cyberz action.

I like both programs, and both have a lot to offer. I wish Shaelun and Jamus could have come together on this, but that didn't happen obviously. I will use both for as long as I can.

Ultimately, I feel psinet will be the better option. To each their own.

FYI, Shaelun has been out of the game for a long, long time. It's all about Tillmen now. It's Tillmen's show.



Here's the bottom line. Lich can do everything Psinet can do. The opposite cannot be said. If Jamus still wants to work on things, he should work on making Psinet scripts for Lich and generally making Lich better. It's silly to have this duality.

phantasm
06-04-2009, 02:14 AM
Lich is like linux, its ugly and requires a computer science degree to use effectively.

Psinet is pretty, and anyone can use it.

Jamus is creating software, with good usability and appeal to many, as any good software developer should do.

Its a bad habit to fall in to when you develop software that only other developers can figure out.

Donquix
06-04-2009, 02:20 AM
Never had that problem at all, and certainly never had any but growing pains on Tillmen's Lich.

My experience has been the opposite, and one of the biggest barriers to entry into lich for well...everyone...has been unreliability, especially during install. You install psinet, it works. You install lich you have to do the ridiculous install to registry nonsense, hope your hosts file gets copied ok, etc.


ROFL. Make your own! Find somebody else to make one for you. Mine keeps you spelled up to >30 minutes of all your spells if you're <muddled, 60 minutes for muddled, 90 for becoming numbed, and 250 for numbed or higher. It also recasts any spell if it happens to fall at any time. I haven't had to spell myself up since I wrote it.

Or, i could spend my time actually playing the game, or writing other scripts i don't already have a built in function that works fine for.


The map database isn't quite up to date, but it gets me where I need to go. Go2 has type-ahead ability and will use plat portals. It can get me (without the portal) from TSC to solhaven north market in 12 seconds... Tillmen was updating map.dat, and I said I would help. Shouldn't take too long...

28 seconds TSC to solhaven (atlas)
51 solhaven to TSC (lich)

So...i'm fine thanks :)


Also, an Atlas clone is being actively worked on, which I really think will spell disaster for Psinet to be honest. That's the #1 thing people say they have to have psinet for when I ask them.

No, it won't. Psinet is still way more user friendly, which is why it's maintained hundreds of users loged on compared to 1 or 2 dozen on lich. It was like that before atlas, it will be like after lichlas.


If Jamus wasn't so proud, he could easily write a script to connect Lich to the Psinet server.

He could, but he doesn't want to. Most people i've seen logged in to lich at once was 30ish, of that i'd say half were on psinet and lich. So he'd be spending all that time for 15 people...when the majority of them are the lich diehards that spend a large portion of their day shit talking on psinet.


FYI, Shaelun has been out of the game for a long, long time. It's all about Tillmen now. It's Tillmen's show.

Quite aware


Here's the bottom line. Lich can do everything Psinet can do. The opposite cannot be said. If Jamus still wants to work on things, he should work on making Psinet scripts for Lich and generally making Lich better. It's silly to have this duality.

Lich is far more versatile, but psinet is far more polished.

Atlas receiving a full featured scripting engine, and especially one that won't look as alien to stormfront/wizard scripters as ruby might, is just as likely to cause the "demise" of lich as atlas is to cause the demise of atlas.

One of the absolute best parts of lich is the repository. If a similar setup is done for psinet scripts with the hundreds of users it has, the versatility that lich offers over psinet will be short lived indeed.

As always, to each their own. I use both and am happy with that.

Deathravin
06-04-2009, 02:30 AM
;go2 typeahead=4 (adjust until you have no issues but 4 works for me). Rerun it. Have fun.

And Tillmen's latest lich is probably the easiest thing I've ever had to install. You install ruby, and run lich. Nowhere NEAR the problems of the past. It even updates itself now. It's not even an executable anymore, it's just a .rb file.

Donquix
06-04-2009, 02:36 AM
It was at 3, 4 isn't going to close the gap by 23 seconds.

edit: 35 seconds, but took 2 tries. First time got a typeahead error ;)

Stop assuming that just because someone doesn't like (every aspect of) lich, they don't know how to use it :-P

pabstblueribbon
06-04-2009, 02:45 AM
http://raoworld.files.wordpress.com/2009/01/double-facepalm.jpg

Thanks for derailing the thread.

Dont make me upgrade this to /facesmash !

http://images.encyclopediadramatica.com/images/3/39/Splodinhead4ju.gif

Donquix
06-04-2009, 03:14 AM
Dont make me upgrade this to /facesmash !

I'm crushing your head!

http://1.bp.blogspot.com/__2B7NMjmvtw/SVlCM1-iraI/AAAAAAAAApU/v2cbhxY5OuA/s400/crushing_your_head.jpg

JamusPsi
06-04-2009, 04:03 AM
I suppose I'll start another thread for feature updates, this one is pretty far gone. I revised this as best I could, but it's very night. If I edit this tomorrow, forgive me.

TL;DR Version:
Deathravin said something silly.
I didn't use ruby because I don't like ruby, and for a number of other reasons.
Ruby is more powerful than SageScript, but not as easy.
None you got shit on me.




The reason it's confusing is because Jamus is working on a scripting engine when there is a functional, perfectly working scripting engine in Lich.


It is hard for me to believe you are confused about why someone would make a piece of software that does the same thing as an alternative piece of software, when your very next sentence was:


Every other function of Psinet either has already been emulated. Even Atlas is in the works...

Moving right along..


Also, an Atlas clone is being actively worked on, which I really think will spell disaster for Psinet to be honest. That's the #1 thing people say they have to have psinet for when I ask them.

PsiNet has been public for nearly six years now. About half the people playing Gemstone use it. I'm not particularly worried about a program which ripped-off my ideas.



I don't understand why Jamus doesn't embrace this, it's SO fucking easy to add ruby scripting to a .NET program. (this is why I'm so confused as to why he's bothering writing his own language. You can write language agnostic hooks in a .NET program and let people write scripts in Ruby, Python, Javascript, C#, and VB trivially, and more .NET scripting languages/compilers emerge all the time).

In large part, because it's been done. Here's the thing- if I were writing this just for me, I wouldn't bother- I'd simply use C# or lua or ruby or whatever language I intended to use to create my automation. Dynamic loading and compilation of C# is easy enough, and I already have a personal library which facilitates it.

But look- if you really want to use Ruby/Python/Fortran, you're probably good enough with Lich, and perhaps better off actually WRITING the program which would interface with the game yourself.

Why don't I make the scripting engine in ruby? I don't personally enjoy the language- which is why my personal projects aren't written in ruby. Why isn't lich written in C#?

People who are looking for a powerful (let's even say, "real") programming language for scripting are probably already on lich/ruby. That works for them, and that's great. If I were to implement a lua engine, or worse, a ruby engine, I wouldn't actually be introducing anything new.

Personally, and this is a very personal opinion, I don't feel that ruby as a language is best-suited to the task- very procedural programming. Pearl (I can't spell it right on these forums) or lua fit better, but still have mild issues. I didn't like that once a call crossed into an opposing language, it could not be interrupted or monitored or controlled from the source language- at least, not easily, or at least, not easily by me.

Yeah, atlas is slightly faster and more reliable than go2. But you know what? In the end, that's pretty mild. SageScript will *never* compare to Ruby as a language. I am not that level of genius. The only way I could match that is by repeating it, whether with ruby or another language.

For what lich set out to do- before it started the wholesale cloning of my ideas, that is- it will probably remain better than any alternative I will provide. What conveniences I do manage to provide will almost certainly be ripped off, as they have been in the past. I won't say it doesn't annoy me, but I strive to take it as flattery.

What *I* am setting out to do is something different altogether. I give users more tools, but also make them as easy to use as I can. I LIKE being able to use put/waitfor/match/matchwait. It's a pain in the ass to construct event handlers and state holders and all that crap when it could be expressed in a three-line wizard script. But the existing wizard script is too limited, both in construction and in data access. I wanted something similar, but extended.

I eventually decided against using an existing language. (I came VERY close to using lua, however.) Either they required jumping through hoops to make it work (for instance, I don't want to call a function to get my current mana- it should just be globally available), or the separator between them and the host language was too thick (I want to be able to control at a fairly fine level what happens when), or, most annoyingly, any blocking call within them would either block in the new language (unacceptable) or block in a callback to the host language, which I found.. distasteful.

I'm sure that I could have circumvented those problems. Probably could have tied variables to c# function calls, or wrapped an object in a compatible way, or found a way to play with threads and call stacks.

But I wanted absolute control. I wanted to know how every single bit worked. I wanted it to work exactly like I envisioned it, and I wanted it to be so similar to existing wizard/sf script that it would run most of them without adjustment. And most of all.. I wanted to see if I could do it. I don't get paid to make PsiNet. I don't always do things the easiest way. I'm just as likely to write it myself to see how it would work and learn how to do it myself. THAT'S what makes it interesting, and THAT'S why I bother with PsiNet.

So I made my own. SageScript is a subset of Stogie, which is the base language/interpreter/engine. It provides the parsing, limited compiling, and execution base, and SageScript is simply a collection of interfaces and exposed behavior so that Stogie can interact with the game. I did it this way so that I could use Stogie in other applications if I chose to, such as game AI (where I may need something simple, but not heavy) or other simple stream parsing.

Is it more powerful than Ruby/lich? Not a chance, ever. Is it easier than Ruby/lich? Almost certainly yes, because it was designed to be.

Is it BETTER than Ruby/lich? I don't know. I suspect that for some people it will be, and for others, not. I think that people who already have lich scripts to do what they need probably won't bother making a switch. I suspect some people will prefer the simplistic language style and ease of use, while other people will resent being so limited and sandboxed, unable to import makemeasammich.rb. I can say that I will make it as complete as I can, and that I expect it to be more than adequate for even the most seasoned auto-hunters.

One final note: There are certain people, whom I will not identify directly, (and not even necessarily in this thread) who carry a smug air of superiority about them, addressing everyone who does not use lich, or who touts PsiNet's benefits, with condescension. I understand how there can be a certain amount of pride, especially once you've created some complex, powerful scripts yourself. But some of these people actually speak to me as though I don't know what I'm doing or am simplistic.

I would like to remind those people that I wrote PsiNet- without a model to base it on. Half the players of the game use it. You may not agree with every one of my design decisions. But it's laughable for you to criticize me with one hand while emulating me with the other, or to speak to or about me like I don't have a clue. It is probably safe to assume that I have a clue.

Deathravin
06-04-2009, 04:12 AM
But it's laughable for you to criticize me with one hand while emulating me with the other, or to speak to or about me like I don't have a clue. It is probably safe to assume that I have a clue.

The only reason anything of yours has been or is being emulated is simply in an attempt to remove reasons for people not to make the switch.
The exact same reason lich and sage emulate Wizard scripting.

The last two things are the Psinet chat server and Atlas. After those two things are done, there's no reason I can think of for people to need (or want) Psinet.

JamusPsi
06-04-2009, 04:19 AM
Oh so all this time it's just been "Man these people really love these shitty features, I guess we HAVE to copy them just so that we'll be just as shitty!"

Or maybe, just maybe, I have good ideas and people like them, and you're COPYING ME to encourage people to make the switch.

DaCapn
06-04-2009, 05:23 AM
Lich is like linux, its ugly and requires a computer science degree to use effectively.

Psinet is pretty, and anyone can use it.

Jamus is creating software, with good usability and appeal to many, as any good software developer should do.

Its a bad habit to fall in to when you develop software that only other developers can figure out.

I haven't used psinet since it went to version 3 but unless a lot has changed, the major difference in the most basic functionalities of lich is that you prepend commands with a semicolon. It's not that difficult to master.

thefarmer
06-04-2009, 05:29 AM
http://workbench.cadenhead.org/media/apple-pc-mac-people.jpg

DaCapn
06-04-2009, 05:37 AM
It's even funnier than it seems because it's not even clear which is which.

Edit: Either way, you have to laugh about a market share discussion (argument) about two free programs.

StrayRogue
06-04-2009, 07:13 AM
I think the only reason I ever used Lich (in conjunction with Psinet) was for the healing script Bob gave me. Everything else was pretty much achievable using Psinet or just the Wizard on it's own. Spellup worked fine. Psinet Locate was okay, if a little stupid. The one command I used the most is ironically the one whose name I've forgotten. You could imbed small scripts into single commands. So for example when I'd type >leg critter I would change to stance offensive and ambush the critters leg.

Asha
06-04-2009, 07:34 AM
. You could imbed small scripts into single commands. So for example when I'd type >leg critter I would change to stance offensive and ambush the critters leg.

Macro would be faster and easier.

Danical
06-04-2009, 07:40 AM
alias/macro?

I've finally gotten reasonably good with Ruby but the learning curve is a lot steeper for sure.

Either way, I've donated 20 USD to both PsiNet and Lich because I wouldn't ever play GS without them.

Thanks Brian and Murray!

Morrff
06-04-2009, 01:21 PM
Both serve their purposes IMO.

I've used both Psinet and Lich for some time now and have had no issues with either for the most part, both front ends working well also(wizard/sf). I've pretty much taught myself how to work them both together, installing, loading and migrating etc.

I see the progress on the new Psinet scripting engine and it looks really nifty and useful. I've just recently heard some people stating that Lich will no longer be even somewhat compatible with Psinet once the new engine's out.

While the new scripting looks really useful and I'm sure I will want to play around with it as soon as it comes out, I WILL NOT be rewriting all my existing scripts to be compatible.

Brian, I seriously hope/urge you to consider allowing the people who use both Psinet and Lich to maintain their current playing status. I know how you hate people having issues with installing both programs contacting you, mainly because it's not your programs compatibility issue.

Stop helping those who use Lich, problem solved, after all you ignored my attempts at contact and I fixed the problems just fine. This not a knock on you, you're busy and don't have time to help the 200 or so people who have questions. So don't try.

I just urge you to consider allowing Psinet/Lich users to remain so. I like Psinet, Lich and my current playing scenario. I do not want to be forced to choose.

Cylas
Player of many

JamusPsi
06-04-2009, 01:53 PM
There's slightly more to it.

Lich users have been trying to connect to PsiNet's server directly, rather than through the PsiNet client. I will not, ever, allow a client other than one I wrote to connect to that server.

The security measures I had in place seemed to be working, but lately Tillmen linked a character with a blank character name to my server- exactly an example of why I won't allow logins from non-authentic clients.

And so I'm having to boost the countermeasures I take that prevent tampering, again. This time, I suspect it will block Lich's use altogether- because they couldn't leave well enough alone. I won't let someone else's project piggy-back on my work- especially when the goal is the replacement and cloning of mine.

OTHER than that, I really don't care what programs someone is using in conjunction with PsiNet.

Renian
06-04-2009, 04:02 PM
This time, I suspect it will block Lich's use altogether- because they couldn't leave well enough alone.

D:
You'd leave me out, Jamus?! I THOUGHT WE WERE FRIENDS*. :( :( :(
That, and I would have to rewrite all of my scripts in C#.


Anyway, to all those people who said that there's basically no point because Lich exists...Yes, there is a point. You know how Atlas is far faster than Lich Goto, and really easy to map/make changes to because of its GUI? Remember "special exits"? With SageScript built in, it would be possible to link it to Atlas to run a script whenever the script gets to those rooms to get to whatever destination you are trying to get to, instead of having to go through that area manually.

Assuming Jamus is willing to implement such a feature.



*translation: I gave you lots of money D:

Deathravin
06-04-2009, 04:31 PM
Oh so all this time it's just been "Man these people really love these shitty features, I guess we HAVE to copy them just so that we'll be just as shitty!"

Or maybe, just maybe, I have good ideas and people like them, and you're COPYING ME to encourage people to make the switch.

I never said Psinet was shitty. I said it's not needed.

And I also said exactly that... Your features are being emulated to encourage people to make the switch.


Lets say you have two cars.
One car goes 100 MPH, charges itself via solar panels, and goes 1000 miles on a single 10 minute charge... 500 dollar car.
And the other goes 50 MPH, goes 200 miles on a 60 minute charge, and can use gasoline in a pinch... 500 dollar car.

More people use the 2nd car for some reason...Guess it's because it can use gas too. So Car #1's people make it be able to use gas too... now what's the point of even having car #2?


If Lich can do everything Psinet needs. Why continue to make Psinet? Why not just convert all the features of Psinet into Lich script or incorporate it into lich itself? What's the point? That's my whole confusion.

You'd use 1/10th the time and effort in remaking the few things that aren't already in there, and we'd have two awesome administrators/designers instead of one. And there wouldn't be any more rivalry.

Renian
06-04-2009, 04:42 PM
If Lich can do everything Psinet needs. Why continue to make Psinet? Why not just convert all the features of Psinet into Lich script or incorporate it into lich itself? What's the point? That's my whole confusion.

You'd use 1/10th the time and effort in remaking the few things that aren't already in there, and we'd have two awesome administrators/designers instead of one. And there wouldn't be any more rivalry.

There's an opportunity cost of time investment of having to read Tillmen/Shaelun's code, comprehending it, and then having to learn/use Ruby. I can't find any good, free Ruby IDEs either that have some Intellisense-like functionality either, which doesn't help me when I'm writing Lich scripts and would most certainly be detrimental to Jamus writing Lich itself. (Though if any of you know of one, please do link.) There's also the fact that Jamus would have to rewrite the things that Lich doesn't have in Ruby, assuming he wants to avoid wrapping as Tillmen appeared to. I'm sure, for these reasons, your 1/10th estimate is very, very wrong.

pabstblueribbon
06-04-2009, 04:57 PM
I can't find any good, free Ruby IDEs either that have some Intellisense-like functionality either, which doesn't help me when I'm writing Lich scripts and would most certainly be detrimental to Jamus writing Lich itself.

In the script tutorial in the lich folder it mentions downloading Scite.

http://www.scintilla.org/SciTE.html

Deathravin
06-04-2009, 05:10 PM
SciTE Rocks.

Morrff
06-04-2009, 05:11 PM
SciTE Rocks.

x2, I love it for editing almost all files I play with

Martaigne
06-04-2009, 05:17 PM
Gonna be honest here... while I don't like the idea of logging into an external network, I admire Jamus' work, and have been emulating a fair portion of Psinet's capabilities with Citrus. Granted, I don't have nearly the number of users as Psinet or Lich, but that's because Citrus gives only players who wish to use ZMud/CMUD an option of having some tools at their disposal.

Lich is great, but not everyone has the technical savvy to pick it up and use it. Psinet is more user-friendly. Bottom line.

If Jamus is interested, I'd even collab on a COM extension for CMUD that would allow Citrus users to log into Psinet.

Renian
06-04-2009, 05:44 PM
SciTE Rocks.

This, but it doesn't have an Intellisense feature. I think. It just highlights reserved words.

This is what I'm thinking of:
http://www.knowdotnet.com/articles/Property%20Intellisense.jpg

Notice how the function name is selectable from a list and it tells you what it does.

Bhuryn
06-04-2009, 05:46 PM
I just want DLL imports (even if the power scares me in some people's hands!) :).

Bhuryn
06-04-2009, 05:48 PM
This, but it doesn't have an Intellisense feature. I think. It just highlights reserved words.


Notice how the function name is selectable from a list and it tells you what it does.

That poor sap needs two monitors. VS should only be run with all of the toolbars undocked on a second monitor =P.

Renian
06-04-2009, 05:48 PM
Actually wait, I just found out that Eclipse apparently has Ruby plugins.

Also, for the record, if anyone was going to mention it, there's ActiveState Komodo, but that's not 100% free. Also it's slow as hell. Looks sexy though.

Renian
06-04-2009, 05:49 PM
That poor sap needs two monitors. VS should only be run with all of the toolbars undocked on a second monitor =P.

Hell, I just have a reference on the other monitor of something I needed to know how to do that I Googled.

Bhuryn
06-04-2009, 05:57 PM
Hell, I just have a reference on the other monitor of something I needed to know how to do that I Googled.

You need a big enough monitor to do both! =P. When I'm not using Visual studio my second monitor is for baseball.

Renian
06-04-2009, 06:00 PM
You need a big enough monitor to do both! =P. When I'm not using Visual studio my second monitor is for baseball.

True, I guess I could. I use 22" Acer monitors with a maximum resolution of 1680x1050.

Tillmen
06-04-2009, 06:45 PM
The security measures I had in place seemed to be working, but lately Tillmen linked a character with a blank character name to my server- exactly an example of why I won't allow logins from non-authentic clients.

I did link to your server with a blank character name, but I did it using Psinet. The problem was that Lich connects as stormfront no matter what in order to get the XML stream, then translates that to GSL for the Wizard FE if you're using it. I assume Psinet was expecting GSL, since the lauch file indicated the Wizard FE, and when it found XML it got a little confused. It gave an error message or two about an invalid name or something, and then went ahead and connected anyway with the blank name.


And so I'm having to boost the countermeasures I take that prevent tampering, again. This time, I suspect it will block Lich's use altogether- because they couldn't leave well enough alone.

This only happened because I was trying to make it so Lich and Psinet would run at the same time, at your request. I've since given up, because it seems that Psinet already doesn't work with Lich by design. If the launch file contains "localhost" or "127.0.0.1" as the server, Psinet sends the launch file to the frontend and quietly exits.

If Lich pretends to be the game server, the game connects only for a moment, then Psinet exits, causing everything else to close.

If Psinet tries to start Lich, it.. well.. screws up. Psinet crashes with an error. The ruby only version of Lich needs something like "rubyw.exe path\lich.rb path\name.sal", which Psinet fails horribly at launching, even though the SGE launches the same line just fine.

Three options, none of them work. The third option could be worked around with a batch file, leaving a command prompt up while you're playing.

Blocking Lich doesn't affect me. I already can't use Psinet because I use Linux and Psinet isn't written purely with dotnet so it won't run in Linux's implementation of dotnet, and it's closed source so there's nothing I can do to fix it. I was only trying to make Psinet and Lich both work for the sake of the users who wanted it.

Blocking Lich probably doesn't affect half of the other "evil" Lich users, who don't use Psinet for various reasons. There are, however, a number of Psinet users who want to use or at least try Lich. But.. yeah.. some things are more important than the users.

- Tillmen

Donquix
06-04-2009, 06:53 PM
OH NO HE DIDNT

DEVELOPER FIGHT!

Renian
06-04-2009, 07:19 PM
If the launch file contains "localhost" or "127.0.0.1" as the server, Psinet sends the launch file to the frontend and quietly exits.

Sounds to me like there could be a launch option made for PsiNet so it doesn't do that, thus solving the problem.

pabstblueribbon
06-04-2009, 07:19 PM
http://img.photobucket.com/albums/v625/yuckfoomaster/dungodingo.jpg

Deathravin
06-04-2009, 07:20 PM
http://4.bp.blogspot.com/_l4ZZFzs7VIs/RucHGIlac6I/AAAAAAAAAbc/NAqXGwQ8paU/s400/SM1082~Cripple-Fight-Posters.jpg

StrayRogue
06-04-2009, 08:02 PM
Macro would be faster and easier.

Alias that was it. And no, alias was much quicker. Nor do I have to preface everything with a .

Fallen
06-04-2009, 08:23 PM
I think a lot of people who use PSInet view Lich the same way as a group of people who don't use PSInet view PSInet itself. Meaning, why bother learning something new? I don't need it, etc.

The only function I wanted was to be able to run multiple scripts at once. If SageScript (or JSE or whatever) can do that, using the same basic Script language that gemstone uses, I would be all over that. Lich would cease to be an interest to me, as I never ran complex scripts, just a lot of small ones all the time.

Danical
06-04-2009, 08:35 PM
When I found out I couldn't play GS with third party software when employed as a GM, I decided not to submit an app.

Also, I think people should donate to the 3rd party programs they use; tons of work goes into developing said programs.

Bobmuhthol
06-04-2009, 09:18 PM
<<If SageScript (or JSE or whatever) can do that>>

It can.

Renian
06-04-2009, 09:34 PM
<<If SageScript (or JSE or whatever) can do that>>

It can.

Can it call the command line?

Bobmuhthol
06-04-2009, 09:36 PM
I am so out of it right now that I don't even know what you're asking. I'm sorry.

Renian
06-04-2009, 09:39 PM
I am so out of it right now that I don't even know what you're asking. I'm sorry.

http://www.sfsu.edu/~helpdesk/pics/winxp_command_prompt_window.gif

Can it send commands to this?

Bobmuhthol
06-04-2009, 09:42 PM
I was wondering if you meant the command prompt but I thought that I was being retarded. I don't know about SageScript; the old engine definitely can't.

phantasm
06-05-2009, 04:44 AM
Here's a lich getting squished.

http://www.blogcdn.com/www.wowinsider.com/media/2006/04/squished.jpg

Danical
06-05-2009, 06:55 AM
MARIJUANA? BUT, WHY?

http://www.youtube.com/watch?v=zCRQBWCvAyc

Mateius
06-05-2009, 06:34 PM
I'm all about making things easy. I dont have the time or will to learn a complicated language, which ruby seems to be for someone who isnt well versed in programming, so thank you jamus/brian.

JamusPsi
06-05-2009, 06:51 PM
(stuff)

That kind of error WOULD do what I saw, and I'm glad to hear it. That's much less like the tampering i was worried about, and I'll take your word that it's not an issue-- it also sounds like the security I had in place IS working- though it is not intended to block Lich altogether.

What you are describing will work with PsiNet, but it will have to be invoked a certain way. PsiNet *must* be closest to the game stream. This is precisely so game information cannot be altered, and nonexistant or fraudulent character names cannot be used. Because I store mail on my server I consider any kind of identity impersonation to be extremely serious.

If the chaining method needs to be tweaked somewhat to make it so that PsiNet will successfully start lich, I think I can accomodate that. Contact me via AIM and I'll see what I can do.

Incidentally, PsiNet *is* written purely in c# (.net framework). It, however, requires a few dll imports from non-native code and uses features of the framework (2.0) that do not, as I understand it, work reliably under mono- though at least one user DOES have it working with mono. I'll see if I can remember who that is and refer you to him.

Renian
06-05-2009, 07:00 PM
(things)

:clap:
:heart:

Oh, btw, Jamus, Monodevelop got pimped out. It's just as good as Visual Studio if not better now from what I've heard from my brother, who actively uses both. So it may not be too bad compiling Psinet in Linux now.

JamusPsi
06-05-2009, 10:33 PM
:clap:
:heart:

Oh, btw, Jamus, Monodevelop got pimped out. It's just as good as Visual Studio if not better now from what I've heard from my brother, who actively uses both. So it may not be too bad compiling Psinet in Linux now.

Though I am capable of using *nix when required, it is not my preference. I usually don't see a point, when half the time I'm trying to make it emulate a windows machine.

(Though, laughably, I also have apache/perl/cygwin on windows, so maybe the joke's on me)

Morrff
06-06-2009, 12:33 AM
it also sounds like the security I had in place IS working- though it is not intended to block Lich altogether.

If the chaining method needs to be tweaked somewhat to make it so that PsiNet will successfully start lich, I think I can accomodate that. Contact me via AIM and I'll see what I can do.


This is like a GS happy birthday to me! Thank you Brian, very much so. I enjoy both programs quite a lot.

Renian
06-06-2009, 01:19 AM
Though I am capable of using *nix when required, it is not my preference. I usually don't see a point, when half the time I'm trying to make it emulate a windows machine.


Understandable.

SpiffyJr
07-06-2009, 01:13 AM
How many lines would it take to write something like: http://forum.gsplayers.com/showthread.php?t=31942&highlight=ultrahunt?

For any real power you need a real programming language. The script that I have posted there is a very old version that has allowed me to AFK script two characters over 30 in less than 2 months. I couldn't image writing a similar script in Wizard/SF-esque code. I'm a C/C++/PHP programmer and ruby was fairly easy to pick up. Anyone with half a brain could read a few tutorials on the net and be programming in no time.

I haven't played GS in quite a while but IIRC the only PsiNet feature I used was Atlas. I did, however, prefer the ;go2 <description> ability in Lich if I knew the location area (bounties, tasks, etc) or the room name. PsiNet is a great program but I believe Lich to be more powerful in that it's open source and uses Ruby.

My 2 cents.

Donquix
07-06-2009, 01:21 AM
Sagescript, i believe, will be more similar to C++/.net in nature. I can't see it being any more complex to accomplish what you did with your script in sagescript.

All the basics that you can use lich for that make hunting scripts so powerful (dynamic tracking of stats, room features, location, etc.) are in sagescript, and I don't see why writing logical tests and loops in sagescript would be any different, other than syntax.

SpiffyJr
07-06-2009, 09:26 AM
Interesting. If/when it gets done I might have to reactivate to check it out. I tend to activate for a few months a year to write new and/or update old scripts.