Jump to content

vkz89q

Members
  • Posts

    203
  • Joined

  • Last visited

Everything posted by vkz89q

  1. Thank you. Looks like I can just pretty much ignore those for my travel packages.
  2. With magic effects and some scripts, yes, it's very possible. Even with Apply Combat Hit Spell with right conditions it should work. You said you linked the ability to "vampire perk", I gotta say I have no idea what that is? You mean cannibal? That works on Activate I believe, when you click on the corpses. So yeah it's going to be constant effect if you just apply the spell there. Try Apply combat hit spell with melee weapon conditions. You need to make your spell to --> spell, contact, fire and forget and then make new perk Apply combat hit spell and select your spell.
  3. With AI packages, yes. You can make anyone follow anyone. With console, I have no idea.
  4. I mean this wheel when you first click on your current companion: https://staticdelivery.nexusmods.com/mods/1151/images/14265-1-1465278447.jpg (pic is from this mod http://www.nexusmods.com/fallout4/mods/14265/?) That is somekind of "Teammate always have this command wheel" thing, and if you want quest dialogue you must select Talk. Unless, you have ForceGreet in the Greet in the quest dialogue. Force greet should start the talk even when you walk near companion.
  5. You are doing NameofQuest.SetStage(20) ? And then trying to GetStage = 50 ? Is there anything setting stage 50 ? In your example you are setting stage 20, but the conditions make it so, that the current stage needs to be already set to 50 for it to work at all. Are you using separate quest for your quest and it's not inside regular companion dialogue quest? If so, give it more Priority than companion dialogue. Or give the other dialogues starts Conditions too so they can't trigger if stage is xx. If you have 2 quests with same conditions(or no conditions), the one with higher priority will be used. If you take a look at vanilla companion quests, you will notice Caits personal quest is a bit higher priority than her companion dialogue. Edit: Oh, and also if it's current companion, you need to select "Talk" in the dialogue wheel before the conversation begins(unless it's forcegreet).
  6. Hmm, I wonder how packages would work. Instead of moving them, using MoveToPackageLocation function. With many npc's I bet "Red rocket provisioner" effect would appear, they slowly poop out of thin air like provisioners and brahmins do if you have lots of them in one place. For example, that happens me like everytime I sleep in Red rocket and wake up. Another thing could work but again I'm not sure how well with large numbers of npcs, but using quests to do the spawning similiar to some random quests. Spawn point aliases with conditions and then using "create ref to object xxx at spawnAlias01". Oh, now I remember, I actually tested how much that can handle. I made quest that fills like 3 or so random REtrigger aliases(for spawn points), then I had 3 reference collection aliases with 200 ghouls each(total of 600) and gave them travel package and objective marker so I can see where they are going. It actually worked with no problems. Whole map was filled with ghouls. They seem to "snap" to their first travel destination automatically(giving them travel package with multiple random locations, will spread them). I played for hour or so but then I got CTD when I loaded area with god knows how many ghouls, so the engine really is not best for mass number of npcs. But quest with created ref collection aliases works. It took it only like 1-2s to start the quest so it's pretty fast too. Then you can attach counter script to them so you can restart the quest when most of them are dead. The npc's "kicked" out of alias won't disappear immediatly, but nothing is holding them anymore, so they are temp now and will disappear in couple days if they are unloaded.
  7. What happens if you make quest that has aliases/collection alias with conditions, and those conditions are Xmarker or Retrigger or something similiar spawn points, then move 10% of the groups to marker1, next 10% to marker2 etc.. You can give them getdistance player condition too so they don't move straight to players face. Then, when you need to get new spawn points, just use Reset(), Stop() and Start() on that quest. Do you even need to use MoveToNearestNavMesh? I have been just using MoveTo and it never failed or crashed on me. I just pick random Xmarker and move npcs there. I have not tried to move hundreds? of npc at once tho. Why do you even need to move the npcs? Maybe stupid question but I never played that mod more than 5mins because it always crashed on me when I moved around.
  8. You can "fix" it by finding their dialogue and ticking "requires player activation" on all of their greets and hellos.
  9. Find actor named Shen, click use info and see what quest(s) he is in.
  10. If your quest is correctly set(it can start and not result in some error), it should be simple as that. You might not see it on your quest tracker if the quest has no objectives.
  11. I guess it did.. make sure your scripts are in data/scripts/yourmodname and fragments have own fragments folder in there. Make sure the files are .pex. Then make sure your source files are in data/scripts/source/user/yourmodname. Those files should be .psc
  12. They have quests to keep track of it. Basically every "important" npc is alias in quest, and that alias has script that sets stage when they are hit/killed/xxx by player(or someone else, depends on properties). Its called default something script, can't remember. For example, when you shoot Father in the face, it will setstage in banished from institute quest. If you want to use that for your own factions, you can make it similar but use defaultcounterondeatha or something script, and when enough kills are done by the player, setstage in the quest that "kicks" player out of the faction. Some counters also need defaultcounterX script in the quest too. There should be vanilla examples in quests. edit: It's called "defaultcounteraliasondeathA" in the alias and "defaultcounterquestA" in the same quest. The quest script will set stages. You can also use b, c, counters if you need to set different stages.
  13. 1.. You can start new scene by fragment or in dialogue, select Start scene on end or something similiar(don't have ck open right now).. 2.. or you can just SetStage on dialogue end and then filter stages by conditions which one to play.. 3.. or you can start new quest with fragment in dialogue or in quest stage. You can control which scene/quest player by using conditions, for example GetStageDone is good. Check some vanilla quests, for example "ComCait" follower quest is nice to see how they use multiple scenes with condition stages and globals.
  14. Did you.. 1. Change or add namespace? 2. Change esp name? 3. Move source folder ? Are those your fragments, some other mods fragments or base game fragments?
  15. So, I made a travel package with multiple locations, but I have no idea what to set these settings for:(all of them are true or false) ForceSoftRadius and ForceHardRadius <-- not sure what happens if I turn them to true or false. IgnoreHeading <-- No idea what this does either. AllowWarpInDialogue <-- No idea, does this mean dialogue as talking to someone or what? I'm trying to Google for these but can't find exactly what they do. I guess I can just put them to whatever vanilla packages are set for.. but still I won't know what they are doing. If anyone knows, please tell me.
  16. Run fragment on end, fill press properties, make new and find the quest you want to start and then in fragment write: myQuestPropertyIJustFilled.Start() then tick End running scene in that dialogue. Then, if scene is starting that you don't want to start, you must give it conditions so it can't start.
  17. Thats the invisible magic effect or cloak chameleon, they both make targets untargetable, but also invisible. Edit: Maybe in race, bodypartdata or armor addon or similiar, I remember that I saw "vats targetable" checkbox but can't find it now.
  18. You can give them VATSRestrictedTargetKeyword keyword, but they can still be targeted in VATS. Just can't attack them, it says "invalid target". I tried to do same thing. Current companion can't be targeted in vats at all, but I learned thats because they have the keyword AND they are set as PlayerTeammate. The moment they are not teammate anymore, you can target them in vats too.. so I don't know how to do that for hostiles.. I think making them ghost or invulnerable might make them "immune" to vats too, but you can't damage them at all :confused:
  19. That looks pretty good. Hopefully it's a good mod after all this scripting :pirate: . Just kidding, now I have "detect player when he exits/enters PA" script too. And who knows, it might stop working for x reason. Happened to me with many things I try do in CK, so don't be too happy yet :sleep:
  20. How did you spawn your weapon? I spawned my test weapon with console. 1. Are you 100% sure all properties are filled? You opened properties window, pressed Auto-fill, checked everything is ok and hit ok? 2. You have this script on your weapon? Try moving RegisterForRemoteEvent(PlayerRef, "OnSit") inside OnEquipped block, as first line and not inside any IF blocks. But if you can equip the weapon outside PA, sounds like the whole script isn't firing. I don't know, it works for me.
  21. There is a default object manager "thing" that has : FallBackLeveledActorBase_DO "If a leveled actor fails to calculate a base object in game, use this instead." and it's set to EncRadRoach. Maybe it fails because it tries to generate something but because chance none is 100% it fails always. Maybe it needs to be able to spawn atleast some npc? So, you propably need another npc there, so it spawns instead? If you don't want to spawn anything you propably need to delete the whole leveled actor marker. But that was just me guessing, no idea if leveled actor can be disabled with chance none set to 100%.. sounds like nope. What happens if you just delete the raider from the leveled list? Same result ? You can always put some Far harbor rabbit in the list instead, lol.
  22. Same, 8GB ram here and I have CK, Firefox with 100000000 tabs and Fallout 4 running no problems. Just don't open render window hehe, then it crashes for me because not enough memory(if I try play F4 same time).
  23. Yes, but this part is doing it isn't it? Or am I missing something Else Debug.Trace("The player is NOT in Power Armor") ; Force the player to unequip the tutu - but they can equip it PlayerRef.UnequipItem(PA_weapon) I'm not sure you want to use EquipItem at all.. because what's gonna happen if player has 10 of those weapons? It's gonna try equip them all :D Atleast test it properly. It's propably not problem for weapons without mods when they are in same stack but what happens with modded weapons? Anyway, tested this and it only autodraws the weapon if player has 1 of them. Scriptname ThisWeaponCanOnlyBeUsedInPAscript extends ObjectReference Const Weapon Property PA_weapon Auto Const Actor Property PlayerRef Auto Const Keyword Property IsPowerArmorFrame Auto Const Keyword Property FurnitureTypePowerArmor Auto Const Event OnEquipped(Actor akActor) if akActor == PlayerRef Debug.Trace("We were equipped by the player!") if PlayerRef.WornHasKeyword(isPowerArmorFrame) Debug.Trace("The player is in Power Armor") ; Force the player to equip the tutu - but they can remove it <-- I took this out because it doesn't really do anything ;PlayerRef.EquipItem(PA_weapon) ; <--- this doesn't make much sense to me? equip weapon while it's already equipped? ; do you want it to auto draw when in pa? Else Debug.Trace("The player is NOT in Power Armor") ; Force the player to unequip the tutu - but they can equip it <--- no they can't, unless they are in PA PlayerRef.UnequipItem(PA_weapon) endIf endIf endEvent Event OnInit() RegisterForRemoteEvent(PlayerRef, "OnSit") EndEvent Event Actor.OnSit(Actor theActor, ObjectReference akFurniture) Utility.Wait(0.05) if(akFurniture.HasKeyword(FurnitureTypePowerArmor) && PlayerRef.WornHasKeyword(isPowerArmorFrame)) ; Enter PA Debug.Notification("entered a PA") Debug.Trace("enter PA TEST") if(PlayerRef.GetItemCount(Pa_weapon) == 1) ; here we can auto draw the weapon if we want PlayerRef.EquipItem(PA_weapon) PlayerRef.DrawWeapon() endIf elseif(akFurniture.HasKeyword(FurnitureTypePowerArmor) && !PlayerRef.WornHasKeyword(isPowerArmorFrame)) ; Exit PA Debug.Notification("we exited pa lol") Debug.Trace("exit PA TEST TO MAKE SURE THIS SHOWS ON TRACE") if(PlayerRef.IsEquipped(PA_weapon)) PlayerRef.UnEquipItem(Pa_weapon) ; we NEED to unequip it here, because exiting pa does NOT unequip weapon, just holsters it, so it's still usable if we dont do this endIf endIf EndEvent
  24. Well, I just made copy of Alien blaster, put this on it(after couple tweaks) and it works perfectly: Scriptname ThisWeaponCanOnlyBeUsedInPAscript extends ObjectReference Const Weapon Property PA_weapon Auto Const Actor Property PlayerRef Auto Const Keyword Property IsPowerArmorFrame Auto Const Keyword Property FurnitureTypePowerArmor Auto Const Event OnEquipped(Actor akActor) if akActor == PlayerRef Debug.Trace("We were equipped by the player!") if PlayerRef.WornHasKeyword(isPowerArmorFrame) Debug.Trace("The player is in Power Armor") ; Force the player to equip the tutu - but they can remove it PlayerRef.EquipItem(PA_weapon) ; <--- this doesn't make much sense to me? equip weapon while it's already equipped? ; do you want it to auto draw when in pa? If so, check the script PA part Else Debug.Trace("The player is NOT in Power Armor") ; Force the player to unequip the tutu - but they can equip it PlayerRef.UnequipItem(PA_weapon) endIf endIf endEvent Event OnInit() RegisterForRemoteEvent(PlayerRef, "OnSit") EndEvent Event Actor.OnSit(Actor theActor, ObjectReference akFurniture) Utility.Wait(0.05) if(akFurniture.HasKeyword(FurnitureTypePowerArmor) && PlayerRef.WornHasKeyword(isPowerArmorFrame)) ; Enter PA Debug.Notification("entered a PA") Debug.Trace("enter PA TEST") if(PlayerRef.GetItemCount(Pa_weapon) > 0) ; here we can auto draw the weapon if we want PlayerRef.EquipItem(PA_weapon) PlayerRef.DrawWeapon() endIf elseif(akFurniture.HasKeyword(FurnitureTypePowerArmor) && !PlayerRef.WornHasKeyword(isPowerArmorFrame)) ; Exit PA Debug.Notification("we exited pa lol") Debug.Trace("exit PA TEST TO MAKE SURE THIS SHOWS ON TRACE") if(PlayerRef.IsEquipped(PA_weapon)) PlayerRef.UnEquipItem(Pa_weapon) ; we NEED to unequip it here, because exiting pa does NOT unequip weapon, just holsters it, so it's still usable if we dont do this endIf endIf EndEvent You might have old script running on your weapon? Might need a clean save or something. With this script the weapon is usable in PA only and it unequips the moment I step out of PA. For some reason I don't see sometimes ANY debug.notifications but trace shows it works. Make sure your properties are filled too. I commented your script a bit too. You can make this work on quest script or reference alias too, just use actor events instead(OnItemEquipped).
×
×
  • Create New...