![]() |
A New DTS Enhancement Mod
Since AHO has declared his Enhancement Addon for DtS finished, I decided to work on a sort of sister mod for it. Replacing sound files isn't a problem for me, but I need to know the following things:
Here's what I've done so far:
|
Quote:
Quote:
Quote:
http://forum.1cpublishing.eu/showthread.php?t=4096 Quote:
he knows more than me. Quote:
Quote:
I wish you good luck and don't hesitate to ask forlik or me, if you have any question. -AHO |
Quote:
|
Quote:
1. You need a hex editor 2. You have to edit the level map file: \Levels\Hotel\hotel.swd 3. Search inside for npc reference "Suitman15" this is the ID of this guy. Before this entry there is the model reference "Actor\HotelGuard" 4. Replace the reference with "EmbassyAgent_2" or "EmbassyAgent_1" (*) Problem: The refrence names must have the same length!!! You had to clone the entry for "EmbassyAgent_*" inside the actors.shadvs and rename it with a name that fits. I know its a little complicated ;) |
Where do I find a hex editor?
|
Quote:
|
Quote:
|
Quote:
Quote:
function Level.OnLoaded() ... Actor.MarkAsTarget(Level.FindActor('SNP1') , true); Level.EnableLevelMark('DYN1', true); The first command marks 1st sniper as target. The second command marks 1st dynamite as target. SNPn and DYNn IDs are described in \svalka\map.shadvs file. You can search svalka.lua with 'dyn' or 'dynamite' keys to find another useful commands. Quote:
A lot of hex editors today (free, non-free, as plugins for file managers): http://en.wikipedia.org/wiki/Comparison_of_hex_editors But remember, that any swd-file change (even 1 byte) can lead to the game crush. And it's not easy to find the reason of the crush. So, be careful and always make a copy of the swd-file (perhaps after each successfull step). Quote:
http://forum.1cpublishing.eu/showthread.php?t=5390 and ask hykao about shadvs2txt and txt2shadvs converters. After that you'll have possibility to modify shadvs files with any text editor (like Windows Notepad). |
Hey,
what's the current state of your work? Give us feedback ;) |
Quote:
|
Quote:
Level.CreateWorldItem( "wear:EmbassyAgent_1" , "equipment" , 821.00, 4.00, -368.00, 0.0, 0.0, 0.0, 'id_wear1' );
|
Update:
In regards to wanting to place new clothes, I want to place a warden's uniform on the bed in the room near the conference hall in "Stronghold" to start with. AHO, can you please give me the coordinates of said bedroom? |
Quote:
|
Have I done this right?
Level.CreateWorldItem( "wear:GermanYellow" , "equipment" , -60.064407, 0.906136, 555.986816, 0.0, 0.0, 0.0, 'id_wear1' ); |
Quote:
correctly? Maybe you have to correct the y-coordianate manually. Note: the id at the end must be unique, so if you create another item via this command it must have a different name. PS: Why don't you post some screens shots of your work, I'm very interessted in your results... |
Quote:
|
Quote:
1. The game engine makes strange things, sometimes the spawned item is in or under the ground. So try to change the y-coordinate manually (the digit) 2. Just change the Number 3. Yes it is, just search in folder \players\ for the file if you are not sure |
I got the warden's uniform to show up on the bed, but there's something wrong... I think I made up to three duplicates of the uniform in the same position.:grin:
|
How do I only make one warden's uniform appear on the bed instead of multiple uniforms in the same position?
Also, I tried to add a chef's uniform in the Embassy kitchen. However, when I attempted to test it, the level loads with Strogov in his camouflage clothes, without his weapons, under fire. |
Quote:
Quote:
|
Quote:
will duplicated every time you load a save game. Quote:
You can check the error message in the console's log |
Quote:
|
Quote:
"Actor.MarkAsTarget( comendat , true );" Or set the second argument to "false". |
Quote:
|
Quote:
sure, because I did not test it... |
Okay, I'm having no luck so far on how to make the map marker in the warden's room disappear once I take the spare uniform. But, here's some updates on what I've done so far:
I also had a go at placing a German soldier's winter uniform in "Winter Cold", but I encountered a problem - Strogov wears TWO hats in the same uniform (the cap protrudes a little bit from the helmet). |
Quote:
Level.AddActionHandler( Level.AH_FINISH_CHANGECLOTH, 'WRFB', "OnChangeFbiCloth" ); ... function Level.OnChangeFbiCloth() local player = Level.GetPlayer(); if ( player != nil ) then Actor.EnableMesh( player, "mesh_hat" , false ); Actor.EnableMesh( player, "mesh_glasses" , false ); end; end; This part of code removes hat and glasses from Semen in FBI uniform. I think, you can apply this solution to helmet/cap of the German uniform. |
Is this correct?
Level.AddActionHandler( Level.AH_FINISH_CHANGECLOTH, 'WSOL', "OnChangeWSoldierCloth" ); ... function Level.OnChangeWSoldierCloth() local player - Level.GetPlayer(); if ( player !=nil ) then Actor.EnableMesh (player, "mesh_cap" , false); end; |
Quote:
|
I think I've got this wrong:
Level.AddActionHandler( Level.AH_ACTOR_KILLED , "PKUR" , "OnKilledKurier"); Level.AddActionHandler( Level.AH_FINISH_CHANGECLOTH, 'WSOL', "OnChangeWSoldierCloth" ); -- patch Level.AddActionHandler( Level.AH_ACTOR_KILLED , "GO07" , "OnKilledMarkedOfficer"); Level.AddActionHandler( Level.AH_ACTOR_HITTED , "GO07" , "OnKilledMarkedOfficer"); Level.AddActionHandler( Level.AH_ACTOR_KILLED , "GO02" , "OnKilledMarkedOfficer"); Level.AddActionHandler( Level.AH_ACTOR_HITTED , "GO02" , "OnKilledMarkedOfficer"); Level.AddActionHandler( Level.AH_PLAYER_INVENTORY ); ... function Level.ChangeKurierTask() Level.AddMissionTask( MissionText.Task_2, 'FREE', "levels\\posilka\\free_task.txt" ); Level.RemoveMissionTask( 'GETK' ); Level.PlayMenuSound("task_finish"); Level.AddLargeMessage( MissionText.Message_1, 15.0, 255, 255, 255 ); Level.EnableLevelMark( 'GETK' , false ); Level.EnableLevelMark( 'FREE' , true ); local kurier = Level.FindActor('PKUR'); if ( kurier != nil ) then Actor.SetMapHidden( kurier, false ); Actor.MarkAsTarget( kurier, true ); end; Level.EnableLevelMark( 'OFFR' , true ); -- patch Level.CheckKilledOfficers(); Level.ShowTargetGuards(); end; function Level.OnChangeWSoldierCloth() local player - Level.GetPlayer(); if ( player !=nil ) then Actor.EnableMesh (player, "grm_cap" , false); end; When I load the level, a Syntax error is triggered. |
Quote:
Code:
local player - Level.GetPlayer(); Code:
function Level.OnChangeWSoldierCloth() |
I'm still getting the error! Which position does it have to be in?
|
Quote:
P. S. http://www.lua.org/manual/5.1/ |
I think I messed up the "Winter Cold" LUA, so I decided to withdraw placing spare soldier's uniforms for now.
A new problem has been encountered in "Stronghold" - I can't enter the prison in the spare warden's uniform. |
Quote:
Send me your posilka.lua by e-mail or PM. |
Quote:
|
I need help with the following problems:
|
UPDATE:
I still need to figure out how to make the spare uniform in "Stronghold" register as the warden's. |
Quote:
|
Quote:
|
Hey Liz, what are you doing exactly?
Modding DtS or MoT or both? Please post your progress and some screens. |
Quote:
Before forlik released his mod, I've been trying to make two Nagant cartridges appear next to the gun in "Hotel", but I'm having no luck. |
Quote:
Quote:
|
All times are GMT. The time now is 04:08 PM. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.