Jump to content

ESP: The beginning and the modmerging system [S2G/CP1.6/EE2.1/SS,C]


Recommended Posts

35 minutes ago, Flix said:

Single line. I'm fine with the rest being like it is.  It's really just the presentation of bonuses I'm interested in seeing improved.  Anything else is just icing on the cake.

Ill give you more icing on the cake than you can carry.

28 minutes ago, dimitrius154 said:

I... assume, they can and it will. Judging by the code in question, the actual stings are being compared vs. a mask, as in  if "string" = "intensity".

I can make the swapping optional, in case it doesnt.

 

A few more questions to the 2 of you. Does

Quote

if not CodeSegment then
    CodeSegment = function(a) end
end

have any meaning beyond being present once, and before CodeSegment ?

Would inline comments in mgr.createskill

19 hours ago, Charon117 said:
Quote

mgr.createSkill {
--
--Advanced:
--optimale Aspektregeneration
    skill_name = "skill_DR_voodoo_focus",
    advance_level = 75,
    min_level = 1,
    mean_value = 200,
    advance_mean_value = 300,
    skillgroup = "SKG_ASPECTS",
    adv_skill_name = "skill_DR_voodoo_adavanced_focus",
}

 

work ?

Edited by Charon117
Link to comment
20 minutes ago, Charon117 said:

have any meaning beyond being present once

A primer and a finisher, obviously.

21 minutes ago, Charon117 said:

work ?

They do, just don't use specific symbols from languages, other , than English.

  • Thanks! 1
Link to comment

Finished  [Newer Download in later posts].

 

Things to note

  • Please check id = 750, under mgr.createCreature. The closing } has an extraneous white space right after it. Delete it please, otherwise the next entry will get dublicated. That doesnt break anything but we are trying to avoid dublicates, no ?
  • Also check     id = 1582, it is a dublicate.

Shoutouts to Martin Pool who coded the natural sorting algorithm 15 years ago.

 

I would appreciate feedback on the satisfaction quality of the program, and ofcourse whether the file actually works or not.

Edited by Charon117
  • Thanks! 1
Link to comment

It's very impressive.  I ran it successfully and looking through the contents it seems to do just what it says it will do.  I haven't tested the file in-game yet.

In D2F I manually sorted all mgr.createCreature entries by race.  The program seems to have preserved the order but erased my comments that I used as markers between the different races.

Link to comment

Thanks I should have realized sooner it would be easy to add the comments back in with a compare function in Notepad++. I appreciate all the work you're doing on these tools.

I forgot to report back but the model scaling tool also seems to work without any issues. 

  • Appreciation 1
Link to comment

Fun fact: creatures.txt has 1940 entries with "\tid =" and 4 with "\s\s\s\sid ="

 

Improvement: The Sacred 2 Defrag Creatures Tool can now properly read mgr.createCreature Code Segment endings, and is no longer confused by any extraneous characters.

[Newer download in later posts]

 

Edit: How important is it for the Modmerge System to preserve comments in creatures.txt ? @Flix @dimitrius154

Edited by Charon117
  • Thanks! 1
Link to comment
On 11/27/2019 at 11:17 PM, Charon117 said:

How important is it for the Modmerge System to preserve comments in creatures.txt

Dunno, they're pretty important for me, a modder. For a user they're pointless.

Link to comment
On 11/28/2019 at 8:17 AM, Charon117 said:

How important is it for the Modmerge System to preserve comments in creatures.txt ?

On par with comments for code changes, or code notes - paramount. Three months pass and one won't find a thing without those references.

Link to comment

I was thinking about it, and I dont think I can preserve them. For the simple reason that comments for mgr.createCreature usually signal a block of such entries ahead like

-- new
or
-- Elite Mounts Begin

which groups them together. But another modder might have different blocks, Logically merging such blocks is undoable, as you would exclude/include ... anyway, not doable.

As long as comments match a single entry its no problem to pull them with the entry, but arbitrary block structure goes against what the modmerging system is supposed to do, merging based on code identifiers.
Although the modmerging system preserves everything in the base file, including comments, so a base Addendum file keeps all its comments, just code identifier segments get swapped out/added. So

1. Get a clean Sacred 2 Gold version
2. Apply the latest CP
3. Apply the latest EE/Addendum
4. At this point you can use the modmerging system or the modlauncher one. This should preserve all base comments from the base files.

