XConquer

C# Stamina TQ 100% by Pezzi Tomas

Jul 30th, 2018
229
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

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×