Jump to content

hdhd

Members
  • Posts

    157
  • Joined

  • Last visited

Everything posted by hdhd

  1. Open in the toolset shl_arm_spi_00 and look at the values. I never created any items for shale, but it should be easy. You only have to compare the items to normal weapons. You might see what the difference is and what you need to change to make them to crystals. Are the descriptions on every item that you create not there or only on specific ones? I don't know why it would not work but maybe you could try strings. Strings are saved in *.tlk (talk tables). You could make use of them by creating a new string and entering it as description (not tested).
  2. The Stone Prisoner items can be found in BioWare\Dragon Age\AddIns\dao_prc_cp_2\core\data\designeritems.erf or dao_prc_cp_2\module\data\designeritems.erf. You will only find already compiled *.uti files but it is still possible to make changes with either recreating the item or changing the values. Creating spells is bit more complicated especially because all the script files for Shale are compiled. Maybe look first at this tutorial before you try to change anything: http://social.bioware.com/wiki/datoolset/index.php/Adding_a_New_Spell_Tutorial
  3. You only have to recompile the other dependencies when you do changes to them but as the only changes you did where in the rules_core you don't need to recompile them. In the header file are all the scripts listed that compile with rules_core: #include "utility_h" #include "rules_h" #include "events_h" #include "effects_h" #include "ai_main_h_2" #include "ui_h" #include "sys_soundset_h" #include "sys_stealth_h" #include "sys_ambient_h" #include "sys_itemprops_h" #include "ability_h" #include "approval_h" Another suggestion, why don't you use event_override so you don't have to change the whole rules_core: #include "utility_h" #include "wrappers_h" #include "events_h" void main() { event ev = GetCurrentEvent(); int nEventType = GetEventType(ev); int nEventHandled = FALSE; switch(nEventType) { case EVENT_TYPE_DAMAGED: { //add here your code nEventHandled = TRUE; break; } } if (!nEventHandled) { HandleEvent(ev, RESOURCE_SCRIPT_RULES_CORE); } } You also don't have to make a new if clause use: if (!HasAbility(OBJECT_SELF,ABILITY_TALENT_MELEE_ARCHER) || (!HasAbility(OBJECT_SELF,DW_ARCANE_ARCHERY_FINESSE))) if not has ability ... or not has ability ... I don't understand what you mean with "adding it in the include". Did you make a new script that references to the rules_core?
  4. You want to edit a specific part of the rules_core script or what do you mean exactly? To override specific events you can look at this tutorial: http://social.bioware.com/wiki/datoolset/index.php/Event_override Normally you don't have to override core scripts when you want to add spells. Maybe tell me exactly what you want to edit in the rules_core. I don't know much about spells but perhaps I can help you figure out how to solve your issues with effects.
  5. It should work, even in Awakening. I have no idea why it doesn't work but I can't test it myself because I haven't installed Awakening. I made a new dazip this will work for sure. The items will be added automatically to your inventory when you load the game. If it still doesn't work check if you have enabled the duncan's dark armor mod and change in BioWare\Dragon Age\Settings\AddIns.xml the ExtendedModuleUID to ExtendedModuleUID="DAO_PRC_EP_1". dazip: http://filebeam.com/f966b03dbd62ec5ca11b2c75358c1c41
  6. Yes, I tried to make the level so it looks like the Warden's Keep. But it was too much work, especially finding the right textures for walls etc. I think I'll stick to things like scripts or other simple things. Maybe someone more experienced in level design will make this mod. Anyhow it is possible to make it so that it resembles the original Warden's Keep. This tutorial might help if anyone wants to try: The original layout can be opened with: http://social.bioware.com/wiki/datoolset/index.php/Tutorial:_Using_DLC_areas_in_your_mods
  7. Open the console and enter: runscript addme (without changing anything like names etc., just copy the script in your override folder)
  8. Mostly, I do only changes to scripts therefore I can simply backup the nss file. For bigger projects I always make b2b packages and reset the database after making any core file changes. I only work on one project at a time so it is "release and forget" :biggrin: Of course if anyone finds a bug or has any good suggestions I'll load it again in the builder and make the changes. I never have more than one module in the toolset. I'm not sure if other modules (that shouldn't be loaded) are loaded even if I had disabled them in the add-in screen thus I always reset the database and open a batch script to delete all folders that had been created by the toolset. Now I can be sure that if a problem occurs that it can't be from my other test module or perhaps from the not-deleted toolsetexport folder.
  9. Export it but let it remain in your add-in folder. You should maybe look at this tutorial: http://dragonagemodding.wordpress.com/2009/11/11/a-start-creating-a-module-to-give-your-player-an-item/ this will explain what modules are. I hope you did not open under manage modules single player because you've to extent Single player not override it. You should maybe then restore the database if you changed any core files in single player: http://social.bioware.com/wiki/datoolset/index.php/Database_backup_and_restore#Restoring_the_Database_if_it_failed_after_Installation The most important part is to set the "Extended Module" to "Single Player", tick in the Hierarchy "Single Player" and set "script" to your one. If you did all right your add-in should be loaded and a dialog with no text should appear (this is just for debugging purposes later you can delete EVENT_TYPE_MODULE_LOAD again): #include "utility_h" #include "wrappers_h" #include "events_h" void main() { event ev = GetCurrentEvent(); int nEventType = GetEventType(ev); switch (nEventType) { case EVENT_TYPE_MODULE_LOAD: { //if you want text in the pop up: String Editor, new string 818120399 ShowPopup( 818120399, 4); //you can also use PrintToLog (but don't forget to turn on logging and include log as header file) or DisplayFloatyMessage break; } case EVENT_TYPE_MODULE_GETCHARSTAGE: { SetPartyPickerStage("my_char_stage", "partypicker"); break; } } } I also found an interesting comment about module_core Here some more tutorials: http://social.bioware.com/wiki/datoolset/index.php/Creating_a_module#Creating_a_new_Module http://social.bioware.com/wiki/datoolset/index.php/Adding_a_New_Spell_Tutorial http://www.x3dmod.com/da/da_new_class.htm (this is not for special classes like Dog, Shale) http://social.bioware.com/wiki/datoolset/index.php/Useful_Scripts It will work, even if it is not in the override folder, you only have to extent the Single Player module.
  10. Download my additem script: http://www.dragonagenexus.com/downloads/file.php?id=1131 and type in the console: runscript additem prm000im_dragon_blood_boots.uti 1 runscript additem prm000im_dragon_blood_glove.uti 1 runscript additem prm000im_dragon_blood_helm.uti 1 runscript additem prm000im_dragon_blood_plate.uti 1 If you want more of them change 1 with another number e.g 10.
  11. It seems to me a bit unnecessary to duplicate the module_core and have all the unused functions included in your script. I meant earlier that you should best make a new script (Right Click -> New -> Script) and then click on File -> Manage Modules -> Properties... -> Script -> Your_New_Script. Paste into Your_New_Script: #include "utility_h" #include "wrappers_h" #include "events_h" void main() { event ev = GetCurrentEvent(); int nEvent = GetEventType(ev); switch (nEvent) { case EVENT_TYPE_MODULE_GETCHARSTAGE: { SetPartyPickerStage("my_char_stage", "partypicker"); break; } } } Of course if you still want to do it with module_core put: case EVENT_TYPE_MODULE_GETCHARSTAGE: { SetPartyPickerStage("char_stage", "partypicker"); break; } for instance under (the location doesn't matter as long there aren't any syntax errors): case EVENT_TYPE_OPTIONS_CHANGED: { } break;
  12. It doesn't matter if you override the module_core or make a new script and set this as your module script. The advantage of making a new script is a better compatibility with other mods because you don't overrride/change any core files. Therefore a new script is the better choice (use my code and copy it in your script then set it in properties to your module script) I don't know if you have already gotten your companion working but making abilities (there aren't any "generic werewolf attacks" as far as I know) is a bit more complicated. I never made any abilities so I can't help you with this much. But I think you first have to create a new class (like Dog, Shale), then later add new abilities to it.
  13. It is not possible to clean Warden's Keep because the layout file isn't editable. Everything else should be possible. Look at my post in another topic: http://thenexusforums.com/index.php?showtopic=195027&view=findpost&p=1719390
  14. Okay, I uploaded it on filebeam: http://filebeam.com/f24df4c0b52da6f62dca88750c2ac65a
  15. Look in the toolset for Scripts/Core Scripts/module_core then add there a new case EVENT_TYPE_MODULE_GETCHARSTAGE: or maybe you can create a new script: #include "log_h" #include "utility_h" #include "wrappers_h" #include "events_h" void main() { event ev = GetCurrentEvent(); int nEvent = GetEventType(ev); Log_Events("", ev); switch (nEvent) { case EVENT_TYPE_MODULE_GETCHARSTAGE: { SetPartyPickerStage("my_char_stage", "partypicker"); break; } } }
  16. Most mods can be made compatible with changing in the addins.xml the ExtendedModuleUID="Single Player" to ExtendedModuleUID="DAO_PRC_EP_1". If it is your own mod that you want to make compatible you have to change the module owner to core game resources. Of course if the mod adds an item to a dao merchant then you also have to adjust the script (e.g GetObjectByTag("store_camp_bodahn");).
  17. Make a new script, export it and put it in the override folder: #include "wrappers_h" #include "utility_h" void main() { UT_AddItemToInventory(R"duncans_dark_hvy.uti", 1); UT_AddItemToInventory(R"duncans_dark_lgt.uti", 1); UT_AddItemToInventory(R"duncans_dark_mass.uti", 1); UT_AddItemToInventory(R"duncans_dark_med.uti", 1); UT_AddItemToInventory(R"duncans_dark_robe.uti", 1); } Open the console and type in runscript your_script.
  18. Not really, you can use my script everywhere while you have to go to the merchant with the other mod. Such an item script is useful e.g if you are in a fight but forgot to buy health potions. Of course for a few people the console is too complicated then the merchants are a better choice, especially because you need the item tag with my script. @Lehcar I think only in the toolset you can look up the item tags. Sometimes you can also guess what item which is: open the source file (.nss), then e.g gen_im_cweapon_broodmother.uti is an item dropped from the broodmother or gen_im_qck_health_101, 102 etc. are health potions.
  19. Okay, here's the source http://pastebin.com/sds4hmD7 I also uploaded it on nexus http://www.dragonagenexus.com/downloads/file.php?id=1131
  20. @Don_Kain This mod spawns only merchants but isn't an additem console command. @Lehcar I made the additem script: // ----------------------------------------------------------------------------- // additem // ----------------------------------------------------------------------------- /* Adds an item to the player Usage: runscript additem <item tag> <amount> <item tag> - Resource of item to add to inventory <amount> - Amount of this item to add to inventory Example: runscript additem gen_im_acc_amu_am17.uti 4 */ // ----------------------------------------------------------------------------- // hdhd // ----------------------------------------------------------------------------- I would post the whole code but it is too big (1255 lines). I generated it with a php script (could probably be improved some more, but it's working :biggrin: ) //script to generate the StringToResource function, *.uti files have to be exported with the toolset <?php $path="c:\exported"; $file="file1.txt"; $fp = fopen($file, 'w'); chdir($path); fwrite($fp, "resource StringToResource( string sTemplate ) {\n"); fwrite($fp, " if( sTemplate != \"\" ) {\n"); fwrite($fp, " sTemplate = StringLowerCase( sTemplate ); \n"); foreach (glob("*.uti") as $filename) { fwrite($fp, " if (sTemplate == \"" . $filename . "\") return R\"" . $filename . "\"; \n "); } fwrite($fp, " }\n"); fwrite($fp, " return R\"\";\n"); fwrite($fp, "}\n");
  21. I think the author on cheathappens added manually each item to the script because there isn't any ResourceToString function in the toolset yet. I tried for instance UT_AddItemToInventory(sItemTag, nAmount); additem.nss - additem.nss(57): Declaration does not match parameters (while compiling var_constants_h.nss) The main issue is when the user types in runscript additem R"item.uti". The UT_AddItemToInventory function only accepts resources not strings and because you can't convert them you have to hardcode the whole function: //found on social.bioware resource StringToResource( string sTemplate ) { if( sTemplate != "" ) { sTemplate = StringLowerCase( sTemplate ); if( sTemplate == "chicken.utc" ) return R "chicken.utc"; if( sTemplate == "hurlock.utc" ) return R "hurlock.utc"; // etc for every possible resource. } return R ""; }
  22. I tried something but it isn't working. Maybe is more complicated than I thought. Here is what I tried: //all credits to the mod Dialog Effects Remover, just changed the remove effects part to unequip item #include "utility_h" #include "events_h" void main() { event ev = GetCurrentEvent(); int nEvent =GetEventType(ev); switch (nEvent) { case EVENT_TYPE_GAMEMODE_CHANGE: { int nGameMode = GetGameMode(); switch (nGameMode) { case GM_DIALOG: { object oPC = GetMainControlled(); object[] oPartyList = GetPartyList(oPC); int nSize = GetArraySize(oPartyList); int i; for (i = 0; i <= nSize; i++) { EquipItem(oPartyList[i], GetItemInEquipSlot(5, oPartyList[i])); } break; } } } } }
  23. Most item add-ins work with WR_GetPlotFlag to prevent spawning of items twice. When the mod is loaded it is checked if the item has already been added (via GetPlotFlag): - If it hasn't been added --> add item and set the plot flag (WR_SetPlotFlag). - If it has been added --> return and do nothing Many modders make the mistake of naming the plot flag exactly the same like in the tutorial. If now somebody else called his plot flag the same like somebody else, it is already set and the item isn't added (no guarantee I could also be wrong!). You can fix this by resetting the plot flag, removing in the script the GetPlotFlag part or changing the plot flag name.
  24. I would suggest to make a plot flag check at the beginning so that it spawned just once. But this is only a workaround. To do it properly follow this tutorial http://dragonagemodding.wordpress.com/2009/11/15/creating-a-custom-merchant-for-the-players-camp-part-1/ (especially the PRCSCR part) if (WR_GetPlotFlag(PLT_YOUR_PLOT, YOUR_FLAG) return; By the way you can use code boxes for scripts
  25. You have to open the savegame file with the toolset, not the notepad. Or download a hex editor and try to change some values.
×
×
  • Create New...