Aller au contenu

Photo

Script compiling problem - How do I make changes in header files have visible effect on the game?


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

#1
orgo.love

orgo.love
  • Members
  • 33 messages
Hello there.

I've been searching around for the answer to this problem, but haven't found a solution.

The bioware scripting system deals with multiple header files that by themselves do not do anything and are actually linked to a core script. Sometimes, the header files are sub-linked into another header files, and this makes it extremely difficult to make any change in the header files have an affect in the actual game, as we have to find out exactly which file uses the functions defined in the header file, and there's no way to search within the files.



Can someone please tell me where I can find the file that specifically uses effect_polymorph.nss?

The only file that shows up as referenced is effects_h, which is itself a header file that has a huge list of files that depend on it.

If I am to be forced to include recompiled versions of all the scripts that reference effects_h to make a change in effect_polymorph have an effect, then any mods that deal with this file is doomed for utter incompatibility.



I want to keep the files I override to a minimum when sharing the mod.


Thus, can anyone please tell me just what actual core script or other script uses the effect_polymorph.nss file? I tried player_core, rules_core, abilities_core, spell_shapeshift, etc etc but none of them were the root. Even after I
1) checked out, opened up a local copy of the effect_polymorph file, made my changes
2) opened up a local copy of playre_core/rules_core/abilities_core/spell_shapeshift, recompiled it
3) placed it into the override folder in documents


None of the changes have shown up.


Please, can someone PLEASE help me on finding what file ACTUALLY references the effect_polymorph script file?

#2
orgo.love

orgo.love
  • Members
  • 33 messages
Bump. Can someone please help me?

I know I've read before that "you have to compile all the scripts that use the same header" to have the effect. But as you can see above, even though I made changes to the header file, saved it, then recompiled the scripts, it did not work. 


Can someone please help me?

Modifié par orgo.love, 01 janvier 2010 - 06:11 .


#3
anakin5

anakin5
  • Members
  • 258 messages
effects handlers are most of the time called in effects_h by rules_core.



you just have to open a local copy of rules_core and recompile it. But you don't have to move any file in any folder after that.

#4
orgo.love

orgo.love
  • Members
  • 33 messages
I did try compiling rules_core.



this is what I did



1) I made my changes in effect_polymorph.nss.

2) I saved it.

3) I compiled rules_core.





I saw no change :(

#5
SuperD-710

SuperD-710
  • Members
  • 130 messages
It's possible that effect is legacy. I just briefly looked at spell_shapeshift, and it seems all shapeshifting stuff was handled without using that effect.

#6
anakin5

anakin5
  • Members
  • 258 messages
What changes did you make in effect_polymorph ?



if you make changes either in

Effects_HandleApplyEffectShapechange

Effects_HandleRemoveEffectShapechange

you have to compile rules_core



if you make changes in EffectShapechange you have to recompile spell_shapeshift

#7
anakin5

anakin5
  • Members
  • 258 messages
Telling us what you changed can help in fact ...

#8
orgo.love

orgo.love
  • Members
  • 33 messages
Here's the files i've been trying to apply into the game.

The various mage spells were placeholders to see if I can get more than 5 spells in a polymorphed form.

What I did would be equivalent to:

1. checking out effect_polymorph
2. copy-pasting from the attached effect_polymorph
3. saving the effect_polymorph
4. compiling the spell_shapeshift
5. going to the toolsetexport folder, rename spell_shapeshift to spell_ultimate
6. rename the scripts referenced in abi_ultimate.xls from spell_shapeshift to spell_ultimate

put the excelprocessor-processed files into the override, and test in game using runscript addability 200270.

It still shows the initial 5 skills I placed for testing, none of the other 16 or so abilities.


Please see attached for the files...

http://rapidshare.co...8/help.zip.html

I really appreciate your help. Thank you so much.


It's rapidshare, so if it runs out of downloads, please tell me and I can re-upload.

Modifié par orgo.love, 02 janvier 2010 - 04:11 .


#9
orgo.love

orgo.love
  • Members
  • 33 messages
Bump... :(



I saw that this mod:



http://www.dragonage.../file.php?id=91



has the shapes that have more than 5 abilities - 25, in fact.



Can someone tell me how he did it? I tried to contact him, but he has never answered...

#10
JackFuzz

JackFuzz
  • Members
  • 408 messages

orgo.love wrote...

Bump... :(

I saw that this mod:

http://www.dragonage.../file.php?id=91

has the shapes that have more than 5 abilities - 25, in fact.

Can someone tell me how he did it? I tried to contact him, but he has never answered...


Doesn't the compiler error out when you try to compile header files?  Something about main or starting conditional missing? Check your log.

#11
anakin5

anakin5
  • Members
  • 258 messages
I looked at what you have do in you help.zip and ...... it is bad :)



First, to extend a M2DA table, you have to respect the format. shapechange.xls. The original shapechange has 24 columns and yours has 41 columns -_-



Then, it seems you forget to compile rules_core while you make change in Effects_HandleApplyEffectShapechange and Effects_HandleRemoveEffectShapechange.


#12
orgo.love

orgo.love
  • Members
  • 33 messages
Well, I got it to work. so Nm. Thanks to offokorn.

#13
JackFuzz

JackFuzz
  • Members
  • 408 messages

orgo.love wrote...

Well, I got it to work. so Nm. Thanks to offokorn.


I'm having problems getting changes to take place in utility_h

I've compiled rules_core, player_core, abilities_core

but I can't get the code in utility_h.nss to work.

Anytime a cutscene fires in game the following line I added never works:

void CS_LoadCutsceneWithReplacements(resource rCutscene,
                                     string [] arActors,
                                     object [] arReplacements,
                                     string strPlot = "",
                                     int nPlotFlag = -1,
                                     string sTalkSpeaker = "")
{
    object oModule = GetModule();
                 
    SetLocalString(oModule, CUTSCENE_SET_PLOT, strPlot);
    SetLocalInt(oModule, CUTSCENE_SET_PLOT_FLAG, nPlotFlag);
    SetLocalString(oModule, CUTSCENE_TALK_SPEAKER, sTalkSpeaker);
    
////
    [b]SetLocalString(oModule, "bp_string3", "wtf");

        PrintToLog("wtf");
        PrintToLog("CUTSCENE FIRE:" + ResourceToString(rCutscene));[/b]
        
        ////
    
    LoadCutscene(rCutscene, OBJECT_INVALID, TRUE, arActors, arReplacements, TRUE);
}