Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- 1.- Ir a Handler.cs y dirigirse a las Variables bool CanUseSpell & void PrepareSpell y Agregar :
- Stamina.SkillProcess(client, spell);
- ========================================================================================
- 2.- En Screen.cs buscas el #region Stamina y lo Eliminas y Agregas:
- Stamina.Process(client, time);
- ========================================================================================
- 3.- En Handler.cs void ReceiveAttack -> De Player ya que tambien esta el de SobNpcSpawn o MsgNpcInfoEx en esos no, solo el de Player
- #region Stamina
- Stamina.StaminaPvP(attacked);
- #endregion
- 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
- ===========================================================================================
- 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 :
- Stamina.SkillProcessManual(attacker);
- ============================================================================================
- 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
- Stamina.SkillManual(attacker);
- =============================================================================================
- 6.- Agregan una Nueva clase en su Proyecto :
- using COServer.Client;
- using COServer.Database;
- using COServer.Game;
- using COServer.Network.GamePackets;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Throne.Game.Attacking.PvP
- {
- public class Stamina
- {
- /*
- En Calculate.cs Tendran algo Similar a StaminaPvP reemplaza esos codigos agregando Stamina.PvP(attacked); si les da error de attacked
- agregalo asi Stamina.PvP(Attacked);
- */
- public static void Process(GameState client, int time)
- {
- if (client.Player.StaminaStamp.Next(500, time: time))
- {
- if (client.Vigor < client.MaxVigor)
- {
- ushort amount = (ushort)(3 + (client.Player.Action == Enums.ConquerAction.Sit ? 2 : 0));
- if (client.Vigor + amount > client.MaxVigor)
- {
- amount = client.MaxVigor;
- client.Vigor = amount;
- }
- else
- {
- client.Vigor += amount;
- }
- Vigor vigor = new Vigor(true);
- vigor.Amount = client.Vigor;
- vigor.Send(client);
- }
- if (!client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Ride) && !client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Fly) || client.Equipment.TryGetItem(18) != null)
- {
- int limit = 0;
- if (client.Player.HeavenBlessing > 0)
- limit = 50;
- if (client.Player.Stamina != 100 + limit)
- {
- if (client.Player.Action == Enums.ConquerAction.Sit)
- {
- if (client.Player.Stamina <= 96 + limit)
- {
- client.Player.Stamina += 7;
- }
- else
- {
- if (client.Player.Stamina != 100 + limit)
- client.Player.Stamina = (byte)(100 + limit);
- }
- }
- else
- {
- if (client.Player.Stamina <= 99 + limit)
- {
- client.Player.Stamina += 1;
- }
- else
- {
- if (client.Player.Stamina != 100 + limit)
- client.Player.Stamina = (byte)(100 + limit);
- }
- }
- }
- client.Player.StaminaStamp = new Time32(time);
- }
- }
- }
- public static void StaminaPvP(Player attacked)
- {
- if (attacked.Action == Enums.ConquerAction.Sit)
- {
- if (attacked.PlayerFlag == PlayerFlag.Player)
- {
- if (attacked.Stamina >= 20)// TQ 2D & 3D Saca 20 Stamina para mas info www.co.99.com
- {
- attacked.Stamina -= 20;
- }
- else
- {
- attacked.Stamina = 0;
- }
- }
- }
- else
- {
- attacked.Stamina -= 1;
- }
- }
- public static void SkillProcess(GameState attacker, SpellInformation spell)
- {
- if (attacker.Player.Stamina < spell.UseStamina)
- {
- attacker.Player.Stamina -= spell.UseStamina;
- }
- else
- {
- attacker.Send(new Message("No Tienes Suficiente Stamina Para Usar Esta Skill.", Color.Red, Message.TopLeft));
- }
- }
- public static void SkillProcessManual(Player attacker, SpellInformation spell)
- {
- if (attacker.Stamina < spell.UseStamina)
- {
- attacker.Stamina -= spell.UseStamina;
- }
- else
- {
- attacker.Owner.Send(new Message("No Tienes Suficiente Stamina Para Usar Esta Skill.", Color.Red, Message.TopLeft));
- }
- }
- public static void SkillManual(Player attacker)
- {
- if (attacker.Stamina < 25)//Modificas a Gusto para todas las Skills
- {
- attacker.Stamina -= 25;
- }
- else
- {
- attacker.Owner.Send(new Message("No Tienes Suficiente Stamina Para Usar Esta Skill.", Color.Red, Message.TopLeft));
- }
- }
- }
- }
- =============================================================================================
- 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 $$$!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement