This is a companion package for use with the CEP2 v1.0 or later. Using it without CEP2 installed in your module won't work. It will not work with CEP1 (any version). It makes it simple to add rideable horses of varying qualities and types into your module without having to do any scripting or blueprint building. The system incorporates horse ownership concepts allowing all rideable horses to be owned by a specific PC or NPC. It also includes a stable subsystem which allows you to designate stable areas that automatically generate steeds for your players to use, as they are needed. The stable subsystem comes complete with a steed merchant who will determine a price for the steeds, adjust it according to some skill checks both the player and the merchant make against each other, then lists all the horses and prices for the PC to choose from in a conversation. Also includes a stablehand subsystem which allows you to make NPCs that charge a fee to tend horses for PCs, keeping them safe from theft.
The package includes an erf file and a hak file containing all the scripts and blueprints required by the system. No CEP2 content is overwritten or replaced. Be sure to read the Readme file in full as it describes the whole system and how to set up and use it.
Note: Multiplayer testing of this package was extreemly minimal.
Version 1.1- Fixed some minor bugs.
Requirements.
==============
You must have the NWN game installed, both expansion packs SOU & HOTU, and
patch version 1.68 or later to use this package. You must also be using the CEP2 v1.0 or later in your module. The KHP system should be compatible with all custom content you add to your module. It will not work with CEP1, you must be using CEP2. It was developed and tested on a module with CEP2 v1.0 and CTP Release 1 both fully installed using all hak paks from both
packages.
This is a demo module showing how to set up the system. I used the hak installation method (see the readme in the main KHP package) to install KHP into the module.
This is a companion package for use with the CEP2 v1.0 or later. It makes it simple to add rideable horses of varying qualities and types into your module without having to do any scripting or blueprint building.
The package includes an erf file and a hak file containing all the scripts and blueprints required by the system. No CEP2 content is overwritten or replaced. Be sure to read the Readme file in full as it describes the whole system and how to set up and use it.
Note: Multiplayer testing of this package was extreemly minimal.
Version 1.1- Fixed some minor bugs.
Requirements.
==========
You must have the NWN game installed, both expansion packs SOU & HOTU, and patch version 1.68 or later to use this package. You must also be using the CEP2 v1.0 or later in your module. The KHP system should be compatible with all custom content you add to your module. It will not work with CEP1, you must be using CEP2.
Axe, have you considered updating this package to include persistence over server resets? I'm certain other PWs would jump on the system more if that were included. Just wondering. So far our users are enjoying it immensely. It's far superior to the old system we found on the 'vault'. I'm also curious as to how we can spawn only the unique mounts in a certain area, and if the zep script used in the CEP will work for dismounting yours on transitions. I know, lots of work, but I'm hoping our questions may help others and make this easier to understand, and therefore more popular. ~ Roxy _________________________ Antolle ulua sulrim; lle naa haran e' nausalle.
Posted by Axe_Murderer at 2006-12-0617:16:37
That sounds like a CEP2 bug to me. You should post that problem in the CEP forum and see if anyone else has seen it. Be prepared to tell them lots of details about the character you used when you saw it (what race, gender, etc.).
Posted by RoxyFerret at on12/05/06
I had an odd thing happen: Although my PC looked fine when she mounted her horse the first few times, at some point the model changed to have her torso split from her legs so that the torso remained upon the horse, but her legs were under the horse. I haven't seen if this is permanent yet, and will keep testing. ~ Roxy _________________________ Antolle ulua sulrim; lle naa haran e' nausalle.
Posted by Axe_Murderer at 2006-12-0510:57:45
By the way, the reason I chose to use character name instead of TAG is due to how the branding iron works. When you use that item on a horse you do not own it says "Bob Jones owns this horse" instead of "MERCHANT_32 owns this horse". Plus it keeps KHP independent of other scripts you might wanna use with your merchants that use the TAG to do their thing which is the typical way most people do things.
Posted by Axe_Murderer at 2006-12-0510:54:13
Somehow I knew that would be confusing... The stable produces steeds that are owned by somebody but area's have no character name, thus the Proprietor variable was introduced. The merchant only sells steeds he owns. The stable area's RanchName and Proprietor variables determine who the initial owner of horses spawned by that stable will be (I think if you make them both blank the stable will spawn unowned steeds but I might have taken that out I forget). The merchant will look for horses in the stable that are marked with his character name and RanchName and will only sell those. Therefore, if you want stable area A which has a merchant named "Bob Jones" who is from the "Jones" ranch occupying it, to make the stable generate horses that Bob will sell, you need to set stable A's RanchName to "Jones" and Proprietor to "Bob Jones". The idea behind the stable variables here is to allow people to write thier own custom stable spawning scripts to replace the one in the stable_on_enter script which generates the steeds randomly and always for the same owner. By default, the system only allows for the stable to generate steeds for one merchant, or two if they both have the same name and ranch (but I strongly discourage that -- if you think about what might happen with two NPCs and two PCs all in sales conversations at the same time you'll understand why). Since those area variables can be changed on the fly, this allows you to change who the owner of the horses will be as they spawn giving you the ability to spawn steeds for more than one owner (or merchant) in the same stable. You could even set it up to spawn horses that automatically belong to PCs this way -- no purchase necessary. Sort of PC owned stables if you will. Variable names are a combination of character name and ranch name. For NPCs their ranch name is stored in a variable on them. For PCs the ranch name is their NWN Account name. Thus, all my characters will come from the Axe_Murderer ranch.
Posted by RoxyFerret at on12/05/06
Could use a little more help with the documentation. At this point, we have a stable, merchant, and the stablehand. Confusion seems to be exactly what names these variables have to have in order for the horses to be purchasable. Proprietor name - Is this the name of a NPC, or of the area? Ranchname - Which NPCs in ONE area have to share this exact name? NPCs - For variables, are you using tag names or creature names? The spawning seems to work, and the brand says the horses aren't owned by anyone, but can't be mounted or purchased. The merchant says she has no horses for sale, even when four or more were spawned. Perhaps a working one-area demo would help. I love the system; just having trouble getting it started up on our PW. ~ Roxy _________________________ Antolle ulua sulrim; lle naa haran e' nausalle.
Posted by Axe_Murderer at 2006-12-0100:05:29
Ummm -- I meant SteedRestockDelay not SteedSpawnDelay in the posts below. The readme is correct so follow that...
Posted by Axe_Murderer at 2006-11-2721:34:00
When you create your variables on the stable area, make sure you name them correctly and get their datatype right. For example, SteedSpawnDelay is not the same as steedspawndelay, and a variable called RanchName but set to type int instead of string means there is no RanchName variable on the stable as far as KHP is concerned.
Posted by Axe_Murderer at 2006-11-2721:08:43
They spawn whenever a PC enters the stable and there are no other PCs in the stable. Also the SteedSpawnDelay variable on the stable area specifies the minimum number of rounds that must pass after the previous restocking before the next one will occur. So if you set the delay variable to 30 rounds, enter the stable (causing a steed restocking) and immediately leave, then the next time it will restock is at least 30 rounds later when you re-enter (assuming of course there are no other PCs in there when you do). Assuming you have installed KHP correctly, there are 6 conditions that will cause restocking spawns to never happen. They are: 1. If you set the SteedSpawnBlocked variable on the stable area to a non-zero value. 2. Your stable area has no RanchName or Proprietor variable set on it, or if they are present but either of them is set to a blank string. 3. There is not at least one Stable Steed Spawn Point waypoint in the stable (use the one found in the custom waypoint palette under the Waypoints category when you paint it/them in). 4. The SteedSpawnDelay variable on the stable area is set to a value less than 1, or is not present at all. 5. You forget to set the stable area's OnEnter script to "stable_on_enter". 6. You install KHP using the erf install method then edit my scripts or blueprints and phuk them all up. Note also that there is a 50% chance at each steed spawn point waypoint that no steed will spawn there during a restock of the stable. So if you only have one spawn waypoint placed in the stable, then half the time when you enter you should see no steeds there. I tested with 4 waypoints and found it was pretty rare to see no steeds at all, but it did happen occasionally. Placing more steed spawn point waypoints in the stable will make this less likely to happen.
Posted by death2ux1 at 2006-11-2720:42:58
I'm having trouble making the horses spawn. I added the variables for the area properties and put the waypoint and everything and changed the integers around and i can't get them to spawn, how long do i have to wait for them to spawn?