The Black Scourge of Candle Cove -- Tchos' development diary
#576
Posté 09 novembre 2012 - 06:22
A search suggests to me that it might be because my script uses ActionPlayAnimation() (both looping and fire/forget) in some of its cases. A post from 3 months ago by kevL says that these should use PlayCustomAnimation() instead. The walkwaypoint template used ActionPlayAnimation(), but that apparently doesn't work as well in NWN2, and the template was originally written for NWN1.
Took a while to set up the smith's store with the items I wanted him to sell.
Also had to figure out how to change the "north" direction, because this prefab was oriented differently than the exterior. After getting a lot of strange results, and after not being able to do so at first, I found you can rotate the direction marker like any placeable, and from there I could see that what I actually wanted in the numerical field was a negative number, so it was (0, -1). (I had seen that it couldn't go above 1, but it didn't occur to me that it could go below 0.)
#577
Posté 09 novembre 2012 - 06:59
Tchos wrote...
Added the smith, and resisted the urge to name him Morrissey, or Bigmouth, or something like that.
I don't see why, My mod opens with three bandits called Marco Merric and Terry Lee
PJ
#578
Posté 09 novembre 2012 - 07:21
#579
Posté 09 novembre 2012 - 10:50
The thing that ended up actually working was to add a ForceMoveToObject() command in several of the specific cases of the walkwaypoint script. Why that was necessary, I have no idea, because I would have expected that the standard walkwaypoint script would try to make the NPC move to the waypoint by itself, and not stop until it got there. But it works now. All in the name of making a blacksmith with a little personality.
Here's a place where I ask a general opinion. I used the Shirtless Saga for the blacksmith, because it's hot in there, and that's staying. I also used the shirtless human model I worked out earlier for the vendor, who has to stand near the forge to sell the goods. The question is, does he look too silly in the outfit I have him wearing? The cape was mainly to cover up a clipping problem with the battle harness he has on, but I'm not sure it helps. Also not sure if the harness is necessary, or if he would look better with no shirt at all. He looked terrible with any of the shirts available in the default toolset, because they were just too much to be wearing in that heat.
Another alternative is switching it with one of the sleeveless open shirts in the Always Summer collection. Totally shirtless may not be professional-enough attire.
In other news, I played through the entirety of Limbo in two sittings. Great puzzle/platforming game.
#580
Posté 10 novembre 2012 - 02:36
If you are using the placeable items you can have the smith move a weapon around. This is something I did, the smith had a bastard sword that he brought through the smithing process. If want I can get you a copy of the script to take apart and add into yours if you want.
http://risenheronwn2...g-of-sword.html
#581
Posté 10 novembre 2012 - 02:38
PJ156 wrote...
Tchos wrote...
Added the smith, and resisted the urge to name him Morrissey, or Bigmouth, or something like that.
I don't see why, My mod opens with three bandits called Marco Merric and Terry Lee.
PJ
Have fun with the names, I have a group of armed children with the same names as the characters from the Children of the Corn.
#582
Posté 10 novembre 2012 - 04:35
I am using the item placeables, but I only installed the ones that I was using in a different shop, and that was only bows and rapiers, so I didn't have anything on hand, but I placed the stock broken sword placeable on the anvil for him to hammer on. I had considered the whole routine of actually spawning and destroying objects for a better illusion (I have one comment in the code that I've decided not to do), but I decided the pantomime would be sufficient for this purpose. You seem to have accomplished what I briefly had in mind, though! I'll play it later, and see.
Okay, I see that joke names have fans. I'll keep that in mind.
#583
Posté 12 novembre 2012 - 04:15
As for making NPCs go to specific places (rather than within cooee of a waypoint); one method is to make placeables usable and then command the NPC to use them via their HB script (aborting if they're in conversation or in transit). They'll always run to the placeable to use it, but they'll walk if you force them to by putting the 'zombie walk' property on an equipped hide. Each usable placeable can then run a script that checks who's using it, and if it's someone with a specific local variable (like your designated smith), the script can have them do a series of animations, play noises, and eventually send them on to another usable placeable (or set a variable that has their HB send them on). No walk waypoints required.
You can also allow the PC to use them too if you want. I have some usable street lamps in an upcoming module that can be turned on and off again by the player. However there's a 'lamp master' who runs around lighting them at night and turning them off during the day. If you meddle with the lamps at the wrong time, he gets annoyed and runs to fix them. Although you can also help him light or extinguish them at the appropriate times if you want.
#584
Posté 12 novembre 2012 - 06:00
The method you suggest sounds like I could find some uses for it, but I'd want to restrict it to cases where the placeables have some use for the players as well, to prevent players from thinking that they might have to do something with those usable placeables, like in your lamp example. Wouldn't it also work to set their walk rate to "slow" in the NPC's properties?
"Use the Neverwinter Nights 2 toolset to create your own adventures for friends to enjoy."
When I play NWN2, I see that loading tip often, and sometimes it makes me think. I like how that sounds. I like to think that I'm making a module for friends to enjoy. That each person who downloads and plays it is a potential new friend, and that the experience of this module is like a gift for them. I think I would be happy to know that they got some smiles out of it.
I got a little distracted by some spell experiments, and there was also the P&P day in there, but look! Here's me working on the module.
Due to some non-forum feedback about the vendor's outfit that made it clear that he was giving off the wrong impression, I ended up changing it to a simpler one, which is from Always Summer. It's a sleeveless, wide-necked open shirt. I repainted several parts of the texture maps, though, to eliminate some jagged edges and improve the folds of the cloth. I also changed the pants to short pants, though you can't see them here. That takes care of everything at the smithy.
#585
Posté 12 novembre 2012 - 10:06
Tchos wrote...
The method you suggest sounds like I could find some uses for it, but I'd want to restrict it to cases where the placeables have some use for the players as well, to prevent players from thinking that they might have to do something with those usable placeables, like in your lamp example. Wouldn't it also work to set their walk rate to "slow" in the NPC's properties?
That would cause them to run slowly - great if you're recreating the Six Million Dollar Man or the opening scenes of Baywatch, but otherwise somewhat comical. It's one of the annoying things about the method, since sending an NPC off to activate a usable placeable gives you no 'walk' option. They're always eager to get there quickly. Permanently zombie-walking NPCs are fine if they never leave their work area and have no chance of being in combat, but the alternative is to spawn and destroy the hide only when necessary.
I'm also using the method for sittable stools in a marquee outside the Gullykin brewery. Players can sit and eat/drink if there's a spare stool (regenerating 1 HP per round until they're fully healed), but an ipoint also randomly assigns one of the resident halflings to go and have a drink every now and then. The halflings run for the chance of a drink (which involves 'using' the stool placeable), but walk slowly back to their home waypoints afterward once I restore their walk waypoint settings.
Even the lamp master goes for a drink now and then, although if he gets caught there at sunrise or sunset his street lamp duties have him rushing off unexpectedly.
#586
Posté 14 novembre 2012 - 09:40
Today got off to a better start than other times because I left the next item of business open for me to see, so I didn't have to think about what to work on next.
It took a very long time to get some information I needed, because it was in the crash-prone dock area. I needed the names of the sets of waypoints I have in there, and I hadn't copied the names to my big list of waypoints for later reference. After many attempts at opening it, I rebooted the system, and it opened, and I got the information I needed. Incredible bother.
I added the scripts I needed for the sets, and introduced some random pauses and an occasional random choice into the mix, to try to keep things from looking too uniform. There are four sets of waypoints, plus some purely random wandering, so it should be okay.
Next I fixed up the selections at a couple of the shops. In the future, I'm going to use scripts to spawn the store elements at the beginning of the module instead of placing them directly, so that I don't have to open up the areas to make changes, and avoid crashes.
Next order of business was the League of Merchants headquarters. I made this from a heavily modified and cut down copy of the merchant company headquarters from SoZ. I left the lounge largely unchanged except for some minor rearrangement and the addition of a side entrance, but the rest of it is pretty much a different place.

I still need to populate it, aside from the officer who starts outside, then goes inside for the rest of the game. This place could have the opportunity for some thievery, but to make it worth it, there should be the possibility of negative consequences for attempting it. Considering this place's importance for the main quest, I'm not sure I should encourage that.
Eh, all right. I added something, and imported a new placeable to do it. Can't say what it is, of course, because it's a hidden extra, and it relies on class skills. If I use this kind of trigger again, I'll modify the scripts it comes with to add a visual effect and/or sound when something is found, because for a smaller item, it could be easy to miss it spawning in.
And as it turns out, I found a use for that unused ledger model I found in the data files earlier.

Had to make a special script for the League Officer, because when I respawn him inside the building, there's no way to delay a command from the conversation to give him time to fully spawn before changing his quest marker.
There's one problem in this place, and that's a particular door that appears heavily shadowed until it's opened, and then it's fine after that. I don't know what's causing that, but I've tried both moving the light and replacing the door, and neither helped.
#587
Posté 15 novembre 2012 - 10:20

(Note: cigars are not actually included.)
#588
Posté 15 novembre 2012 - 10:54
I find these sort of things great for ambience and perhaps a little humour but if there is a conversation in the area they are a bugger for following back though it as they clutter up the chat box.
PJ
Modifié par PJ156, 15 novembre 2012 - 10:57 .
#589
Posté 16 novembre 2012 - 02:52
Ive had the same problem, very annoying – yes! Not sure what causes it. The only things that kind of seem to work is:Tchos typed…
There's one problem in this place, and that's a particular door that appears heavily shadowed until it's opened, and then it's fine after that. I don't know what's causing that, but I've tried both moving the light and replacing the door, and neither helped.
A) Pull the door it out of its frame just a little bit.
Very nice screen shots, this mod is shaping up to be quite the good looking mod. Really looking forward to playing it.
#590
Posté 16 novembre 2012 - 08:06
Alupinu: I'll try out those suggestions with the door. Thanks!
#591
Posté 16 novembre 2012 - 04:05
Tchos wrote...
PJ: It is a heartbeat script, and I have it set to change the duration of the heartbeat to between 8 and 20 seconds rather than 6, though I may increase the number. There is a conversation in another room here, and I think it is within earshot to make the text appear in the chat log, so based on what you say, I'll add a little check in the heartbeat to abort if the player is currently in conversation. That way, they won't be interjecting within the conversation.
How do you change the heart beat!? I had no idea that you could change the 6-sec heart beat.
Modifié par Alupinu, 16 novembre 2012 - 04:06 .
#592
Posté 16 novembre 2012 - 04:18
SOZ and then WPM used these on the OLM hidden sports the HB would check if you found the area. A 6 second check wouldn't be often enough so they used like a 350 millisecond checks. Too many of these can destroy the game's performance . I found this out when I tried to make acid blob hang out on the ceiling. I had a few too many and the script likely needed to be streamlined.
These scripts when used in moderation (quicker heartbeats, slower heartbeats shouldn't mater) can add a lot of neat things. I recently used them to make a floating crystal randomly shoot lightening at four surrounding crystal pillars every 1/2 second. picture
Modifié par Shaughn78, 16 novembre 2012 - 06:45 .
#593
Posté 16 novembre 2012 - 05:30
#594
Posté 16 novembre 2012 - 05:56
I used random intervals so that they're not all speaking at the same time.
While these heartbeats are up to 4x slower than default, I used quicker heartbeats for the scripts that run the staged events, to avoid long pauses between finishing one action and beginning the next, then restored the default heartbeat when they were finished.
#595
Posté 16 novembre 2012 - 11:48
#596
Posté 19 novembre 2012 - 01:58
Tchos wrote...
For mine, I included the code that only runs them when the player is nearby, as well as passing execution on to the default.
I used random intervals so that they're not all speaking at the same time.
While these heartbeats are up to 4x slower than default, I used quicker heartbeats for the scripts that run the staged events, to avoid long pauses between finishing one action and beginning the next, then restored the default heartbeat when they were finished.
One method I use to randomise eye-candy heartbeat events is to generate a random number. I usually use d4(1) and only run the eye-candy event for a specific number, so there's only ever a 1-in-4 chance of it happening. That way they don't occur with too much regularity. A random delay also helps prevent multiple events from occuring simultaneously, in the unlikely event that two or more creatures roll the same 1d4 number at the same time.
#597
Posté 28 novembre 2012 - 03:50
Nevertheless, in almost any situation there is downtime, and I have gotten some things done.
I designed and built the boat rental office, and finalised the design of the harbourmaster. As a placeholder, I had the OC NPC Daeghun Farlong playing his role, but I would never have used such an ugly model as a final product. I decided that this town needed a little more representation of the other races in the setting. Despite my efforts at making it more cosmopolitan, it's still a human-dominated town, with largely human architecture, with a sizable elf population, and a fair number of dwarves, halflings, and gnomes. Just a handful of tieflings. I decided to make him a friendly water genasi.
I couldn't actually find any genasi blueprints in the toolset, so I applied the proper appearance and special effect to another race.

I had some preliminary playtesting, thanks to my brother. Don't worry, those of you on the list for formal playtesting -- you're still on the list. This required my direction to test out specific things. The experience was enlightening. I see that for my estimate of play length for the module, I'll have to add perhaps 3x or 4x to the amount of time I take running through an area, for familiarity reasons.
I watched how he navigated through the conversations, and how he interacted with the quest items, and how well he managed the fights, and it looks like it's working as intended. He had no full party wipes except once on a mini-boss, and the second try was successful.
He found a couple of bugs for me to fix, and one of them was the trapdoor. I'm using the trapdoor placeable from Amraphael's placeables pack, which includes a script to open and close it like a door, even though it's a placeable. However, the script doesn't seem to take into account whether the object is locked or not, which it needed to be in this case.
Well, since my previous door script was designed to eliminate the animation of the door opening, and just move the player on the first click, I preferred this trapdoor not to animate opening either. So I wrote a new script to replace the one that it came with, and had it check the placeable's locked state, read the tag of the required key from the normal "Key Name" field, and check the party for that item. It checks the whole party, unlike a normal door, so it's not necessary to open the door with the party member that holds the key. It also uses the standard "Key required feedback message" field for the text to display if the party doesn't have the key, with a default of "Key required" if you don't provide one. I didn't include a code section for lockpicking checks, though, because I didn't need it for this instance. Perhaps later. It also removes the key on use, and ignores the setting on the object that normally determines if it should do that. I couldn't find a function to read that setting, but I could add a similar check for a local integer on the object. It assumes there's only one copy of the key with that tag to remove.
Anyway, that fixes the locked trapdoor issue. One other one that's a little trickier is that the swimming animation messed up when we had the druid companion along for the ride. I'm guessing this is because it's assigning the wrong appearance to her, being of the n_elf appearance instead of the regular elf. I'll add a special line in there for her, which I think will fix it. Her face isn't actually a concern in this case, since everyone will be wearing the diving helmets, so it won't matter if I need to assign her an appearance that doesn't have her actual face in it.
#598
Guest_Iveforgotmypassword_*
Posté 28 novembre 2012 - 08:26
Guest_Iveforgotmypassword_*
#599
Posté 28 novembre 2012 - 08:38
#600
Guest_Iveforgotmypassword_*
Posté 28 novembre 2012 - 01:39
Guest_Iveforgotmypassword_*





Retour en haut





