Jump to content

argent77

Modders
  • Posts

    1,587
  • Joined

Everything posted by argent77

  1. You can assign the return value of a function to another variable: LPF STRING_TO_ARRAY STR_VAR string="1 2 3" RET_ARRAY array1 = array END // PATCH_PHP_EACH array1 AS _ => v BEGIN ... LPF STRING_TO_ARRAY STR_VAR string="" RET_ARRAY array2 = array END // PATCH_PHP_EACH array2 AS _ => v BEGIN ...
  2. That alone wouldn't be enough since Story Mode effects are checked and reapplied to Player2 to Player6 in BDBALDUR.BCS on a regular basis. You would have to add an area check there as well. Btw, the issue is already fixed in EET.
  3. Spellhold Studios Reveal Hidden Gameplay Options This is a mod for all Enhanced Edition games that adds a great number of useful options directly to the game's options menu. These options include the (in)famous debug console, various convenience and graphics options and many more. Version 4.1 provides Russian translation for the "Improved Cheat Menu" that was introduced by version 4.0. Links: Forums: SHS, Beamdog Download: SHS, GitHub Readme
  4. That's actually vanilla game content. These "travellers" are supposed to be rakshasas in disguise (hence the magic resistance), and can appear after chapter 4 in random encounter areas.
  5. If you just want to evaluate the elements inside the string, then this code may suffice: INNER_PATCH ~%icons%~ BEGIN REPLACE_EVALUATE ~[^ %TAB%]+~ BEGIN PATCH_PRINT ~Processing string value: "%MATCH0%"~ END ~%MATCH0%~ END
  6. You could simplify the code like this: ACTION_DEFINE_ASSOCIATIVE_ARRAY my_files BEGIN ~a~ => 1 ~b~ => 1 ~c~ => 1 ~d~ => ~%sometest%~ ~e~ => ~%sometest%~ ~f~ => ~%sometest%~ END ACTION_PHP_EACH my_files AS file => condition BEGIN ACTION_IF (condition) BEGIN COPY_EXISTING ~%file%.cre~ ~override~ // Do your stuff... BUT_ONLY IF_EXISTS END END If "sometest" is only defined after the array definition, then this code might be more suitable: ACTION_DEFINE_ASSOCIATIVE_ARRAY my_files BEGIN ~a~ => 0 ~b~ => 0 ~c~ => 0 ~d~ => 1 ~e~ => 1 ~f~ => 1 END ACTION_PHP_EACH my_files AS file => condition BEGIN ACTION_IF (NOT condition || sometest && condition) BEGIN COPY_EXISTING ~%file%.cre~ ~override~ // Do your stuff... BUT_ONLY IF_EXISTS END END
  7. @10ppiscool According to the attached log file you were using an outdated version of 10pp. Could you try again with the latest version? (Latest)
  8. That's actually a vanilla game file in BGEE which goes back to oBG1. It's most likely unused. There is an identical resource without spaces in the filename (MONKTU8.DLG) which is used by one of the tutorial monks in Candlekeep.
  9. Actually, EET already attempts to deal with Story Mode, but the scripting is incomplete. Currently in BD6100.BCS there is this block: It removes the Story Mode effects from the protagonist (via spell "OSHMODE2") and sets the story mode variable ("OHSMODE") to -1. In BDBALDUR.BCS we have this block: It' doesn't fire in the ambush area because of the area check and the variable "OHSMODE" already being set to -1. But further down we have also blocks for all other party members, like this: These blocks are still executed, even in the ambush area. The actual problem is the spell "OSHMODE1", however, which applies the Story Mode immunities. Most effects of the spell are set to target the whole party. Combined with the script block above it will always affect the whole party as long as it is applied to at least one party member. The quickest way to fix the issue is to add an area check to the Story Mode checks for Player2 to Player6 in BDBALDUR.BCS and extend the spell effect removal in BD6100.BCS to all party members. Story Mode is automatically restored when you regain control over the party in Chateau Irenicus.
  10. From my own tests it looks like only "Effective AC" is used by the game. Even characters with a natural AC progression (like monks) modify only effective AC. Natural AC doesn't appear to be used by the game. I'd say the term "Effective AC" is somewhat misleading, since it doesn't include AC bonuses from stats, items or spell effects.
  11. Spellhold Studios Reveal Hidden Gameplay Options This is a mod for all Enhanced Edition games that adds a great number of useful options directly to the game's options menu. These options include the (in)famous debug console, various convenience and graphics options and many more. Version 4.0 adds a new component that greatly expands the cheat menu with the ability to create items or spells, open stores, spawn creatures or execute useful cheat commands. You can grab the latest release from the download links below. Links: Forums: SHS, Beamdog Download: SHS, GitHub Readme
  12. I'd recommend to install "Hidden Gameplay Options" after Tweaks Anthology to get the most out of the mod. An increasing number of mods also provide a .ini file inside their mod folders which provides some basic information about mod order. Look for the lines with the "Before" and "After" keywords.
  13. I've tried my luck and coded a WeiDU mod. (Being a WeiDU script) it doesn't provide the fastest execution speed, but it should get the work done. Download: ExportTilesetDoors.zip
  14. The ground work may already exist in NI but it would still be (more or less) a whole new implementation from scratch to add such a feature. It might be faster (and more customizable for your task) to code something like that in WeiDU. Since 64-bit WeiDU has lifted the 16 MB buffer limit for big files it is actually doable to create some kind of TIS data converter.
  15. Near Infinity v2.3-20230303 Near Infinity is a resource browser and editor for Infinity Engine games, such as Baldur's Gate or Icewind Dale. It is written in Java and available for Windows, macOS and Linux. This version provides many improvements, such as improved audio playback, MOS and TIS viewers, as well as many bugfixes. More information as well as a detailed Changelog can be found in the respective topics at Spellhold Studios and Beamdog Forums. Download: GitHub
  16. Because of the FILE_CONTAINS_EVALUATED() check in bgee.lua. Without any checks the whole code could be reduced to WITH_TRA ~path/to/other_mod/tra/%LANGUAGE%/mod.tra~ BEGIN OUTER_SET title_strref = RESOLVE_STR_REF(@100) END
  17. That should work just the same. Only the OUTER_PATCH_SAVE block isn't needed in that case.
  18. Doesn't work if you install characters with the NPC Generator. It allows every generated NPC to tag along as a follower.
  19. EE patch 2.6 has generally issues with wall polygons, which worked correctly in previous patch versions. You can easily spot them with active visual effects (fire shield, etc.), like this instance in the Pocket Plane:
  20. This is just a minor issue which probably doesn't need a fix, but I'll mention it anyway. [BG2EE] Issue with erroneously placed transparent pixels in tilesets Some tilesets were apparently incorrectly converted into the PVRZ format, which erroneously produced transparent pixels. Affected tilesets: - AR0204: A020401.PVRZ (very minor) - AR0300: A030014.PVRZ, A0300N15.PVRZ - AR0900: A090014.PVRZ, A0900N14.PVRZ - AR5000: A500006.PVRZ, A500007.PVRZ, A500008.PVRZ Example (AR0900): In the game itself these are only really noticeable if you know where to look for them, since they are either overlaid by water animations or black pixels.
  21. Installing multiclass kits for three-class combinations should work the same way as for two-class combinations. Using this example, for a F/M/T kit you just have set "kit_class" parameter to 10 (FIGHTER_MAGE_THIEF), and (optionally) provide an additional mage clab table (e.g. via "clab_base_m" parameter).
  22. There is a glaring engine bug in the SetGlobalTimer() script action in PST:EE. The script action computes expiration time based on the real time value instead of game time, which causes GlobalTimer[Not]Expired() triggers to return meaningless results. The timer has usually already expired by the next timer check. The effect is mostly apparent in mods. There are also several instances in the unmodded game, but none of them appear to be game-breaking. To work around this issue it is possible to use the (only one) PSTEE-specific script action that is still based on game time: SetGlobalTimerRandom(S:Name*,S:Area*,I:Min*GTimes,I:Max*GTimes) This action is not without issues either. If executed with the same value for Min and Max from a dialog action block, the timer will compute a random value between 0 and Max instead. Using values that are one apart seems to work though.
  23. Implementation is actually rather straightforward, since save slots can be customized in EE games. I've tested it on my local installation without apparent issues. Theoretically it is possible to add more predefined save slots, but they will most likely interfere with manual saves from pre-EEFP'ed games.
  24. Unlike in BGEE or IWDEE, there are no "chapter saves" created in PsTEE. The reason for that is obvious, as PsT doesn't use chapters to advance the plot. However, I think that "chapter saves" are useful in situations where you screwed up and don't want to start the whole game or substantial portions anew - which can be the only choice if you only rely on autosave and quicksave. I propose to implement that feature in PsTEE as well. Afaik, the same was implemented by one of the later Beamdog patches for IWDEE. PsTEE's SAVENAME.2DA contains 3 (or maybe 4) unused entries (slots 3 to 5/6) which could be used for story-progression purposes. Since there are no chapters, it is more difficult to decide when these saves should be created, and how they should be named. My suggestions are: Slot 3: At the beginning of the game, right after waking up in the Mortuary (and having completed your first talk with Morte). Name suggestions: 000000003-Mortuary 000000003-Waking up in the Mortuary There is no autosave created at all when you start a new game, so in the worst case you have to start all over again if you screw up. Slot 4: Arriving at the Lower Ward from the Alley of Lingering Sighs. Name suggestions: 000000004-Lower Ward 000000004-Arrival at the Lower Ward In my opinion this is a logical point in the plot progress where another save would make sense. Arriving at the Lower Ward opens up access to all of Sigil and allows you to make use of the worldmap travel feature. Slot 5: Right before teleporting to Ravel's Maze. Name suggestions: 000000005-To Ravel's Maze 000000005-Departure to Ravel's Maze The trip to Ravel's Maze is basically a "point of no-return", so a save at this point would be useful. Slot 6: Original name of the save is "000000006-Start-Combat-Save". Slots of that name can also be found in all the other EE games, so it's possible that this slot is reserved by the game engine. Otherwise it could be repurposed as well. There is also a "Final Save" slot defined but unused in PsTEE. I'd suggest to create it when TNO reaches the final boss map. I'm unsure whether this proposal fits into EEFP or would be more suitable for Tweaks Anthology. It is an addition to PsTEE, but a consistency fix as well, since all the other EE games already provide chapter saves by now. Thoughts?
×
×
  • Create New...