Aller au contenu

Photo

Knock doesn't work on plot chests? Seriously? That makes it pointless!


  • Veuillez vous connecter pour répondre
41 réponses à ce sujet

#1
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
So some playtesters told me that knock isn't working on my chests.  I checked it and it's true.  I couldn't figure out why and nothing worked until I unchecked the plot box.  I had them set as plot so that you couldn't just bash them open and would have to use knock. 

So knock only works if the chest is not plot.  The damage reduction for placeables is borked.  Any suggestions short of re-scripting the code for knock?

#2
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
..I guess I could just give the chests 10,000 hp or something like that.

#3
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
...or I could just make the stuff inside the chest not droppable. I imagine there must be a script to replace the contents of a bashed chest with broken items, like in the OC.

#4
Morbane

Morbane
  • Members
  • 1 883 messages
I think broken items happen without any special scripting - but they will be from potions and things that are 'delicate' and such.

Im not sure but I think gold breaks ;) but armor or weapons, they are meant not to break easily...

Modifié par Morbane, 05 mars 2011 - 07:14 .


#5
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
Thanks, I'll check that . That would make my life much easier.

#6
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
you have to be careful on plot, it makes sense, since plot means it needs to stay locked until some condition in the module ( ie some quest is done, or the king of shadows is slain, etc ). You don't want the thing forcing the player to go on 20 quests to solve to be bypassed by a 2nd level spell every wizard gets.

You would have to modify the knock spell, on cast at event, the spell hook or something similar to know about any exceptions for doors and chests.

#7
kamal_

kamal_
  • Members
  • 5 238 messages
Give the chest a very high hardness, higher than the damage the players can cause. Then it's plot for all intents and purposes other than knock.

#8
Guest_Chaos Wielder_*

Guest_Chaos Wielder_*
  • Guests
I think magic damage would still hurt the chest in that case, kamal. Do what kamal says, then make a hearbeat script for the chest that heals itself for, say, 1000 damage every 6 seconds. The two combined will make the chest you desire, I believe.

#9
kamal_

kamal_
  • Members
  • 5 238 messages
I suppose if that's the case CW you could give it a ton of hp as well. Players would just give up before doing 10,000 points of magic damage. And if someone did and said well your mod is broken, you could say well you're an doofus for saying that since you just camped by the chest for a month.

#10
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
I'd probably use a modified on damage script rather than a heartbeat.

#11
_Knightmare_

_Knightmare_
  • Members
  • 643 messages

Kaldor Silverwand wrote...

I'd probably use a modified on damage script rather than a heartbeat.


Yup, just get the damage dealt and "heal" the chest for that same amount.

#12
dunniteowl

dunniteowl
  • Members
  • 1 559 messages
Marking a chest as Plot, I always thought, meant you could only open it with a key or condition has been met. Like doors marked plot. Characters marked as Plot, though, don't need a key, you just can't kill them. I can see it's utility, but the idea never sat well with me. There should be a better way to do that on the whole.

Unfortunately, in the case of chests, setting the hardness, placing other conditions on the chest etc. is more of a hassle than it should be.

Also, magical damage to a chest will destroy any items (potions, scrolls, arrows (I think)) and the like which end up as "broken items," but any item like a weapon, magic ring, Map (plot related item) etc. will come out unscathed. It's possible that damage to a chest does also reduce the amount of gold -- this I don't know for sure.

dno

Modifié par dunniteowl, 06 mars 2011 - 02:16 .


#13
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages

dunniteowl wrote...
Marking a chest as Plot, I always thought, meant you could only open it with a key


There is a separate key required option for that. You cannot pick a lock on a chest that requires a key. I don't know that it prevents bashing it open or using knock. I would hope it would.

Regards

Modifié par Kaldor Silverwand, 06 mars 2011 - 06:33 .


#14
PJ156

PJ156
  • Members
  • 2 980 messages
I know the chest in question and I have two thoughts on this though no technical solution.

One is that not having a bash option does not seem right. Beating the bejesus out of it with a hammer seems to me to be a perfectly legitimate way to try to open a chest. It may not work but at least let us try. Thus a solution that lets you have a go but tells you you are not getting anywhere is good. High hp is not enough I can just go and make a cup of tea and check the forums :)

Another possibility is to stop being so tight and just let me have the treasure Posted Image.

PJ

#15
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
I'm going to test this. I am determined that certain playtesters do not get their treasure as easily as they would like....

#16
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
It isn't a matter of treasure so much as using the contents of the chest as a plot device. As already mentioned, you would not want someone getting something because of knock when they were supposed to go through a significant process to find the key.

Basically it is the same as the old "the door is barred by magical means and cannot be opened", which meant you need to do something you haven't done yet.

Regards

#17
BigfootNZ

BigfootNZ
  • Members
  • 131 messages
I was under the assumption that the NWN2 version of Knock had a limit on the maximum Open Lock DC it could effect?

That might be causing an issue for you, no idea what the scripted limit is, if indeed there is one.. description indicates one, but you can never be to sure with anything in the OC. That being said it might also be scripted to ignore plot flagged container placeables.

You could even rescript Knock to use SetPlotFlag() to un-plot any plot containers it finds, unlock it if its locked and then re-plot it all in one go since it would be flagged as unlocked and so should be openable?

You might even instead if the container requries a specific key normally, be able to rescript Knock to temporarily set SetLockKeyRequired to FALSE, and then have the container reinstate TRUE when the next time its OnClosed is fired. So Knock becomes a magical once per casting 'required key' skeleton key.

Kaldor Silverwand wrote...

It isn't a matter of treasure
so much as using the contents of the chest as a plot device. As already
mentioned, you would not want someone getting something because of knock
when they were supposed to go through a significant process to find the
key.


