Knock doesn't work on plot chests? Seriously? That makes it pointless!
#1
Posté 05 mars 2011 - 01:37
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
Posté 05 mars 2011 - 01:38
#3
Posté 05 mars 2011 - 01:40
#4
Posté 05 mars 2011 - 07:13
Im not sure but I think gold breaks
Modifié par Morbane, 05 mars 2011 - 07:14 .
#5
Posté 05 mars 2011 - 01:43
#6
Posté 05 mars 2011 - 03:01
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
Posté 05 mars 2011 - 03:58
#8
Guest_Chaos Wielder_*
Posté 05 mars 2011 - 05:02
Guest_Chaos Wielder_*
#9
Posté 05 mars 2011 - 05:16
#10
Posté 05 mars 2011 - 05:18
#11
Posté 05 mars 2011 - 05:23
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
Posté 06 mars 2011 - 02:09
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
Posté 06 mars 2011 - 06:32
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
Posté 06 mars 2011 - 07:59
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
PJ
#15
Posté 06 mars 2011 - 08:20
#16
Posté 06 mars 2011 - 08:48
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
Posté 07 mars 2011 - 09:38
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
Posté 07 mars 2011 - 10:55
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
Posté 08 mars 2011 - 01:35
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
Posté 09 mars 2011 - 03:32
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
Posté 09 mars 2011 - 03:52
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
Posté 09 mars 2011 - 07:22
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
Posté 09 mars 2011 - 11:00
Regards
#24
Posté 10 mars 2011 - 01:15
#25
Posté 10 mars 2011 - 01:20
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.





Retour en haut






