Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

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

Reply
 
Thread Tools Display Modes
  #1  
Old 05-16-2009, 11:29 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
Originally Posted by Secrets View Post
No idea on why they think that; I never claimed it, just people on IRC are thinking that. Sorry if I offended you, but it's just the IRC crowd presently that are thinking that (and it's because of the fact that people implement the AAs hardcoded in code, amongst other things. I know you guys are innocent bystanders.)

I know we are talking about code that gets in, and most of that is related to making the server work torwards live, which ironically is what PEQ is doing database wise. I just think the *code* needs to take a different direction than it currently is, not the database and quests.

I seriously like the idea of emulating live. It's a wonderful idea. I just don't want this project to *only* do that.
Sorry if I overreacted. Not a great day here for me, and I don't like people misusing the PEQ name.

AAs and spells, you know I would love to see a database or script based system for those, so the effects can be changed on the fly. I think EQ2Emu has a system like that using LUA and it could be pretty nifty. But, the thing is somebody has to write it! That's all it takes, really.

As for the code, I agree that it should be customizable but not to the point where the main focus of this project (emulating EverQuest) is lost. I think the community is doing a great deal to allow this. We have bots in the code, TONS of rules, and just about everything is open source around here allowing anybody to change stuff as they wish. If just emulating EverQuest was what happens here, then we would have no need for rules, and things like the bots would never ever see SVN.
Reply With Quote
  #2  
Old 05-17-2009, 12:17 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

Quote:
Originally Posted by cavedude View Post
As for the code, I agree that it should be customizable but not to the point where the main focus of this project (emulating EverQuest) is lost. .
Cavedude, Emulating Everquest so it allows us to play everquest is the goal of everyone here. The diffirence is HOW we want to play everquest.
The main purpose of the server code is to allow us utilize the client resourses - such as the game engine and graphics. Everything else is secondary.

MANY people who have quit EQ and now here is because they could not stand the way SONY was handlign things INCLUDING how they handled the content given resources they have.

Why did project started in the first place? Cuase someone was not happy with the original.

Look which servers have top popularity among emu players:

Stormhaven - custom content
Scars of Amerous - custom content
Raid Addicts - very custom content
Shards of Delaya - ok given not part of this community- but LARGEST population of any eq-emulation - ultra custom content

Do people realy want to play the same old game over and over and over, the same zones and kill the same exact orc pawn in crushbone for zillionth time?

Think why games like StarCrat and warCraft 3 have outlived themselves? Cuase they came with EDITORS so powerful that allowed people to make their game and complitly diffirent from original.
If those game would not have those editors - they would die out and be forgotten in 5-6 month after release once the hype was over - which has happened with every other game in history.
Learn from this lesson.

Now think what would have happened if SONy had never made Kunark expansion - most of peopel here would never even herd of eq1 cuase it would have been long dead and forgotten.
And the only reason eq1 stil active today (despite loosing majority of its population when eq2/wow came out) - is cuase sony keeps poping out NEW content every 8 month.

Essentialy what I want to do - is to give people NEW content (and I am sure that MANY custom server devs want the same thing), but if dreadful spirit of "how things were on live" keeps hanging around, I will eventualy fail.

Now If we could please get back to the original topic- I want to once again point out that hardcoding somethign like this (pets in Sky) is like hardcoding "no leviation" for dungeons. The feature is a "zone content" - and not a part of the global gameplay, and should be handled via zone script. And I think that Trev has shown as a direction of how to do it.

Think about dozens of things a user of the Emu WON'T be able to do if this fetaure is hard coded, just becuase it was one little special on LIVE.
Yet it will ruin the options of doing what we want with the game for the rest of us.
Reply With Quote
  #3  
Old 05-17-2009, 01:41 AM
drakelord
Hill Giant
 
Join Date: Nov 2002
Location: NC, USA
Posts: 182
Default

Well now, this thread got hijacked sideways. As someone who has played through over 12 MMO's and has had plenty of experience, I'll add in my two cents for whoever cares.

The way I see it, Everquest is a program developed by Sony Online Entertainment that contains maps, models, a GUI, and a basic set of functional rules that the client is governed by. Everything else that exists in the "live" Everquest world is simply an arrangement of the content provided in the client.

