Code:
using Lib_K_Relay;
using Lib_K_Relay.Interface;
using Lib_K_Relay.Networking;
using Lib_K_Relay.Networking.Packets;
using Lib_K_Relay.Networking.Packets.Server;
using System;
namespace Sprite
{
public class Sprite : IPlugin
{
private bool isSprite;
public string GetAuthor()
{
return "CrazyJani";
}
public string GetName()
{
return "Sprite World No Clip";
}
public string GetDescription()
{
return "Enables no-clipping in Sprite World. You won't have to risk getting disconnected on an important occasion because you had no clip on in a wrong dungeon.";
}
public string[] GetCommands()
{
return new string[0];
}
public void Initialize(Proxy proxy)
{
proxy.HookPacket(PacketType.UPDATE, new PacketHandler(this.OnUpdate));
proxy.HookPacket(PacketType.MAPINFO, new PacketHandler(this.OnMapInfo));
}
private void OnMapInfo(Client client, Packet packet)
{
MapInfoPacket mapInfoPacket = (MapInfoPacket)packet;
this.isSprite = (mapInfoPacket.Name == "Sprite World");
}
private void OnUpdate(Client client, Packet packet)
{
bool flag = this.isSprite;
if (flag)
{
UpdatePacket updatePacket = (UpdatePacket)packet;
for (int i = 0; i < updatePacket.Tiles.Length; i++)
{
bool flag2 = updatePacket.Tiles[i].Type == 254;
if (flag2)
{
updatePacket.Tiles[i].Type = 88;
}
}
}
}
}
}
Code:
using Lib_K_Relay;
using Lib_K_Relay.Interface;
using Lib_K_Relay.Networking;
using Lib_K_Relay.Networking.Packets;
using Lib_K_Relay.Networking.Packets.Client;
using Lib_K_Relay.Networking.Packets.Server;
using Lib_K_Relay.Utilities;
using System;
namespace AutoAnswer
{
public class AutoAnswer : IPlugin
{
private bool enabled = true;
public string GetAuthor()
{
return "Ameji";
}
public string GetName()
{
return "AutoAnswer";
}
public string GetDescription()
{
return "This plugin responds to cem and dying thessal.";
}
public string[] GetCommands()
{
return new string[]
{
"/answer on",
"/answer off"
};
}
public void Initialize(Proxy proxy)
{
proxy.HookCommand("answer", new CommandHandler(this.OnAutoAnswerCommand));
proxy.HookPacket(PacketType.TEXT, new PacketHandler(this.OnText));
}
private void OnAutoAnswerCommand(Client client, string command, string[] args)
{
bool flag = args.Length == 0;
bool flag4 = !flag;
if (flag4)
{
bool flag2 = args[0] == "on";
bool flag5 = flag2;
if (flag5)
{
this.enabled = true;
client.SendToClient(PluginUtils.CreateNotification(client.ObjectId, "Auto Answer Enabled!"));
}
bool flag3 = args[0] == "off";
bool flag6 = flag3;
if (flag6)
{
this.enabled = false;
client.SendToClient(PluginUtils.CreateNotification(client.ObjectId, "Auto Answer Disabled!"));
}
}
}
private void OnText(Client client, Packet packet)
{
bool flag = !this.enabled;
bool flag4 = !flag;
if (flag4)
{
TextPacket textPacket = (TextPacket)packet;
bool flag2 = textPacket.Text.ToLower().Contains("say") && textPacket.Text.ToLower().Contains("ready") && textPacket.NumStars == -1;
bool flag5 = flag2;
if (flag5)
{
PlayerTextPacket playerTextPacket = (PlayerTextPacket)Packet.Create(PacketType.PLAYERTEXT);
playerTextPacket.Text = "Ready.";
client.SendToServer(playerTextPacket);
}
else
{
bool flag3 = textPacket.Text.ToLower().Contains("king") && textPacket.Text.ToLower().Contains("alexander") && textPacket.NumStars == -1;
bool flag6 = flag3;
if (flag6)
{
PlayerTextPacket playerTextPacket2 = (PlayerTextPacket)Packet.Create(PacketType.PLAYERTEXT);
playerTextPacket2.Text = "He lives and reigns and conquers the world.";
client.SendToServer(playerTextPacket2);
}
}
}
}
}
}