For the normal user that might be irrelevant, and he can start the modlauncher right after the CP. For dedicated modders its only 1 additional step to preserve their working environment.

 

@dimitrius154 did you try the Sacred 2 Defrag Creatures tool ?

Link to comment
7 hours ago, Charon117 said:

did you try the Sacred 2 Defrag Creatures tool ?

Not yet, being busy with applying Sakkara Demon possession as a replacement for the downright hazardous 6-th divine gift. I'm planning to try the tool on a release ready version of the script.  

Link to comment
On 12/1/2019 at 1:26 PM, dimitrius154 said:

Not yet, being busy with applying Sakkara Demon possession as a replacement for the downright hazardous 6-th divine gift. I'm planning to try the tool on a release ready version of the script.  

Aye.

 

Edit: creature_id of mgr.addCreatureBpRelation in creatuers.txt is unique. Is it supposed to be that way, or are people supposed to add mgr.addCreatureBpRelation entries for the same creature ? @Flix

 

Added tab support for better readability:  [Newer Download in later posts] You dont have to like this, I know you like the tool.

Edited by Charon117
Link to comment
7 hours ago, Charon117 said:

Edit: creature_id of mgr.addCreatureBpRelation in creatuers.txt is unique. Is it supposed to be that way, or are people supposed to add mgr.addCreatureBpRelation entries for the same creature ?

It's supposed to be that way.  These entries serve a specific function.  They connect creature entries to the corresponding blueprints in blueprint.txt for the various mounts.  They allow a mount to exist as both a creature and a vendor item.  I can't think of any reason why one would want the same creature to be tied to multiple blueprints, since all possible variation is coming from the creature entry.

  • Appreciation 1
Link to comment
14 minutes ago, Flix said:

They connect creature entries to the corresponding blueprints in blueprint.txt for the various mounts.

That's correct. Those entries serve to link sellable items to represented creatures, provided the GetClassMount function condition is met.  

  • Appreciation 1
Link to comment
On 11/18/2019 at 5:51 PM, dimitrius154 said:

There's "scripts\autoexec.txt", that allows to do just that

What's the effect of moving behaviour.txt to the Client & Server shared scripts section of this file?

Link to comment
5 hours ago, Flix said:

Client & Server shared scripts section of this file?

It gets executed both client and server-side. Some AI functions work clientside only, like if I recall correctly, every single sheduled behaviour, like sleeping(there're bums at streets at night now ,hehe), eating, praying. Also this change was needed to implement the ability to engage in dialogue for multiple statist NPC roles.

Edited by dimitrius154
  • Thanks! 1
Link to comment
26 minutes ago, Charon117 said:

Is it ok if I insert mgr.addMapPos { randomely after the primer and finisher, or is there any meaning to their relative position to each other ?

The relative position of addmappos entries within the function block appears irrelevant.

  • Thanks! 1
Link to comment

@Flix Im sorry, I know you already told me but can you tell me what I have to look for if I want to change the general effectivity of the mod "Regen per hit" again ? Additionally also the one for "LL%". I will put those changes into the the modmerge format for ESP.

Link to comment

blueprint.txt for the following two entries:

 

name = "uni_off_lifeleech_rel",   

mgr.createBonus(666, newBonus);

 

name = "sb_off_energyleech_whit", 

mgr.createBonus(665, newBonus);

  • Thanks! 1
Link to comment

@Charon117 I'd like to make a request, if you are not too busy. In scripts\shared\itemtype.txt file, there's a number of useful "obsolete" entries as well, as missing IDs, or even ID intervals. I'd like to acqure a list of "missing" instances for the purpose of "unique items = unique models" project.

Edited by dimitrius154
Link to comment
On 12/15/2019 at 1:13 AM, dimitrius154 said:

@Charon117 I'd like to make a request, if you are not too busy. In scripts\shared\itemtype.txt file, there's a number of useful "obsolete" entries as well, as missing IDs, or even ID intervals. I'd like to acqure a list of "missing" instances for the purpose of "unique items = unique models" project.

Please exactly specify the software requirements and what the software should do. Alternatively you can let Flix help you with the request to make it as easily understandable as possible. :)

Edited by Charon117
Link to comment
  • The title was changed to ESP: The beginning and the modmerging system [S2G/CP1.6/EE2.1/SS,C]

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
Please Sign In or Sign Up