MENU

ゴミアイテムを一気に売るWindowerアドオンSellNPCの使い方

日々貯まるゴミアイテムなどを一気にまとめ売りするための非公式アドオンです。

こちらのアドオンは日本語のアイテム名で利用できます。

目次

導入方法

STEP
アドオンのダウンロード

GitHubからアドオンをダウンロード

STEP
アドオンの設置

Windower\addons\SellNPC にダウンロードしたアドオンを設置

STEP
アドオンの書き換え

下記コードでSellNPC.luaを上書き

STEP
profilesの更新

売りたいアイテムをprofiles.luaに定義

使い方

アイテム売却可能なNPCの前で、下記コマンドを実行するだけでprofiileに定義されているアイテムをまとめて売却できます。

ケースコマンド
キーバインドさせて使う場合bind f12 SellNPC all
FF11のチャット欄から使う場合//SellNPC all
マクロから使う場合/console SellNPC all
Windowerコンソールから使う場合SellNPC all

SellNPCの日本語対応コード

_addon.command = 'SellNPC'
_addon.version = '2.0.0.3'
_addon.author = 'Ivaar'
_addon.name = 'SellNPC'

require('sets')
profiles = require('profiles')
res_items = require('resources').items

sales_que = {}

function get_item_res(item)
    for k,v in pairs(res_items) do
        if (v.ja:lower() == item or v.ja:lower() == item) and not v.flags['No NPC Sale'] then
            return v
        end
    end
    return nil
end

function check_item(name, silent)
    local name = windower.convert_auto_trans(name):lower()
    local item = get_item_res(name)
    if not item then
        windower.add_to_chat(207, '%s: "%s" not a valid item name.':format(_addon.name, name))
    else
        sales_que[item.id] = true
        if silent then return end
        windower.add_to_chat(207, '%s: "%s" added to sales queue.':format(_addon.name, item.ja))
    end
end

function sell_all_items()
    local num = 0
    for index = 1, 80 do local item = windower.ffxi.get_items(0,index)
        if item and sales_que[item.id] and item.status == 0 then
            windower.packets.inject_outgoing(0x084,string.char(0x084,0x06,0,0,item.count,0,0,0,item.id%256,math.floor(item.id/256)%256,index,0))
            windower.packets.inject_outgoing(0x085,string.char(0x085,0x04,0,0,1,0,0,0))
            num = num + item.count
        end
    end
    sales_que = {}
    if num > 0 then
        windower.add_to_chat(207, '%s: Selling %d items.':format(_addon.name, num))
    end
end

function initialize_shop(id, data)
    if id == 0x03C then
        sell_all_items()
    end
end

function sell_npc_command(...)
    local commands = {...}
    if not commands[1] then
    elseif profiles[commands[1]] then
        for name in pairs(profiles[commands[1]]) do
            check_item(name, true)
        end
        windower.add_to_chat(207, '%s: Loaded profile "%s"':format(_addon.name, commands[1]))
    else
        check_item(table.concat(commands,' '))
    end
end

windower.register_event('incoming chunk', initialize_shop)
windower.register_event('addon command', sell_npc_command)

profilesの定義方法

私の定義例をお見せします。

  • profiles[‘gousei’]:合成品の店売りするための定義
  • profiles[‘all’]:日常的なゴミを店売りするための定義

profiles[‘gousei’]は、合成スキルを上げるときにアイテムを一気に売るためのもので、売るアイテムは書き換えて使用します。合成を挙げるときだけなので、利用頻度は高くありません。

profiles[‘all’]がいつも使うコマンドで、こちらはF12にキーバインドして利用しています。

自分がいつも店売りしているようなアイテムを列挙すれば良いのですが、アイテム件数が多くなると処理が重たくなり落ちそうになるため、ある程度の件数で止めています。

とはいえ、日常的に発生するゴミはある程度網羅できているので、この設定で特に不便はありません。

ご自身のケースに合わせて調整してご利用ください。

