merge take 2
This commit is contained in:
parent
da882cc9db
commit
ab4d714a97
1 changed files with 68 additions and 93 deletions
|
|
@ -1,23 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using Microsoft.Xna.Framework;
|
||||
using System.Net;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Terraria;
|
||||
using TerrariaAPI;
|
||||
using TerrariaAPI.Hooks;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using System.Net;
|
||||
using TShockAPI;
|
||||
|
||||
namespace TShockAPI
|
||||
{
|
||||
public class TShock : TerrariaPlugin
|
||||
{
|
||||
private uint[] tileThreshold = new uint[Main.maxPlayers];
|
||||
uint[] tileThreshold = new uint[Main.maxPlayers];
|
||||
|
||||
public static string saveDir = "./tshock/";
|
||||
|
||||
|
|
@ -52,9 +45,8 @@ namespace TShockAPI
|
|||
get { return "The administration modification of the future."; }
|
||||
}
|
||||
|
||||
public TShock(Main game) : base (game)
|
||||
public TShock(Main game)
|
||||
: base(game)
|
||||
public TShock(Main game)
|
||||
: base(game)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -88,8 +80,7 @@ namespace TShockAPI
|
|||
* Hooks:
|
||||
* */
|
||||
|
||||
void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
|
||||
private void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
|
||||
void NpcHooks_OnStrikeNpc(NpcStrikeEventArgs e)
|
||||
{
|
||||
if (ConfigurationManager.infiniteInvasion)
|
||||
{
|
||||
|
|
@ -101,8 +92,7 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
void OnPreGetData(byte id, messageBuffer msg, int idx, int length, HandledEventArgs e)
|
||||
private void OnPreGetData(byte id, messageBuffer msg, int idx, int length, HandledEventArgs e)
|
||||
void OnPreGetData(byte id, messageBuffer msg, int idx, int length, HandledEventArgs e)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
if (id == 0x1e && ConfigurationManager.permaPvp)
|
||||
|
|
@ -111,8 +101,7 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
void GetData(GetDataEventArgs e)
|
||||
private void GetData(GetDataEventArgs e)
|
||||
void GetData(GetDataEventArgs e)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
if (e.MsgID == 17)
|
||||
|
|
@ -140,8 +129,7 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
void OnGreetPlayer(int who, HandledEventArgs e)
|
||||
private void OnGreetPlayer(int who, HandledEventArgs e)
|
||||
void OnGreetPlayer(int who, HandledEventArgs e)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
int plr = who; //legacy support
|
||||
|
|
@ -163,14 +151,11 @@ namespace TShockAPI
|
|||
e.Handled = true;
|
||||
}
|
||||
|
||||
void OnChat(int ply, string msg, HandledEventArgs handler)
|
||||
private void OnChat(int ply, string msg, HandledEventArgs handler)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
int x = (int) Main.player[ply].position.X;
|
||||
int y = (int) Main.player[ply].position.Y;
|
||||
int x = (int)Main.player[ply].position.X;
|
||||
int y = (int)Main.player[ply].position.Y;
|
||||
void OnChat(int ply, string msg, HandledEventArgs handler)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
int x = (int)Main.player[ply].position.X;
|
||||
int y = (int)Main.player[ply].position.Y;
|
||||
|
||||
if (Tools.IsAdmin(ply))
|
||||
{
|
||||
|
|
@ -240,8 +225,8 @@ namespace TShockAPI
|
|||
//Main.UpdateT();
|
||||
NetMessage.SendData(18, -1, -1, "", 0, 0, Main.sunModY, Main.moonModY);
|
||||
NetMessage.syncPlayers();
|
||||
handler.Handled = true;
|
||||
handler.Handled = true;
|
||||
handler.Handled = true;
|
||||
handler.Handled = true;
|
||||
}
|
||||
if (msg == "/eater")
|
||||
{
|
||||
|
|
@ -298,40 +283,40 @@ namespace TShockAPI
|
|||
if (msg.Length > 3 && msg.Substring(0, 3) == "/tp")
|
||||
{
|
||||
string player = msg.Remove(0, 3).Trim();
|
||||
if (!(Tools.FindPlayer(player) == -1) && !(player == ""))
|
||||
if (Tools.FindPlayer(player) != -1 && player != "")
|
||||
{
|
||||
Teleport(ply, Main.player[Tools.FindPlayer(player)].position.X, Main.player[Tools.FindPlayer(player)].position.Y);
|
||||
Tools.SendMessage(ply, "Teleported to " + player);
|
||||
handler.Handled = true;
|
||||
}
|
||||
if (!(Tools.FindPlayer(player) == -1) && !(player == ""))
|
||||
if (Tools.FindPlayer(player) != -1 && player != "")
|
||||
{
|
||||
Teleport(ply, Main.player[Tools.FindPlayer(player)].position.X, Main.player[Tools.FindPlayer(player)].position.Y);
|
||||
Tools.SendMessage(ply, "Teleported to " + player);
|
||||
handler.Handled = true;
|
||||
}
|
||||
}
|
||||
if (msg.Length > 7 && msg.Substring(0, 7) == "/tphere")
|
||||
{
|
||||
string player = msg.Remove(0, 7).Trim();
|
||||
if (!(Tools.FindPlayer(player) == -1) && !(player == ""))
|
||||
if (Tools.FindPlayer(player) != -1 && player != "")
|
||||
if (!(Tools.FindPlayer(player) == -1) && !(player == ""))
|
||||
if (Tools.FindPlayer(player) != -1 && player != "")
|
||||
{
|
||||
Teleport(Tools.FindPlayer(player), Main.player[ply].position.X, Main.player[ply].position.Y);
|
||||
Tools.SendMessage(Tools.FindPlayer(player), "You were teleported to " + Tools.FindPlayer(ply) + ".");
|
||||
Tools.SendMessage(ply, "You brought " + player + " here.");
|
||||
handler.Handled = true;
|
||||
}
|
||||
}
|
||||
if (msg.Length > 9 && msg.Substring(0, 9) == "/spawnmob")
|
||||
{
|
||||
string args = msg.Remove(0, 9).Trim();
|
||||
int type = 0;
|
||||
if (int.TryParse(args, out type))
|
||||
{
|
||||
Teleport(Tools.FindPlayer(player), Main.player[ply].position.X, Main.player[ply].position.Y);
|
||||
Tools.SendMessage(Tools.FindPlayer(player), "You were teleported to " + Tools.FindPlayer(ply) + ".");
|
||||
Tools.SendMessage(ply, "You brought " + player + " here.");
|
||||
handler.Handled = true;
|
||||
if (type >= 1 && type <= 43)
|
||||
{
|
||||
var npcid = NPC.NewNPC(x, y, type, 0);
|
||||
Tools.Broadcast("NPC " + type.ToString() + " spawned with ID " + npcid.ToString());
|
||||
handler.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (msg.Length > 9 && msg.Substring(0,9) == "/spawnmob")
|
||||
{
|
||||
string args = msg.Remove(0, 9).Trim();
|
||||
int type = 0;
|
||||
if (int.TryParse(args, out type))
|
||||
{
|
||||
if (type >= 1 && type <= 43)
|
||||
{
|
||||
var npcid = NPC.NewNPC(x, y, type, 0);
|
||||
Tools.Broadcast("NPC " + type.ToString() + " spawned with ID " + npcid.ToString());
|
||||
handler.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (msg == "/help")
|
||||
{
|
||||
|
|
@ -344,9 +329,7 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void OnJoin(int ply, AllowEventArgs handler)
|
||||
private void OnJoin(int ply, AllowEventArgs handler)
|
||||
void OnJoin(int ply, AllowEventArgs handler)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
string ip = Tools.GetRealIP((Convert.ToString(Netplay.serverSock[ply].tcpClient.Client.RemoteEndPoint)));
|
||||
|
|
@ -360,25 +343,20 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj)
|
||||
private void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj)
|
||||
void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void OnPreInit()
|
||||
private void OnPreInit()
|
||||
void OnPreInit()
|
||||
{
|
||||
FileTools.SetupConfig();
|
||||
}
|
||||
|
||||
void OnPostInit()
|
||||
private void OnPostInit()
|
||||
void OnPostInit()
|
||||
{
|
||||
}
|
||||
|
||||
void OnUpdate(GameTime time)
|
||||
private void OnUpdate(GameTime time)
|
||||
void OnUpdate(GameTime time)
|
||||
{
|
||||
if (Main.netMode != 2) { return; }
|
||||
for (uint i = 0; i < Main.maxPlayers; i++)
|
||||
|
|
@ -435,29 +413,27 @@ namespace TShockAPI
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public static void Teleport(int ply, int x, int y)
|
||||
{
|
||||
Main.player[ply].velocity = new Vector2(0, 0);
|
||||
NetMessage.SendData(0x0d, -1, -1, "", ply);
|
||||
Main.player[ply].position.X = x;
|
||||
Main.player[ply].position.Y = y - 0x2a;
|
||||
NetMessage.SendData(0x0d, -1, -1, "", ply);
|
||||
}
|
||||
|
||||
|
||||
public static void Teleport(int ply, int x, int y)
|
||||
{
|
||||
Main.player[ply].velocity = new Vector2(0, 0);
|
||||
NetMessage.SendData(0x0d, -1, -1, "", ply);
|
||||
Main.player[ply].position.X = x;
|
||||
Main.player[ply].position.Y = y - 0x2a;
|
||||
NetMessage.SendData(0x0d, -1, -1, "", ply);
|
||||
}
|
||||
|
||||
public static void Teleport(int ply, float x, float y)
|
||||
{
|
||||
Main.player[ply].position.X = x;
|
||||
Main.player[ply].position.Y = y - 0x2a;
|
||||
NetMessage.SendData(0x0d, -1, -1, "", ply);
|
||||
int oldx = Main.player[ply].SpawnX;
|
||||
int oldy = Main.player[ply].SpawnY;
|
||||
Main.player[ply].SpawnX = (int)(x / 16);
|
||||
Main.player[ply].SpawnY = (int)((y - 0x2a) / 16);
|
||||
NetMessage.SendData(0xC, -1, -1, "", ply);
|
||||
Main.player[ply].SpawnX = oldx;
|
||||
Main.player[ply].SpawnY = oldy;
|
||||
Main.player[ply].position.X = x;
|
||||
Main.player[ply].position.Y = y - 0x2a;
|
||||
NetMessage.SendData(0x0d, -1, -1, "", ply);
|
||||
int oldx = Main.player[ply].SpawnX;
|
||||
int oldy = Main.player[ply].SpawnY;
|
||||
Main.player[ply].SpawnX = (int)(x / 16);
|
||||
Main.player[ply].SpawnY = (int)((y - 0x2a) / 16);
|
||||
NetMessage.SendData(0xC, -1, -1, "", ply);
|
||||
Main.player[ply].SpawnX = oldx;
|
||||
Main.player[ply].SpawnY = oldy;
|
||||
}
|
||||
|
||||
public static void StartInvasion()
|
||||
|
|
@ -511,7 +487,6 @@ namespace TShockAPI
|
|||
Tools.Broadcast(ConfigurationManager.killCount + " copies of Call of Duty smashed.");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue