diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-12-02 23:51:07 +0100 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2012-01-18 12:39:23 +0100 |
commit | 8cd2c43afe043a85451d9e3e5aba71b8b7c6e0e9 (patch) | |
tree | 5e32e30dd6771fdb5ccc2630a55f9e967ba00457 /example/serverdata/scripts/maps/desert.lua | |
parent | 79be5133dcda12d20934faf32a7f71e6c7de0e78 (diff) | |
download | manaserv-8cd2c43afe043a85451d9e3e5aba71b8b7c6e0e9.tar.gz manaserv-8cd2c43afe043a85451d9e3e5aba71b8b7c6e0e9.tar.bz2 manaserv-8cd2c43afe043a85451d9e3e5aba71b8b7c6e0e9.tar.xz manaserv-8cd2c43afe043a85451d9e3e5aba71b8b7c6e0e9.zip |
Fixed the chr_inv_count function to handle equipment.
the function can now count in the inventory
and/or the player's equipment.
I also fixed the script function and added a use case
in the example map.
+ Fixes after Ablu's review.
+ 2nd fix after Ablu's review: Fix the inventory remove behaviour.
Resolves: Mana-Mantis #288
Reviewed-by: Ablu
Diffstat (limited to 'example/serverdata/scripts/maps/desert.lua')
-rw-r--r-- | example/serverdata/scripts/maps/desert.lua | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/example/serverdata/scripts/maps/desert.lua b/example/serverdata/scripts/maps/desert.lua index 8b7da1f8..baeeb546 100644 --- a/example/serverdata/scripts/maps/desert.lua +++ b/example/serverdata/scripts/maps/desert.lua @@ -34,7 +34,7 @@ atinit(function() -- Another Merchant, selling some equipment, and buying everything... smith_buy_table = { {"Sword", 10, 50}, {7, 10, 70}, {10, 10, 20} } - create_npc("Smith", 5, GENDER_MALE, 15 * TILESIZE + TILESIZE / 2, 16 * TILESIZE + TILESIZE / 2, npclib.talk(Merchant, smith_buy_table), nil) + create_npc("Smith", 5, GENDER_MALE, 15 * TILESIZE + TILESIZE / 2, 16 * TILESIZE + TILESIZE / 2, npclib.talk(Smith, smith_buy_table), nil) -- The most simple NPC - Welcoming new ones around. create_npc("Harmony", 11, GENDER_FEMALE, 4 * TILESIZE + TILESIZE / 2, 25 * TILESIZE + TILESIZE / 2, npclib.talk(Harmony, "Welcome in the template world!\nI hope you'll find here whatever you were searching for.", "Do look around to find some interesting things coming along!"), Harmony_update) @@ -43,6 +43,14 @@ atinit(function() create_npc("Tamer", 9, GENDER_UNSPECIFIED, 28 * TILESIZE + TILESIZE / 2, 21 * TILESIZE + TILESIZE / 2, Tamer, nil) end) +function Smith(npc, ch, list) + local sword_count = mana.chr_inv_count(ch, true, true, "Sword") + if sword_count > 0 then + do_message(npc, ch, "Ah! I can see you already have a sword.") + end + Merchant(npc, ch, list) +end + -- Global variable used to know whether Harmony talked to someone. harmony_have_talked_to_someone = false function Harmony(npc, ch, list) @@ -85,7 +93,8 @@ function Harmony_update(npc) end function Tamer(npc, ch, list) - mana.being_say(npc, string.format("You have %s Swords.", mana.chr_inv_count(ch, "Sword"))) + mana.being_say(npc, string.format("You have %s Sword(s).", + mana.chr_inv_count(ch, true, true, "Sword"))) mana.being_say(npc, string.format("You are %s pixel away.", mana.get_distance(npc, ch))) mana.being_say(npc, "I will now spawn a monster for your training session.") |