-
Content Count
59 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by Box
-
Star Wars Episode VII Discussion (MASSIVE SPOILERS)
Box replied to VarsityPuppet's topic in Star Wars
Re: Doctor Evil. Deadly Stream, for as long as I've known it, isn't quite like the rest of the internet. This isn't 4chan, people here value being polite. You came into this thread with a chip on your shoulder about certain types of Star Wars fans and people not liking The Force Awakens. I think we've been trying to engage you reasonably. Maybe just take a breather. -
Star Wars Episode VII Discussion (MASSIVE SPOILERS)
Box replied to VarsityPuppet's topic in Star Wars
I heard after watching that the Rebellion was split after the Emperor was defeated. The new Republic made peace with the Empire while the Resistance wanted to continue to fight until the Empire was destroyed. However, the new Republic covertly assists the Resistance. It explains why the Resistance is so weak and why the First Order wanted to destroy the Republic despite not being at war with them. However, none of this explanation is in the movie and I'm not even sure if it's canon or someone's theory since I heard it secondhand. -
Star Wars Episode VII Discussion (MASSIVE SPOILERS)
Box replied to VarsityPuppet's topic in Star Wars
Well, I only saw this thing once so I may have missed something but I'm pretty sure that nothing that happens on Jakku or prior has anything to do with the First Order's plan to destroy the new Republic with the Starkiller. -
Star Wars Episode VII Discussion (MASSIVE SPOILERS)
Box replied to VarsityPuppet's topic in Star Wars
The superweapon in The Force Awakens doesn't work because it's completely unnecessary and there's no buildup to it. You think the purpose of the First Order's actions are to find Luke Skywalker before the Resistance does. It's not really explained why in detail, but it's enough to go on for a while. Then they introduce "the weapon" out of nowhere and soon after the new Republic is destroyed before we ever knew who they were or how and why they fit into the picture. And then suddenly the movie is about destoying the Starkiller and saving Rey instead of anything the first hour was building up to. In the original Star Wars, the Death Star is central to the entire plot from beginning to end. -
Star Wars Episode VII Discussion (MASSIVE SPOILERS)
Box replied to VarsityPuppet's topic in Star Wars
I was not impressed. I felt like there was a lack of focus and that the movie was rushing from scene to scene. I can't help but compare it to the original Star Wars. The original movie has a slow buildup and a lot of exposition which all ties together and works to make the ending so memorable. In The Force Awakens, I didn't like the new death star thing because it wasn't really established very well, nor was the lightsaber duel at the end. It felt like they were checking boxes. I felt like the movie should have focused more closely on Rey and Finn and their search for Luke Skywalker while trying to escape from the First Order. That's basically what the movie is about but once the characters leave Jakku, it gets kind of distracted. -
Is it possible to use the same changes.ini file to add different versions of the same filename to different .mod files?
-
Is there a way to use TSLPatcher or some other tool to merge or modify .mod files?
-
So after years of modding, I'm starting to finally put things together. What I've discovered is that in order to get things working properly, I need to go into each module and modify all of the placeables that contain items and assign them back to their modules. I understand that this can be done. What I don't know is how exactly it works. If someone could provide a brief overview or a link to a tutorial, that would be appreciated. More importantly though, the reason I actually wanted to make this thread is to ask about compatibility concerns when editing modules. So far I've tried to keep my mod from touching or interfering with other areas of interest. My mod is designed around gameplay changes so I want to keep it from interfering with content additions/changes as much as possible. So before I start modifying all a ton of files, I thought I'd ask about common pitfalls. Basically, if I need to modify every module in the game in some way, what is it going to take in order to make my mod compatible with other mods?
-
Observation: Player body size in K1 vs TSL
Box replied to DarthParametric's topic in General Kotor/TSL Modding
Just a minute there. This is very important. Do you have a very specific memory of the large body size being used but now can't find any evidence that this was ever the case? I used to remark regularly that the player character in TSL was much larger than the one I played in K1 (because I never picked soldier). Then one day I reinstalled TSL and everyone was using the medium body type. The weirdest part was the Czerka Mercenaries that just didn't look right in the medium body type. But when I went looking for evidence on the internet that there was something wrong with my game, I couldn't find anything that suggested that the large body type had ever been used, even in a mod that I may have downloaded and forgot about. And it drove me a little crazy. So if you specifically remember this or have some sort of evidence that there is a TSL game with this feature, I would be very interested to see/hear more. I'm pretty sure the mod above didn't exist back then. This was years ago, might have been before Deadly Stream existed. -
I don't think it's possible, even with some crazy workarounds. Then again, I somehow didn't know this was actually a thing.
-
I'm not sure what's causing your problem. Is it just shields or do you have the same problem with grenades? One compromise you could try is adding some new rows to spells.2da of usertype 1 that call the shield script and then modify that accordingly. Then you could have the Jedi enemies activate shields as a force power. I haven't actually worked too much with talents on enemies, but this would be what I would try next.
-
I don't know if I necessarily have answers for you, but I'm interested in what you're trying to do. I can try doing some investigation for you if you give me some more details. Are you trying to add shield talents to characters so they can use them without equipping the shield? I would be interested to see your code if you don't mind. Anyway, I would not be surprised if there were something hardcoded about the Jedi classes. I don't know of any .2da files that deal with what you're talking about, though I'm not sure what exactly you are talking about. Jedi functionality as it relates to classes is hardcoded, so I would not be surprised if this was hardcoded as well.
-
I don't know if you can really make a force power like Deflection/Redirection. What you can do is something similar to DarthInsidious's lightsaber forms mod for K1. Alternately you could create creature hide items for the various bonuses and have a script equip them.
-
I think I know a pretty fair amount about feats. But there are more experienced modders than I. Basically, you're very limited as to what you can do because you can really only create dummy feats or creatively re-purpose existing feats. If you want your new feat to do something, you have to define where to use it in another part of the mod. There are two main ways I've seen feats used: 1. As prerequisites or bonuses for items - You can make one or multiple feats required to use an item either in baseitems.2da or in the individual .uti files of the items. You can also change which feats give items the "Weapon Focus" and "Weapon Specialization" bonuses. 2. As conditionals in scripts - For anything that uses a script, you can check the various actors involved in a script in order to see which feats they have. You can also grant feats in scripts but you can't remove them. You can get pretty creative with #2 there but there are some pretty big limitations because most of combat happens outside of scripts.
-
This could all be made to be a lot simpler if I could find a way to shoot projectiles in-script. Anyone know how to do that? My current ideas: 1) Spawn an invisible creature and have it cast a fake spell at the location of the target and define the projectile in the spells.2da line 2) Create a beam effect that somehow mimics a projectile being fired I don't think I have the energy to really pursue either of these unless someone here knows about what would be involved.
-
I haven't tested it yet but this is my new idea: -Create auxiliary weapons as wrist launchers, have them grant one of 3 types of feats: weapon, grenade, or rocket, each calls a reload spell -Create 3 reload spells: reload, reload grenade, reload rocket, different spells are for different types of weapons -Create 3 types of 'ammo' items as rockets: use weapon, use grenade, use rocket, all are single use, each call a use weapon spell on use, each 'ammo' requires one of the 3 feats: weapon, grenade, or rocket -Create 3 use weapon spells: use weapon, use grenade, use launcher -For each type of ammo, permute across each character so we have 3 types of 'ammo' items for each character, i.e. use weapon (Atton), use grenade (Atton), use rocket (Atton) for each character -In the reload scripts, simply spawn the correct 'ammo' item for the reloading character into the inventory if it is not available, no waiting time or reload animation, also set a predesignated "Reload" local boolean on the item to true -In the use weapon scripts, run two separate scripts, first run the script to do the effect of the appropriate weapon equipped iff the "Reload" local boolean is set to true and then set it to false, then after 20 seconds run the reload script It's not perfect but it's maybe the best I can come up with that reduces UI clutter and can't be exploited in game The only thing I'm not sure about yet is if it's totally necessary to make the weapons wrist launchers instead of armbands. Armbands would be less screen clutter but I would have to find somewhere else to equip a wrist launcher.
-
I am a modder of limited scope but one feature that I think would be a big deal for me would be an integrated way of managing which files are included in your mod. Basically I've been working with Kotor Tool and TSLPatcher. I think it would be really powerful to combine the two into an 'IDE' of sorts that also adds some help with file management. Going with that, it might be nice to integrate the logic used by TSLPatcher into the appropriate editors and project manager. So basically, you would be able to specify TSLPatcher operations within the editor. I could live without it though. One thing I really like about TSLPatcher is that your whole 'project' is stored as a plain text which makes large-scale changes very quick using regular expressions or simple parsing programs. I can go in more depth with stuff or list more ideas later if you want.
-
So I thought I was onto finding a yet better way to do this using custom fields that you can set on objects in-script. Unfortunately, my computer has been having trouble running TSL and recently has been crashing so I'm not going to be able to do a whole lot of modding for a while. Someday, maybe I'll be able to really nail this.
-
Okay here's what I was able to accomplish. Like I said, I'm writing this for the benefit of aspiring modders who may come and read it later. So I'm going into a bit more detail not because I think you guys don't know most of this stuff already, but because some people don't and that information deserves to be shared. First of all, you can't fight the UI. Hostile spell targeting has 3 sections on the UI which I'm sure you're all familiar with. The first section is populated by feats, the third is populated by inventory, and the second depends on whether the user is a human or a droid. For humans, the second section is populated by force powers and for droids, it's populated by equipment. As far as I know, there's no way around this. It does mean that you can do some pretty cool things for droids though. For example, you can have a grenade launcher weapon that fires like a normal blaster but also lets you activate grenades. The same item, though, won't provide grenades for humans because you can't actually select weapon from the UI. Anyway, after Varsity suggested looking at the wrist launcher, I remembered that inventory spells were a way to target enemies. In game, grenades are generally what you're dealing with but you can fire any spell you want from inventory. The problem here is that inventory is shared between everyone so you might have a flamethrower item but anyone can use it as long as they've equipped it. I came across 2 ways to restrict who can use inventory spells though. The first way is that you can actually use regular equipment restrictions to restrict spell activation. Basically, you can have a grenade that's only useable by characters with a certain feat or with a certain light/dark alignment. They appear as selectable in the inventory but they don't actually do anything. The second way of restricting access to inventory is to use rockets. Rockets can only be used by characters with a wrist launcher. And unlike before, rockets don't appear in the inventory of characters without wrist launchers. Unfortunately, as far as I know, there is only one type of wrist launcher and one type of rocket which means that all wrist launchers and all rockets are cross-compatible. Okay, putting it all together now. The goal here is to create an item that works like a flamethrower for humans. Basically, this item would do nothing until you equipped it. Once equipped, it would give the person equipping it the ability to shoot flamethrower blasts at regular but restricted intervals. No consumables would be spent but access to the flamethrower would not be restricted in some way to discourage spamming it each turn. The way that I did this is by creating two items with two different spells. The first is an equipable wrist launcher item that acts as the flamethrower itself. To this wrist launcher, I add the ability to activate a self-targeting spell. It's similar to an energy shield. The wrist launcher runs a custom script that I've called "reload". Basically what it does is it adds an ammunition item to the inventory. The ammunition item is a one-time consumable rocket that fires the flamethrower spell on activation. The reload script first checks to see whether there exists an ammunition item in inventory before adding it. To limit the use of the flamethrower to only the person who reloaded it, a special prerequisite feat is put on the rocket. This same feat is granted by the wrist launcher that produces the rocket. So only the character with the flamethrower equipped can fire it and characters without wrist launcher items equipped won't even see it on the UI. This approach has a number of benefits. The first is that we can regulate use of the flamethrower by regulating how many times the wrist launcher can be activated. It's possible to only allow reloading 1 time per minute which means no more than 2 uses of the flamethrower can be stored up as once. I, however, preferred to extend the reloading script to do a 9 second animation in order to make an interesting tradeoff between reloading for another shot or using a primary weapon. The other benefit is that any spell activated by a rocket item when a wrist launcher is equipped uses the wrist launcher animation before firing the script. This isn't a big deal for flamethrowers, but some spells like grenades don't activate their scripts until they've blown up. So if we wanted to create a grenade launcher item in a similar manner, this allows us to keep the correct animation. There are some drawbacks to this approach however. The first has to do with the ammunition. If you have two characters with the same exact type of flamethrower equipped, they share ammo. That means that one person can reload allowing the other to fire. There is a potential solution to this, though. You could simply create one type of flamethrower ammo for each party member whose activation is restricted to that party member. But that can potentially clutter up the UI as more characters use the weapon. The second limitation has to do with the slight difference between arm bands and wrist launchers and how they activate spells. Wrist launchers are extremely similar to arm bands but not exactly. Arm bands can only be activated as equipment. Wrist launchers can be activated as equipment or inventory. And while it's possible to restrict reloading in-script to only wrist launchers that have been equipped, unequipped wrist launchers still show up as able to be activated in the UI. This is a minor annoyance but can still be a source of confusion. Anyway, I want to finish this out by posting the source code for the reload script. //:: k_sup_reload // Custom script by Box // Use this script to resolve an auxiliary weapon activation #include "k_inc_debug" void main() { // Normally there would be some logic to determine this string but for now we're just using a test string sAmmo = "testammo"; // We want the weapon used to match the one equipped by the user object oWeapon = GetSpellCastItem(); object oEquip = GetItemInSlot(INVENTORY_SLOT_RIGHTARM); // I plan to restrict auxiliary weapons to right arm only // We can use this to compare objects by exact match if (oWeapon == oEquip) { // Before adding the ammo, we have to check if one already exists object oAmmo = GetItemPossessedBy(OBJECT_SELF, sAmmo); // When oAmmo returns as null, that means we don't have ammo and should add it if(!GetIsObjectValid(oAmmo)) { // Add the ammo CreateItemOnObject(sAmmo, OBJECT_SELF, 1, 1); // For the animation, we want to entangle the user to keep him/her from escaping the reload time effect eStop = EffectEntangle(); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eStop, OBJECT_SELF, 9.0f); // These two animations are meant to kind of look like reloading DelayCommand(0.0f, AssignCommand(OBJECT_SELF, ActionPlayAnimation(10035, 1.0f, 8.0f))); DelayCommand(8.0f, AssignCommand(OBJECT_SELF, ActionPlayAnimation(10038, 1.0f, 1.0f))); // I would add sound effects here but I'm not sure how to have them loop for 9 seconds at the moment } } } A quick final note about the reloading animations. In order to get the animations to work properly, I had to set the casttime column to 0 in the spells.2da table where I created the spell that runs this script. Wrist launchers want to use the standard force animation where the character sticks his/her arm out. Setting the cast time to 0 cancels this and goes straight into the animations in-script.
-
Hey it's not dreadful. It took a lot of effort and creativity on my part. Tomorrow I'll make a "guide" on how to do this. BTW, what was your original idea?
-
I'm still working out the details at the moment. The solution is really more cleverness than learning anything new. I want to write it out in full detail though for the benefit of people like me who try to learn to mod by looking up stuff on forums like these. Basically you have to work with two items that use two different spells, an equippable wrist launcher and a separate ammo item.
-
I have to say, I think I've really outdone myself this time. My solution to this might be the highest point of my TSL modding career.
-
I appreciate the help, but I'm going to need you to be a little more specific. I've looked at Mira's wrist launcher .uti file and it has no properties, simply referencing the base item. I have to admit I don't really understand how the wrist launcher base item works. Actually I'm pretty new to spell mods in general, but I've spent some time getting to know how they work. FWIW, I understand that you can have a human character activate a self-targeting spell with an item, like an energy shield. I just don't know how to do it with enemy-targeting items like a flamethrower.
-
One of the things I would like to do for a mod I'm working on is have non-droid units use special weapons like the flamethrower and carbonite emitter. The first problem with this, as far as I can see, is that when it comes to targeting enemies human characters use force powers in the spot where droids use item spells. So I've created a flamethrower item that can be equipped by both humans and droids but only one of them can use it to target enemies. There are some ways around this. I looked at a mod that implemented a flamethrower for human characters. Instead of targeting an enemy, the flamethrower would targeting the user like an energy shield. Then the script that resolves the spell finds an enemy near the user to fire the flamethrower. This is pretty clever, but I don't like it as a solution because you can't choose who to target. So I had another idea. I would simply create a force power called "Use Item". The power would activate a script that would find the item equipped on the armband and then activate it. This is where I'm having some trouble. I've created the following script and hooked up everything so it runs, but it doesn't activate the item. //:: k_sup_useitem // Custom script by Box // This is a script for using a custom weapon from a spell // This could be considerably more tricky #include "k_inc_debug" void main() { object oItem; // The item to use int nInventorySlot; // The inventory slot where we're keeping the item event evItem; // Event for activating item? object oTarget; // Item target location lTarget; // Item target location // Get the item we're trying to activate // This seems pretty simple so I imagine it works nInventorySlot = INVENTORY_SLOT_LEFTARM; oItem = GetItemInSlot(nInventorySlot, OBJECT_SELF); // Activate the item obtained // Not sure exactly what is going on here with "events" oTarget = GetSpellTargetObject(); lTarget = GetSpellTargetLocation(); evItem = EventActivateItem(oItem, lTarget, oTarget); // I'm guessing this is what we need to run next // If the last block returned an event for activating an item, this should perform the event and activate the item, right? SignalEvent(OBJECT_SELF, evItem); } I've never written a script like this using "events" before. I just found functions in the documentation that seemed like they would do what I wanted. Unfortunately while I can verify that the script is called, it doesn't actually activate the item. I don't know if there are only certain items that can be activated. Most consumable items seem similar in their .uti files with a property that determines what spell is cast when the item is used. I was assuming that an event activating an item would work similarly, but I can't even get this to activate a regular energy shield. On the other hand, I've considered a completely different approach. Instead of trying to activate the item from a script, I would instead just determine the identity of the item equipped and then perform the effect of the item right in this script. There's a problem with that though. I've been using weapons and energy shields with a cooldown effect, so instead of having 5-10 uses before disappearing, they have unlimited uses but can only but have to wait 60 seconds before being used again. If I bypass actually activating the item with this script, then I need to figure out a way to implement a cooldown system. I have no experience doing anything like that. I assume it would probably involve global variables and heartbeat scripts but I don't know where to start. So that's my situation. I think it's a pretty interesting problem and it would be really cool if we could figure it out. What do you guys think? Does anyone know how in-script item activation or cooldowns work? Or maybe you guys have a different way of looking at this problem.