diff options
Diffstat (limited to 'npc/other')
-rw-r--r-- | npc/other/Global_Functions.txt | 49 | ||||
-rw-r--r-- | npc/other/inventory_expansion.txt | 18 |
2 files changed, 40 insertions, 27 deletions
diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt index 904ed7165..e3741b495 100644 --- a/npc/other/Global_Functions.txt +++ b/npc/other/Global_Functions.txt @@ -434,7 +434,7 @@ function script F_ShuffleNumbers { //== Function F_MesColor =================================== // Function to colorize npc dialog without having to memorize the color code // Examples: -// mes callfunc("F_MesColor", C_BLUE) +"This message is now in BLUE"; +// mesf("%sThis message is now in BLUE.", F_MesColor(C_BLUE)); function script F_MesColor { return sprintf("^%06X", min(getarg(0), 0xFFFFFF)); } @@ -446,32 +446,45 @@ function script F_MesColor { function script F_GetTradeRestriction { .@trade = getiteminfo(getarg(0), ITEMINFO_TRADE); - if (.@trade == 0) { + if (.@trade == 0) return "None"; - } .@trade$ = ""; - if (.@trade & ITR_NODROP) { + if (.@trade & ITR_NODROP) .@trade$ += "NoDrop|"; - } - if (.@trade & ITR_NOTRADE) { + if (.@trade & ITR_NOTRADE) .@trade$ += "NoTrade|"; - } - if (.@trade & ITR_PARTNEROVERRIDE) { + if (.@trade & ITR_PARTNEROVERRIDE) .@trade$ += "PartnerOverride|"; - } - if (.@trade & ITR_NOSELLTONPC) { + if (.@trade & ITR_NOSELLTONPC) .@trade$ += "NoSellToNpc|"; - } - if (.@trade & ITR_NOSTORAGE) { + if (.@trade & ITR_NOSTORAGE) .@trade$ += "NoStorage|"; - } - if (.@trade & ITR_NOGSTORAGE) { + if (.@trade & ITR_NOGSTORAGE) .@trade$ += "NoGuildStorage|"; - } - if (.@trade & ITR_NOMAIL) { + if (.@trade & ITR_NOMAIL) .@trade$ += "NoMail|"; - } - if (.@trade & ITR_NOAUCTION) { + if (.@trade & ITR_NOAUCTION) .@trade$ += "NoAuction|"; + return .@trade$; +} + +//== Function F_MesItemInfo =================================== +// Show the item name and a clickable link for the item description +// Only works with mes and mesf, does not work in menu/select +function script F_MesItemInfo { + .@item = getarg(0); + .@itemname$ = getitemname(.@item); + if (.@itemname$ != "null") { + .@itemslot = getitemslots(.@item); + if (.@itemslot) + .@itemname$ = sprintf("%s [%d]", .@itemname$, .@itemslot); } + else + .@itemname$ = "Unknown Item"; + if (PACKETVER >= 20150729) + return sprintf("<ITEM>%s<INFO>%d</INFO></ITEM>", .@itemname$, .@item); + else if (PACKETVER >= 20130130) + return sprintf("<ITEMLINK>%s<INFO>%d</INFO></ITEMLINK>", .@itemname$, .@item); + else + return .@itemname$; } diff --git a/npc/other/inventory_expansion.txt b/npc/other/inventory_expansion.txt index db18e09e1..8a5ac5e6c 100644 --- a/npc/other/inventory_expansion.txt +++ b/npc/other/inventory_expansion.txt @@ -33,28 +33,28 @@ OnInvExpandRequest: if (countitem(Inventory_Extension_Coupon) < 1) { - expandInventoryAck(EXPAND_INV_MISSING_ITEM); + expandinventoryack(EXPAND_INV_MISSING_ITEM); end; } - if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { - expandInventoryAck(EXPAND_INV_MAX_SIZE); + if (getinventorysize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { + expandinventoryack(EXPAND_INV_MAX_SIZE); end; } - expandInventoryAck(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon); + expandinventoryack(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon); end; OnInvExpandConfirmed: if (countitem(Inventory_Extension_Coupon) < 1) { - expandInventoryResult(EXPAND_INV_RESULT_MISSING_ITEM); + expandinventoryresult(EXPAND_INV_RESULT_MISSING_ITEM); end; } - if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { - expandInventoryResult(EXPAND_INV_RESULT_MAX_SIZE); + if (getinventorysize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { + expandinventoryresult(EXPAND_INV_RESULT_MAX_SIZE); end; } delitem(Inventory_Extension_Coupon, 1); - if (expandInventory(INVENTORY_INCREASE_STEP) == true) { - expandInventoryResult(EXPAND_INV_RESULT_SUCCESS); + if (expandinventory(INVENTORY_INCREASE_STEP) == true) { + expandinventoryresult(EXPAND_INV_RESULT_SUCCESS); } end; |