PDA

View Full Version : 0.3.1.1-X-Source


Malevolent
04-20-2002, 06:14 AM
-X == eXperimental

I cannot support this. I don't have enough manpower. USE IT AT YOUR OWN RISK.

Lumberjacks, basic mob factories, mastery, zone sacking, tree growth, flocking and some refactoring (like adding a basic SpawnNPC() command to entity_list..)

Misc:

Zone:

Zone is set by default to NOT SHUTDOWN. So far the longest I've ran this for is 15 hours. It may take more than one login attempt, but I've yet to crash it. Some strange things happen when you let it run for a while, which is why I like to do it :-)

Trees:

If you spawn some trees, then declare mastery over their faction group, they'll start cloning you (the client). This can be helpful, however, if you want your clones to take over the zone. Sometimes a tree will slip under the world. I need to add a check that destroys the mob if it does so. Also, the drops on trees are a little bugged. They are intended to only drop various parts for fletching. It also currently plays off of class WARRIOR and not npc_type_id -- i don't have a functional editor for the db (and don't care to make one), when one is released, i'll change it.

Lumberjacks:

Orcs and Elves are known to set aside their differences to cut down trees. It is strange, but true.

Mob factories:

Currently, I do not have anything set in place to function as a set behavior for a mob factory. The only NPC_TYPE that supports it is 4723 (I think that's it, check in the MalevolentAI.h header). Also, I do not have anything equiv to a singleton for mob factories. So its a kill fest until each and every last one is dead. I prefer it this way, but plan on making a flag sometime in the future.

Donations:
Money is routed to your bank account. Mobs aren't currently bright enough to know how much they've given.

Command List:




/*******************************
Hunger
*******************************/
Message(0, " #zonefamine - force all npcs in zone into famine mode");
Message(0, " #ForceFeed - feed an npc (min -100, max 100");
Message(0, " #HungerThreshold - view the current hunger threshold");
Message(0, " #GetVoreType or voretype - check what they eat");
Message(0, " #GetFoodType - what kind of food is the critter considered?") ;
Message(0, " #sicifhungry - spin on the sic command") ;
Message(0, " #Hungry - target") ;
Message(0, " #CanYouEatMe - target") ;
Message(0, " #EatMe - try to eat you, if it can") ;

/*************************************
Alleigiance and mastery
*************************************/
Message(0, " #BecomeZoneMaster - shift allegiance to you");
Message(0, " #GetMastersInZone - dumps who is master to whom");
Message(0, " #MakeFactionGroupObeyOnlyMe - change faction group to half-pet");
Message(0, " #IAmNowYourMaster - change target to half-pet");
Message(0, " #GetContribution - what it says") ;
Message(0, " #GetMaster - who is the master of this target?") ;
Message(0, " #MinionsGoSackZone -- send anyone allied with you to sack the zone");

/*************************************
Tools and utilities
*************************************/
Message(0, " #GetRace - get race id of critter") ;
Message(0, " #GetTarget - get the current target");


/*************************************
Procreation
*************************************/
Message(0, " #GetMateRate");






How to sack a zone:

1. use the #spawn command to summon your minions
2. declare yourself master over these minions (if they aren't already, it'll depend)
3. issue the command to charge: #MinionsGoSackZone

How to plant a tree

1. use spawn, with race as 143
be sure to set hp over 1000 if you want the tree to live for any amount of time

I'll be posting links to files here in a moment.

--MV

Malevolent
04-20-2002, 06:21 AM
Quests for doors (another item in the above I forgot to mention). Doors are magical. I claim to have likely broken the script engine with the dirty hack I used to make spell casting doors. Try it out with the RV script I have in questS.zip (http://www.enkanica.com/data/files/0.3.1.1-X/questS.zip) .

The door is located near the tavern, in the suburb area off towards the direction of misty thicket (not zone line). You should see a little hobbit-hole at the edge of a rock, take the path near it into the suburbian area.

You might want to experiment with these:

Files are down until I fix the performance issues and bugs that appeared from me porting over to 3.1.1-X.

--MV

Hmm
04-20-2002, 06:31 AM
amazing work heh

Malevolent
04-21-2002, 11:47 AM
Bug fixes, changes, additions, and general malevolence:

- Doors will cast spells (well, you cast the spell). So long as you are a class that can 'use' the spell, then you get it.

- No longer runs dog slow. For the most part, anyhow.

- Added Aging. You will be notified when something dies of old age. You should seek out their body before their relatives come to cart it away. Merchant support is in the near and not so distant future.

- Corrected the mob factory. Now supports autoclass generation. In conjunction with built-in-sacking, if a mob is powerful enough to take over the city, a few of the mobs might take the role as banker. I need to switch some of the code in process over to use entity_list. Once I get the merchant related working, I'll do so. Mobs do spawn according to the appropriate faction. I still haven't added #MakeTargetMobFactory. Maybe this week sometime.

- You will be alerted when a lumberjack fells a tree. Typically, wood items will be on the tree's corpse. A tree may die of natural aging too, so keep an eye open.

- npcspawntype 4381 to function as lumberjack

- Added maximum ceiling for # of trees that can spawn in a zone (def 20). I think this is working.

Some general notes:
Spell casting can be a draw, but so can spawning a mobfactory mob. Put the two together, and you might slow down a bit. Zone is set to run continually and not shutdown. This might make zoning difficult if you do a lot of it.

You'll want and need zlib to run this experimental spin on the zoneserver. If you cannot get zlib going, then I'd recommend not fiddling around with it. :)

Speaking of files:

Source Zipfile (http://www.enkanica.com/data/files/0.3.1.1-X/ZoneNT-3.1.1-X.S1.zip)

winNT (win2k) ZoneServer (http://www.enkanica.com/data/files/0.3.1.1-X/ZoneNT-3.1.1-X.B1.zip)

I built a zone9x.exe. I HAVE NO IDEA IF IT WORKS, DO NOT CLAIM THAT IT WILL WORK, AND TAKE NO LIABILITY IF YOU USE THIS AND FIND YOURSELF STANDING BENEATH THE LONG AND VERY SHARP CLAWS OF THE IKSAR. You can try it here. (http://www.enkanica.com/data/files/0.3.1.1-X/Zone9x.zip)

misc:
mob factory test. Issue command:
#npctypespawn 4723

spawn tree
#spawn Tree 143
I'd recommend setting it at lvl 1 with about 5000 hp

#npctypespawn 4381
Spawn a the lumberjack mob, Scout Treekiller

Plus, all the above commands (see first post).

--MV

LANkrypt0
04-22-2002, 06:57 AM
Does the zlib.dll file need to be in the eqemu directory to work?

Lurker_005
04-22-2002, 07:54 AM
Should just need to be in your path. So in the eqemu, your system or anyother dir in your path.

LANkrypt0
04-22-2002, 08:01 AM
Thanks.

Nice DB btw. Nice to actually see spawns now :)

TheDreamX
05-04-2002, 03:09 PM
OMG, I love your build. Two major flaws though. I had to use precompiled version so far b/c your source doesn't include MalevolentAI.h which I can't find anywhere. Also, when using your ZoneNT.exe, it's great how mobs actually (somewhat) move now, but they are really glitchy. They often fall from the sky and sometimes cause my server to crash when they move into a player's view. Anyway, nice work besides. I'm working on fixing up the code myself, removing the emu commands (#zone, #level, etc.) for common members, and adding more functions (player houses, skills such as forage). Just need MalevolentAI.h to compile my project. Keep it up!

Malevolent
05-04-2002, 05:41 PM
Floating NPCS is a known bug that I still haven't found a truly workable fix for other than a quick hack to change target z to mob's z. Even that doesn't really do to good of a job.

In the newer stuff I've been working on, mob movement isn't as spotty (try playing with the npc movement tic #)..

Warning: I've been messing with this file, so you may need to tweak it as needed.

I intend on releasing a more complete update with the next source release from the dev staff.

best,

--MV

TheDreamX
05-05-2002, 12:57 AM
Thanks for the file man. Once again, your build is awesome. If anyone knows, where is the aging process the #??? GM commands located. I would like to increase ages b/c NPCs die too fast. I am also trying to remove such commands as #zone and #level from the lower privileges.