I Post my empty MagicOnPlayer.java file.
Why? Well I heard some people had some errors when doing my multi hit's tutorial, so I just post my MagicOnPlayer.java file here
example usage is:
Code:
switch (p.clickId)
{
case 1:
/**
* Ur code
* THANK YOU ANTIMATED
*
*/
break;
Here it is my MagicOnPlayer.java:
Code:
/*
* Class MagicOnPlayer
*
* Version 1.0
*
* Saturday, September 11, 2008
*
* Created by Antimated™ from Rune-server.org.
*/
package palidino76.rs2.io.packets;
import palidino76.rs2.Engine;
import palidino76.rs2.players.Player;
import palidino76.rs2.players.combat.PlayerCombat;
import palidino76.rs2.util.Misc;
import palidino76.rs2.Server;
import palidino76.rs2.players.*;
public class MagicOnPlayer implements Packet {
/**
* Handles magic on players.
* @param p The Player which the frame should be handled for.
* @param packetId The packet id this belongs to.
* @param packetSize The amount of bytes being recieved for this packet.
*/
public void handlePacket(Player p, int packetId, int packetSize) {
p.attackPlayer = p.stream.readSignedWordA();
int playerId = p.castOn = p.stream.readSignedWordBigEndian();
int interfaceId = p.stream.readUnsignedWord();
p.clickId = p.stream.readUnsignedWord();
Player p2 = Server.engine.players[playerId];
int offsetX = (p.absX - p2.absX) * -1;
int offsetY = (p.absY - p2.absY) * -1;
if(p.magicDelay > 0) {
return;
}
switch (interfaceId) {
case 192:
switch (p.clickId)
{
/**
* Cleaned for you by Antimated™ from Rune-server.org
* Friday, December 5, 2008
* Example usage:
*/
case 1:
p.frames.sendMessage(p, "Nice! Your MagicOnPlayer.java works! - Modern");
p.frames.sendMessage(p, "My name is " +p.username+ " and I think Antimated is ownage");
p.frames.sendMessage(p, p.clickId+ " = ID");
break;
default:
Misc.println(
"PlayerID " + playerId + " - InterfaceID " + interfaceId
+ " - ButtonID " + p.clickId + ".");
}
}
switch (interfaceId) {
case 430:
switch (p.clickId)
{
/**
* Cleaned for you by Antimated™ from Rune-server.org
* Friday, December 5, 2008
* Example usage:
*/
case 1:
p.frames.sendMessage(p, "Nice! Your MagicOnPlayer.java works! - Lunar");
p.frames.sendMessage(p, "My name is " +p.username+ " and I think Antimated is ownage");
p.frames.sendMessage(p, p.clickId+ " = ID");
break;
default:
Misc.println(
"PlayerID " + playerId + " - InterfaceID " + interfaceId
+ " - ButtonID " + p.clickId + ".");
}
}
switch (interfaceId) {
case 193:
switch (p.clickId)
{
/**
* Cleaned for you by Antimated™ from Rune-server.org
* Friday, December 5, 2008
* Example usage:
*/
case 1:
p.frames.sendMessage(p, "Nice! Your MagicOnPlayer.java works! - Ancient's");
p.frames.sendMessage(p, "My name is " +p.username+ " and I think Antimated is ownage");
p.frames.sendMessage(p, p.clickId+ " = ID");
break;
default:
Misc.println(
"PlayerID " + playerId + " - InterfaceID " + interfaceId
+ " - ButtonID " + p.clickId + ".");
}
}
}
}
Also you might need this, Add this in PackerManager.java under:
Code:
public NPCOption2 npcOption2 = new NPCOption2();
add this:
Code:
public MagicOnPlayer magicOnPlayer = new MagicOnPlayer();
You also will have to add/replace this case:
Code:
case 70:
/*
* Magic on player.
*/
magicOnPlayer.handlePacket(p, packetId, packetSize);
break;
Also here is a link if you would like to add Ancient spell's
LINK: http://www.rune-server.org/f412/508-...g-t105974.html
if you read this, post something and btw just editted source so you won't have probs between switching from interfaces