Earlier I posted in help section trying to get a better code, didn't happened. Fixed it myself. I'll get some media in a bit :] Looks almost just like RS
(602 GFX+)
Combatassistant:
Player Soulsplit:
Code:
if(c.curseActive[18]) { // SoulSplit GFX's
final int pX = c.getX();
final int pY = c.getY();
final int nX = Server.playerHandler.players[i].getX();
final int nY = Server.playerHandler.players[i].getY();
final int offX = (pY - nY)* -1;
final int offY = (pX - nX)* -1;
final Client giveHP = c;
//c.SSPLIT = true;
c.getPA().createPlayersProjectile2(pX, pY, offX, offY, 50, 50, 2263, 9, 9, - c.playerIndex - 1, 24, 0);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer b) {
Server.playerHandler.players[c.playerIndex].gfx0(2264); // 1738
//c.SSPLIT = false;
b.stop();
}
}, 500);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer b) {
c.getPA().createPlayersProjectile2(nX, nY, offX, offY, 50, 50, 2263, 9, 9, - c.playerId - 1, 24, 0);
b.stop();
}
}, 800);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer b) {
try {
int before = giveHP.ssHeal; // Debug
giveHP.playerLevel[giveHP.playerHitpoints] += before;
if(giveHP.playerLevel[giveHP.playerHitpoints] > giveHP.getLevelForXP(giveHP.playerXP[giveHP.playerHitpoints])) {
giveHP.playerLevel[giveHP.playerHitpoints] = giveHP.getLevelForXP(giveHP.playerXP[giveHP.playerHitpoints]);
}
giveHP.ssHeal -= before;
//System.out.println(giveHP.playerName+" has been healed "+before+" HP."); // debugging purposes.
} catch(Exception e) { }
b.stop();
}
}, 1300); // Timer should be better.
}
Or NPC soulsplit:
Code:
if(c.curseActive[18]) { // SoulSplit NPC
final int pX = c.getX();
final int pY = c.getY();
final int nX = Server.npcHandler.npcs[i].getX();
final int nY = Server.npcHandler.npcs[i].getY();
final int offX = (pY - nY)* -1;
final int offY = (pX - nX)* -1;
final Client giveHP = c;
//c.SSPLIT = true;
c.getPA().createPlayersProjectile2(pX, pY, offX, offY, 50, 50, 2263, 9, 9, - c.playerIndex - 1, 24, 0);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer b) {
Server.npcHandler.npcs[c.npcIndex].gfx0(2264); // 1738
//c.SSPLIT = false;
b.stop();
}
}, 500);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer b) {
c.getPA().createPlayersProjectile2(nX, nY, offX, offY, 50, 50, 2263, 9, 9, - c.playerId - 1, 24, 0);
b.stop();
}
}, 800);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer b) {
try {
int before = giveHP.ssHeal; // Debug
giveHP.playerLevel[giveHP.playerHitpoints] += before;
if(giveHP.playerLevel[giveHP.playerHitpoints] > giveHP.getLevelForXP(giveHP.playerXP[giveHP.playerHitpoints])) {
giveHP.playerLevel[giveHP.playerHitpoints] = giveHP.getLevelForXP(giveHP.playerXP[giveHP.playerHitpoints]);
}
giveHP.ssHeal -= before;
} catch(Exception e) { }
b.stop();
}
}, 1300); // Timer should be better.
}
Almost forgot, add this to player