Author Topic: Default on Heartbeat script?  (Read 1359 times)

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #15 on: September 12, 2010, 03:55:52 pm »


               Yes... The rule of thumb is to never delete script referrences aka "No" at second confirmation, there are no side effects of this.
               
               

               
            

Legacy_Bassix

  • Jr. Member
  • **
  • Posts: 65
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #16 on: September 12, 2010, 03:56:54 pm »


               Learning by doing, eh?'Posted
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #17 on: September 12, 2010, 04:01:21 pm »


               Yes, that will work for half the problem.   When you say you are adding it to the 'custom NPC's' I am assuming you are talking about the blueprints in the palette.   The problem is that every intsance of an NPC's in the module, Does not matter if it was created from a custom or standard Blueprint, has also had the script stripped from them.   So you will have to also add the script it every NPC already created in the module.   I guess you could use the update all instances option from the palette.  But that would make remove any thing custom already added to the instances of the NPC.  



I hope that makes since.
               
               

               
            

Legacy_Invisig0th

  • Sr. Member
  • ****
  • Posts: 279
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #18 on: September 12, 2010, 07:35:35 pm »


               

ShaDoOoW wrote...
The rule of thumb is to never delete script referrences aka "No" at second confirmation, there are no side effects of this.

Well, that may be Shadooow the Troll's "rule of thumb", but as usual, he doesn't speak for the rest of the NWN community (thank goodness).

In general, you will indeed want to remove references if you make a custom script and then change your mind and decide to remove it. That's exactly why Bioware implemented this option. This removes every reference to that script in all events for all creatures, placeables, etc.  If you do not do this, you will get a warning for every remaining reference to the deleted script when you do a full compile of your module. I (and the majority of other builders) would consider unnecessary complaints from the compiler as an undesirable "side effect" that is best avoided if possible. In this case, it's as easy as clicking "yes" and allowing some time for the Toolset to remove the references. Yes, this does take extra time, but it should be obvious that keeping references to non-existent scripts isn't going to benefit your module, and it can sometimes lead to a lot of confusion.

In this particular case, you wanted to keep the references, because even though you deleted a customized version of that script, you still wanted to keep all the references to the default Bioware script of that name.
               
               

               


                     Modifié par Invisig0th, 12 septembre 2010 - 06:42 .
                     
                  


            

Legacy_Bassix

  • Jr. Member
  • **
  • Posts: 65
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #19 on: September 14, 2010, 11:25:26 am »


               

Lightfoot8 wrote...

Yes, that will work for half the problem. When you say you are adding it to the 'custom NPC's' I am assuming you are talking about the blueprints in the palette. The problem is that every intsance of an NPC's in the module, Does not matter if it was created from a custom or standard Blueprint, has also had the script stripped from them. So you will have to also add the script it every NPC already created in the module. I guess you could use the update all instances option from the palette. But that would make remove any thing custom already added to the instances of the NPC.

I hope that makes since.


Yes, it does. Problem is already solves. It was so much work. I'll never make that mistake again, haha! So, now I'm finally going to continue with real builidng, finally. I would love to post the mod on the internet but it's Dutch. I'm able to write/speak English but I'm not cabaple to write whole conversations. Well, maybe I am. But it will take a very, very long time.

Cheers everyone for your help!
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #20 on: September 14, 2010, 03:31:52 pm »


               

Bassix wrote...

Yes, it does. Problem is already solves. It was so much work. I'll never make that mistake again, haha! So, now I'm finally going to continue with real builidng, finally. I would love to post the mod on the internet but it's Dutch. I'm able to write/speak English but I'm not cabaple to write whole conversations. Well, maybe I am. But it will take a very, very long time.

Cheers everyone for your help!

Basixx, ignore what Invisig0th, the biggest scripting expert said. If you follow my "rule", it won't break anything. But it will avoid to repeat the mistake you made.

If the script do not exist, it won't run or eat any resources, yes if you will build the module you will be warned about non existing script, but you can ignore it, or remove manually, I dont believe you will place some script to hunderd places and then you remove it, I can't imagine such case, and even if you did as I said it don't matter.

Furthermore building module is useless, you just need to compile all scripts so in Build module option, you can uncheck everything else, this will spare you so much time.
               
               

               
            

Legacy_Invisig0th

  • Sr. Member
  • ****
  • Posts: 279
  • Karma: +0/-0
Default on Heartbeat script?
« Reply #21 on: September 14, 2010, 04:42:08 pm »


               Having references to a non-existent script can be extremely confusing when a problem arises, particularly for a new builder. And in general, you never want to leave stuff like this in your module. That's why Bioware added the ability to easily remove these orphaned script references for a good reason.

There are also plenty of reasons why someone might need to recompile their module, the most important of which is general troubleshooting. If you search the old Bioware forums, you will see that people encountering problems are often told to recompile their entire module and report any warnings or errors. In those situations, it should be obvious that purposefully doing things that cause pointless compiler warnings is counterproductive. Bioware put those compiler warnings in there for a good reason. They are there to tell you something is wrong, so that you can do something about it. Having lots of unnecessary warnings in your module can make it very hard to recognize an important warning that you need to know about to solve a specific problem..

So it's not really open to debate whether removing references to deleted scripts is a good idea. It is obviously a good idea. Advising people to purposefully keep references to non-existent scripts is terrible advice.
               
               

               


                     Modifié par Invisig0th, 14 septembre 2010 - 04:49 .