Beispiel #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>] 未发现此商店的附属储存空间.");
     }
 }
Beispiel #2
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>] 未发现此商店的附属储存空间.");
     }
 }