LUA engine...

EQ2Emulator Development forum.

Moderator: Team Members

Post Reply
Ladran
Posts: 2
Joined: Fri Apr 25, 2008 9:47 pm

LUA engine...

Post by Ladran » Fri Apr 25, 2008 11:07 pm

Is there a place where the current LUA commands you have created are located? I ran across this project when doing some research on one of the emu communities.
At any rate, I saw in the clan crushbone thread where you talked about using LUA in some of their work which got me looking through the forum and wiki for more information on the available LUA commands. I'm not sure if you have looked at it or not, but the LUA++ team has created some cool stuff for the WoW Ascent emu community with their LUA engine that replaces the one in the Ascent source. While I know WoW and EQ2 are two different puppies, I thought it might give you some ideas of commands to script into the engine here.
The branch of their SVN that contains the engine is http://mmoforge.org/svn/luaplusplus/LUAScripting/ with anonymous as username. In the wow emu folks are using LUA to script raid encounters, quest AI, events, and even general object/npc interaction.
At any rate, not sure if you had seen this before. If not, I figured it might seed some ideas to help with the project.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Post by John Adams » Fri Apr 25, 2008 11:37 pm

Thanks for the info, Ladran, and welcome to eq2emulator. I know that the mangos wow emu used LUA a lot, and once upon a time the earth and beyond emu team were going to use it (not sure if they ever did since Vector left the team)... but I did not know Ascent was doing LUA too. Last I remembered was some confusing GameMonkey stuff? There were so many humungous changes to Ascent from week to week, I finally stopped updating with stable 2_4 and stayed there lol... got too confusing with the DB changing weekly, and no decent info ever on how to stay updated (and believe me, I am no novice, just a lazy ass ;))
Anyway... derailed rant, sorry. Good info, thanks again.
-J

Ladran
Posts: 2
Joined: Fri Apr 25, 2008 9:47 pm

Post by Ladran » Fri Apr 25, 2008 11:56 pm

Yeah, its a shame the stability isn't there with them but it didn't seem to be there with Mangos either when I first looked at them. At the time, Mangos was making constant database changes. Once they get the bugs worked out with the 2.4.x core, I'll probably lock there on the WoW side..
As for eq2emulator, I'm looking forward to exploring this more. I bought EQ2 off a bargain shelf not long after Vanguard released. Tinkered with it for the trial and then it has sat on my shelf ever since. The idea of being able to jump into the emu world with it - not only to discover for the first time but to maybe do some funserver/custom type stuff for it is really appealing. I was even thinking that with the LUA, if the API into the EQ2 emulator is made similar enough to the ones for the WoW world maybe some fun events/encounters could be adapted to work over here or vice-versa..
*shrugs* What can I say.. A guy can dream, right? heh
Now I just need to hit wifi somewhere to get a compatible EQ2 client going so I can tinker around with stuff here... (Live in the land that telcos forgot - nothing but dialup available here in the sticks... heh)

LethalEncounter
Team: Zombie
Posts: 2717
Joined: Wed Jul 25, 2007 10:10 pm

Post by LethalEncounter » Sat Apr 26, 2008 5:04 am

Welcome :)
There isn't a list somewhere outside of the code yet of the LUA functions, but if you look in LuaInterface.cpp in the Source/World directory and look for LuaInterface::RegisterFunctions it will list them all. Currently we have:

Code: Select all

SetHP
SetMaxHP
SetPower
SetMaxPower
SetPosition
SetHeading
SetRaceType
SetSpeed
ModifyPower
ModifyHP
GetHP
GetMaxHP
GetPower
GetMaxPower
GetX
GetY
GetZ
GetHeading
GetRaceType
GetSpeed
HasMoved
SpellDamage
IsPlayer
FaceTarget
MoveToLocation
Shout
Say
SayOOC
Emote
MovementLoopAddLocation
GetCurrentZoneSafeLocation
Functions are easy to add, those are just the ones I have found a need for right now. As the emu progresses I will probably be adding quite a few more. As you, or anyone else, gets familiar with the emu and wants a function added, just let me know.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests