Exemplo n.º 1
0
def byte_string_lengths(file_name):
    strs_len = strings.extract_length([strings.get_strings(file_name)])
    #print strs_len
    return strs_len[0].tolist()

if __name__ == "__main__":
    if not IS_ADMIN:
        logger.warning("Script has to run as Administrator.")
        sys.exit(-1)

    mr = MemoryReader(process_name="FlorensiaEN.bin", window_class="Florensia")

    logger.info("Starting Inventory Database Tool...")
    character_name = get_character_name()
    account_id = get_account_id()
    logger.info(f"Creating database for {account_id} - {character_name}")

    logger.info("Getting item strings")
    mapper = get_strings()
    logger.info("Got 'em!")

    slots = [InventarSlot(i + 1) for i in range(0, 120)]

    headers = [
        "Account ID", "Character", "Type", "Name", "Quantity", "Slot",
        "Updated"
    ]
    rows = []

    logger.info("Getting inventory slots")
    for slot in slots:
        if not slot.is_empty:
            item: dict = mapper[str(slot.table)][str(slot.row)]
            rows.append([