diff options
author | Haru <haru@dotalux.com> | 2019-05-05 20:40:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-05 20:40:00 +0200 |
commit | 892ed5f372f995786facfa8ce833711936754795 (patch) | |
tree | d6c3c5d6af0fd19331f4955f276272330605faa7 | |
parent | 4afb21ec8299e0e3dd79adc1b7b7a73870b93cdc (diff) | |
parent | 7b48fee4ffd90913e2beac51e0bed958129dd3e7 (diff) | |
download | hercules-892ed5f372f995786facfa8ce833711936754795.tar.gz hercules-892ed5f372f995786facfa8ce833711936754795.tar.bz2 hercules-892ed5f372f995786facfa8ce833711936754795.tar.xz hercules-892ed5f372f995786facfa8ce833711936754795.zip |
Merge pull request #2068 from AnnieRuru/37-F_MesItemInfo
Add F_MesItemInfo function to show item name with description link
-rw-r--r-- | doc/script_commands.txt | 10 | ||||
-rw-r--r-- | npc/other/Global_Functions.txt | 23 | ||||
-rw-r--r-- | npc/re/instances/OldGlastHeim.txt | 4 |
3 files changed, 33 insertions, 4 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 4cfb821a3..13deb97f8 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -1231,7 +1231,7 @@ you have to set it back to black unless you want all the rest of the text be in that color: mes("This is ^FF0000 red ^000000 and this is ^00FF00 green, ^000000 so."); - mes(callfunc("F_MesColor", C_BLUE) +"This message is now in BLUE"); + mesf("%sThis message is now in BLUE.", F_MesColor(C_BLUE)); Notice that the text coloring is handled purely by the client. If you use non-English characters, the color codes might get screwed if they stick to @@ -1255,6 +1255,14 @@ This will allow you to visit 'Google' with the in-game browser using default dim Clicking 'Bing!' will open the in-game browser using the specified dimensions. (800x600) +If you're using client from 2013-01-30 onwards, you can also use <ITEMLINK> to show +the item's description. Gravity changed this into <ITEM> since 2015-07-29 onwards. + + mes("Bring me an <ITEM>Apple<INFO>512</INFO></ITEM>."); + mesf("Bring me an %s.", F_MesItemInfo(Apple)); + +This will show the item name and a clickable link for the item description. + --------------------------------------- *mesf("<format>"{, <param>{, <param>{, ...}}}) diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt index 86332e931..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)); } @@ -467,3 +467,24 @@ function script F_GetTradeRestriction { .@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/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt index 44b5f1e61..ec0efeb53 100644 --- a/npc/re/instances/OldGlastHeim.txt +++ b/npc/re/instances/OldGlastHeim.txt @@ -2744,7 +2744,7 @@ glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{ close(); } mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000."); - mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>"); + mes(F_MesItemInfo(White_Knightage_Card)); next(); setarray(.@item[0], Coagulated_Spell, Corrupted_Charm); setarray(.@cost[0], 3000, 70); @@ -2777,7 +2777,7 @@ glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{ close(); } mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000."); - mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>"); + mes(F_MesItemInfo(Khali_Knightage_Card)); next(); setarray(.@item[0], Coagulated_Spell, Corrupted_Charm); setarray(.@cost[0], 5000, 100); |