本文整理汇总了C#中TShockAPI.TSPlayer.DamagePlayer方法的典型用法代码示例。如果您正苦于以下问题:C# TSPlayer.DamagePlayer方法的具体用法?C# TSPlayer.DamagePlayer怎么用?C# TSPlayer.DamagePlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TShockAPI.TSPlayer
的用法示例。
在下文中一共展示了TSPlayer.DamagePlayer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoCommand
//.........这里部分代码省略.........
done = true;
}
else if (cmd.StartsWith("show message") && !File.Exists("scMeassge.txt"))
{
tplayer.SendMessage("Could not find message", Color.IndianRed);
done = true;
}
if (done)
doplay.CooldownMsg = getConfig.ShowMsgCooldown;
}
else if (doplay.toldperm <= 0 && !smsg && cmd.StartsWith("show "))
{
tplayer.SendMessage("You do not have permission to use this sign command!", Color.IndianRed);
doplay.toldperm = 5;
}
else if (doplay.toldcool <= 0 && smsg && !nocool && doplay.CooldownMsg > 0 && cmd.StartsWith("show "))
{
tplayer.SendMessage("You have to wait another " + doplay.CooldownTime + " seconds before using this sign", Color.IndianRed);
doplay.toldcool = 5;
}
#endregion
#region Damage
if (cmd.StartsWith("damage ") && sdmg && (nocool || doplay.CooldownDamage <= 0))
{
try
{
string[] linesplit = cmd.Split('\'', '\"');
int amtdamage = 0;
bool dmgisint = int.TryParse(linesplit[1], out amtdamage);
if (dmgisint)
{
tplayer.DamagePlayer(amtdamage);
doplay.CooldownDamage = getConfig.DamageCooldown;
}
else
{
if (doplay.toldalert <= 0)
{
doplay.toldalert = 3;
tplayer.SendMessage("Invalid damage value!", Color.IndianRed);
}
}
}
catch (Exception)
{
if (doplay.toldalert <= 0)
{
doplay.toldalert = 3;
tplayer.SendMessage("Could not parse Damage Amount - Correct Format: \"<Amount to Damage>\"", Color.IndianRed);
}
}
}
else if (doplay.toldperm <= 0 && !sdmg && cmd.StartsWith("damage "))
{
tplayer.SendMessage("You do not have permission to use this sign command!", Color.IndianRed);
doplay.toldperm = 5;
}
else if (doplay.toldcool <= 0 && sdmg && !nocool && doplay.CooldownDamage > 0 && cmd.StartsWith("damage "))
{
tplayer.SendMessage("You have to wait another " + doplay.CooldownDamage + " seconds before using this sign", Color.IndianRed);
doplay.toldcool = 5;
}
#endregion
示例2: Update
public void Update(TSPlayer player)
{
if ((DateTime.Now - lastDisabled).TotalSeconds > 10)
{
disabled = false;
lastDisabled = DateTime.Now;
}
bool bypassFlag = BypassFlag(player);
bool warning = ((DateTime.Now - lastWarned).TotalSeconds > 1);
if (regionStorage.flags.Contains("HEAL"))
{
if (regionStorage.healinterval < 0 || regionStorage.healamount < 0)
return;
if ((DateTime.Now - lastHealUpdate).TotalSeconds >= regionStorage.healinterval)
{
lastHealUpdate = DateTime.Now;
player.Heal(regionStorage.healamount);
}
}
if (regionStorage.flags.Contains("MANA"))
{
if (regionStorage.manainterval < 0 || regionStorage.healamount < 0)
return;
if ((DateTime.Now - lastManaUpdate).TotalSeconds >= regionStorage.manainterval)
{
lastManaUpdate = DateTime.Now;
var matches = TShock.Utils.GetItemByIdOrName("184");
Item star = matches[0];
player.GiveItem(star.netID, star.name, star.width, star.height, regionStorage.healamount);
}
}
if (regionStorage.flags.Contains("PRIVATE") && !bypassFlag)
{
if (!gotWarnMessage)
{
player.Teleport(lastPos.X, lastPos.Y, 1);
player.SendErrorMessage("No permission to enter private region!");
gotWarnMessage = true;
}
}
if (regionStorage.flags.Contains("PVP") && !bypassFlag)
{
if (!player.TPlayer.hostile)
{
player.SendSuccessMessage("PVP arena entered, pvp enabled.");
player.TPlayer.hostile = true;
NetMessage.SendData((int)PacketTypes.TogglePvp, -1, -1, "", player.Index);
}
}
if (regionStorage.flags.Contains("NOPVP") && !bypassFlag)
{
if (player.TPlayer.hostile)
{
player.SendSuccessMessage("PVP arena entered, pvp disabled.");
player.TPlayer.hostile = false;
NetMessage.SendData((int)PacketTypes.TogglePvp, -1, -1, "", player.Index);
}
}
if (regionStorage.flags.Contains("TEMPGROUP") && !bypassFlag)
{
if (!groupset)
{
player.tempGroup = regionStorage.tempgroup;
player.SendSuccessMessage("Your group has been temporarily set to \"{0}\"!", regionStorage.tempgroup.Name);
groupset = true;
}
}
if (regionStorage.flags.Contains("DEATH") && !bypassFlag)
{
if (!killed)
{
player.DamagePlayer(1200);
player.SendErrorMessage("You entered a death zone! RIP");
killed = true;
}
}
if (regionStorage.flags.Contains("HURT") && !bypassFlag)
{
if (regionStorage.damageinterval < 0 || regionStorage.damageamount< 0)
return;
if ((DateTime.Now - lastDamageUpdate).TotalSeconds >= regionStorage.damageinterval)
{
lastDamageUpdate = DateTime.Now;
player.DamagePlayer(regionStorage.damageamount);
}
}
if (regionStorage.flags.Contains("COMMAND") && !bypassFlag)
{
if (!executedcommand)
{
if (regionStorage.command != null && regionStorage.command != "")
{
Commands.HandleCommand(TSPlayer.Server, "/" + regionStorage.command);
executedcommand = true;
}
}
}
if (regionStorage.flags.Contains("PROMOTE") && !bypassFlag)
//.........这里部分代码省略.........
示例3: Event
// Event for the effect. Parameter function vary based on the type. Who is 0 (User) and 1 (target)
public static void Event(VSPlayer User, TSPlayer Target, EffectTypes type, int Parameter, int Parameter2 = 0,
int Who = 1, States setstate = States.NONE)
{
if (type.Equals(EffectTypes.BUFF))
{
try
{
if (Who == 0)
User.TSPlayer.SetBuff(Parameter, Parameter2 * 60, false);
else
Target.SetBuff(Parameter, Parameter2 * 60, false);
}
catch (Exception)
{
Log.ConsoleError("[VSSystem] A command has returned an error at Effect parameter: Invalid buff ID");
}
}
else if (type.Equals(EffectTypes.HEALSELF))
{
if (Who == 0)
User.TSPlayer.Heal(Parameter);
else
Target.Heal(Parameter);
}
else if (type.Equals(EffectTypes.TICKLE))
{
if (Who == 0)
{
if (VSSystem.ItemCheck(TShock.Utils.GetItemByName("Hand Warmer")[0].netID, User.TSPlayer))
{
User.TSPlayer.DamagePlayer(10000);
User.TSPlayer.TPlayer.KillMe(10000, 0, true, " was tickled to death for having Hand Warmer.");
}
else
User.TSPlayer.SetBuff(47, Parameter * 60, false);
}
else
{
if (VSSystem.ItemCheck(TShock.Utils.GetItemByName("Hand Warmer")[0].netID, Target))
{
Target.DamagePlayer(10000);
Target.TPlayer.KillMe(10000, 0, true, " was tickled to death for having Hand Warmer.");
}
else
Target.SetBuff(47, Parameter * 60, false);
}
}
else if (type.Equals(EffectTypes.STATE) && setstate != States.NONE)
{
if (Who == 0)
User.SetState(setstate, Parameter);
else
VSSystem.VSPlayers[Target.UserID].SetState(setstate, Parameter);
}
}