Seite 2 von 2 « Erste 12
Ergebnis 21 bis 39 von 39
  1. #21 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Zitat Zitat von tombom81 Beitrag anzeigen
    The string "DemoHelper" is contained 11 times in the w_info.hdrdoc from the latest patch.
    The helpers can't be found in game, they need to be enabled one by one.

    ("StoryHelper" mod Nexus update (was switched to hidden after patch 3), too busy atm, but DemoHelper should come...)
    Haha now i get our misunderstanding. You're talking of ELEX 2 already, while I'm still working on ELEX 1 . I actually always admired people (like you, obviously) willing to mod games that aren't finally patched yet. Guess I don't have the patience for that, so I prefer modding (and even playing) games once I know they won't get any further updates and I have to adjust my mod over and over again. Lazy me ...

    Zitat Zitat von tombom81 Beitrag anzeigen
    btw, since you're digging in lost scripts (?), what about reviving on of these perks/skills?

    gESkill_Perk_AnimalFriend
    gESkill_Perk_Camouflage
    gESkill_Skill_Survival

    (I created an amulet but it had no effect.)
    So what's wrong with those skills in ELEX 2? Are they generally not working properly, or does the problem only occur when you try to activate them via an amulet? If it's the latter, it might probably be because in order to be able to use some skills, you have to actually "learn" them from a teacher so you get the corresponding activation spell. That should actually be no problem to fix, since you could simply write an InfoCommand that gives you the corresponding activation spell if your skill value is 1 but you don't possess the activation spell yet (bool permanent so you make sure it's also working every time you unequip and equip that amulet).
    valakii ist offline Geändert von valakii (16.04.2022 um 11:05 Uhr)

  2. #22 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Zitat Zitat von valakii Beitrag anzeigen
    Haha now i get our misunderstanding. You're talking of ELEX 2 already, while I'm still working on ELEX 1 .
    Haha, well ok, must have overread something...
    But cool, ELEX 1 needs modders like you; the rest of them vanished about half a year after release. It's a pitty.

    So what's wrong with those skills in ELEX 2?
    If I didn't miss something: they are not implemented.
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  3. #23 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Does anybody know an InfoCondition to check if a specific item is EQUIPPED?
    (Not gCInfoConditionItemAmount, which only checks if a specific item is in the overall inventory.)

    Maybe via gCInfoConditionScript / "Has_EquippedItem"? Can anybody provide samples of that script from other games than ELEX 1?
    valakii ist offline

  4. #24 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Not for a specific item, no. I have no idea, why there's a restriction in ELEX 2:
    Code:
                        InfoConditions {
                            class gCInfoConditionScript {
                                Version = 1;
                                Properties {
                                    class bCString ScriptName = "Has_EquippedHat";
                                    class bCString Self = "PC_Hero";
                                    class bCString Other = "";
                                    enum gEOtherType OtherType = gEOtherType_Entity;
                                    int Param = 0;
                                    class bCString StringParam = "";
                                    enum gEScriptParamType ParamType = gEScriptParamType_String;
                                }
                                ClassData {
                                }
                            }
                        }
    Another script is "Has_EquippedShirt".

    edit: found "Has_EquippedItem" in the code: Need to check whether it's usable in ELEX 2 or is a remains from the Risens only.
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline Geändert von tombom81 (18.04.2022 um 09:47 Uhr) Grund: "Has_EquippedItem"

  5. #25 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Thanks man.

    I really don't see the point why PB should include a script like that without giving the option to check for a specific item as well. I'll probably run some tests with that script.
    Also with the related conditions I found in Baltram's hash code list:

    Code:
    0x9D4A06DD="HasNot_EquippedItem"
    0xDD0E5E00="HasNot_EquippedMeleeWeapon"
    0x47395518="HasNot_EquippedShirt"
    0x47D7F483="HasNot_MeleeWeapon"
    0x296F6BA3="HasNot_Rifle"
    0xC96C544C="Has_EquippedItem"
    0x0C83588F="Has_EquippedMeleeWeapon"
    0xF7A55067="Has_EquippedShirt"
    0x0B1ED012="Has_MeleeWeapon"
    0xB21887F2="Has_Rifle"
    PS: Maybe via GameEvents? Has anybody ever tried to create a GameEvent via an item's PostInteractScript, for instance? If that would be possible, you could generate unique GameEvents for each item which could be used as a trigger for w_info commands...
    valakii ist offline Geändert von valakii (18.04.2022 um 09:48 Uhr)

  6. #26 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Zitat Zitat von valakii Beitrag anzeigen
    PS: Maybe via GameEvents?
    Can you give an example for such an event?

    The only GameEvents in ELEX I know of are merely flags (set by InfoCommandSetGameEvent) which are used to activate infodialogs (checked in InfoConditions).

    Code:
                        InfoConditions {
                            class gCInfoConditionPlayerKnows {
                                Version = 1;
                                Properties {
                                    class bCString PlayerKnows = "Gosta_IWillTeachYouNow";
                                }
                                ClassData {
                                }
                            }
                        }
    "Gosta_IWillTeachYouNow" is a GameEvent/boolean flag.
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  7. #27 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Zitat Zitat von tombom81 Beitrag anzeigen
    Can you give an example for such an event?

    The only GameEvents in ELEX I know of are merely flags (set by InfoCommandSetGameEvent) which are used to activate infodialogs (checked in InfoConditions).

    Code:
                        InfoConditions {
                            class gCInfoConditionPlayerKnows {
                                Version = 1;
                                Properties {
                                    class bCString PlayerKnows = "Gosta_IWillTeachYouNow";
                                }
                                ClassData {
                                }
                            }
                        }
    "Gosta_IWillTeachYouNow" is a GameEvent/boolean flag.
    Well, I saw disi123 call the "SetGuild_Alb" script via PostInteractScript of a potion... If we could also set our own GameEvents by PostInteractScript, we could call it "equip_it_sun_itemsight" (to stay with that example) and create an InfoScript in w_info which checks (PlayerKnows) for GameEvent "equip_it_sun_itemsight" as a condition. This way, it would actually be a workaround for an InfoCondition that explicitely checks if that item is worn. Provided that you can set your own GameEvents, especially from am item's PostInteractScript...

    But you're the experienced modder here, you tell me if that's making any sense to you
    valakii ist offline Geändert von valakii (18.04.2022 um 17:33 Uhr)

  8. #28 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Zitat Zitat von valakii Beitrag anzeigen
    Well, I saw disi123 call the "SetGuild_Alb" script via PostInteractScript of a potion...
    Cool! (Evolox wanted to chance Loyality that way (german posting). You might lend him a helping hand? )

    If we could also set our own GameEvents by PostInteractScript, we could call it "equip_it_sun_itemsight" (to stay with that example) and create an InfoScript in w_info which checks for GameEvent "equip_it_sun_itemsight" as a condition. This way, it would actually be a workaround for an InfoCondition that explicitely checks if that item is worn. Provided that you can set your own GameEvents, especially from am item's PostInteractScript...

    But you're the experienced modder here, you tell me if that's making any sense to you
    Well, I'm surely lacking the creativity of disi123 so it's up to you to follow his path.

    Your idea is cool, too, imho. Trying out different scripts with PostInteractScript could be successful.

    I've doubts that GameEvents can be set by PostInteractScript. Because it's used to execute scripts. (Thinking about scripts which can set GameEvents is another story.)

    As I wrote, the RisenSDK (by NicoDE) dealed with scripts. But I'm not sure if the SDK users ever set a GameEvent with it which could be "recognized" by an infodialog in w_info.hdr(doc).
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  9. #29 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Zitat Zitat von tombom81 Beitrag anzeigen
    Cool! (Evolox wanted to chance Loyality that way (german posting). You might lend him a helping hand? )
    Sure, you can just point him here. My first guess would be that he could try using "OnInfo_AddLoyaltyAmount" script on PostInteract. Though I'm still not sure if the scripts you call via PostInteract are allowed to have any params or strings... But at least they seem to be regular eCScriptProxyScripts.

    Zitat Zitat von tombom81 Beitrag anzeigen
    Well, I'm surely lacking the creativity of disi123 so it's up to you to follow his path.

    Your idea is cool, too, imho. But it's scripts we're talking about. Trying out different scripts with PostInteractScript could be successful.

    But keep in mind that GameEvents are no scripts. (I don't have any idea why Piranha Bytes called them Events, it's just flags, represented by strings.)
    Yeah, I just noticed this might get more complicated than I was hoping for. We would need a script that can set GameEvents. Any idea if that's even possible?
    Another idea might be to kind of "highjack" a previously unused skill or perk and use it as a trigger. For instance, item so-and-so modifies your skill value to xy and an InfoCondition realizes that you're wearing item so-and-so because it's the only item that modifies that skill to xy...
    valakii ist offline

  10. #30 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Zitat Zitat von valakii Beitrag anzeigen
    Yeah, I just noticed this might get more complicated than I was hoping for. We would need a script that can set GameEvents. Any idea if that's even possible?
    (Edited my post while you were answering.)

    Another idea might be to kind of "highjack" a previously unused skill or perk and use it as a trigger. For instance, item so-and-so modifies your skill value to xy and an InfoCondition realizes that you're wearing item so-and-so because it's the only item that modifies that skill to xy...
    146 (out of 7679) ELEX 1 infos require a Skill/Perk to activate a dialogOption (from here, german post).

    Recipes can modify skills, can't they? If so I'd start with a recipe.
    If you happen to get a dialog "fired" this way you could transfer the responsible lines from the recipe to a "normal" item. Could work (or crash the game, no risk, no fun).

    (If you give the dialog the type "important" it will be activated, as soon as you're in sight of the concerning NPC.)
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  11. #31 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Zitat Zitat von tombom81 Beitrag anzeigen
    Recipes can modify skills, can't they? If so I'd start with a recipe.
    If you happen to get a dialog "fired" this way you could transfer the responsible lines from the recipe to a "normal" item. Could work (or crash the game, no risk, no fun).

    (If you give the dialog the type "important" it will be activated, as soon as you're in sight of the concerning NPC.)
    Not quite sure what you mean yet, can you specify this a little?
    valakii ist offline

  12. #32 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    (Data taken from ELEX 1.)

    We'd need such a recipe first, changing perks/skills. If there isn't any, it will not work.

    Well, forget about recipes, they result in, surprise, a resultitem.
    Example: It_Recipe_Food_IceResistance -> It_Fo_IceResistance_WarmingSoup

    This lovely soup increases gESkill_Protection_ResistCold:
    Code:
                    class bTSceneObjArray<class gCModifySkill> OnUseModifySkills = [
                        class gCModifySkill {
                            Version = 1;
                            Properties {
                                enum gESkillModifier Modifier = gESkillModifier_AddValue;
                                int Amount = 20;
                                enum gESkill Skill = gESkill_Protection_ResistCold;
                            }
                            ClassData {
                            }
                        }
                    ];
    Searching for a dialog which requires this perk... hm, "Skill_Survival"?
    You'll need to change the soup's template to increase that skill.

    edit. well, shit, what's this? Seems I've selected a skill that is broken when used with dialogs:
    Code:
                        InfoConditions {
                            class gCInfoConditionPlayerNotKnows {
                                Version = 1;
                                Properties {
                                    class bCString PlayerNotKnows = "FixMe_Ama_Perk_SurvivalValue";
                                }
                                ClassData {
                                }
                            }
                        }

    But which Perk you use shouldn't matter:
    Code:
                   class bTObjArray<class gCRequiredPerk> RequiredPerks = [
                        class gCRequiredPerk {
                            Version = 1;
                            Properties {
                                enum gESkill Perk = gESkill_Skill_Personality;
                                int Value = 4;
                                bool InvertTest = False;
                            }
                            ClassData {
                            }
                        }
                    ];
    (Interestingly this is realized without using an InfoCondition.)

    ha, Survival again:
    Code:
                    class bTObjArray<class gCRequiredPerk> RequiredPerks = [
                        class gCRequiredPerk {
                            Version = 1;
                            Properties {
                                enum gESkill Perk = gESkill_Skill_Survival;
                                int Value = 2;
                                bool InvertTest = False;
                            }
                            ClassData {
                            }
                        }
                    ];
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline Geändert von tombom81 (18.04.2022 um 18:53 Uhr)

  13. #33 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Yeah I think recipes won't be the solution.

    But I just came up with another idea: what if we manage to start a quest by using an item? Is there maybe even an item in vanilla game that does so?

    It's similar to what disi123 did, but I think he did it the other way round and triggered a quest by checking via InfoCondition if the player owns a specific item. Unfortunately, his way won't do the trick because it's actually only possible to trigger quests, script etc. on POSSESSING an item, while what I'm trying to find a workaround for ist a quest/script triggering on actually USING an item.

    This would btw also be the solution to evolox' problem, as far as I can tell. If we manage to bind some kind of "use-trigger" to an item, he could write an InfoCommand in w_info that checks for that trigger to fire up.
    valakii ist offline

  14. #34 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Zitat Zitat von valakii Beitrag anzeigen
    But I just came up with another idea: what if we manage to start a quest by using an item? Is there maybe even an item in vanilla game that does so?
    Quests can succeed after an amout of items has been collected. Don't know any quest that was starting by using an item (which doesn't mean that it's impossible).

    while what I'm trying to find a workaround for ist a quest/script triggering on actually USING an item.
    Should be possible. Use a permanent potion to increase a perk (servival?).
    Then add
    Code:
    class bTObjArray<class gCRequiredPerk> RequiredPerks = [
                        class gCRequiredPerk {
                            Version = 1;
                            Properties {
                                enum gESkill Perk = gESkill_Skill_Survival;
                                int Value = 2;
                                bool InvertTest = False;
                            }
                            ClassData {
                            }
                        }
                    ];
    to a dialog script, infoType important (or VeryImportant?) which is a questactivator (ConditionType = gEInfoCondType_Activator).

    Didn't test it but should work. (You need to enter the perception range of an NPC for such, of course.)
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  15. #35 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Sounds promising. Still a little complicated to me, but I'll give it a try.

    But will it also work on equipping armor, helmets, weapons etc.?

    And next question would be: is it possible to hide the fact that the item modifies a skill, so you won't see that in the inventory screen? (#seemlessly )
    valakii ist offline Geändert von valakii (20.04.2022 um 20:32 Uhr)

  16. #36 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Zitat Zitat von tombom81 Beitrag anzeigen
    Should be possible. Use a permanent potion to increase a perk (servival?).
    Then add
    Code:
    class bTObjArray<class gCRequiredPerk> RequiredPerks = [
                        class gCRequiredPerk {
                            Version = 1;
                            Properties {
                                enum gESkill Perk = gESkill_Skill_Survival;
                                int Value = 2;
                                bool InvertTest = False;
                            }
                            ClassData {
                            }
                        }
                    ];
    to a dialog script, infoType important (or VeryImportant?) which is a questactivator (ConditionType = gEInfoCondType_Activator).

    Didn't test it but should work. (You need to enter the perception range of an NPC for such, of course.)
    I'm back after doing some testing on these things and ready to share what I've found out, so here we go:

    First of all: I found a working solution. Not an easy one, but working. Though at some point, it got really complicated and took me quite a lot of creativity.

    About the InfoType and ConditionType you suggested: They are not doing what they are supposed to be in this case. Instead, I found another solution in disi123's work. What he did is create invisible InfoDialogs which only function as passive checks, much like a hidden script.

    Therefore, you need to run that InfoDialog on the PC_Hero, flag it as permanent, use InfoType Comment and ConditionType General. Such a header would look like this:

    Code:
    [...]
                    class bCString Owner = "PC_Hero";
                    class eCEntityStringProxy Partner = "";
                    bool InfoGiven = False;
                    float LastExecutionTimestamp = -1;
                    class bCString Parent = "";
                    class gCQuestProxy Quest = "";
                    enum gEInfoCondType ConditionType = gEInfoCondType_General;
                    enum gEInfoType Type = gEInfoType_Comment;
    [...]
                    bool Permanent = True;
    [...]
    This is still the easier part, now it's getting complicated.

    Next issue would be what I threw up in my last post:
    Zitat Zitat von valakii Beitrag anzeigen
    But will it also work on equipping armor, helmets, weapons etc.?

    And next question would be: is it possible to hide the fact that the item modifies a skill, so you won't see that in the inventory screen? (#seemlessly )
    Short answer:
    1) Yes, you can trigger InfoDialogs from equipping or using items and
    2) yes, items can secretly modify skills.

    Long answer:

    What we need to do is, as I previously came up with, sort of "highjack" an existing skill and use it as a trigger WITHOUT breaking any game mechanics. The perfect candidate I found for that is a skill that wasn't even known to me before because it's not shown in the menus and thus literally invisible:

    gESkill_Perk_Jetpack

    This skill is basically only altered once during the whole game, and that is when you pick up your jetpack at the beginning of the game. This mean that this skill besides these few first minutes ALWAYS has to be 1, which makes it resistent to breaking game mechanics because you can easily swith it back to 1 at any time.

    So we can tell any item to set this skill to any value, and ask for that specific value in an InfoDialog header like that:

    Code:
                    class bTObjArray<class gCRequiredPerk> RequiredPerks = [
                        class gCRequiredPerk {
                            Version = 1;
                            Properties {
                                enum gESkill Perk = gESkill_Perk_Jetpack;
                                int Value = 99;
                                bool InvertTest = False;
                            }
                            ClassData {
                            }
                        },
                        class gCRequiredPerk {
                            Version = 1;
                            Properties {
                                enum gESkill Perk = gESkill_Perk_Jetpack;
                                int Value = 100;
                                bool InvertTest = True;
                            }
                            ClassData {
                            }
                        }
                    ];
    In this particular example, the InfoDialog fires if gESkill_Perk_Jetpack is EXACTLY 99, because it requires that skill to a) be greater equal 99 and b) be less than 100.

    What's also important here is that when you modify gESkill_Perk_Jetpack via an item, you have to make sure that it not only ADDS a value to that skill, but SETS the skill to the specific value you want. So instead of the usual
    Code:
                        class gCModifySkill {
                            Version = 1;
                            Properties {
                                enum gESkillModifier Modifier = gESkillModifier_AddValue;
                                int Amount = 1;
                                enum gESkill Skill = gESkill_Perk_Jetpack;
                            }
                            ClassData {
                            }
                        },
    we have to use
    Code:
                       class gCModifySkill {
                            Version = 1;
                            Properties {
                                enum gESkillModifier Modifier = gESkillModifier_SetToValue;
                                int Amount = 99;
                                enum gESkill Skill = gESkill_Perk_Jetpack;
                            }
                            ClassData {
                            }
                        }
    What's also great about SetToValue is that it operates SECRETLY, so you actually won't see that stat change in the item description (and as mentioned before, in case of gESkill_Perk_Jetpack neither in your stats sheet).

    Incidentally, this happens to be a solution to evolox' request as well:
    If put such a skill modification to an item's
    Code:
    class bTSceneObjArray<class gCModifySkill> OnUseModifySkills
    and trigger an InfoDialog like I just described, you can use way more detailed scripts than from the item template itself. This should also include loyalty amount and much more.

    Btw, you could also even create InfoDialog loops by setting, checking and clearing GameEvents. Yes, you can create your own GameEvents, confirmed that on the way, too

    Enough script porn for now, hope this will help somebody! At least I got a lot further with my modding approches finding out how these functions are actually working. It should definitely open up some new possibilities! Should also be applicable for ELEX 2, btw. Enjoy
    valakii ist offline

  17. #37 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.127
    Hi valakii.
    Great work!

    (Good to know about this add/set thingie.)

    I'm sure you're going to create a cool mod (sooner or later) based on this knowledge.
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Umsturz bei den Morkons: best PB quest ever!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  18. #38 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Yeah I'll try my best. Still facing two new difficulties for every one I solve, which can drive you crazy somehow . Things could be so much easier if we had any access to actual scripting...

    One problem I'm facing right now, for instance: Is there any way I can stop a permanent InfoDialog from repeating over and over again if the conditions are met? So it fires only once if all conditions apply and stays inactive the rest of the time? Cos I'd like the InfoDialog to trigger everytime I'm using a particular item and only trigger again once I use the item again.

    Another thing would be: can I hide the RequiredSkill check telling you "not good enough" without having to remove the whole line from the localization strings and thus damaging general game mechanics?
    valakii ist offline

  19. #39 Zitieren
    Lehrling
    Registriert seit
    Apr 2022
    Beiträge
    47
    Ok so I found the problem but not the solution so far:

    The RequiredPerk check is not conditional, which means it checks as soon as an InfoDialog is running. So it will not deactivate an already running InfoScript, but simply keep on telling you "not good enough" as long as you fail the check.

    What I need instead is a skill check that is conditional for an InfoDialog. And indeed I found this one:

    Code:
                            class gCInfoConditionSkillValue {
                                Version = 1;
                                Properties {
                                    class bCString Entity = "PC_Hero";
                                    enum gECompareOperation CompareOperation = gECompareOperation_GreaterEqual;
                                    class gCSkillValue SkillValue = class gCSkillValue {
                                        Version = 1;
                                        Properties {
                                            int Amount = 1;
                                            enum gESkill Skill = gESkill_Perk_Suggestion;
                                        }
                                        ClassData {
                                        }
                                    };
                                }
                                ClassData {
                                }
                            }
    This InfoCondition unfortunately has one major downside: it obviously only checks for base skill value, which means that it won't work if you're getting a skill bonus from, say, a body armor you're wearing. Interestingly, equipment seems to only grant you bonuses that don't count on the actual skill value but instead on the skillmodify value.

    So my question would be: is there any way I can make gCInfoConditionSkillValue trigger on skillmodify values? Or make items modify the actual base skill instead of simply granting a temporary skill bonus? Tried it with both AddValue and SetToValue, but they both won't trigger gCInfoConditionSkillValue. On the other hand, on learning a skill from a teacher, gCInfoConditionSkillValue does actually trigger correctly...
    valakii ist offline

Seite 2 von 2 « Erste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •