Skip to content

CustomMerchant โ€‹

ๅ‘ฝๅ็ฉบ้—ด: Cwl.API.Custom;

ๅ•†ไบบๅœจๅบ“ๅญ˜็ฎก็†ไธญไฝฟ็”จ็š„่‡ชๅฎšไน‰APIใ€‚

ๅ•†ไบบใซใ‚ซใ‚นใ‚ฟใƒ ใ‚นใƒˆใƒƒใ‚ฏใ‚’่ฟฝๅŠ ใ™ใ‚‹ โ€‹

cs
void CustomMerchant.AddStock(cardId, stockId = "");

ๆŒ‡ๅฎšใ•ใ‚ŒใŸ stockId ใŒ็ฉบใฎๅ ดๅˆใ€ cardId ใŒใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎ stockId ใจใ—ใฆไฝฟ็”จใ•ใ‚Œใพใ™ใ€‚ใ“ใ‚ŒใฏCWLใ‚ฟใ‚ฐ addStock_ID ใจๅŒๆง˜ใฎๅŠนๆžœใŒใ‚ใ‚Šใ€่ค‡ๆ•ฐใฎ stockId ใ‚’ๅŒใ˜ cardId ใซๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

ๅœจๅบซใƒ•ใ‚กใ‚คใƒซใฏ LangMod/**/Data/ ใƒ•ใ‚ฉใƒซใƒ€ใƒผใซ้…็ฝฎใ—ใ€ stock_ID.json ใจใ„ใ†ๅๅ‰ใงไฟๅญ˜ใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

ใ‚ฒใƒผใƒ ๅ†…ใงใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใ‚’ใƒ†ใ‚นใƒˆใ™ใ‚‹ใซใฏใ€ใ‚ณใƒณใ‚ฝใƒผใƒซใ‚ณใƒžใƒณใƒ‰ cwl.stock.add cardId stockId ใ‚’ไฝฟ็”จใงใใพใ™ใ€‚

ใ‚ซใ‚นใ‚ฟใƒ ใ‚นใƒˆใƒƒใ‚ฏใ‚ขใ‚คใƒ†ใƒ ใ‚’ๅ–ๅพ—ใ™ใ‚‹ โ€‹

cs
SerializableStockItem[] CustomChara.GetStockItems(string cardId);

ๆŒ‡ๅฎšใ•ใ‚ŒใŸ cardId ใฎใ‚ซใ‚นใ‚ฟใƒ ใ‚นใƒˆใƒƒใ‚ฏใ‚ขใ‚คใƒ†ใƒ ใฎ้…ๅˆ—ใ‚’่ฟ”ใ—ใพใ™๏ผˆๅญ˜ๅœจใ™ใ‚‹ๅ ดๅˆ๏ผ‰ใ€‚

ใ‚นใƒˆใƒƒใ‚ฏใƒ‡ใƒผใ‚ฟใ‚’ๅ–ๅพ—ใ™ใ‚‹ โ€‹

cs
SerializableStockData? CustomChara.GetStockData(string stockId);

ๆŒ‡ๅฎšใ•ใ‚ŒใŸ stockId ใฎใ‚นใƒˆใƒƒใ‚ฏใƒ‡ใƒผใ‚ฟใ‚’่ฟ”ใ—ใพใ™๏ผˆๅญ˜ๅœจใ™ใ‚‹ๅ ดๅˆ๏ผ‰ใ€‚ใƒ‡ใƒผใ‚ฟใฏๆ–ฐใŸใซใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นๅŒ–ใ•ใ‚Œใ€็พๅœจใฎๅœจๅบซ็ฎก็†ใซใฏๅฝฑ้Ÿฟใ—ใพใ›ใ‚“ใ€‚

ๅ•†ไบบใ‹ใ‚‰ใ‚ซใ‚นใ‚ฟใƒ ใ‚นใƒˆใƒƒใ‚ฏใ‚’ใ‚ฏใƒชใ‚ขใ™ใ‚‹ โ€‹

cs
void CustomChara.ClearStock(string cardId);

ๆŒ‡ๅฎšใ•ใ‚ŒใŸ cardId ใฎใ™ในใฆใฎใ‚ซใ‚นใ‚ฟใƒ ใ‚นใƒˆใƒƒใ‚ฏใ‚’ใ‚ฏใƒชใ‚ขใ—ใพใ™ใ€‚

ใ‚ฒใƒผใƒ ๅ†…ใงใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใ‚’ใƒ†ใ‚นใƒˆใ™ใ‚‹ใซใฏใ€ใ‚ณใƒณใ‚ฝใƒผใƒซใ‚ณใƒžใƒณใƒ‰ cwl.stock.clear cardId ใ‚’ไฝฟ็”จใงใใพใ™ใ€‚

ใ‚ซใ‚นใ‚ฟใƒ  OnBarter ใ‚คใƒ™ใƒณใƒˆ โ€‹

ใ‚ญใƒฃใƒฉใ‚ฏใ‚ฟใƒผใซไปปๆ„ใฎใ‚ซใ‚นใ‚ฟใƒ  Trait๏ผˆ็‰นๆ€ง๏ผ‰ใ‚’ไป˜ไธŽใ—ใ€CWLใฎ _OnBarter ใ‚คใƒ™ใƒณใƒˆใ‚’ๅ‡ฆ็†ใงใใพใ™ใ€‚ใ“ใ‚Œใฏใ‚ฟใ‚ฐใ‚„APIใฎไฝฟ็”จใจ็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

ไพ‹ใˆใฐใ€ใ‚ซใ‚นใ‚ฟใƒ ใ‚ญใƒฃใƒฉใ‚ฏใ‚ฟใƒผใซใ‚ซใ‚นใ‚ฟใƒ ็‰นๆ€ง TradableAdventurer ใ‚’ไป˜ไธŽใ—ใ€ใ‚ฟใ‚ฐ addStock ใ‚’่ฟฝๅŠ ใ—ใ€ๅŒๆ™‚ใซ _OnBarter ใ‚คใƒ™ใƒณใƒˆใ‚’ๅ‡ฆ็†ใ™ใ‚‹ใ“ใจใŒใงใใพใ™๏ผš

cs
class TraitTradableAdventurer : TraitAdventurer
{
    // CWLใซใ‚ˆใฃใฆๅ‘ผใณๅ‡บใ•ใ‚Œใ‚‹
    void _OnBarter()
    {
        // ใ“ใ“ใงใ‚นใƒˆใƒƒใ‚ฏใ‚’่ฟฝๅŠ /ๅ‰Š้™ค/ๅค‰ๆ›ดใ—ใพใ™
    }
}

ใ“ใฎใ‚คใƒ™ใƒณใƒˆใฏใ€ใ‚ฒใƒผใƒ ใŒ Trait.OnBarter ใ‚’ๅ‘ผใณๅ‡บใ—ใŸๅพŒใ€CWLใŒๅœจๅบซใ‚’็”Ÿๆˆใ—ใŸๅพŒ๏ผˆๅญ˜ๅœจใ™ใ‚‹ๅ ดๅˆ๏ผ‰ใซใƒˆใƒชใ‚ฌใƒผใ•ใ‚Œใพใ™ใ€‚