-- Add items to existing profiles or create your own to sell groups of items using alias commands
local profiles = {}
profiles['gousei'] = S{
    'ダークピック',
}
-- //sellnpc powder
profiles['all'] = S{
    'マホガニーポール',
    'マホガニーポール+1',
    'エボニーポール',
    'エボニーポール+1',
    'アケロンシールド',
    'プライズパウダー',
    '妖精のリンゴ',
    '堀ブナ',
    'レッドテラピン',
    'オオナマズ',
    'ザリガニ',
    'キュス',
    'エルシモニュート',
    'アジェ',
    'バーナクル',
    'センローサーディン',
    '錆びたバケツ',
    'ローレル',
    'ブラックペッパー',
    '銅鉱',
    'メープル原木',
    'モコ草',
    '巨大な大腿骨',
    'ランスウッド原木',
    '輝く透石',
    'インフィニティコア',
    'グリフィンの毛皮',
    '巨大なサレコウベ',
    'ゴブリングリース',
    '魔銅鉱',
    'スカルローカスト',
    'バニラ',
    'ワカメ',
    '合成獣の血',
    '悪魔の血',
    'ナットの翅',
    'エフトの皮',
    '上質なエフトの皮',
    '上質な陸ガニの甲殻',
    'ボムの灰',
    '水銀',
    'がら',
    'アッシュ原木',
    '軽銀鉱',
    'ゴールドインゴット',
    '火打石',
    '陸ガニの甲殻',
    '貝殻',
    '龍の肉',
    'トカゲの卵',
    'マンドラゴラの双葉',
    '陸ガニの肉',
    'コカトリスの肉',
    'シャル貝',
    'ダリウム鉱',
    'アローウッド原木',
    '羅紗',
    'ラプトルの皮',
    '野兎の肉',
    'マンドラゴラの双葉',
    'マヨイタケ',
    'ネムリタケ',
    '腐葉土',
    'ボヤーダ苔',
    'コウモリの翼',
    '獣の血',
    '謎の樹木の挿木',
    'ブラックイール',
    'ブルーテール',
    'コバルトジェリー',
    '謎の野菜の種',
    'ジンジャー',
    'ポポトイモ',
    'ミスリル鉱',
    '白金鉱',
    'クロウラーの繭',
    '骨くず',
    'コウモリの牙',
    '魚の骨',
    'パインナッツ',
    'カッパーフロッグ',
    'コモンオクトパス',
    'ポークシーの肉',
    '腐肉',
    'スライムオイル',
    '鉄鉱',
    '虫の翅',
    '大サソリの甲殻',
    '大サソリの爪',
    '魔物の血',
    'アンティカの肩甲',
    'トンベリコート',
    '炎の石印','土の石印','水の石印','風の石印','氷の石印','雷の石印','闇の石印','光の石印',
    '炎将の赤石','鳥王の翠石','巨人の黄石','隠者の紫石','海蛇の藍石','七色の白石','星月の黒石','女王の透石',
    'ポークシーの翅',
    'ゼブライール',
    'キングトリュフ',
    'たまごナス',
    'デスボール',
    '胡桃',
    'セージ',
    'エルム原木',
    '陸魚の鱗',
    '甲虫のアゴ',
    'スナッピングモール',
    'パフボール',
    'ピピラ',
    'パママ',
    'ググリュートゥーナ',
    'ボムのうで',
    'ブルーピース',
    'ドッグウッド原木',
    '金鉱',
    '毛織物',
    '岩塩',
    '蜘蛛の網',
    'マージョラム',
    'アンティカのボロ',
    'ブラックソール',
    'ムーリシュアイドル',
    'ブラックゴースト',
    'ナパ',
    'フィクリカ',
    'ウルブカパームの実',
    'ウォルナット原木',
    '亜麻',
    '火成岩',
    'マッシュローカスト',
    'レッサーチゴー',
    '砂金',
    'ガタンブ原木',
    '森の挿木',
    'クリーンローカスト',
    '睡蓮',
    '赤モコ草',
    '隕石',
    'ドワーフレモラ',
    'レッドスポット',
    'バードック',
    'エルシモパキラの実',
    'ブラスローチ',
    'ウォーターメロン',
    '\ギ\ガ\ン\ト\ス\キ\ッ\ド',
    '三日月魚',
    'メロンパイ',
    'ロランベリー',
    'ペルシコス',
    'ポーション',
    '消化薬',
    'ブラックプローン',
    'どんぐり',
    'ウルンダイ原木',
    'キングローカスト',
    'ラッカー原木',
    'レショーンチの球根',
    'レッドローズ',
    '黒虎の牙',
    '大羊の歯',
    'サルタ綿花',
    'タルタルライス',
    'レッドシーマ',
    'ゴールドカープ',
    'グリモナイト',
    'マグワート',
    '金剛亀の甲羅',
    '黒鉄鉱',
    'バストアブリーム',
    'ダークバス',
    'マタマタの甲羅',
    '沼鉄鉱',
    '龍の爪',
    'フリギアゴールド鉱',
    '銀鉱',
    'アダマン鉱',
    'ラズの牙',
    '鳥の卵',
    '蜂蜜',
    'ラズの毛皮',
    'スナップのつる',
    'スナップの消化液',
    'トゥルフェイアの羽',
    'チャプリの翅',
    'クラックローの鋏',
    'チャプリの角',
    'ヴェルクマスク',
    'コリブリの嘴',
    'コリブリの尾羽根',
    'フライトラップの葉',
    '蜂の一刺し',
    '蜂の巣のかけら',
    '野兎の毛皮',
    'ヴォエイソード-1',
    'ヴォエイスタッフ-1',
    'ヴェルクの首飾り',
    '',
    '',
    '',
}

return profiles

コメント

コメントする

目次