Modding Tutorials by Shiningted

Discussion in 'ToEE Toolset Project Documentation' started by krunch, Jun 18, 2006.

Remove all ads!
  1. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    802
    Likes Received:
    94
  2. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    802
    Likes Received:
    94
  3. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,063
    Likes Received:
    293
    Could you upload your files somewhere and link them so I can take a look?
     
  4. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,652
    Likes Received:
    552
    On that note, if you intend to publish your work, for example as an override package or dat file, then please use the extender method (as explained in the modding wiki, here).
     
    anatoliy likes this.
  5. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    802
    Likes Received:
    94
    Thank you I have adopted the extender method for protos.tab and description.mes.

    Is there a T+ approved method of adding new scrolls to rules/item_creation.mes please?
     
  6. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,652
    Likes Received:
    552
    Not really, except as you know the crafted scroll level can be adjusted ingame. In the future I'd like to automate that sort of thing, though.
     
  7. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,063
    Likes Received:
    293
    @Pygmy sorry man this one has me stumped, I can't see why it would be displaying like that at all. :confused:
     
  8. Kriegdoom

    Kriegdoom Established Member Supporter

    Joined:
    Jun 7, 2016
    Messages:
    153
    Likes Received:
    35
    Last week, I got a wild hare to start my own module in TOEEWB. I reviewed the text files and as much of the threads as I could ingest.
    I picked a pre-published but little-known module I think would be easy to convert to ToEE and 3.5 - more about that if I can get going on this - and I have a ton of ideas running through my head about how to make a fun adventure. My plan is to only use existing maps, as map creation is far beyond my competence. I dont plan to monkey with any of the existing spells, mobs, etc. With a very limited number of exceptions, I think I can make this work with existing materials. Hopefully, that will make Temple+ fully compatible.
    Additionally, getting to this post, I took it upon myself to update and simplify the TOEEWB documentation as I learn.
    Going through the TOEEWB tutorial step by step, below is what I have so far:

    Preparing the Module Folder

    1. Make a standalone modding folder (outside your ToEE installation folder) for your draft module.

    2. Make a subfolder under the modding folder named “data”.

    3. Make a subfolder under the modding folder named “modules”.

    4. Make a subfolder under “modules” named “TOEE”.

    5. Make a subfolder under “TOEE” named “maps”.

    6. Make a subfolder under “TOEE” named “rules”.

    7. Copy the file temple.dll from your ToEE installation folder to the modding subfolder “TOEE”.

    Making the Starting Map

    1. In your modding folder subfolder modules/TOEE/maps, create a subfolder for the map you are adding to your module.

    2. Locate the file MapList.mes in the folder data/mes in your ToEE installation folder.

    3. Copy MapList.mes to the “rules” subfolder under the “modules” subfolder of your modding folder.

    4. In the COPIED file, choose the existing map you want to include in your module.

    5. Copy this text and paste it to the bottom of the file.

    6. Change the map number (first four digits in the string) AND change the map name to match the name of the subfolder you created in step 1.

    7. IF there is a parameter called “Movie” in the string, remove the parameter.

    8. IF you do NOT want the fog of war on this map, ensure there is a “Flag: UNFOGGED” parameter in the string. If you DO want fog of war, remove this flag if it exists.

    9. SAVE the modified file MapList.mes.

    10. In the ToEE installation folder, locate the subfolder modules/ToEE/maps.

    11. Locate the subfolder associated with the map you chose in step 4.

    12. COPY all the files in this subfolder to the subfolder in your modding folder created in step 1.

    Changing the .dll file

    1. Launch ToEE Worldbuilder.

    2. Choose the “DLL Editor” tab and hit the “Load DLL” button.

    3. Browse to the subfolder modules/TOEE created in your modding folder and open the file temple.dll.

    4. Change the starting map to match the map number you created.

    5. Hit the “save DLL” button and confirm the save.

    Test the new map in FRONTEND-X

    1. You will need WinZip or similar program to compress the files.

    2. Open WinZip and combine the following into one compressed file:

    a. The “rules” subfolder from your modding folder (unless empty);

    b. The “modules/TOEE” subfolder from your modding folder;

    c. The modified temple.dll file from your modding folder.

    3. Save the newly compressed file directly to the ToEE folder.

    4. Rename the compressed file to your module’s name.

    5. Change the file extension to tfm.

    6. Open TFE-X and activate your module.

    HOWEVER, following these steps does not work. The new module loads. I create a party. I hit "begin adventuring". The party (of one) lands on a black background, and immediately dies. Game over.
    I did notice the map number suggested in the tutorial (5120) is already in use in the NC MapList.mes. SO I changed my new map number to 5200 and made the change in WB. recompressed and reactivated. No help.
    I also noticed the Shopmap (5000) so I tried using 5000 as my new map number (and saved the data, and made the change in WB). Recompressed and reactivated. In that case, the game simply crashes without loading.
    I also noticed the CN vignette (5104) has the extra moniker "STARTMAP" but the game has never started me in that map.

    I am beginning to wonder if TOEEWB will only work with the factory version of ToEE. If that is the case, I wont be able to make my module, as Ive already identified a number of maps I will need from NC, as well as some maps in KotB. (Im not even going to try using PalCo due to the Temple+ compatibility issues.) Making new maps from scratch is right out for me.

    I didnt see any mention of starting maps in Ted's excellent 300+ page tutorial. Is there an update in the forums (fora?) I missed?
     
  9. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,063
    Likes Received:
    293
    If your starting location is off the map it might just be that you've not set your starting coordinates on your new map. I forget where the default starting location is noted in the game files (it's been a good 12 to 15 years since I've done any of that stuff) but basically openen every file you can find with map in the name until you find a string of co-ordinates as you would if you used the console to teleport to a map location, and find a suitable set of co-ordinates for your map. (Check the list of console commands thread for the code string if you don't already know it - I think it's like: game.fade_and_teleport(0,0,0,MMMM,XXX,YYY) where MMMM is the map number, XXX is the X co-ordinate and YYY is the Y co-ordinate. I beleive the 0,0,0 bit is something to do with intro videos?

    I beleive map 5000 doesn't work because it doesn't translate into hex for the .dll to parse or something, so that's not surprising.
     
    Last edited: Feb 18, 2026
  10. Kriegdoom

    Kriegdoom Established Member Supporter

    Joined:
    Jun 7, 2016
    Messages:
    153
    Likes Received:
    35
    I havnt changed the coordinates listed in the MapList.mes, but I can verify those are good values and report back.
     
  11. Kriegdoom

    Kriegdoom Established Member Supporter

    Joined:
    Jun 7, 2016
    Messages:
    153
    Likes Received:
    35
    So, I seem to have solved this issue by changing the map name, but NOT the map number. Will notate that in the SOP. Now on to creating mobile objects, fingers crossed. ;)
     
  12. Kriegdoom

    Kriegdoom Established Member Supporter

    Joined:
    Jun 7, 2016
    Messages:
    153
    Likes Received:
    35
    Mobile objects were no sweat. I've moved on to python commands.

    I've been stuck for a week trying to write a command for an npc to hail the party from a distance. I've read Ted's tutorial eighteen times and scoured the chat, I cant figure what I'm doing wrong.

    The key command is

    for obj in game.obj_list_vicinity(attachee.location,OLC_PC):
    if (obj.distance_to(attachee) <= x:

    I've tried multiple variations of the full python script:

    def san_heartbeat( attachee, triggerer ):
    for obj in game.obj_list_vicinity(attachee.location,OLC_PC):
    if (obj.distance_to(attachee) <= 20:
    attachee.turn_towards(obj)
    obj.begin_dialog( attachee, 1 )
    return RUN_DEFAULT

    not only does the command not work, it also blocks the regular dialog script:

    def san_dialog( attachee, triggerer ):
    triggerer.begin_dialog( attachee, 1 )
    attachee.turn_towards(triggerer)
    return SKIP_DEFAULT

    so you cannot communicate with the npc at all. Note that when I omit the heartbeat command, the dialog command works just fine.

    The script id# in protos is 492. The name of the python file is py00492Vercingetorix.py. As noted, if I omit the heartbeat command, the dialog command works just fine. The full script is:

    from toee import *

    def san_heartbeat( attachee, triggerer ):
    for obj in game.obj_list_vicinity(attachee.location,OLC_PC):
    if (obj.distance_to(attachee) <= 20:
    attachee.turn_towards(obj)
    obj.begin_dialog( attachee, 1 )
    return RUN_DEFAULT

    def san_dialog( attachee, triggerer ):
    triggerer.begin_dialog( attachee, 1 )
    attachee.turn_towards(triggerer)
    return SKIP_DEFAULT

    I'm sure its something stupid I am missing. Any help?
     
  13. Kriegdoom

    Kriegdoom Established Member Supporter

    Joined:
    Jun 7, 2016
    Messages:
    153
    Likes Received:
    35
    syntax error.

    needed closed paren after <=20.

    my opening vignette is complete.
     
Our Host!