Jump to content

Search the Community

Showing results for tags 'script'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General Discussion
    • G3 News and Announcements
    • Infinity Engine Modding News
    • General Mod Discussion
    • Fan Fiction
    • Noobermeet
  • Tools & Resources
    • DLTCEP
    • GemRB
    • The Gibberlings Three Debugging Suite for BG2
    • IESDP Updates and Info
    • Modding How-Tos and Tutorials
    • Modding Q&A
    • Multi-Install Tool
    • Widescreen Mod
  • Released Projects
    • Miscellaneous Released Mods
    • Ajantis
    • Alternatives
    • Amber
    • Angelo
    • Ascension
    • Auren Aseph
    • BG1 NPC Project
    • Baldur's Gate Mini Quests and Encounters
    • The Beaurin Legacy
    • BG2 Fixpack - General Discussion
    • Calin
    • The Calling
    • Cirerrek's AI Scripts
    • Coran's Friendship Mod
    • Crossmod Banter Pack
    • Crossmod Banter Pack (IWD)
    • Divine Remix
    • Enhanced Edition Trilogy
    • Evandra
    • Full Plate & Packing Steel
    • Garrick's Infatuation
    • Gavin
    • The Gibberlings Three Anniversary Mod
    • Grey the Dog
    • Glam's NPC Pack
    • Icewind Dale Mod Roundup
    • Icewind Dale in Baldur's Gate II
    • Imoen 4 Ever
    • Item Randomiser
    • Item Revisions
    • IWD2 NPC Project
    • IWDification
    • Keeping Yoshimo
    • Kivan and Deheriana Companions for BG2
    • Level One NPCs
    • Mur'Neth
    • NPC Kitpack
    • NPC Strongholds
    • NPC Tweak for BG2
    • Oversight
    • Romantic Encounters (BG)
    • Romantic Encounters (BG2)
    • Sarah
    • SoD to BG2EE Item Upgrade
    • Song and Silence
    • Spell Revisions
    • Sword and Fist
    • Sword Coast Stratagems
    • Tweaks Anthology Forum
    • Tyris Flare
    • Wheels of Prophecy
    • Yoshimo's Remorse
  • Unreleased Projects
    • Aklon
    • Balduran's Seatower
    • Baldur's Gate: Shadow Hand TC
    • Aran Whitehand
    • Delainy
    • IWD Tutu
    • Kit Revisions
    • Inactive Projects
  • NWN2 Modding
  • Mod Workrooms


  • NPCs
  • Quests and Others
  • Tweaks & Fixes
  • Items/Kits/Spells
  • Portrait Packs
  • Mini Mods
  • Tools
  • In Progress


  • Fixes
  • Items
  • Kits
  • NPCs
  • Quests
  • Spells
  • Tweaks
  • Other
  • Tools

Product Groups

There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start




Website URL









Mods Worked On

