Store Inventory Update --- Beware the glaringly obvious.

Discussion in 'Negative Energy Plane' started by Aginor37, Sep 27, 2003.

Remove all ads!
  1. Aginor37

    Aginor37 Member

    Joined:
    Sep 26, 2003
    Messages:
    37
    Likes Received:
    0
    Okay, to recap;

    In order to make it possible to edit merchant's inventories, you first have to correct an error in the original Invensource.mes file. The error here is that the comments aren't properly REM'ed (go go Qbasic!!;) ). The remedy for this is to add // before each line of the comments at the beginning of the file. Once this is done, the game is properly reading the file, and modifications is possible.

    Now, for an example of what you will see in Invensource.mes, and a short description of what each part is.

    {3}{Miller's store: buy_list_num,1 50,4072 50,4170}

    First, the {3} is jsut the number assigned to the merchant, for internal tracking I assume.

    "Miller's store:" is just that, listing who you are dealing with, in this case what the Miller has for sale.

    "buy_list_num,1" refers to Invensourcebuy.mes, and defines just what (if anything) the merchant will buy from you. In this case, if Invensourcebuy.mes is to be believed, the miller won't buy anything from you. I only say this because I have never tried to actually sell anything to him, and at this point I am taking every line of every file with a grain of salt.

    "50,4072 50,4170" refer to actual items available to buy. the 50 is the percentage chance that that It will be up for sale (I think, haven't played with that too much yet) and 4072 and 4170 are item ID#s, which can be found in Description.mes (4072 being a Scythe and 4170 being a masterwork Scythe).

    And of course, each line must be bracketed in {} for syntax purposes.

    At this point our knowledge is incomplete. We have figured out so far that in order for your changes to appear, you must A) sell something to the merchant you changed, and B) rest for a sufficient time as to reset the merchant. It seems that the only time that the merchants will "restock" via Invensource.mes is if you have sold them something.

    However, it seems that some merchants won't "restock" no matter how long you rest/pass time. Examples of this are the tailor and Burne. The reason for this is unknown at this time.

    Feel free to add anything I missed. I know I didn't go into the NPC loot lists that are in Invensource.mes, but they seem to work the same as the inventories.
     
  2. olaf

    olaf Member

    Joined:
    Sep 25, 2003
    Messages:
    25
    Likes Received:
    0
    Maybe try changing the buy_list_num value for some vendors and see if they will restock. Like change Burne to 7 instead of 3.

    olaf
     
  3. olaf

    olaf Member

    Joined:
    Sep 25, 2003
    Messages:
    25
    Likes Received:
    0
    On a somewhat related note, for me anyway because the whole reason I wanted to figure this out was to access some spell scrolls in game that I couldnt find on vendors or monsters. Anyway, I was looking through this file .\ToEE3\rules\SpellList.mes and it looks like the spells missing from there are the ones you cant scribe. Well, maybe not but some are missing from there, and in at least one case its one I cant scribe.

    olaf
     
  4. olaf

    olaf Member

    Joined:
    Sep 25, 2003
    Messages:
    25
    Likes Received:
    0
    I was able to get stuff to appear on the Homlett Smiths inventory. 4 scrolls, all stat boosters. Interestingly, and frustratingly, enough, Spugnoir refuses to scribe any of them. Owls Wisdom, Bulls Strength, Foxs Cunning and Eagles Splendor.

    olaf

    edit: Heh. Downloaded the fix pack from here and...voila! Scrolls scribe as they should, yay.
     
    Last edited: Sep 28, 2003
  5. Aginor37

    Aginor37 Member

    Joined:
    Sep 26, 2003
    Messages:
    37
    Likes Received:
    0
    Good morning boys and girls. ;)

    Okay, have a bit more testing to do, but unless I get some suprising results I think we are done until we can get someone with Python skills on the project. It looks like we are going to need a script that forces a "restock" across the board at game start and at certain intervls, probably triggered when you talk to the NPC (For example, we need it so when you talk to Burne it checks the last time/date you talked to him, and if X amount of time has gone by since the last time you talked to him he restocks)

    Once we have a script for that in place, we are ready. All we will need to release at first is that script and a "clean" fixed Invensource.mes, and users will be able to put whatever items they want on their merchants.

    Edit: Clarified a statement.
     
    Last edited: Sep 28, 2003
  6. PlatinumWeaver

    PlatinumWeaver Member

    Joined:
    Sep 25, 2003
    Messages:
    44
    Likes Received:
    0
    The more threads I read, the more it seems like one of us is going to have to bite the bullet and learn all the ins and outs of Python.. just based on my previous programming experience, I would have to recommend someone other than myself ;)

    Good work on the merchant inventories, looks like you're really close!

    :beer:
     
Our Host!