XConquer

C# Stamina TQ 100% by Pezzi Tomas

Jul 30th, 2018
206
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Bueno en esta ocacion les traigo el Sistema Stamina 100% TQ :D inclusive con Skills Nadie lo tiene como yo :D que es hecho todo a 100% a Mano este sistema lo vendia pero me decidi a traerselos de manera Freè, si no sabes adherirlo me pagas y te lo agrego :D
  2.  
  3. 1.- Ir a Handler.cs y dirigirse a las Variables bool CanUseSpell & void PrepareSpell y Agregar :
  4. Stamina.SkillProcess(client, spell);
  5. ========================================================================================
  6.  
  7. 2.- En Screen.cs buscas el #region Stamina y lo Eliminas y Agregas:
  8. Stamina.Process(client, time);
  9. ========================================================================================
  10.  
  11. 3.- En Handler.cs void ReceiveAttack -> De Player ya que tambien esta el de SobNpcSpawn o MsgNpcInfoEx en esos no, solo el de Player
  12. #region Stamina
  13. Stamina.StaminaPvP(attacked);
  14. #endregion
  15.  
  16. Nota: normalmente algunas de Stamina lo tienen adherido en Calculate.cs si no te funciona en handler busca en Calculate.cs ConquerAction.Sit y deberia saltar el codigo de la Stamina y lo borras y lo agregas como lo habiamos puesto en Handler :D
  17. ===========================================================================================
  18.  
  19. 4.- En esta parte es algo compleja PERO no lo agregues si el codigo del paso 1 te funciono, esta es para poner el uso de Stamina en las Skills en el codigo de attacker Player Agregas :
  20. Stamina.SkillProcessManual(attacker);
  21. ============================================================================================
  22.  
  23. 5.- ESTE PASO NO LO AGREGUES SI EL PASO 1 O 4 TE FUNCIONO, en este caso es para controlar VOS MISMO cuanta Stamina queres que saque cada Skill que vos le agregues el codigo
  24.  
  25. Stamina.SkillManual(attacker);
  26. =============================================================================================
  27. 6.- Agregan una Nueva clase en su Proyecto :
  28.  
  29. using COServer.Client;
  30. using COServer.Database;
  31. using COServer.Game;
  32. using COServer.Network.GamePackets;
  33. using System;
  34. using System.Collections.Generic;
  35. using System.Drawing;
  36. using System.Linq;
  37. using System.Text;
  38. using System.Threading.Tasks;
  39.  
  40. namespace Throne.Game.Attacking.PvP
  41. {
  42.     public class Stamina
  43.     {
  44.         /*
  45.          En Calculate.cs Tendran algo Similar a StaminaPvP reemplaza esos codigos agregando Stamina.PvP(attacked); si les da error de attacked
  46.          agregalo asi Stamina.PvP(Attacked);
  47.         */
  48.         public static void Process(GameState client, int time)
  49.         {
  50.             if (client.Player.StaminaStamp.Next(500, time: time))
  51.             {
  52.                 if (client.Vigor < client.MaxVigor)
  53.                 {
  54.                     ushort amount = (ushort)(3 + (client.Player.Action == Enums.ConquerAction.Sit ? 2 : 0));
  55.                     if (client.Vigor + amount > client.MaxVigor)
  56.                     {
  57.                         amount = client.MaxVigor;
  58.                         client.Vigor = amount;
  59.                     }
  60.                     else
  61.                     {
  62.                         client.Vigor += amount;
  63.                     }
  64.                     Vigor vigor = new Vigor(true);
  65.                     vigor.Amount = client.Vigor;
  66.                     vigor.Send(client);
  67.                 }
  68.                 if (!client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Ride) && !client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Fly) || client.Equipment.TryGetItem(18) != null)
  69.                 {
  70.                     int limit = 0;
  71.                     if (client.Player.HeavenBlessing > 0)
  72.                         limit = 50;
  73.                     if (client.Player.Stamina != 100 + limit)
  74.                     {
  75.                         if (client.Player.Action == Enums.ConquerAction.Sit)
  76.                         {
  77.                             if (client.Player.Stamina <= 96 + limit)
  78.                             {
  79.                                 client.Player.Stamina += 7;
  80.                             }
  81.                             else
  82.                             {
  83.                                 if (client.Player.Stamina != 100 + limit)
  84.                                     client.Player.Stamina = (byte)(100 + limit);
  85.                             }
  86.                         }
  87.                         else
  88.                         {
  89.                             if (client.Player.Stamina <= 99 + limit)
  90.                             {
  91.                                 client.Player.Stamina += 1;
  92.                             }
  93.                             else
  94.                             {
  95.                                 if (client.Player.Stamina != 100 + limit)
  96.                                     client.Player.Stamina = (byte)(100 + limit);
  97.                             }
  98.                         }
  99.                     }
  100.                     client.Player.StaminaStamp = new Time32(time);
  101.                 }
  102.             }
  103.         }
  104.         public static void StaminaPvP(Player attacked)
  105.         {
  106.             if (attacked.Action == Enums.ConquerAction.Sit)
  107.             {
  108.                 if (attacked.PlayerFlag == PlayerFlag.Player)
  109.                 {
  110.                     if (attacked.Stamina >= 20)// TQ 2D & 3D Saca 20 Stamina para mas info www.co.99.com
  111.                     {
  112.                         attacked.Stamina -= 20;
  113.                     }
  114.                     else
  115.                     {
  116.                         attacked.Stamina = 0;
  117.                     }
  118.                 }
  119.             }
  120.             else
  121.             {
  122.                 attacked.Stamina -= 1;
  123.             }
  124.         }
  125.         public static void SkillProcess(GameState attacker, SpellInformation spell)
  126.         {
  127.             if (attacker.Player.Stamina < spell.UseStamina)
  128.             {
  129.                 attacker.Player.Stamina -= spell.UseStamina;
  130.             }
  131.             else
  132.             {
  133.                 attacker.Send(new Message("No Tienes Suficiente Stamina Para Usar Esta Skill.", Color.Red, Message.TopLeft));
  134.             }
  135.         }
  136.         public static void SkillProcessManual(Player attacker, SpellInformation spell)
  137.         {
  138.             if (attacker.Stamina < spell.UseStamina)
  139.             {
  140.                 attacker.Stamina -= spell.UseStamina;
  141.             }
  142.             else
  143.             {
  144.                 attacker.Owner.Send(new Message("No Tienes Suficiente Stamina Para Usar Esta Skill.", Color.Red, Message.TopLeft));
  145.             }
  146.         }
  147.         public static void SkillManual(Player attacker)
  148.         {
  149.             if (attacker.Stamina < 25)//Modificas a Gusto para todas las Skills
  150.             {
  151.                 attacker.Stamina -= 25;
  152.             }
  153.             else
  154.             {
  155.                 attacker.Owner.Send(new Message("No Tienes Suficiente Stamina Para Usar Esta Skill.", Color.Red, Message.TopLeft));
  156.             }
  157.         }
  158.     }
  159. }
  160. =============================================================================================
  161.  
  162. Bueno, espero disfruten de mis Aportes UNICOS & EXCLUSIVOS! ya que como se dan cuenta NINGUNA Source tienen la Stamina como yo y mis Sourcer`s :D, si no saben agregar nada me Contactan y Podemos llegar a un Arreglo $$$!
RAW Paste Data