Advertisement
Guest User

level up 200

a guest
Jan 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.75 KB | None | 0 0
  1. public class LevelUpPlayerCommand : TargetCommand
  2.     {
  3.         public LevelUpPlayerCommand()
  4.         {
  5.             Aliases = new[] { "level200" };
  6.             RequiredRole = RoleEnum.Player;
  7.             Description = "Up level 200 versus 750 pb";
  8.         }
  9.  
  10.         public override void Execute(TriggerBase trigger)
  11.         {
  12.             const int SHOP_POINTS = 750;
  13.             foreach (var target in GetTargets(trigger))
  14.             {
  15.                 var items_ = target.Inventory.GetItems(Stump.DofusProtocol.Enums.CharacterInventoryPositionEnum.INVENTORY_POSITION_NOT_EQUIPED);
  16.                 if (items_.Count() > 0 && items_.Any(x => x.Template.Id == 12124) && items_.First(x => x.Template.Id == 12124).Stack >= SHOP_POINTS)
  17.                 {
  18.                     byte delta;
  19.  
  20.                     short amount = 200;
  21.                     if (amount > 0 && amount <= byte.MaxValue)
  22.                     {
  23.                         target.Inventory.UnStackItem(target.Inventory.GetItems(CharacterInventoryPositionEnum.INVENTORY_POSITION_NOT_EQUIPED).First(x => x.Template.Id == 12124), SHOP_POINTS);
  24.                         BasePlayerItem tokens = target.Inventory.GetItems(CharacterInventoryPositionEnum.INVENTORY_POSITION_NOT_EQUIPED).FirstOrDefault(x => x.Template.Id == 12124);
  25.                         if (tokens != null)
  26.                         {
  27.                             if (IPCAccessor.Instance.IsConnected)
  28.                             {
  29.                                 target.Client.Account.Tokens = (int)tokens.Stack;
  30.                                 IPCAccessor.Instance.Send(new UpdateTokensMessage(target.Client.Account.Tokens, target.Client.Account.Id));
  31.                             }
  32.                         }
  33.                         else
  34.                         {
  35.                             if (IPCAccessor.Instance.IsConnected)
  36.                             {
  37.                                 target.Client.Account.Tokens = 0;
  38.                                 IPCAccessor.Instance.Send(new UpdateTokensMessage(target.Client.Account.Tokens, target.Client.Account.Id));
  39.                             }
  40.  
  41.                         }
  42.                         delta = (byte)(amount);
  43.                         target.LevelUp(delta);
  44.                         trigger.Reply("Vous êtes passez niveau 200");
  45.                     }
  46.                     else if (amount < 0 && -amount <= byte.MaxValue)
  47.                     {
  48.                         trigger.ReplyError("Impossible de perdre des levels.");
  49.  
  50.                     }
  51.                 }
  52.                 else
  53.                 {
  54.                     target.SendServerMessage("Tu n'as pas les points boutique nécessaire, il te faut : " + SHOP_POINTS + ".");
  55.                 }
  56.             }
  57.         }
  58.  
  59.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement