Khet Posted June 1, 2009 Share Posted June 1, 2009 Hey folks, been a while since my last actual post here. With the success of my first Fallout 3 mod, Alternate Start - Roleplayers, and the monotony of only working on this one mod I've tried to think of other mods to create and I believe I have come up with a concept that might just work and hasn't been done (to my knowledge). I don't want to go too indepth into exactly what I'm planning but I'll explain what's needed to answer these question. First off, is it possible to detect if an NPC was killed with a certain weapon, such as the Flamer, or 10mm? Or, preferably, killed with a weapon TYPE (small guns, big guns) or just a class (pistols, rifles)? Secondly, is it possible to then modify the amount (in a percentage instead of a static amount) of experience gained from the kill based on the weapon the enemy was killed with? Here's an example. The Player is using a 10mm pistol and kills a Raider with the pistol. The player normally (without this mod) gets 100 experience but because he was using a pistol (and the mod, of course) he instead gets 110 experience. However, if they're using any other weapon aside from a pistol and kill the same raider for 100 experience they only get 90 experience. So, are both of these possible? I can't really settle for either-or deal with my concept. Either both works or I have to think of some other way to handle what I want. Thanks in advance folks. Edit: After some more thinking one way I can think of to check is using the GetEquipped script function, but this would be very unreliable if the player is using any kind of custom weapon that doesn't use a vanilla ObjectID. But I really don't think there's any other way... Link to comment Share on other sites More sharing options...
TGBlank Posted June 1, 2009 Share Posted June 1, 2009 FOSE can tell you the weapon type of what does the player haves equipped. It IS possible to detect what exactly killed an npc, but only if you script the npc, the other way around it is to have a quest watching for the player's xp, when it changes by (amount it normally takes for kill, should be a global), and the player is in combat, check the weapon through fose and mod the xp. Link to comment Share on other sites More sharing options...
Khet Posted June 1, 2009 Author Share Posted June 1, 2009 Hmm, thanks TG. Haven't used FOSE yet myself but I suppose it's about time I crack it open and see what I can do. Link to comment Share on other sites More sharing options...
Alundaio Posted June 2, 2009 Share Posted June 2, 2009 *Editted for syntax* Maybe while the player has a certain weapon equipped it temporarily adds a perk (Similar to Swift Learner) that adjusts the Experience Points. Just make it Hidden and non-playable.It would be somthing like this: -------------------------------------------------------------------------ref equippedWeaponref equipType ;Check if player has a small pistol equipped set equippedWeapon to Player.GetEquippedObject 5set equipType to GetWeaponType equippedWeapon If ( equipType == 3) Player.addPerk adjustedXPElse Player.RemovePerk adjustedXPEndIf ------------------------------------------------------------------------- A list of FOSE commands. http://fose.silverlock.org/fose_command_doc.html Link to comment Share on other sites More sharing options...
TGBlank Posted June 2, 2009 Share Posted June 2, 2009 Can't chain several functions like that, but other than that it looks good. Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Author Share Posted June 2, 2009 What do you mean about chaining several functions? And wouldn't using the GetEquipType alone work? Is the chaining just a FOSE thing? Cause I've made scripts that look similar (mind you, different syntaxes but same general look) and they work with the vanilla scripts. Link to comment Share on other sites More sharing options...
TGBlank Posted June 2, 2009 Share Posted June 2, 2009 He already edited the post so it's fixed now. Basically, you cannot: If (functionA reference.functionB == sumthing) You have to: Set tempvar to reference.functionBIf (FunctionA tempvar == sumthing) Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Author Share Posted June 2, 2009 Ah alright, explains why I got confused since it looked like a legit script when I seen it. Anyways thanks guys, didn't think of the hidden perk bit myself! Just one small question. Would this work with custom weapons the way it is or only vanilla? I'll be sure to credit both of you guys for this help since it's pretty much a focus of the mod. Link to comment Share on other sites More sharing options...
TGBlank Posted June 2, 2009 Share Posted June 2, 2009 Since it works by weapon type, it will. Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Author Share Posted June 2, 2009 Excellent! Once again, thanks for the big help. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.