Hello everyone! This is my modding WIPs page (and whatever, whatever).
1. Prison Ship (k1)
My current project.
2. Republic Cruiser as Ship (k1)
Instead of the Ebon Hawk, you get a hammerhead-class cruiser named the Indomitable as your flagship. What will be in it
* Requisitions Officer.
* Sparring area.
* Cameras.
* Republic Admiral.
* Republic Soldiers.
* Jedi.
3. Yavin IV (k1)
Travel with Suvam Tan as you explore the dangers of Yavin IV. What will be in it
* Recruitment of Suvam Tan.
* Tomb of Exar Kun.
* Tomb of Naga Sadow.
* Republic Base.
* Sith Base.
* Boss fight with the Spirit of Exar Kun.
* Boss fight with the Spirit of Naga Sadow.
* Boss fight with J'kish Fett and V'shi Lesin.
4. Reign of Revan (k1)
If you chose the dark path of KOTOR, you became Lord Revan. This mod lets you reign as Revan. What will be in it
* Liberation of Manaan.
* Attack on Dantooine.
* Take-over of Tatooine and Kashyyyk.
* Take over of the Yavin Station.
* Command of the Leviathan.
* Attack on the Last Hope, with Carth Onasi as a boss.
* Activities on the Leviathan.
5. The Battle of Dxun (k2)
While on Dxun, you receive a flashback of the Battle of Dxun, a major battle in the Mandalorian Wars.
7. Recruit Balak V'stok (k2)
You get to recruit Balak V'stok, a runaway Czerka mercenary. After learning of his past, you hear of the Veridan, a powerful crime sindicate, but as unknown as the GenoHaradan. Balak was once one of them, and now he wants to take them down. Join Balak on Nar Shadda as you fight them and their leader, Vakar.
8. Korriban Restoration (k1)
Restores various content on Korriban.
9. LDR's KOTOR Improvement Mod 2.0 (LKIM 2.0) (k1)
An improvement patch to LKIM. This will fix anything I forgot, improve and remove stuff, add stuff, and so on.
10. LDR's Big Skin Pack (k1)
Self-explanatory.
11. A Crashed Republic Cruiser On A Nameless World (k1)
You get to explore the crashed Republic Cruiser on the beach on the Unknown World.
Before you people start telling me that, that's too many projects, I just want you to know that I've heard it before (ie. Holty, Dak, Kyr'am). Oh yeah, my computer broke and I needed to get a new one, so most of my work was lost. I saved some of it on a disk, but that was when I finished the first module of the prison ship.
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
4. Reign of the Sith (k1)
If you chose the dark path of KOTOR, you became Lord Revan. This mod lets you reign as Revan.
* NOTE: I am well aware of a Reign of the Sith mod by Gsccc. But, he eventually quit on it, and it was lost.
At least pick a different name...
|~La-da-di-do-laaaa!!! I am an oh-so evil sith lawd! And a mando cheftan, and a aich-kay assashshshasssasa... Assassshasshasasha. Ass... I kill shtuf. And imma robot. Beep boop beep bop~|
|~La-da-di-do-laaaa!!! I am an oh-so evil sith lawd! And a mando cheftan, and a aich-kay assashshshasssasa... Assassshasshasasha. Ass... I kill shtuf. And imma robot. Beep boop beep bop~|
2. Republic Cruiser as Ship (k1)
Instead of the Ebon Hawk, you get a hammerhead-class cruiser named the Indomitable as your flagship. What will be in it
* Requisitions Officer.
* Sparring area.
* Cameras.
* Republic Admiral.
* Republic Soldiers.
* Jedi.
I am personally most interested in this mod. (and I would be willing to help. I have ideas )
~Snip
* Tomb of Ulic Qel-Droma.
~Snip
* Boss fight with the Spirit of Ulic Qel-Droma (dark side).
You realize of course that Ulic's tomb is on Rhen Var?
Looking for a reliable place to host your KotOR and TSL mods? Look no further than KotORFiles!
We have a great team, who will be sure to get your mod uploaded ASAP, after you submit. We also get 1000's of visitors every day, so your file is sure to get noticed!
You can watch my KotOR and TSL video's on YouTube!
Looking for a reliable place to host your KotOR and TSL mods? Look no further than KotORFiles!
We have a great team, who will be sure to get your mod uploaded ASAP, after you submit. We also get 1000's of visitors every day, so your file is sure to get noticed!
You can watch my KotOR and TSL video's on YouTube!
Looking for a reliable place to host your KotOR and TSL mods? Look no further than KotORFiles!
We have a great team, who will be sure to get your mod uploaded ASAP, after you submit. We also get 1000's of visitors every day, so your file is sure to get noticed!
You can watch my KotOR and TSL video's on YouTube!
From what I see you have about 2 years worth of work = all mods done.
I would say take on one of your larger mods at a time and use a small mod like item created one as for when you get overwhelmed or a little burned out.
With Reign of Revan- i would make each a battle combat base module not one with quests you find in the regular kotor.
Take time and flesh out the ones that need it while working on building the ones you know and are already laid out.
Good luck and always remember to focus on the cake and not the icing when building large mods.
I just started working on my Republic Cruiser as Ship mod, but when I tried to enter the Ebon Hawk to be in that module, the game crashed, multiple times. I don't know what to do.
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
I just want to let you all know that these mods are not dead. I'm just unable to do them because the cheat console in my game doesn't work. Even if I fix it or if someone helps me fix it, I still have real life issues to deal with, and the addictiveness of Halo Reach (but I can put Halo Reach on hold for a maximum of 4 days).
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
I have good news. I'm finally ignoring my temptations to play Halo Reach (which is easy since I got grounded from my Xbox) and I'm going to start modding again. Now, the mod I'm going to start is Korriban Restoration. Most of it is placing more characters in the modules, since I felt that they were "too empty". I started the Dreshdae Exterior. I have all the coordinates and utcs ready and a possible utp, but I have no idea how to do an OnEnter script. Can somebody please help me?
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
By OnEnter script I mean the placeables and characters and stuff that spawn while the module loads. Instead of adding them in the GIF file with the coordinates and such and be forced to remake the other placeables and characters, I could just use an OnEnter script. But I don't know how to do it because I'm a terrible scripter. Viado, I was going to use the Training Annex in the Manaan Sith Base as a Training Area, because I'd prefer to use that than a dueling ring.
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
(you can always decompile the script and add the lines to spawn a container or you can use the easy following method which gives the same results at the end)
1. extract the On_enter script for the module. Check the .are file if you are unsure. Per example, when you enter the bar in NAr Shadaa, the script would be: a_306onenter.ncs
2. rename the script you just extracted to something else: exmaple old__a_306onenter.ncs
3. Create a new script:
Code:
void main()
{
object oEntering = GetEnteringObject();
object oPC=GetFirstPC();
if (GetIsPC(oEntering))
{
//check if the object is already there to avoid multiple objects
if (!GetIsObjectValid(GetObjectByTag("o")))
{
//replace the (0.00,0.00,0.00) by the xyz coordinates where you want to spawn the container.
//for TSL, use the whereami armband http://www.starwarsknights.com to get the coordinates. For kotor use the whereami cheat
oContainer= CreateObject(OBJECT_TYPE_PLACEABLE, "container_templateresref", Location(Vector(0.00,0.00,0.00), 0.0));
}
// Fire the old onenter script that we renamed at step 2:
ExecuteScript("old_a_306onenter", OBJECT_SELF);
}
}
4. Save your script as a_306onenter.nss (the original name of the On enter script we extracted) and compile.
How to spawn a npc in an area:
It works exactly the same as a container:
1. extract the On_enter script for the module. Check the .are file if you are unsure. Per example, when you enter the bar in NAr Shadaa, the script would be: a_306onenter.ncs
2. rename the script you just extracted to something else: exmaple old__a_306onenter.ncs
3. Create a new script:
Code:
void main()
{
object oEntering = GetEnteringObject();
object oPC=GetFirstPC();
if (GetIsPC(oEntering))
{
//check if the object is already there to avoid multiple objects
if (!GetIsObjectValid(GetObjectByTag("o")))
{
//Note that the script uses OBJECT_TYPE_CREATURE instead of OBJECT_TYPE_PLACEABLE - that's the only difference with the container:
CreateObject(OBJECT_TYPE_CREATURE, "my_npc_templateresref", Location(Vector(43.41,-0.28,9.66), 0.0));
// this portion is optional and will only work if you spawn the npc not too far from where you enter the area - careful if there are scripted cutscenes too.
// You can also use the On perception event instead of the on enter script for this.
NoClicksFor(0.5);
//Make the NPC walk towards you:
AssignCommand((GetObjectByTag("my_npc_tag")),ActionMoveToObject(oPC));
//Make the npc initiate the converstation after approcahing you:
AssignCommand ((GetObjectByTag("my_npc_tag")), ActionDoCommand(ActionStartConversation(oPC)));
}
ExecuteScript("old_a_306onenter", OBJECT_SELF);
}
}
4. Save your script as a_306onenter.nss (the original name of the On enter script we extracted) and compile
You don't need to add all of the features to the scripts. Just the one to spawn it. If you need more help, either PM or VM me. I'll go into detail then...
|~La-da-di-do-laaaa!!! I am an oh-so evil sith lawd! And a mando cheftan, and a aich-kay assashshshasssasa... Assassshasshasasha. Ass... I kill shtuf. And imma robot. Beep boop beep bop~|
|~La-da-di-do-laaaa!!! I am an oh-so evil sith lawd! And a mando cheftan, and a aich-kay assashshshasssasa... Assassshasshasasha. Ass... I kill shtuf. And imma robot. Beep boop beep bop~|
void main()
{
object oEntering = GetEnteringObject();
object oPC=GetFirstPC();
if (GetIsPC(oEntering))
{
//check if the object is already there to avoid multiple objects
if (!GetIsObjectValid(GetObjectByTag("kor_czex1")))
{
//Note that the script uses OBJECT_TYPE_CREATURE instead of OBJECT_TYPE_PLACEABLE - that's the only difference with the container:
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex1", Location(Vector(22.99,23.79,59.10), 0.0));
// this portion is optional and will only work if you spawn the npc not too far from where you enter the area - careful if there are scripted cutscenes too.
// You can also use the On perception event instead of the on enter script for this.
NoClicksFor(0.5);
//Make the NPC walk towards you:
AssignCommand((GetObjectByTag("kor_czex1")),ActionMoveToObject(oPC));
//Make the npc initiate the converstation after approcahing you:
AssignCommand ((GetObjectByTag("kor_czex1")), ActionDoCommand(ActionStartConversation(oPC)));
}
ExecuteScript("old_a_33abonenter", OBJECT_SELF);
}
Alright, I made my script, but I have 3 questions:
1.) Where do I put my X and Y Orientations?
2.) How do I add more people to this script, and also a placeable?
3.) How do I make this script work ingame?
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
Correct me if I'm wrong, but wouldn't it work in-game if you simply compiled it and had it as the OnEnter script in the modules .are file?
Yes and no.... if you edit modules directly, you can encounter mod compatibility issues. It is a better way to use the script injection method of using the OnEnter in the override, as you avoid causing problems for other mods and your own upon installation.
It is also easier to troubleshoot mod compatibility this way. In the case of BoS and Redhawke's Jawa Shop, I found that the problem between the two was conflicting OnEnter's, which I never would have found (or at least not as quickly) if they were buried in the .mod. In that case, all I had to do was rename a file and change the OnEnter to find the new filename and both mods worked.
Alright, I made my script, but I have 3 questions:
1.) Where do I put my X and Y Orientations?
2.) How do I add more people to this script, and also a placeable?
3.) How do I make this script work ingame?
I don't get what you mean by X and Y orientations
The three numbers you get when using the 'whereami' cheat should be entered in the brackets after 'Vector'.
There is no way to get a number from the game about orientation so you just have to play around. The orientation goes immediately after the three numbers where the '0.0' is.
OK, now comes the mini tutorial, getting it working in game. First you have to extract the original on_enter script for the area (should be a .ncs file) and rename it so it has 'old_' at the begining.
You already have most of your script done just make sure that before the final curly bracket you have:
This means that the old code will still be run even with your new code running.
Then save your script BUT MAKE SURE THAT WHEN YOU SAVE IT THE EXTENSION IS .NSS AND THAT IT IS THE SAME NAME AS THE ORIGINAL ON_ENTER SCRIPT BEFORE YOU RENAMED IT OR THIS WILL NOT WORK!!!!!
(This cannot be stressed enough )
Then you have to open up KOTOR Tool and open up the text edior from the menu at the top.
Show spoiler
Then with the text editor open up your .nss file. (This is just an on_enter script I made for a mod i am making and it is for the Tatooine Cantina)
Show spoiler
This next step is very important. Go to the script menu at the top and click on 'Script is for KOTOR 1'.
Show spoiler
Now go to file, save and just overite the original file. (If you do this now then it doesn't make it more confusing later on.
Then go to the script menu again and click on 'Compile'
Show spoiler
If all went well and there were no errors then this should pop up:
Show spoiler
If not it will state the error and the line. Usually errors are quite easy to fix like you missed out a semi colon. If you get stuck you can post here or ask me .
Then if you look in the folder you saved the .nss , there should now be a .NCS file. This is your compiled script and the file that the game can read.
Now you need to place your new compiled script and your old renamed one in your Overide directory and you are DONE!. Phew. My longest post yet.
If you have any problems just post them and i will do my best to answer them
It still isn't working. This is what the error message is saying:
Quote:
Lookup path root set to: C:\Program Files\LucasArts\SWKotOR\
Loaded nescript.nss from C:\Program Files\LucasArts\SWKotOR\override/
Compiling k33b_open academy.nss
k33b_open academy.nss(22): Error: Unexpected end of file
Compilation aborted with errors
Total Execution time = 16 ms
I need help. I used to be able to compile scripts easily, but now I don't know what is happening.
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
With my now rudimentary knowledge of coding, I can tell that you are missing a couple end braces
Code:
void main()
{
object oEntering = GetEnteringObject();
object oPC=GetFirstPC();
if (GetIsPC(oEntering))
{
//check if the object is already there to avoid multiple objects
if (!GetIsObjectValid(GetObjectByTag("kor_czex1")))
{
//Note that the script uses OBJECT_TYPE_CREATURE instead of OBJECT_TYPE_PLACEABLE - that's the only difference with the container:
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex1", Location(Vector(22.99,23.79,59.10), 00.28));
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex2", Location(Vector(40.78,00.68,59.22), 00.23));
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex3", Location(Vector(32.08,-40.12,59.16), 00.12));
CreateObject(OBJECT_TYPE_CREATURE, "kor_cmer", Location(Vector(18.13,11.03,58.94), 00.97));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff1", Location(Vector(10.20,-20.08,63.71), -00.61));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff2", Location(Vector(10.24,08.61,63.71), -00.70));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff3", Location(Vector(10.96,10.71,63.71), 00.99));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff4", Location(Vector(10.96,10.71,63.71), 00.99));
}
ExecuteScript("k33b_openacademy", OBJECT_SELF);
}
}
Of course I could be completely off, but in my short time of programming, my most common error was forgetting the correct number of end brackets I needed.
I made my script but when I enter the module a second time, they spawn AGAIN, putting two instead of 1. When I warp there again, there will be three there where there should be one. I think it's looping. Somebody help?
Code:
void main()
{
object oEntering = GetEnteringObject();
object oPC=GetFirstPC();
if (oEntering==oPC)
{
//check if the object is already there to avoid multiple objects
if (!GetIsObjectValid(GetObjectByTag("kor_czex1")))
{
//Note that the script uses OBJECT_TYPE_CREATURE instead of OBJECT_TYPE_PLACEABLE - that's the only difference with the container:
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff1", Location(Vector(10.47,8.82,63.72), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff2", Location(Vector(10.48,-2.28,63.72), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff3", Location(Vector(32.62,0.65,59.14), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_coff4", Location(Vector(32.65,6.00,59.14), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_sgrd1", Location(Vector(40.57,8.33,59.11), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_sgrd2", Location(Vector(40.92,4.77,59.11), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_cmer", Location(Vector(20.46,12.05,58.94), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex1", Location(Vector(19.21,6.88,58.97), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex2", Location(Vector(22.99,24.14,59.11), 0.00));
CreateObject(OBJECT_TYPE_CREATURE, "kor_czex3", Location(Vector(41.07,0.63,59.32), 0.00));
}
//ExecuteScript("k33b_openacademy", OBJECT_SELF);
}
}
Forgive, but never forget. No amount of DLC can take back lying to your fan base. Trust is earned, not downloaded.
you have to do a checkon one of the newly spawned npcs, so if this one npc is present, do not fire......if the npc is not present then the script will spawn them
Quote:
void main() {
if ((GetEnteringObject() == GetFirstPC())){