But wouldnt Knock or Bash be a valid 'process', after all both actions would have consequences that could give just as much extra entertainment as the original quest for the key route would. Also In using Knock or Bash the player is giving up XP extra loot and the like from going looking for the key. So if a player wants to miss out on XP (which is better than loot technically) for the same loot they could get along with the XP and extras its their choice. And thats what is great, you place the choice on them... and players love making choices, shortcut for quick gains or longer for alot more. If its about making sure the player sees the work you stuck in for quest 'X' then dont take it personally if they decide to skip it, a good 2/3s of the players wont have any other option really but to go on the quest, so someone will see the work, it also adds in some nice replayability.

More effort to script and write for but hey its the little things that make great things great.

Kaldor Silverwand wrote...

Basically it is the same as the old "the door is barred by
magical means and cannot be opened", which meant you need to do
something you haven't done yet.

Regards


Thats what id call plot writers short hand for 'Im to lazy to work in extra stuff for one or two common sense alternatives that could arise during play'... You can always let a player go south, east or west and have em end up north right where you want them, just takes a smigden more effort.

Modifié par BigfootNZ, 07 mars 2011 - 09:58 .


#18
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages
Hi,

Line 50 of nw_s0_knock says:

if(!GetPlotFlag(oTarget) && GetLocked(oTarget))

You can simply edit this line of the script to:

if(GetLocked(oTarget))

Or, a better way: Edit the spell hook to remove plot setting as required as painofdungeoneternal says.

Lance.

Modifié par Lance Botelle, 07 mars 2011 - 10:57 .


#19
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages

BigfootNZ wrote...

Kaldor Silverwand wrote...
It isn't a matter of treasure
so much as using the contents of the chest as a plot device. As already
mentioned, you would not want someone getting something because of knock
when they were supposed to go through a significant process to find the
key.


But wouldnt Knock or Bash be a valid 'process', after all both actions would have consequences that could give just as much extra entertainment as the original quest for the key route would. Also In using Knock or Bash the player is giving up XP extra loot and the like from going looking for the key. So if a player wants to miss out on XP (which is better than loot technically) for the same loot they could get along with the XP and extras its their choice. And thats what is great, you place the choice on them... and players love making choices, shortcut for quick gains or longer for alot more. If its about making sure the player sees the work you stuck in for quest 'X' then dont take it personally if they decide to skip it, a good 2/3s of the players wont have any other option really but to go on the quest, so someone will see the work, it also adds in some nice replayability.

More effort to script and write for but hey its the little things that make great things great.

Kaldor Silverwand wrote...
Basically it is the same as the old "the door is barred by
magical means and cannot be opened", which meant you need to do
something you haven't done yet.


Thats what id call plot writers short hand for 'Im to lazy to work in extra stuff for one or two common sense alternatives that could arise during play'... You can always let a player go south, east or west and have em end up north right where you want them, just takes a smigden more effort.


I'm all about maximizing player choices. However, there are times when for plot reasons you do really need to force certain events to occur before others. It isn't just laziness, so much as not being able to code and test for every possible decision a player can make.  The more choices that are plot related the player has the more coding and testing is required. Even with some plot controls in place, conversation trees can become very very complicated very quickly.  It just doesn't scale.  Sometimes it makes sense to block progress in one place until progress has been made in other places. Often things like unopenable doors or chests are the simplest way to do that. Overuse of any such controls is a bad thing, but I think they are necessary and prove beneficial when used sparingly.

Regards

Modifié par Kaldor Silverwand, 08 mars 2011 - 01:41 .


#20
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
Update. As far as I can tell, there is no built-in system that automatically breaks "fragile" objects. I tried altering the bodybag for the chest, but it didn't seem to do anything.


I wrote a script which will cause grenadelike items and potions to be destroyed and replaced with broken items. The problem is, I can't make them appear in the bodybag object with the rest of the treasure from the chest. I can make them appear in the same place and when the body bag is gone, the broken items will be visible, but it doesn't work the way it does in the OC's, which is what I want.

#21
diophant

diophant
  • Members
  • 116 messages

M. Rieder wrote...

I wrote a script which will cause grenadelike items and potions to be destroyed and replaced with broken items. The problem is, I can't make them appear in the bodybag object with the rest of the treasure from the chest. I can make them appear in the same place and when the body bag is gone, the broken items will be visible, but it doesn't work the way it does in the OC's, which is what I want.


Well, the following solution is ugly, but you might give it a try:
- In the onDeath script, destroy the grenades, potions, and so on, and create the broken items in another chest which is not accessible by the player (i.e., it is in a non-accessible area). Then, store the location of the original chest as local variable.
- With a short delay, get the nearest bodybag to the stored location, and move all items from the other chest into this bodybag.

#22
Morbane

Morbane
  • Members
  • 1 883 messages
Hmm.

I have been using a modified "gp_treasure_op_de" to drop higher treasure but if I test bash a chest with that script - on occasion, broken items appear in the body bag. As far as I know that script does not have any special code for generating broken items.

So - why does it work for me and not M. Rieder??

#23
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
The code exists to break items. I've seen it. I just don't remember where off hand because I didn't feel the need to do anything with it. I'll look.

Regards

#24
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
What I don't understand is that gp_treasure_op_de is able to put items on the chest and have them appear in the bodybag when the chest is destroyed, but when I try to do it, they don't appear.

#25
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
I just figured it out.

In my script, I ran a loop to check for certain items to remove from the chest when it was killed. I created the broken item in that loop. Apparently, running the loop allowed just enough time for the chest to become an invalid object because when I created the broken item outside of the loop, it worked perfectly.

Thanks for the help everyone.