Ejemplo n.º 1
0
 public static void SellItem(this TSPlayer plr, UserAccount owner, PSSign sign, Item item, int stack, int cost)
 {
     if (sign.ChestID != -1)
     {
         if (sign.Shop.UnLimit)
         {
             if (plr.DelItemFromInventory(item, stack) && plr.GiveMoney(cost))
             {
                 plr.SendSuccessMessage($"[C/66D093:<PowerfulSign>] 成功出售 {stack} 个 {item.Name}, 获得 {cost} {PSPlugin.Config.MoneyName}.");
             }
             else
             {
                 plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 发生错误.");
             }
         }
         else
         {
             if (sign.AviliableSlot >= stack)
             {
                 if (UEF.Balance(owner.Name) >= cost)
                 {
                     if (plr.ItemNumInInventory(item.type, item.prefix) >= stack)
                     {
                         if (sign.AddItemToChest(item, stack) && plr.DelItemFromInventory(item, stack) && plr.GiveMoney(cost) && UEF.MoneyDown(owner.Name, cost))
                         {
                             plr.SendSuccessMessage($"[C/66D093:<PowerfulSign>] 成功出售 {stack} 个 {item.Name}, 获得 {cost} {PSPlugin.Config.MoneyName}.");
                         }
                         else
                         {
                             plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 发生错误.");
                         }
                     }
                     else
                     {
                         plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 未在你的背包中发现足够的 {item.Name}. 已找到 {plr.ItemNumInInventory(item.type, item.prefix)} 个.");
                     }
                 }
                 else
                 {
                     plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 卖家余额不足以支付此次交易.");
                 }
             }
             else
             {
                 plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 商店储存空间不足, 无法装下 {stack} 个 {item.Name}. 当前剩余空间 {sign.AviliableSlot}.");
             }
         }
     }
     else
     {
         plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 未发现此商店的附属储存空间.");
     }
 }