Ejemplo n.º 1
0
 public static void BuyItem(this TSPlayer plr, UserAccount owner, PSSign sign, Item item, int stack, int cost)
 {
     if (sign.ChestID != -1)
     {
         if (sign.Shop.UnLimit)
         {
             if (plr.TakeMoney(cost) && UEF.MoneyUp(owner.Name, cost))
             {
                 plr.SendSuccessMessage($"[C/66D093:<PowerfulSign>] 成功购买 {stack} 个 {item.Name}, 花费 {cost} {PSPlugin.Config.MoneyName}.");
                 plr.GiveItemEX(item.type, stack, item.prefix);
             }
             else
             {
                 plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 发生错误.");
             }
         }
         else
         {
             if (sign.Inventory >= stack)
             {
                 if (plr.Balance() >= cost)
                 {
                     if (plr.IsInventoryAviliable(item, stack))
                     {
                         if (sign.DelItemFromChest(item, stack) && plr.TakeMoney(cost) && UEF.MoneyUp(owner.Name, cost))
                         {
                             plr.SendSuccessMessage($"[C/66D093:<PowerfulSign>] 成功购买 {stack} 个 {item.Name}, 花费 {cost} {PSPlugin.Config.MoneyName}.");
                             plr.GiveItemEX(item.type, stack, item.prefix);
                         }
                         else
                         {
                             plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 发生错误.");
                         }
                     }
                     else
                     {
                         plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 背包空间不足, 无法装下 {stack} 个 {item.Name}.");
                     }
                 }
                 else
                 {
                     plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 你的余额不足. 当前剩余 {plr.Balance()}.");
                 }
             }
             else
             {
                 plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 商店库存不足, 无法购买. 当前剩余: {sign.Inventory}.");
             }
         }
     }
     else
     {
         plr.SendErrorMessage($"[C/66D093:<PowerfulSign>] 未发现此商店的附属储存空间.");
     }
 }