|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |

01-30-2013, 09:03 AM
|
 |
Dragon
|
|
Join Date: Dec 2009
Posts: 719
|
|
i knew there was more to what you were doing than had been done elsewhere, i just didn't know what. i'd have rather you chose python, but i've been looking for a reason to become familiar with lua. i'm going to have to read this more instead of skimming over it when i wake up and can actually focus. 
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
|
 |
|
 |

01-30-2013, 12:10 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
Lua support is something I have been very much interested in. But, it isn't plausible to convert PEQ's quest scripts and DB tables over at the moment. If it could be made an optional supplementary component that would be ideal for now, so conversion could be done over time. Meaning, Perl and the DB are checked first, and then a Lua script is used if found. Conflicts would cause Lua to not load.
As you mentioned there isn't a whole lot Lua can do in the quest department that Perl can't. But, I certainly would love the option. You're right on the money when you say that Lua integrates better with C++ than Perl does (Let's face it, our Perl wrapper while it works well enough is ugly as sin.) So over time, I could very much see Lua depreciating Perl much like Perl depreciated our old .qst system simply due to the fact that new features have to be added to Perl, with Lua up to speed with the current EQEmu code they would pretty much just work. Though, in those days the quest scripts were far less complex so conversion was much, much easier. That's my biggest concern. Conversion would be a major undertaking and while many minor scripts could be automated, most of the raid and other major events would have to be done by hand. I've already looked into this in the past
I'm a DB guy, so I don't have too many problems with our current DB system. But I tend to like flatfiles as well, provided a suitable editor is created. I also like the idea of having spawns and especially grids script-able. Yes, Perl can be used but it isn't as elegant as Lua. It's clunky and slow. I think Lua is the key to recreating the truly dynamic world that exists on Sony's servers and that I have been chasing after forever. I think we've done a decent job over at PEQ and many of the zones do appear very dynamic to many folks. But truth be told in those same zones that I have practically memorized all the spawnpoints and the NPCs that could potentiality pop from them. In my ideal situation, I shouldn't be able to do that. (I'm talking about yard type zones, not dungeons which are static by nature.) I think I should be able to say well, there is a chance these guys could spawn in this general area, but I am not exactly sure where. But again, conversion is the big stepping stone here.
I think the long and short of it is I'd love Lua support, but it would need to be implemented in a way that conversion can be done over time. I doubt anybody in EQEmu has the time or man power to do a quick overnight conversion for their servers.
|
 |
|
 |
 |
|
 |

01-30-2013, 02:38 PM
|
Hill Giant
|
|
Join Date: Jun 2012
Posts: 216
|
|
Quote:
Originally Posted by cavedude
Lua support is something I have been very much interested in. But, it isn't plausible to convert PEQ's quest scripts and DB tables over at the moment. If it could be made an optional supplementary component that would be ideal for now, so conversion could be done over time. Meaning, Perl and the DB are checked first, and then a Lua script is used if found. Conflicts would cause Lua to not load.
|
I hadn't even really considered the possibility of not-fully-custom servers being interested, just because it would be so much work converting everything over, and also considering the dip in productivity that comes with having to learn a new system as well, though that's tiny in comparison.
I'll definitely think about having the Lua systems coexisting-with-but-secondary-to the Perl/SQL equivalents, but I think I'll take me a few days just to process the mental gymnastics it'll take to work out how to manage that (at least for items, spawns and paths probably wouldn't be too bad). I still need to get the clean version up to par with my server and make sure all the bits and pieces work properly before making any major changes into how it all operates.
|
 |
|
 |

01-30-2013, 03:05 PM
|
Administrator
|
|
Join Date: Sep 2006
Posts: 1,348
|
|
Adding a lua parser was actually what I wanted to truly do when I added the ability to even have extra parsers besides Perl but have been doing other things.
And Concrete I do believe if you want a python parser you will need to fight off Cavedude trying to murder you first.
|

01-30-2013, 04:32 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
Quote:
Originally Posted by KLS
And Concrete I do believe if you want a python parser you will need to fight off Cavedude trying to murder you first.
|
I'll hold him, and Cavedude can stab him, repeatedly. 
|

01-30-2013, 12:22 PM
|
 |
