lstewart4
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 02 mai 2006 |
Posté: jeudi, 05 novembre 2009 09:42 |
I just finished SoU, and i had to cheat to beat Heurodis. I i was nothing to her spell that paralyzed me, then she killed me with magic spells almost instantly after i was paralyzed. My question is, any item i should make sure to have, skill to have, feet to have, to play though and beat the game? i was very angry that i constantly died againts heurodis after hours of playing (and mostly dominating) the rest of the game. Any advice? P.S wanting to play as a weaponmaster with Greatsword, and build advice? |
|
A'ja'la
Game Owner
NWN NWN: SoU NWN: HotU SW: KotOR Xbox SW: KotOR PC Jade Empire Jade Empire:SE NWN 2 NWN 2: MotB NWN 2: SoZ Mass Effect Mass Effect PC
Lié: 23 avr 2004 De: Sigil, with a certain tiefling... |
Posté: vendredi, 06 novembre 2009 07:50 |
At the beginning of HotU you'll lose everything yo have, but you'll get it back just before the end of chapter 1.
Anything that has the bonus of Freedom on it is incredibly useful (and would have been for that final battle with Heurodis) as it gives immunity to paralysis, slow, & entangle. Then of course you want to keep and eye out for anything that gives immunity to mind effecting and of course boost your AC and spell resistance.
As for weapons to me it's just whatever one you prefer.
And you can have a specially made one created at Rizolvir' forge in Lith My'athar. For a price.  _________________ "It was Vyrnnus who made me see how human aliens are. They're not different or special, they're jerks or saints. Just like us." ~Kaidan Alenko, Mass Effect |
|
lstewart4
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 02 mai 2006 |
Posté: vendredi, 06 novembre 2009 09:54 |
|
When you say you get all your stuff back, does that mean gold and all items i had from SoU (when i play with the same Char. |
|
A'ja'la
Game Owner
NWN NWN: SoU NWN: HotU SW: KotOR Xbox SW: KotOR PC Jade Empire Jade Empire:SE NWN 2 NWN 2: MotB NWN 2: SoZ Mass Effect Mass Effect PC
Lié: 23 avr 2004 De: Sigil, with a certain tiefling... |
Posté: samedi, 07 novembre 2009 01:35 |
Quote: Posted 11/06/09 21:54 (GMT) by lstewart4
When you say you get all your stuff back, does that mean gold and all items i had from SoU (when i play with the same Char.
Anything and everything that you had eqipped when you load up the game will be stripped from your character. The only thing you keep is your gold. Towards the end of chapter one you find it all again (in a chest), but chances are that the stuff you find in Undermountain will be better than anything you had. Just make sure that you empty any magic bags you have or the stuff in them will be lost for all eternity, unless they fixed that bug. _________________ "It was Vyrnnus who made me see how human aliens are. They're not different or special, they're jerks or saints. Just like us." ~Kaidan Alenko, Mass Effect |
|
WhiZard
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 08 mar 2005 De: Seminary of Surprises |
Posté: samedi, 07 novembre 2009 02:07 |
Quote: Posted 11/07/09 01:35 (GMT) by A'ja'la Just make sure that you empty any magic bags you have or the stuff in them will be lost for all eternity, unless they fixed that bug.
The bug (which still exists) is that the bag will not appear, but the contents will. The problem is that if every item was copied over, then you would have all the items that are found in a bag plus the bag (with another set of the items in it). Since the scripts cannot get if an item is stored in a container (so as to prevent making two copies of it) they simply made a decision restricting the copying of containers to the empty ones, which meant the containers with items did not carry over.
A fix for this bug would be to get the resref of the bag, and create a new bag from that resref. Then strip the new bag of all its properties, and copy the properties of the old bag onto it. Then after each non-container item is destroyed (after being copied), destroy every container item in the inventory.Edited By WhiZard on 11/07/09 02:13 |
|
The_Krit
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 30 jan 2005 |
Posté: mardi, 10 novembre 2009 04:00 |
Quote: Posted 11/07/09 02:07 (GMT) by WhiZard
Since the scripts cannot get if an item is stored in a container
That is an interesting conclusion, seeing how over at the World of Greyhawk server, there is a script that does exactly that. (On that server, you can write lyrics for your bard song. The lyrics are stored on an item, and if the item is in a container, then the lyrics are not used. It provides a simple way for players to temporarily turn off the lyrics when they get tired of them.)
Quote:
they simply made a decision restricting the copying of containers to the empty ones, which meant the containers with items did not carry over.
A little clarification here -- "they" in this case are not the script writers, but the implementers of NWScript. The block against copying non-empty containers is hardcoded into a NWScript command (CopyItem(), to be precise), not something that is directly scripted.
Quote:
A fix for this bug would be to get the resref of the bag, and create a new bag from that resref. Then strip the new bag of all its properties, and copy the properties of the old bag onto it. Then after each non-container item is destroyed (after being copied), destroy every container item in the inventory.
Too complicated. Just delay the copying of the container so that it occurs after its contents are destroyed.
I really should get together my fixes for the Hordes campaign at some point and plop them on the Vault. |
|
WhiZard
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 08 mar 2005 De: Seminary of Surprises |
Posté: mardi, 10 novembre 2009 06:44 |
Quote: Posted 11/10/09 16:00 (GMT) by The_Krit Quote: Posted 11/07/09 02:07 (GMT) by WhiZard
Since the scripts cannot get if an item is stored in a container
That is an interesting conclusion, seeing how over at the World of Greyhawk server, there is a script that does exactly that. (On that server, you can write lyrics for your bard song. The lyrics are stored on an item, and if the item is in a container, then the lyrics are not used. It provides a simple way for players to temporarily turn off the lyrics when they get tired of them.) Should have noted directly. Indirectly, GetNextItemInInventory() of an item with GetHasInventory() will find the item if it is in a container.
Quote: Quote:
they simply made a decision restricting the copying of containers to the empty ones, which meant the containers with items did not carry over.
A little clarification here -- "they" in this case are not the script writers, but the implementers of NWScript. The block against copying non-empty containers is hardcoded into a NWScript command ( CopyItem(), to be precise), not something that is directly scripted.
CopyObject() could have been used instead.
Quote: Quote: A fix for this bug would be to get the resref of the bag, and create a new bag from that resref. Then strip the new bag of all its properties, and copy the properties of the old bag onto it. Then after each non-container item is destroyed (after being copied), destroy every container item in the inventory.
Too complicated. Just delay the copying of the container so that it occurs after its contents are destroyed.
Agreed |
|
A'ja'la
Game Owner
NWN NWN: SoU NWN: HotU SW: KotOR Xbox SW: KotOR PC Jade Empire Jade Empire:SE NWN 2 NWN 2: MotB NWN 2: SoZ Mass Effect Mass Effect PC
Lié: 23 avr 2004 De: Sigil, with a certain tiefling... |
Posté: mardi, 10 novembre 2009 09:45 |
Quote: Posted 11/07/09 02:07 (GMT) by WhiZard The bug (which still exists) is that the bag will not appear, but the contents will. The problem is that if every item was copied over, then you would have all the items that are found in a bag plus the bag (with another set of the items in it). Since the scripts cannot get if an item is stored in a container (so as to prevent making two copies of it) they simply made a decision restricting the copying of containers to the empty ones, which meant the containers with items did not carry over.
A fix for this bug would be to get the resref of the bag, and create a new bag from that resref. Then strip the new bag of all its properties, and copy the properties of the old bag onto it. Then after each non-container item is destroyed (after being copied), destroy every container item in the inventory.
Ah. I've never encountered that bug myself just heard other talking about it so I've always removed what was in my bags of holding, just as a precaution. _________________ "So yeah, I hated that turian, but he wasn't "a turian" to me. He was Vyrnnus." ~Kaidan Alenko, Mass Effect |
|
WhiZard
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 08 mar 2005 De: Seminary of Surprises |
Posté: mardi, 10 novembre 2009 11:10 |
Quote: Posted 11/10/09 16:00 (GMT) by The_Krit
Too complicated. Just delay the copying of the container so that it occurs after its contents are destroyed.
I really should get together my fixes for the Hordes campaign at some point and plop them on the Vault.
Actually there is a slight problem here unless DelayCommand() is used for a sub-function. DestroyObject() is already slightly delayed (even at the default 0.0 delay) so that quite a few of the commands after it will actually occur before it.
A solution that will keep the bags copied (with their inventory inside of them) without duplicating the items would be:
First copy and destroy all containers (items with GetHasInventory()) using CopyObject() (not CopyItem()) and DestroyObject()
Then use a delay command for a subroutine (to ensure that later copies will not be of items already scheduled to be destroyed) for the second part.
The subroutine will then entail copying all remaining items and then destroying them (in addition to adding the starting HotU items).
Note: setting the plot flag to FALSE is unnecessary before destroying. (This is actually how dismissal gets rid of the black blade of disaster by only using DestroyObject).Edited By WhiZard on 11/10/09 23:34 |
|
Animayhem
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 23 oct 2006 |
Posté: mercredi, 11 novembre 2009 06:46 |
Yes i do that as well remove everything from my bags then that way I am sure to get the inventoryback |
|
The_Krit
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 30 jan 2005 |
Posté: vendredi, 13 novembre 2009 04:20 |
Quote: Posted 11/10/09 18:44 (GMT) by WhiZard Quote: Posted 11/10/09 16:00 (GMT) by The_Krit Quote: Posted 11/07/09 02:07 (GMT) by WhiZard
they simply made a decision restricting the copying of containers to the empty ones, which meant the containers with items did not carry over.
A little clarification here -- "they" in this case are not the script writers, but the implementers of NWScript. The block against copying non-empty containers is hardcoded into a NWScript command ( CopyItem(), to be precise), not something that is directly scripted.
CopyObject() could have been used instead.
I think you give BioWare's scripters too much credit. They often show less mastery of NWScript than you imply. I find it more likely that this script uses CopyItem() because it is supposed to copy items and that's what that command's name says. The documented inability to copy non-empty containers probably either was disregarded or did not exist at the time this script was written.
__
Quote: Posted 11/10/09 23:10 (GMT) by WhiZard Quote: Posted 11/10/09 16:00 (GMT) by The_Krit
Too complicated. Just delay the copying of the container so that it occurs after its contents are destroyed.
Actually there is a slight problem here unless DelayCommand() is used for a sub-function.
What do you mean "sub-function"? It works just fine with an ordinary function.
Quote:
DestroyObject() is already slightly delayed (even at the default 0.0 delay) so that quite a few of the commands after it will actually occur before it.
"Quite a few"? Bit of an understatement. The destruction does not occur until after the current script terminates, so all the remaining commands in the current script will be executed before the destruction actually occurs. |
|
The_Krit
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 30 jan 2005 |
Posté: vendredi, 13 novembre 2009 09:30 |
Quote: Posted 11/13/09 16:20 (GMT) by The_Krit
The destruction does not occur until after the current script terminates, so all the remaining commands in the current script will be executed before the destruction actually occurs.
By the way, this is why the copying of containers needs to be delayed, rather than just moved to the end of the script. The copy needs to occur after the contents are destroyed, and the contents will not be destroyed until after the end of the script.
Apologies to those who have gotten more than their daily dosage of scripting in this forum.  |
|
WhiZard
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 08 mar 2005 De: Seminary of Surprises |
Posté: vendredi, 13 novembre 2009 10:40 |
Quote: Posted 11/13/09 16:20 (GMT) by The_Krit What do you mean "sub-function"? It works just fine with an ordinary function.
No difference, I should have said sub-routine or function. |
|
WhiZard
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 08 mar 2005 De: Seminary of Surprises |
Posté: vendredi, 13 novembre 2009 10:42 |
Quote: Posted 11/13/09 21:30 (GMT) by The_Krit By the way, this is why the copying of containers needs to be delayed, rather than just moved to the end of the script. The copy needs to occur after the contents are destroyed, and the contents will not be destroyed until after the end of the script.
By the way I thought of a way to avoid this which would be faster.
First, go through the inventory and for each container set the local variable for all items in that container of bDoNotCopy to 1 (do not do this for the actual containers though). Then go through the inventory a second time and using CopyObject() copy and delete all items that are not given the local variable value.Edited By WhiZard on 11/13/09 22:48 |
|
The_Krit
Game Owner
NWN NWN: SoU NWN: HotU
Lié: 30 jan 2005 |
Posté: dimanche, 15 novembre 2009 05:29 |
Quote: Posted 11/13/09 22:40 (GMT) by WhiZard Quote: Posted 11/13/09 16:20 (GMT) by The_Krit What do you mean "sub-function"? It works just fine with an ordinary function.
No difference, I should have said sub-routine or function.
OK, I can go with that, but then I don't see the problem you brought up:
Quote: Posted 11/10/09 23:10 (GMT) by WhiZard Quote: Posted 11/10/09 16:00 (GMT) by The_Krit
Just delay the copying of the container so that it occurs after its contents are destroyed.
Actually there is a slight problem here unless DelayCommand() is used for a [sub-routine or function]. DestroyObject() is already slightly delayed (even at the default 0.0 delay) so that quite a few of the commands after it will actually occur before it.
There is a slight problem with delaying the copying of the container unless a delay is used for copying the container?  |
|