-
Posts
59 -
Joined
-
Last visited
Everything posted by hexef
-
I am trying to link this GECK article about detection: "http://geck.bethsoft.com/index.php?title=Category:Detection#Detection_Events" like this: [url=http://geck.bethsoft.com/index.php?title=Category:Detection#Detection_Events]GECK Article[/url] On this forum it looks like this: GECK Article But on the commenting section of my mod page it looks like this: etection#Detection_Events">GECK Article In both places I've used the exact same code I provided above, what gives? I am talking about this post in my mod's comment section, at the end first paragraph, Link.
-
is there a way to "reenable" a "taken" ref ?
hexef replied to hexef's topic in Fallout New Vegas's Mod Troubleshooting
I avoided setting flag 1024 because on its description it says 'Quest item / Persistent reference'. I thought that it would also set it as a quest item, meaning you couldn't drop said item and also make it unpickable for NPCs. Fortunately for me, according to NVSE's IsQuestItem function, the flag only makes it persistent/not persistent. I don't know why the author of the article said that it marks it as a quest item. If an item is a quest item, it automatically implies it is persistent, but not the other way around, making that description very confusing for inexperienced modders. Funnily enough, setting flag 1024 to items placed by ESPs will make the game remember the change only on the current session. If you close the game and open it again, the flag is set to the original one set from the editor. This doesn't happen with dynamic refs dropped by the player or via PlaceAtme (all the ones that begin with "FF" basically) and it makes sense according to what you said about the save game, which is like an ESP that is loaded last. References that begin with "FF" already belong to the "save game" ESP, any changes to them persisting on future saves. This is how I see it now, you may correct me if I am wrong, so others who stumble accross this thread get the correct information. -
is there a way to "reenable" a "taken" ref ?
hexef replied to hexef's topic in Fallout New Vegas's Mod Troubleshooting
I succesfully manipulated the 'Deleted' flag using NVSE functions GetFlagsLow, SetFlagsLow, GetBit and SetBit. With an OnReset event handle, I check the 'Deleted' flag and set it to 0 if it is already to 1. It seems like I don't need to use the Update3D function, the items look and behave as before. Now they have to bear with my PCs kleptomania forever, hehe. I didn't want to use your functions because I want my mods to have as few plugin requiremets as possible. I had to use one JIP function though, specifically SetPersistent, as it would have been impossible to complete my mod without it. I will credit you for helping me so much, when I release my mod... hopefully in the next few days. -
is there a way to "reenable" a "taken" ref ?
hexef replied to hexef's topic in Fallout New Vegas's Mod Troubleshooting
Thank you very much, luthienanarion, you gave me critical information for a mod I've been working on for the past few days. For those who are interested, here are the links with all the ref flags: http://geck.bethsoft.com/index.php?title=GetFlagsLow http://geck.bethsoft.com/index.php?title=GetFlagsHigh -
is there a way to "reenable" a "taken" ref ?
hexef replied to hexef's topic in Fallout New Vegas's Mod Troubleshooting
I requested the functions to luthienanarion. Fingers crossed he will make one. -
is there a way to "reenable" a "taken" ref ?
hexef replied to hexef's topic in Fallout New Vegas's Mod Troubleshooting
I was trying to simulate some kind of item respawn on cell reset(only the items placed in geck). I don't really need to reenable a "taken" ref, just a way to find out whether the item was taken by the player or any npc or not. Something like GetPickableItemTaken would come in handy. With a function like that, I could check with a OnReset handler, if the item is marked as taken, and use a PlaceAtMe and SetPos to place a dynamic reference with the same type, healthpercent, coordinates as the original taken ref. NVSE has a filter for the GetRefs function that filters out the "taken" refs, it would be so much better if it also had a function whih checks only for an individual ref. -
I have found out that when you pick up an itemRef which was placed in the GECK editor, its reference is actually NOT removed from the game and it persists forever, even after cell resets. The problem I have is that I need to enable that taken ref again, but it doesn't work with the Enable or Reset3DState function. Weirdly enough, If I call GetDisabled on it, it returns 0. I can change its position or move it in another cell and it is actually there, but the game somehow refuses to render it again. The phenomenons explained above don't apply to items dropped by the player, npcs or spawned via PlaceAtMe function, which makes me think that there is some hardcoding involved here. I know that I can overcome this problem by simulating an activation made by the player by checking if the Activate button was pressed and using GetCrosshairRef, but I still want someone experienced in GECK explain why you cannot "reenable" a taken ref. EDIT: Seems like you cannot simulate an item pick-up, because as soon as you press the activate key, the object will get picked up before your quest script can react. Not even the OnActivate event handlers can do that, they run before the actual activation of the object, but even if you disable said object before its activation, it still activates and gets added to your inventory and also marked as "taken".
-
I am trying to make a mod where if you get shot or meleed by an NPC or hit by a creature you have a chance to get a wound infection. The only solution that comes on top of my head is by creating an object script for Player Actor and using the OnHit function, which is not compatibility friendly I suppose, as I've seen other mods that have a custom script for Player Actor. I wonder if there is another way around to track this, for example, in a quest script. Any suggestions ?
-
You are right about that mistake, it worked for me on another version of the script, which I didn't notice that I was using it. So for those who are interested, this is the correct way to take value of a float variable in GECK: float fPlayerBaseHP let fPlayerBaseHP := Player.GetBaseAV Health float fPlayerCurHP let fPlayerCurHP := Player.GetAV Health float fHealthPct let fHealthPct := 85/100 * fPlayerBaseHP if fPlayerCurHP <= fHealthPct ; check if current player HP is smaller than 85% of players base HP ;some code endifHaving ref instead of float as variable type wouldn't return the float value of the actor values. Also, thank you dubiousintent for your very informative post.
-
Thanks for you suggestion, I did it like this using local variables so as not to store those refs and the float into the savefile to prevent save bloating: Begin MenuMode 1 ref rPlayerBaseHP = Player.GetBaseAV Health ref rPlayerCurHP = Player.GetAV Health float healthPct = 85/100 * rPlayerBaseHP if rPlayerCurHP <= healthPct ;code endif End Works as intended. EDIT: One thing that is not clear to me yet is that refs should store a formID right? Like an address to that object, not its value...but it the script above it somehow stores its value... What would be the difference between "ref rPlayerBaseHP = Player.GetBaseAV Health" and "float rPlayerBaseHP = Player.GetBaseAV Health" ? Both variables should have the same value, right? I cannot test it right now. It's kinda confusing (new to Geck scripting as well).
-
Ok, so I've been trying for like 2 hours to get this following statement to work, which checks whether the current player health is smaller than 85% of players base health: if (Player.GetAV Health) <= (85/100 * Player.GetBaseAV Health) ; some codeendif I just cannot for the life of me figure out why the block inside the if doesn't execute... it is so frustrating that I had to post this here in order to get some help. Using NVSE function Print, it shows me that Player.GetAV Health is smaller than 85/100 * Player.GetBaseAV Health, if I have for example 35 HP and 135 base health, but still that if statement doesn't execute, what the hell? Please, does anybody have any idea what is wrong with the code?
-
Dammit that cracked me right up xD. Would actually dowload that kind of mod.
-
I strongly agree that Fallout 4 needs a weapon degradation mechanic but not like in Fallout 3/NV. This is my idea: http://steamcommunity.com/app/377160/discussions/0/364040797991401151/ .
-
I'm almost certain I will go with the 1:20 ratio solution because it is easier to make. Also, thanks for mentioning this, I've forgot about fraction simplifications, lol. The reason I was thinking about making a list of 95 instances of common weapons and 5 of legendary was because I forgot about fraction simplifying... So a 5:95 ratio is equal to 1:19 ratio, which is much, much easier to implement. Thanks a lot for clearing this up for me.
- 2 replies
-
- leveled list
- legendary weapon
-
(and 2 more)
Tagged with:
-
Hi. I am trying to make a legendary weapon drop system like in Fallout 4 through leveled lists. The problem I encounter is that I don't know how to make my legendary weapon have a 5% drop chance. For example, let's say I have a legendary laser rifle with a 5% drop chance. I've created a new leveled list with the legendary laser rifle with chance none of 95 ( which means the legendary LR will have a 5% drop chance ). The problem now is how can I make it so that if the game doesn't roll the legendary LR ( which is a 95 out of 100 chance ), the leveled list generates a normal vanilla LR ? A badly optimized solution is creating a leveled list containing 95 instances of the vanilla LR and 5 instances of the legendary LR, but this is very dirty and messy in terms of optimization. Another solution is making 2 leveled lists. The first one contains only the legendary LR with a chance none of 95. The second one ( with chance none of 0 ) contains 2 elements: the vanilla LR and the first leveled list previously mentioned. So now if the game doesn't roll the 5% of the legendary LR, it will generate a vanilla LR. But there is another problem: if the game rolls the 5% chance of the legendary LR, then the game will also generate the vanilla LR, which means it will generate both of the weapons for the same NPC/container. Any other solutions ? Thanks for the help.
- 2 replies
-
- leveled list
- legendary weapon
-
(and 2 more)
Tagged with:
-
Fps drop in some interiors and when looking at smoke/fog particles
hexef replied to hexef's topic in Fallout 4's Discussion
Ok, I downloaded 2 mods, one that reduces the fog from interiors, and the second removes some smoke/fog/dust entities from the game. I tested this out inside Concord Civic Access and it boosted my fps from 30-32 to 38-45 but it's still too laggy for me to aim. Outside I mostly have 55-60 and the transition from 60 to 45 sucks a lot. This is the most laggy part from Concord Civic Access: http://s9.postimg.org/ciownc1nv/2016_02_19_00001.jpg I cannot figure out what makes my fps drop so hard in this place, maybe it could be the water reflection that shows up on the walls ? If that is the culprit, how can I disable that water reflecting on the walls ? EDIT: I seem to be getting the same stutter inside Concord Speakeasy...even though there is no water inside that cell. -
Hello. I am getting huge fps drops in certain places such as Concord Speakeasy and Corvega factory interiors.Also, when you encounter the first Deathclaw in Concord, the sewers it gets out from has some kind of fog particles coming from it. Looking at that certain fog drops my fps from 60 to 30.Same with the smoke/fog in some interiors. It just makes aiming hard as hell and I don't know what to do it's so annoying... Specs: Even setting everything to low makes my game stutter when looking at smoke/fog particles... Any suggestions ?
-
Can't set a quest ref variable in a function script
hexef replied to hexef's topic in Fallout New Vegas's Mod Troubleshooting
Nvm,I figured out the problem.It was not the functions fault,it was the call to the function. The call looked like this: call scriptfunction GetSelf,SpawnedNPCs Looks like the MainNPC parameter always took the value of 0 instead of GetSelf Ref ID This is the fix: set SelfRef to GetSelf call scriptfunction SelfRef,SpawnedNPCs -
I cannot set a ref variable from a quest script inside a function script. Here is how the script function looks like scn scriptfunction ref MainNPC ref MainNPCSpawned Begin Function { MainNPC , MainNPCSpawned } <Some code> if QuestName.MyRef == 0 ; if the quest ref variable doesn't hold any reference<Some code>set QuestName.MyRef to MainNPC endif <Some code> END Problem is that the MyRef variable from the quest doesn't take the value of MainNPC ref. Any suggestions?
-
Thanks for the answer but I already resolved this problem...Actually,all I needed was the ActorRef01 ref ID to be used in any object script.So ActorRef01.GetSelf did it for me. Now I have another small question,how can I return the NPC type in a script?For example,if I spawn any Fiend in the world,how can I check if it is actually a Fiend?I mean,we have a lot of Fiend Base IDs in Geck (1EFiendViolet,Fiend1GunHMNV,SpawnOVSewerFiend2Rifle,...and the list continues on and on...) how can I categorize the NPC as a Fiend in a script ? Something like [insert fiend npc ref].IsFiend OR [insert Jackal npc ref].IsJackal Is it possible?