EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   variables.expansions (https://www.eqemulator.org/forums/showthread.php?t=24876)

Asphixiate 04-08-2008 03:12 PM

variables.expansions
 
Anyone have a chart or something for the value needed for each expansion? Trying to enable classic + kunark only atm, but would need all the codes as I release expansions.

Thanks for any help.

ex.

Orig - 1
orig + rok - 2
orig + rok + sov - 3

jenco420 04-08-2008 05:17 PM

i have'nt figure out this yet ~.~. 0 = Original witch is what i have is setup as on my server atm. But i found that it does'nt follow a set pattern or anything... e.g. 10 = New models but can't create iksar, vah shir , frogloks. Also with 10 you can't use maps or guild management feature....

Asphixiate 04-09-2008 03:35 PM

Interesting. Guess alot of trial/error is in my future.

John Adams 04-14-2008 01:50 PM

I used to think this was a simple bitwise 0, 1, 2, 4, 8, etc... but in all my playing around with it, it only seems to limit client "functionality" - not available zones.

Best way I found to create a "progression server" is to use zone flags, or min_status on a zone. When a player achieves progression to the next expansion, flag or bump their status + 1.

Or, change the emulator code to consider this value when loading zones. =)

Asphixiate 04-15-2008 11:06 AM

Yeah, I have had to manually disable certain zones. However if you know the numbers for the enabling of each race/class, that would be very helpful. I have it set to 3 right now. It appears to let people make iksars, but not beastlords, zerkers, cats, or frogs.

Next one I'd be interested in is iksar + bst + cat.

And finally, Iksar + bst + cat + zerker.

Preferably the final code would exclude frogs and keep guild and map functionality, but if not possible, I can deal.

Thanks

eboogaloo 05-27-2008 05:20 AM

Man gimme a bump for this one, I am also trying to figure this setting out! Any progress yet?

EvoZak 05-27-2008 01:59 PM

I looked through the code and only see where it's grabbing the value from the database and stuffing it into a buffer. At that point it was a little hard to tell what it was doing with it.

Anyone have any experience dealing with the pBuffer section of the packet? Any helpful pointers (so to speak) to a source file that determines this would be helpful. Call graphs are kind of useless for this unfortunately.

AndMetal 05-27-2008 02:09 PM

I have a feeling all it really does is stuff the bits into a OpCode packet somewhere, but I'm not sure where.

Which file in the source are you looking at, EvoZak?

EvoZak 05-27-2008 03:41 PM

I really just did a find all for 'Expansions'. Since I'm totally new to the codebase and theres wasn't much docs it seemed to be a good starting point ;)

For starters eq_packet_structs.h has a couple of structs defined that seem to have something to do with Expansions. Take a look at lines 52 and 829. There are a couple of other places that have some reference to "opcodes" and such but I'm not really sure about the meanings of those.

For the world.exe, in client.cpp the Client::SendExpansionInfo routine has some actual loading of the value from the database. It stores the value in the pBuffer of the application packet. The call chain appears to be SendExpansionInfo->Client::Process->several items. It does a QueuePacket but there are comments there that something is broke.

For the Zone.exe, the mammoth Client::FinishConnState2 routine has another loading of the value from the database at line 6388. Here it stores the value in the player profile struct - expansions property. Interestingly, here it defaults to 0x3FF whereas in the world.exe it defaulted to 0x1FF. I can't find anywhere in the code where this value is further used beyond just retrieving it from the database. Although this could be my inexperience with the vc++ toolset (I'm a managed code dev, haven't slung c++ in years).

Sorry for the long post, but you asked :)

xexllama 11-09-2008 07:27 AM

So I did some tinkering and here's what I have...

Code:

Exp No# = Values Enabled

0 =  Nothing
3 =  Iksar
5 =  Iksar, Vah Shir, Beastlord
6 =  Iksar, Beastlord
9 =  Iksar
10 = Nothing
11 = Iksar
12 = Vah Shir, Beastlord
13 = Iksar, Vah Shir, Beastlord
14 = Vah Shir, Beastlord
15 = Iksar, Vah Shir, Beastlord
16 = Froglok, Map Tool, Guild Tool
17 = Iksar, Froglok, Map Tool, Guild Tool
18 = Froglok, Map Tool, Guild Tool
19 = Iksar, Froglok, Map Tool, Guild Tool
20 = Vah Shir, Beastlord, Froglok, Map Tool, Guild Tool
21 = Iksar, Vah Shir, Beastlord, Froglok, Map Tool, Guild Tool
22 = Vah Shir, Beastlord, Froglok, Map Tool, Guild Tool

So I see a pattern, I was hoping to get Iksar enabled with Maps and Guild tool without frogs running about, but thats a no go! Anyhow, hope this helps anyone.

Lord_Vindus 11-11-2008 09:46 AM

Perhaps this might help
 
http://www.eqemulator.net/forums/sho...ght=eXPANSIONS

Yeormom 06-25-2009 10:42 AM

Quote:

Originally Posted by xexllama (Post 159715)
So I did some tinkering and here's what I have...
So I see a pattern, I was hoping to get Iksar enabled with Maps and Guild tool without frogs running about, but thats a no go! Anyhow, hope this helps anyone.

As an FYI incase you still care, you cannot have the map/guild interfaces without Frogloks being enabled because all three are included when you enable Legacy of Ykesha, which is 16.

However, you can modify your world server code and reject all character creation requests which are Frogloks.

Furthermore, for anyone searching, please use the expansion information listed on the wiki: http://www.eqemulator.net/wiki/wikka...les#Expansions

Start with 0 and add the expansion numbers you want enabled and use this final total as your variable. For example, if you want Iksar and Froglok enabled only, your expansion number would be 17. It's quite scientific!


All times are GMT -4. The time now is 10:48 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.