I am fairly certain based on my programming classes and discussions with game devs that the server code that SoE uses is designed to be highly variable. Just as an example that is not an MMO, take the source engine and half-life 2. If you open up say, a file for the weapons, you will see about 3 pages worth of #define 's that allow for quick changing of stats such as weapon speed, damage, etc. Albeit this is not in the database, and is in the actual code, it is designed in a way that allows for a quick change if needed.

This is how I feel the server code for EqEmu should be handled. Everything should be designed in a way that makes it fast and powerful, but also fluid. Not only would this help individuals who are not masters at C++/programming, but it would allow for quick changes to emulate events that happen on places such as EQLive. I wouldn't mind 1000 "rules" as long as they are properly arranged and designed with proper documentation to make them effective, if it meant that entire functions would not have to be adjusted if something changed on live.
__________________
Hmm.
Reply With Quote
  #4  
Old 05-17-2009, 10:39 AM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

Quote:
Originally Posted by drakelord View Post
Well now, this thread got hijacked sideways.
I wouldn't say it got hijacked... maybe brutally mauled now and there.

I think it's nice we can have civil discussion like this. I think there's a bit of existing tension over the matter of what gets into code, and it's nice that we discuss the future of the project... it just so happens that it was in this thread.
Reply With Quote
  #5  
Old 05-17-2009, 12:13 PM
Dibalamin
Hill Giant
 
Join Date: Dec 2007
Posts: 182
Default

To kinda help get back on track:

Trev, I've never been able to run a script on a pet with sub EVENT_SPAWN. I spent DAYS trying to use it to stop enchanter pets from punching by adding the gear to them via a perl script. I eventually had to cave and start the timer in spawn and have the sub EVENT_TIMER add the gear.

Not clean but effective.

I've already blocked the spells in sky that aren't supposed to be there, that isn't a big deal for me & I tried remodeling the mobs just for Sky, big fat failure. From a development standpoint, I think source is the right fix for this issue if live emulation is the target.
Reply With Quote
  #6  
Old 05-17-2009, 12:32 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

Quote:
Originally Posted by Dibalamin View Post
Trev, I've never been able to run a script on a pet with sub EVENT_SPAWN...I eventually had to cave and start the timer in spawn and have the sub EVENT_TIMER add the gear.

Not clean but effective.
The second to the last line in Mob::MakePet() is entity_list.AddNPC(npc); and if you change it to entity_list.AddNPC(npc, true, true); and then put your code back into EVEN_SPAWN from EVENT_TIMER it will work.

Quote:
Originally Posted by Dibalamin View Post
I've already blocked the spells in sky that aren't supposed to be there, that isn't a big deal for me & I tried remodeling the mobs just for Sky, big fat failure. From a development standpoint, I think source is the right fix for this issue if live emulation is the target.
There had to be over 50 non-air pet spells for the magicain that you had to add to the table. could you share that sql?
__________________
The Realm
Reply With Quote
  #7  
Old 05-17-2009, 01:38 PM
nilbog
Hill Giant
 
Join Date: Nov 2007
Posts: 198
Default

Thanks a lot for posting the source fix for this issue Congdar. From everything I remember from the 1st time I went to airplane, till I quit playing live, necro and mage pets were wisps and djinni.

I took a while one day and fixed the pets using scripts.. and I have to say, it felt like a cheap workaround. Using the timer method, it still has a delay till everything looks right. My method involved creating 2 new illusion spells, wisp and djinn.

heres illusion code for skeleton pet, if it might help anyone w/ anything else.

Code:
sub EVENT_DEATH{
quest::say("Sorry to have failed you, oh Great One.");
 }

sub EVENT_SPAWN { 
 quest::say("At your service Master.");
 $mobzone = $npc->GetZoneID() ;
 if ($mobzone == 71) {
 quest::settimer(1,0);
}
}

sub EVENT_TIMER {
if($timer eq "1") {
$skel = $entity_list->GetMobByNpcTypeID(614);
if ($skel) {
      $wisp = $skel->CastToNPC();
$npc->CastSpell(8450,$npc);
quest::stoptimer(1);
}
}
}
Thanks again Congdar!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:21 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3