Found 9 results

  1. Per the IESDP https://gibberlings3.github.io/iesdp/scripting/actions/iwd2actions.htm I suspect this action actually is specific to the creature using it; it is primarily used in cutscenes and seems to be actor-specific. Additionally, the player character can make use of it via an AI script. When used on the player character, it functions similarly to EE opcode 262 (Visual Range) but is not capped. IWD2 scripts use values of 0 (blind), 25 and 99/100. The value 25 corresponds approximately to the limit of opcode 262. Greater values work but are subject to LOS and can lead to visual fog-of-war glitches if not used in open areas (nothing blocking LOS). If the player character uses a value of 0 or 1, no other NPCs will be rendered as the fog of war will cover everything. (They can still see you, of course.) Just mentioning this because the way the description is worded I thought I wouldn't be able to use it. Naturally, I tried it anyway. Edit: just to clarify it does affect everyone, but it also affects the party (if they use it anyway) by extending the fog of war out so you can see further. Of course, the enemies benefit likewise.
  2. Greetings and congratulations to the team for the 0.8.5 release. There is a bug that i see for some time now but as always i forget to report a bug until i see a release announcement In the "Menkar Pebblecrusher" fight there is a thief NPC named Brennan Risling (sevpat05) who, if hurt sufficiently, leaves the area. So, in order for you to kill him, you have to hit him hard and kill him quickly before his script triggers. sevpat05.bcs contains the following code: IF HPPercentLT(Myself,50) Global("Hurt","LOCALS",0) See([PC]) THEN RESPONSE #100 Wait(2) StartDialogueNoSet([PC]) END sevpat05.dlg contains the following: Trigger: HPPercentLT(Myself,50) Global("Hurt","LOCALS",0) Action: SetGlobal("Hurt","LOCALS",1) EscapeArea() So, if he reaches less than 50% HP, he leaves. In the original engine, this works perfectly (though it seems to me that 50% is quite large and the party should never be able to kill him before the script triggers but maybe there is a delay). In GemRB, there is a weird behavior. The script triggers perfectly if you can't kill him quickly enough but it also triggers even when he is dead. 1) Steps to reproduce: * Create a character (preferably a hard-hitting character like a fighter, paladin, archer ranger, etc) * Escape Irenicus's Dungeon and in Waukeen's Promenade go to the upper floor of "Den of the Seven Vales" (AR0712 if you want to jump there) * Trigger the fight * Kill everyone else with ctrl+y and fight Brennan Observed result: Brennan dies and then his script triggers and he "escapearea"s so his loot is gone. Even killing him in one blow with the killsw01 or with ctrl+shift+y results in the script triggering. Can anyone else reproduce this or is it a bug in my installation ? 2) If there is a bug in my installation, of course disregard my post. If not, can this be fixed ? I found the HPPercentLT function in core/GameScript/Triggers.cpp. As always i blindly tried to find how to make it ignore dead people and found some code in another function. If i modify HPPercentLT as shown above, then it works and doesn't trigger for dead Brennan but something else weird happens. If i don't kill him fast enough, then the script triggers, he says the dialog but does not escape and you continue fighting him until you kill him. So this isn't the correct solution. Thank you for your time.
  3. So, I have gemRB 0.8 on Android and I try playing HOW. PCs in my team don't have any AI. I set AI script for each PC in PC properties, but they don't have any AI yet. What I do wrong?((
  4. For some time now I'm running into this problem and I haven't found a solution for so far. Describing my problem is somewhat complicated, but I'll try it anyway: In the mod I'm currently working on I am using helper creatures to run "global" scripts as a way to avoid polluting the baldur.bcs. So each time the party enters a new area, a helper creature is created (if it doesn't yet exist). However, the game doesn't limit the execution of scripts to the current area only. Oftentimes scripts from related areas are executed too. That has probably something to do with master areas and how they control script execution (I don't understand this mechanism fully yet). I can detect this case too, by using Exists() as one of the triggers to decide whether to create a new helper creature. However, if I save and reload a game, the scripts from the related areas aren't executed anymore and as a result a new helper creature is created in the current area. But if I visit the former areas again, then two or more helper creatures are active which could lead to multiple executions of the same script block in special situations. I'm trying to prevent it as best I can, but it doesn't always work. This leads to my question: Is it possible to detect whether two or more helper creatures are active at the same time, so that I can disable the other one(s)?
  5. It just happened in a test play for my mod. After my character had been level drained by a Vampiric Mist, the XPGT() trigger in one of my scripts triggered several times, indicating that my character is now supposed to have over 2.5M XP. The character was a fighter at lvl. 13 (1.25M XP) dual-classed to a thief at currently 100k XP. I'm not sure if the trigger malfunctioned because the character was dual-classed or if it always happens. EDIT: It seems to happen only for dual-classed characters. The higher the XP of the first class, the more off the mark are the XP*() triggers when level drained. This is just a wild guess, but it appears as if the trigger simply multiplies the XP amount of the first class by 2 and compares the result with the specified argument.
  6. I have created a cutscene which transports the protagonist to another area as part of a quest. The remaining party members are made unselectable and "stored" in a different map during the quest part. It works flawlessly in singleplayer mode. However, when I tested it in a multiplayer game the remote users lose control over their characters after the cutscene. I've tried different placements of the MakeUnselectable() actions to no avail. Also any other way to immobilize the party members temporarily doesn't work. I even tried to maze the characters temporarily, so I could transport everyone to the same map without interfering the quest, but this action caused some problems too. This is the code of the cutscene (reduced to the important parts): IF True() THEN RESPONSE #100 CutSceneId(Player1) StorePartyLocations() CreateVisualEffectObject("SPFLSRIN",Myself) PlaySound("EFF_M40") FadeToColor([30.0],0) Wait(2) ActionOverride(Player2,MakeUnselectable(999999)) ActionOverride(Player3,MakeUnselectable(999999)) ActionOverride(Player4,MakeUnselectable(999999)) ActionOverride(Player5,MakeUnselectable(999999)) ActionOverride(Player6,MakeUnselectable(999999)) ActionOverride(Player2,ReallyForceSpell(Player2,HOLD_PARTY)) ActionOverride(Player3,ReallyForceSpell(Player3,HOLD_PARTY)) ActionOverride(Player4,ReallyForceSpell(Player4,HOLD_PARTY)) ActionOverride(Player5,ReallyForceSpell(Player5,HOLD_PARTY)) ActionOverride(Player6,ReallyForceSpell(Player6,HOLD_PARTY)) LeaveAreaLUAPanic("A7AR06","",[434.368],13) ActionOverride(Player2,LeaveAreaLUA("A7AR07","",[372.256],2)) ActionOverride(Player3,LeaveAreaLUA("A7AR07","",[288.248],2)) ActionOverride(Player4,LeaveAreaLUA("A7AR07","",[402.316],2)) ActionOverride(Player5,LeaveAreaLUA("A7AR07","",[222.282],2)) ActionOverride(Player6,LeaveAreaLUA("A7AR07","",[364.384],2)) LeaveAreaLUA("A7AR06","",[434.368],13) MultiPlayerSync() FadeFromColor([30.0],0) Wait(2) EndCutSceneMode() END The maps are flagged as "Can't save/No rest" to avoid even more trouble. I don't have much experience with multiplayer games. Is it even possible to divide the party over different maps or otherwise remove party members from the play temporarily without causing trouble? NB: The cutscene can be triggered everywhere in ToB except in the Pocket Plane or the Throne of Bhaal.
  7. Hi, I'm currently working on a BG2 mod which introduces a creature which accompanies the party throughout the game. It behaves like a familiar, but I'm using the EA status CONTROLLED to control its actions. The side effect of my decision is, however, the creature isn't affected by the party's rest. For example, I am unable to restore its spell selection or innate abilities. So I have added a simple script block, using the PartyRested() trigger. The code block looks like that: IF Global("A7AfaaqSummoned", "GLOBAL", 1) Global("A7AfaaqGaseous", "GLOBAL", 0) InActiveArea("A7Afaaq") PartyRested() THEN RESPONSE #100 ActionOverride("A7Afaaq", Rest()) Continue() END The problem is that PartyRested() is very picky about where to trigger. It doesn't work in the creature's own scripts. At the moment I'm handling the block in the baldur.bcs, but I'd like to move it to a somewhat safer place. I've tried to put it into the dplayer3.bcs, which is the default script for Player1 (or any imported characters), but that script isn't executed at all, if Party AI isn't activated. Do you know of other places where the above code block may work or how to make the trigger work in the creature's own scripts?
  8. hello everyone, here is another question regarding my mod. this time i got a weird issue which breaks the game completely. my npc has a dream script file defined in pdialog.2da which works until some lovetalks. at the last lovetalk which should happen after resting in an inn does not fire. this is my first issue: my npc never talks to player after the rest. second, if i modify the dream script with DLTC editor (to test the above issue for example) then game ignores dream script file completely for whole saves/games etc... as if it is invalid. is there something i am missing or does game make a different check for this file? thanks, below is my dream script file, last LOVETALK-45 IF does not work. i appreciate if you can point a solution for that also:) IF InParty(Myself) RealGlobalTimerExpired("EU#LenaRomance","GLOBAL") Global("EU#LenaRomanceActive","GLOBAL",1) Global("EU#LenaMatch","GLOBAL",1) !AreaType(DUNGEON) See(Player1) !StateCheck("EU#Lena",CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) !See([ENEMY]) CombatCounter(0) OR(2) Global("EU#LenaLoveTalk","LOCALS",21) // Cooking Global("EU#LenaLoveTalk","LOCALS",29) // Why Still Let Travel THEN RESPONSE #1 IncrementGlobal("EU#LenaLoveTalk","LOCALS",1) Interact(Player1) END IF InParty(Myself) RealGlobalTimerExpired("EU#LenaRomance","GLOBAL") Global("EU#LenaRomanceActive","GLOBAL",1) Global("EU#LenaMatch","GLOBAL",1) !AreaType(DUNGEON) See(Player1) !StateCheck("EU#Lena",CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) !See([ENEMY]) CombatCounter(0) GlobalGT("EU#LenaLike","LOCALS",5) // greater/equal than 5 is enough from 19 (wrong!! need update) total possible Global("EU#LenaLoveTalk","LOCALS",31) // Lena Accepts THEN RESPONSE #1 IncrementGlobal("EU#LenaLoveTalk","LOCALS",1) Interact(Player1) END //: reverse of above, if like is low then set romance to 3 to enable others IF InParty(Myself) RealGlobalTimerExpired("EU#LenaRomance","GLOBAL") Global("EU#LenaRomanceActive","GLOBAL",1) Global("EU#LenaMatch","GLOBAL",1) GlobalLT("EU#LenaLike","LOCALS",6) // lower than 6, from 19 (wrong!! need update) total possible Global("EU#LenaLoveTalk","LOCALS",31) // Lena Accepts THEN RESPONSE #1 SetGlobal("EU#LenaRomanceActive","GLOBAL",3) END IF InParty(Myself) RealGlobalTimerExpired("EU#LenaRomance","GLOBAL") Global("EU#LenaRomanceActive","GLOBAL",2) Global("EU#LenaMatch","GLOBAL",1) !AreaType(DUNGEON) OR(12) AreaCheck("AR0021") // crooked crane, city gates, lvl1, not likely to happen because Lena refuses to stay AreaCheck("AR0406") // copper coronet, lvl2 AreaCheck("AR0704") // mithrest, waukens prom, lvl4 AreaCheck("AR0709") // den of seven vales, lvl3 AreaCheck("AR0313") // sea bounty tavern, lvl4 AreaCheck("AR0509") // five flagons, lvl4 AreaCheck("AR0513") // delosar, bridge, lvl4 AreaCheck("AR1602") // vulgar monkey, lvl2 AreaCheck("AR1105") // umar inn, lvl3 AreaCheck("AR2010") // vyatri pub, trademeet, lvl3 AreaCheck("AR5003") // saradush tavern, lvl3 AreaCheck("AR5501") // amkethran inn, lvl3 See(Player1) !StateCheck("EU#Lena",CD_STATE_NOTVALID) !StateCheck(Player1,CD_STATE_NOTVALID) !See([ENEMY]) CombatCounter(0) Global("EU#LenaLoveTalk","LOCALS",45) // Get Drunk At Inn THEN RESPONSE #1 IncrementGlobal("EU#LenaLoveTalk","LOCALS",1) Interact(Player1) END
  9. hi all, I need some scripting info about how NPCs live and initiate dialogue. My questions: * why and how an npc initiates a dialogue when removed from party? how can I disable this behaviour (or can I)? * removing an NPC from party and rejoining by script and "immediately" & "forcibly", is there a convenient way? (I did by moving member to some random area but did not like that solution) * DestroySelf() completely wipes an NPC from game? if so some of the game scripts should wipe some NPCs but they don't, I didnot get why. I tried this method but could not them reappear. Example is bodhi romantic interest abduction, check VAMPAMB script (it destroy self but still NPC "lives") I know these are questions and belong to another forum perhaps but I need some tutorial how NPCs work in general. I checked some of the tutorials around some sites but they don't mention these "low level" details. thanks
  • Create New...