当前位置:首页 > 码农资料 > 正文内容

tshock消息及控制

CCSSRW4年前 (2020-08-28)码农资料2271

关闭服务器:

TShock.Utils.StopServer(bool<地图保存选项>,"服务器已关闭");

返回地图名称:

Main.worldName();

修改地图名称:

Main.instance.SetWorldName("wordname");

修改地图类型:

Main.GameMode="0-普通"/"1-专家"/"2-大师"/"3-旅途";

修改地图困难模式:

Main.hardMode=true/false;

断开用户连接:

plr.Disconnect(reason);

驱逐用户:

plr.kick(reason);

获取用户所选物品名称:

args.Player.TPlayer.inventory[args.SelectedItem].Name;


弹药

Terraria.Lang.GetProjectileName(弹药ID).ToString();


获取系统物品名

Terraria.Lang.GetItemNameValue(物品ID);


获取用户账户ID

TShock.UserAccounts.GetUserAccountByName(plr_name).ID


用户组切换

TShock.UserAccounts.SetUserGroup(
TShock.UserAccounts.GetUserAccountByName(TShock.Players[args.Who].Name),
"vip");


获取用户组名

args.Player.Group.Name;


获取用户名

TShock.Players[args.Who].Name


用户是否登录

plr.IsLoggedIn;


系统广播(含控制台):

TShock.Utils.Broadcast("广播内容",Color.Yellow);


全员消息(不含控制台):

TSPlayer.All.SendInfoMessage(message.Text);


头顶显示信息:

plr.SendData(PacketTypes.CreateCombatTextExtended, string.Format("显示文本"), (int)Color.Gold.PackedValue, plr.X, plr.Y);


执行命令:

Commands.HandleCommand("/help");


玩家当前位置:

tsplayer.TileX;tsplayer.TileY;


录入日志:

TShock.Log.ConsoleInfo("日志");


向用户发出信息:

args.Player.SendMessage("向用户发出信息");


传送用户:

plr.Teleport(Main.spawnTileX * 16, (Main.spawnTileY - 4) * 16, 1);


杀死用户:

tsplayer.KillPlayer();


石化用户:

player.Disable($"持有禁用物品: {player.TPlayer.inventory[player.TPlayer.selectedItem].Name}", flags);


冻结

player.SetBuff(BuffID.Frozen, 300, true);


石化

player.SetBuff(BuffID.Stoned, 300, true);


缠住

player.SetBuff(BuffID.Webbed, 300, true);


窒息

plr.SetBuff(BuffID.Suffocation, 300, true);


获取当前血量

TShock.Players[args.Who].TPlayer.statLife;


设置血量

NetMessage.SendData((int)PacketTypes.PlayerHp, -1, -1, NetworkText.FromLiteral(""), plr.Index);


获取物品名称:

Terraria.Lang.GetItemNameValue(i)


获取全部在线用户:

foreach (TSPlayer tsplayer in TShock.Players){if (tsplayer != null){Console.WriteLine(tsplayer.Name);}}


扫描二维码推送至手机访问

本文链接:http://xinrui.ren/post/19.html