Dragon
|
|
Join Date: Dec 2009
Posts: 719
|
|
i would devote countless hours to conversion efforts in order for this to see the light of day. 
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
|

01-30-2013, 12:34 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
Yes, but not everybody has the ability to convert their server over. A good number of servers are completely custom or at the least altered versions of PEQ. A dual system would be needed to accommodate everybody and not force anybody to keep up or get out. We wouldn't want to make Lua an on or off type situation either, because then we'd have Lua folks on one fence, and Perl/DB folks on the other and we'd essentially be forking the project... Something we do not want to do.
|
 |
|
 |

01-30-2013, 11:31 PM
|
 |
Administrator
|
|
Join Date: Feb 2009
Location: MN
Posts: 2,072
|
|
Quote:
Originally Posted by cavedude
Yes, but not everybody has the ability to convert their server over. A good number of servers are completely custom or at the least altered versions of PEQ. A dual system would be needed to accommodate everybody and not force anybody to keep up or get out. We wouldn't want to make Lua an on or off type situation either, because then we'd have Lua folks on one fence, and Perl/DB folks on the other and we'd essentially be forking the project... Something we do not want to do.
|
While I see no problem with adding LUA as a scripting language option, as far as integration with C++ goes I've been told that the integration is beautiful in what you can do, it is not something this far into this project to fully replace the Perl system. That is said with complete fairness in the purpose of a scripting language meant for driving events flexibly within the world by not needing to export stuff constantly in the source is a great benefit.
Though if you go beyond the flexibility of a scripting language and integrating it within the source code and start talking into more practicality and use, Perl has thousands of modules and other abilities that make it also have incredible potential that is not nearly seen here on the forums. Perl also has the capability of doing shared memory functions within one of its modules and has thousands of other modules made to bring functionality to a higher level beyond basic script parsing.
Last edited by Akkadius; 01-30-2013 at 11:47 PM..
|
 |
|
 |

01-31-2013, 12:22 AM
|
Hill Giant
|
|
Join Date: Jun 2012
Posts: 216
|
|
If the quest scripting option is the only thing that is wanted/justifiable, I'm fine just working on that and keeping the rest to myself. It would be a lot less work, and I don't really have anything to gain in working on it anyway, just figured I might as well offer. Integrating it into the Parser/QuestManager handler classes shouldn't be too hard, and I think that'll get it just where it's wanted.
Lua does seem to have a very minimalist, "if you want something done, write the module/library yourself" mindset behind it, which is fine for me but I can see where that would be problematic for a works-out-of-the-box project like EQEmu.
|
 |
|
 |

01-31-2013, 12:40 PM
|
 |
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
Quote:
Originally Posted by Zaela_S
If the quest scripting option is the only thing that is wanted/justifiable, I'm fine just working on that and keeping the rest to myself. It would be a lot less work, and I don't really have anything to gain in working on it anyway, just figured I might as well offer. Integrating it into the Parser/QuestManager handler classes shouldn't be too hard, and I think that'll get it just where it's wanted.
Lua does seem to have a very minimalist, "if you want something done, write the module/library yourself" mindset behind it, which is fine for me but I can see where that would be problematic for a works-out-of-the-box project like EQEmu.
|
I'm actually more interested in the spawning stuff, to be honest. The quest scripting is more a it'd be nice to have it, but ultimately there is nothing wrong with Perl for that. But, don't kill yourself. If something can't be done easily, forget about it.
|
 |
|
 |

01-31-2013, 08:16 PM
|
Hill Giant
|
|
Join Date: Jun 2012
Posts: 216
|
|
Quote:
Originally Posted by cavedude
I'm actually more interested in the spawning stuff, to be honest. The quest scripting is more a it'd be nice to have it, but ultimately there is nothing wrong with Perl for that. But, don't kill yourself. If something can't be done easily, forget about it.
|
Spawns would probably be the single easiest thing to implement without disturbing any of the existing systems -- just need to add a lua_spawn_id variable to NPCs, and then do all the LuaSpawn checks/processes after the Spawn2 versions. Wouldn't be any problem to have Lua-spawned NPCs use Perl quest scripts, of course.
Could probably have just the spawns and maybe path grids done in an evening or two. Then I'd just need to figure out where and how to commit stuff ;p
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 10:14 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |