Post: [PI] Clan Wars
03-06-2015, 02:23 AM #1
Stunz
Former Staff
(adsbygoogle = window.adsbygoogle || []).push({});

Preview of what you're adding


You must login or register to view this content.
You must login or register to view this content.


Make a new class called ClanWarHandler and add this code in it

    package server.model.minigames.clanwars;

import static server.model.minigames.clanwars.ClanWarConstants.C LAN1X;
import static server.model.minigames.clanwars.ClanWarConstants.C LAN1Y;
import static server.model.minigames.clanwars.ClanWarConstants.C LAN2X;
import static server.model.minigames.clanwars.ClanWarConstants.C LAN2Y;
import static server.model.minigames.clanwars.ClanWarConstants.D EATHX;
import static server.model.minigames.clanwars.ClanWarConstants.D EATHY;
import static server.model.minigames.clanwars.ClanWarConstants.M ESSAGE1;
import static server.model.minigames.clanwars.ClanWarConstants.M ESSAGE2;
import static server.model.minigames.clanwars.ClanWarConstants.M ESSAGE3;
import static server.model.minigames.clanwars.ClanWarConstants.W ALL_ID;
import static server.model.minigames.clanwars.ClanWarConstants.O WNERS_ONLY;
import server.Server;
import server.event.CycleEvent;
import server.event.CycleEventContainer;
import server.event.CycleEventHandler;
import server.model.objects.Object;
import server.model.players.Client;
import server.model.players.PlayerHandler;
import server.util.Misc;

/**
* @author Women/asshole_rule
*/

public class ClanWarHandler {

public ClanWarHandler(Client c) {}

public static ClanWar[] clanWars = new ClanWar[100];

public void wallTimer(final ClanWar c) {

CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {

@Override
public void execute(CycleEventContainer container) {
if(c.getWallTime() >= 0) {
c.setWallTime(c.getWallTime() - 1);
}
if(c.getWallTime() == 117) {
walls(c, WALL_ID, c.getHeight());
}
if(c.getWallTime() == 0) {
walls(c, -1, c.getHeight());
this.stop();
}
}

@Override
public void stop() {
}

}, 2);
}

public void requestChallenge(Client c, int otherPlayerId) throws NullPointerException {
Client c2 = (Client) PlayerHandler.players[otherPlayerId];
if(OWNERS_ONLY) {
if (!Server.clanChat.clans[c.clanId].owner.equalsIgnoreCase(c.playerName)) {
System.out.println("You are not the owner of the Clan Chat.");
return;
}
if (!Server.clanChat.clans[c2.clanId].owner.equalsIgnoreCase(c.playerName)) {
System.out.println("This player is not a high enough rank to accept matches.");
return;
}
}
if(c == null && c2 == null) {
System.out.println("[Clan Wars] An error has occured");
return;
}
if(c.clanId == c2.clanId) {
c.sendMessage("You cannot challenge someone in your Clan Chat to a Clan War.");
return;
}
if(c.clanId <= 0) {
c.sendMessage("You must be in a Clan Chat to start a Clan War.");
return;
}
if(c2.clanId <= 0) {
c.sendMessage("This player is not in a Clan Chat.");
return;
}
if(c.chalAccepted) {
c.sendMessage("You already have a match in progress.");
return;
}
if(c2.chalAccepted) {
c.sendMessage("This player already has a match in progress.");
return;
}
if(c2.chalInterface) {
c.sendMessage("This player is currently busy.");
return;
}
if(c.chalInterface) {
return;
}
if(c.inClanWarsLobby() && c2.inClanWarsLobby()) {
c2.clanWarOpponent = c.playerId;
c.clanWarOpponent = otherPlayerId;
c2.sendMessage(c.playerName+":clanwarreq:");
c.sendMessage("Sending "+Misc.formatPlayerName(c2.playerName)+" challenge request.");
}
}

public void handleKill(Client c, Client c2) {
ClanWar clanWar = clanWars[c.clanWarId];
c.sendMessage(" "+c.playerName+", "+c2.playerName+" ");
if(clanWar == null) {
c.sendMessage("clan war null");
}
if(clanWar.clan2Players.contains(c)) {
clanWar.setClan1Kills(clanWar.getClan1Kills() + 1);
/*if(clanWar.getClan1Kills() >= MAX_KILLS) {
c.sendMessage("called");
handleWin("clan1", clanWar);
}*/
} else if (clanWar.clan1Players.contains(c)) {
clanWar.setClan2Kills(clanWar.getClan2Kills() + 1);
/*if(clanWar.getClan2Kills() >= MAX_KILLS) {
c.sendMessage("called");
handleWin("clan2", clanWar);
}*/
}
}

public void handleWin(String clan, ClanWar c) {
if(clan.equals("clan1")) {
for(Client clan1 : c.clan1Players) {
clan1.sendMessage("Congratulations, you have defeated "+c.getClan2());
clan1.getPA().movePlayer(DEATHX, DEATHY, 0);
clan1.clanWarId = -1;
clan1.getPA().walkableInterface(-1);
}
for(Client clan2 : c.clan2Players) {
clan2.sendMessage("You were defeated by "+c.getClan1());
clan2.getPA().movePlayer(DEATHX, DEATHY, 0);
clan2.clanWarId = -1;
clan2.getPA().walkableInterface(-1);
}
} else if (clan.equals("clan2")) {
for(Client clan2 : c.clan2Players) {
clan2.sendMessage("Congratulations, you have defeated "+c.getClan1());
clan2.getPA().movePlayer(DEATHX, DEATHY, 0);
clan2.clanWarId = -1;
clan2.getPA().walkableInterface(-1);
}
for(Client clan1 : c.clan1Players) {
clan1.sendMessage("You were defeated by "+c.getClan2());
clan1.getPA().movePlayer(DEATHX, DEATHY, 0);
clan1.clanWarId = -1;
clan1.getPA().walkableInterface(-1);
}
}
c = null;
}

public void handleDeath(Client c) {
if(c != null) {
ClanWar clanWar = clanWars[c.clanWarId];
if(clanWar.deadPlayers.contains(c)) {
c.sendMessage("Tell a moderator about this.");
return;
}
clanWar.deadPlayers.add(c);
//removePlayer(c, clanWar);
}
}

public void challengeClicked(Client c) {
Client c2 = (Client) PlayerHandler.players[c.clanWarOpponent];
c.getPA().showInterface(9000);
c.getPA().sendFrame126(Misc.formatPlayerName(c2.pl ayerName)+" is inviting your clan to a war.", 9002);
c2.getPA().showInterface(9000);
c2.getPA().sendFrame126(Misc.formatPlayerName(c.pl ayerName)+" is inviting your clan to a war.", 9002);
c.chalInterface = c2.chalInterface = true;
}

public boolean handleButtons(Client c, int actionButtonId) {
Client c2 = (Client) PlayerHandler.players[c.clanWarOpponent];
switch(actionButtonId) {
case 35043:
if(c2 == null) {
return false;
}
if(c.chalAccepted && c2.chalAccepted) {
startMatch(c, c2);
}
c.chalInterface = false;
c2.chalInterface = false;
c.chalAccepted = true;
c2.chalAccepted = true;
return false;
case 35047:
if(c2 == null) {
return false;
}
c.getPA().closeAllWindows();
c2.getPA().closeAllWindows();
c.sendMessage("You have declined the clan war requestion.");
c2.sendMessage("The other player has declined the request.");
c.clanWarOpponent = 0;
c2.clanWarOpponent = 0;
resetChallengeVariables(c);
resetChallengeVariables(c2);
c.chalInterface = false;
c2.chalInterface = false;
return false;
}
return false;
}

public boolean handleObjects(Client c, int objectType) {
if(objectType == 28213) {
if(c.clanWarId == -1) {
c.sendMessage("You don't have a Clan War scheduled.");
return false;
}
}
if(c.clanWarId == -1) {
return false;
}
ClanWar clanWar = clanWars[c.clanWarId];
switch(objectType) {
case 38697:
c.getPA().movePlayer(DEATHX + Misc.random(3), DEATHY + Misc.random(3), 0);
if(clanWar.deadPlayers.contains(c)) {
clanWar.deadPlayers.remove(c);
}
//removePlayer(c, clanWar);
return false;
case 28213:
int x = 0;
int y = 0;
if(c.clanWarId == -1) {
c.sendMessage("You are not in a Clan.");
return false;
}
if(clanWar.deadPlayers.contains(c)) {
clanWar.deadPlayers.remove(c);
}
if(Server.clanChat.clans[c.clanId].name == clanWar.getClan1()) {
x = CLAN1X;
y = CLAN1Y;
if(!clanWar.clan1Players.contains(c)) {
clanWar.clan1Players.add(c);
}
}
if(Server.clanChat.clans[c.clanId].name == clanWar.getClan2()) {
x = CLAN2X;
y = CLAN2Y;
if(!clanWar.clan2Players.contains(c)) {
clanWar.clan2Players.add(c);
}
}
enterMatch(c, x, y);
return false;

}
return false;
}

public void removePlayer(Client c, ClanWar c2) {
if(c2.clan1Players.contains(c)) {
c2.clan1Players.remove(c);
} else if(c2.clan2Players.contains(c)) {
c2.clan2Players.remove(c);
}
if(c.inClanWars()) {
c.getPA().movePlayer(DEATHX, DEATHY, 0);
}
}

public void startMatch(Client c, Client c2) {
int clanWarId = openSlot();
clanWars[clanWarId] = new ClanWar(c.playerId, c2.playerId, ((c.playerId + c2.playerId) * 4), clanWarId, 120);
for (int j = 0; j < Server.clanChat.clans[c.clanId].members.length; j++) {
if (Server.clanChat.clans[c.clanId].members[j] <= 0)
continue;
if (PlayerHandler.players[Server.clanChat.clans[c.clanId].members[j]] != null) {
Client clan = (Client)PlayerHandler.players[Server.clanChat.clans[c.clanId].members[j]];
clan.clanWarId = clanWarId;
clan.sendMessage(MESSAGE1);
clan.sendMessage(MESSAGE2);
clan.sendMessage(MESSAGE3);
clan.clanWarId = c.clanWarId = c2.clanWarId = clanWarId;
clan.sendMessage(" "+clan.playerName+":"+clan.clanWarId);
}
}
for (int j = 0; j < Server.clanChat.clans[c2.clanId].members.length; j++) {
if (Server.clanChat.clans[c2.clanId].members[j] <= 0)
continue;
if (PlayerHandler.players[Server.clanChat.clans[c2.clanId].members[j]] != null) {
Client clan = (Client)PlayerHandler.players[Server.clanChat.clans[c2.clanId].members[j]];
clan.clanWarId = clanWarId;
clan.sendMessage(MESSAGE1);
clan.sendMessage(MESSAGE2);
clan.sendMessage(MESSAGE3);
clan.clanWarId = c.clanWarId = c2.clanWarId = clanWarId;
clan.sendMessage(" "+clan.playerName+":"+clan.clanWarId);
}
}
if(c != null) {
c.sendMessage("Clan Wars request accepted.");
enterMatch(c, CLAN1X, CLAN1Y);
clanWars[clanWarId].clan1Players.add(c);
}
if(c2 != null) {
c2.sendMessage("Clan Wars request accepted.");
enterMatch(c2, CLAN2X, CLAN2Y);
clanWars[clanWarId].clan2Players.add(c2);
}
clanWars[clanWarId].setClan1(Server.clanChat.clans[c.clanId].name);
clanWars[clanWarId].setClan2(Server.clanChat.clans[c2.clanId].name);
clanWars[clanWarId].setWallTime(120);
wallTimer(clanWars[clanWarId]);
walls(clanWars[clanWarId], WALL_ID, clanWars[clanWarId].getHeight());
c.sendMessage("Height level is gonna be: "+clanWars[c.clanWarId].getHeight());
c2.sendMessage("Height level is gonna be: "+clanWars[c.clanWarId].getHeight());
}

public void enterMatch(Client c, int x, int y) {
ClanWar clanWar = clanWars[c.clanWarId];
c.getPA().movePlayer(x, y, clanWar.getHeight());
c.getPA().closeAllWindows();
if(!wallDown(clanWar)) {
walls(clanWar, WALL_ID, clanWar.getHeight());
}
}

public int openSlot() {
for (int j = 0; j < clanWars.length; j++) {
if (clanWars[j] == null || clanWars[j].getId() == -1)
return j;
}
return -1;
}

public void walls(ClanWar c, int id, int height) {
if(height == c.getHeight()) {
for (int i = 2884; i < 2925; i++) {
new Object(id, i, 5666, height, -1, 10, id, 0);
}
for (int i = 2935; i < 2940; i++) {
new Object(id, i, 5666, height, -1, 10, id, 0);
}
}
System.out.println("Spawning walls at height: "+c.getHeight());
}


public void resetChallengeVariables(Client c) {
Client c2 = (Client) PlayerHandler.players[c.clanWarOpponent];
if(c != null && c2 != null) {
c2.chalAccepted = false;
c.chalAccepted = false;
c2.chalInterface = false;
c.chalInterface = false;
}
}

public void checkLeave(Client c, ClanWar c2) {
if(Server.clanChat.clans[c.clanId].owner.equalsIgnoreCase(c.playerName)) {
Server.clanChat.messageToClan("The other team's leader has forfeited.", PlayerHandler.players[c.clanWarOpponent].clanId, true);
Server.clanChat.messageToClan("Your owner left the Clan Chat. The match was forfeited.", c.clanId, true);
if(c2.clan1Players.contains(c))
handleWin("clan2", c2);
else if(c2.clan2Players.contains(c))
handleWin("clan1", c2);
}
removePlayer(c, c2);
}

public void updateInterface(Client c, ClanWar c2) {
try {
Client clan1 = (Client) PlayerHandler.players[c2.getOtherId()];
Client clan2 = (Client) PlayerHandler.players[c2.getId()];
if (c.inClanWars()) {
if(!wallDown(c2)) {
//if(Server.clanChat.clans[c.clanId].name.equals(c2.getClan1())) {
/*c.getPA().sendFrame126(Misc.formatPlayerName(Serv er.clanChat.clans[c.clanId].name)+"", 3502);
c.getPA().sendFrame126(Misc.formatPlayerName(Serve r.clanChat.clans[clan1.clanId].name)+"", 3503);
c.getPA().sendFrame126("Size: "+Server.clanChat.getClanSize(c.clanId), 3505);
c.getPA().sendFrame126("Size: "+Server.clanChat.getClanSize(clan1.clanId), 3506);*/
c.getPA().sendFrame126("My Clan", 3502);
c.getPA().sendFrame126("Opposing", 3503);
c.getPA().sendFrame126(" ", 3505);
c.getPA().sendFrame126(" ", 3506);
//}
//if(Server.clanChat.clans[c.clanId].name.equals(c2.getClan2())) {
/*c.getPA().sendFrame126(Misc.formatPlayerName(Serv er.clanChat.clans[clan1.clanId].name)+"", 3502);
c.getPA().sendFrame126(Misc.formatPlayerName(Serve r.clanChat.clans[clan2.clanId].name)+"", 3503);
c.getPA().sendFrame126("Size: "+Server.clanChat.getClanSize(clan1.clanId), 3505);
c.getPA().sendFrame126("Size: "+Server.clanChat.getClanSize(c.clanId), 3506);*/
c.getPA().sendFrame126("My Clan", 3502);
c.getPA().sendFrame126("Opposing", 3503);
c.getPA().sendFrame126(" ", 3505);
c.getPA().sendFrame126(" ", 3506);
//}
c.getPA().sendFrame126(Misc.formatTime(c2.getWallT ime())+"", 3507);
if (c2.getWallTime() <= 3) {
c.getPA().sendFrame126("@red@GET READY!", 3507);
}
} else {
//if(Server.clanChat.clans[c.clanId].name.equals(c2.getClan1())) {
if(c2.clan1Players.contains(c)) {
if(c.clanId > 0) {
c.getPA().sendFrame126(Misc.formatPlayerName(Serve r.clanChat.clans[c.clanId].name)+"", 3502);
c.getPA().sendFrame126(Misc.formatPlayerName(Serve r.clanChat.clans[clan1.clanId].name)+"", 3503);
} else {
c.getPA().sendFrame126("My Clan", 3502);
c.getPA().sendFrame126("Opposing", 3503);
}
c.getPA().sendFrame126(" Currently:", 3504);
c.getPA().sendFrame126("Kills: "+c2.getClan1Kills(), 3505);
c.getPA().sendFrame126("Kills: "+c2.getClan2Kills(), 3506);
if(c2.getClan1Kills() > c2.getClan2Kills()) {
c.getPA().sendFrame126("Winning!", 3507);
} else if(c2.getClan1Kills() == c2.getClan2Kills()) {
c.getPA().sendFrame126("Tied!", 3507);
} else {
c.getPA().sendFrame126("@red@Losing!", 3507);
}
}
if(c2.clan2Players.contains(c)) {
if(c.clanId > 0) {
c.getPA().sendFrame126(Misc.formatPlayerName(Serve r.clanChat.clans[clan1.clanId].name)+"", 3502);
c.getPA().sendFrame126(Misc.formatPlayerName(Serve r.clanChat.clans[clan2.clanId].name)+"", 3503);
} else {
c.getPA().sendFrame126("My Clan", 3502);
c.getPA().sendFrame126("Opposing", 3503);
}
c.getPA().sendFrame126(" Currently:", 3504);
c.getPA().sendFrame126("Kills: "+c2.getClan2Kills(), 3505);
c.getPA().sendFrame126("Kills: "+c2.getClan1Kills(), 3506);
if(c2.getClan2Kills() > c2.getClan1Kills()) {
c.getPA().sendFrame126("Winning!", 3507);
} else if(c2.getClan1Kills() == c2.getClan2Kills()) {
c.getPA().sendFrame126("Tied!", 3507);
} else {
c.getPA().sendFrame126("@red@Losing!", 3507);
}
}
}

}
}catch(Exception e) {
e.printStackTrace();
}
}

public boolean wallDown(ClanWar c) {
if(c == null) {
return false;
}
return c.getWallTime() == -1;
}

}


make a new class called ClanWarConstants and add this in it

    package server.model.minigames.clanwars;

/**
* @author Women/asshole_rule
*/
public class ClanWarConstants {

/**
* If only owners can challenge another clan
* if set to true ANYONE in the clan will be able to
*/
public static final boolean OWNERS_ONLY = false;

/**
* The coords that the 1st clan spawns at
*/
public static final int CLAN1X = 2930, CLAN1Y = 5686;

/**
* The coords that the 2nd clan spawns at
*/
public static final int CLAN2X = 2892, CLAN2Y = 5641;

/**
* The amount of kills needed to win
*/
public static final int MAX_KILLS = 3;

/**
* The object ID of the wall that spawns
*/
public static final int WALL_ID = 28176;

/**
* The x coord you spawn at when you die and are in clan1
*/
public static final int DEATH_CLAN1X = 2930;

/**
* The y coord you spawn at when you die and are in clan1
*/
public static final int DEATH_CLAN1Y = 5666;

/**
* The x coord you spawn at when you die and are in clan2
*/
public static final int DEATH_CLAN2X = 2893;

/**
* The y coord you spawn at when you die and are in clan2
*/
public static final int DEATH_CLAN2Y = 5660;

/**
* X coord you spawn around when the match is over
*/
public static final int DEATHX = 2983;

/**
* Y coord you spawn around when the match is over
*/
public static final int DEATHY = 9674;

/**
* First message sent when challenge is accepted
*/
public static final String MESSAGE1 =
"@red@Your clan has been challenged to a clan war!";

/**
* Second message sent when challenge is accepted
*/
public static final String MESSAGE2 =
"@red@Step through the purple portal in the Challenge Hall.";

/**
* Third message sent when challenge is accepted
*/
public static final String MESSAGE3 =
"@red@Battle will commence in 2 minutes.";

}


and make a new class called ClanWar

    package server.model.minigames.clanwars;

import java.util.ArrayList;

import server.model.players.Client;

/**
* @author Women/asshole_rule
*/
public class ClanWar {

public ClanWar(int playerId, int otherPlayerId, int heightLevel, int clanWarId, int wallTime) {
this.playerId = playerId;
this.otherPlayerId = otherPlayerId;
this.heightLevel = heightLevel;
this.clanWarId = clanWarId;
this.wallTime = wallTime;
}

public ArrayList<Client> deadPlayers = new ArrayList<Client>();

public ArrayList<Client> clan1Players = new ArrayList<Client>();

public ArrayList<Client> clan2Players = new ArrayList<Client>();

private String clan1;
private String clan2;

private int playerId;
private int otherPlayerId;
private int heightLevel;
private int clanWarId;
private int wallTime;
private int clan1Kills;
private int clan2Kills;

public int getId() {
return playerId;
}

public int getOtherId() {
return otherPlayerId;
}

public int getHeight() {
return heightLevel;
}

public int getWarId() {
return clanWarId;
}

public int getWallTime() {
return wallTime;
}

public int setWallTime(int time) {
return this.wallTime = time;
}

public String getClan2() {
return clan2;
}

public void setClan2(String clan2) {
this.clan2 = clan2;
}

public String getClan1() {
return clan1;
}

public void setClan1(String clan1) {
this.clan1 = clan1;
}

public int getClan1Kills() {
return clan1Kills;
}

public void setClan1Kills(int clan1Kills) {
this.clan1Kills = clan1Kills;
}

public int getClan2Kills() {
return clan2Kills;
}

public void setClan2Kills(int clan2Kills) {
this.clan2Kills = clan2Kills;
}
}


The above class is just what i used to hold information needed for the clan war.

open client class and add these pieces of code in client class

    /**
* Clan wars
*/
private ClanWarHandler cw = new ClanWarHandler(this);
public ClanWarHandler getClanWars() {
return cw;
}


add this in initialize

    if(inClanWars()) {
getPA().movePlayer(ClanWarConstants.DEATHX + Misc.random(3), ClanWarConstants.DEATHY + Misc.random(3), 0);
}


add this in process()

    if(this.inClanWarsLobby()) {
getPA().showOption(3, 1, "Challenge", 1);
}
if(inClanWars()) {
try {
if(this.clanWarId != -1) {
if(getClanWars().wallDown(ClanWarHandler.clanWars[this.clanWarId])) {
getPA().showOption(3, 1, "Attack", 1);
} else {
getPA().showOption(3, 1, "null", 1);
}
getPA().walkableInterface(3500);
getClanWars().updateInterface(this, ClanWarHandler.clanWars[this.clanWarId]);
}
} catch(Exception e){
e.printStackTrace();
}
}


add this at the top of clickingButtons class

    if (c.getClanWars().handleButtons(c, actionButtonId)) {
return;
}


go into CombatAssitant and

search for checkReqs() and put this in it

    if(c.inClanWars()) {
if(!c.getClanWars().wallDown(ClanWarHandler.clanWa rs[c.clanId])) {
c.sendMessage("Reseting?");
c.getCombat().resetPlayerAttack();
}
if(ClanWarHandler.clanWars[c.clanWarId].clan1Players.contains(c) && ClanWarHandler.clanWars[c.clanWarId].clan1Players.contains(PlayerHandler.players[c.playerIndex])) {
c.sendMessage("Reseting?");
c.getCombat().resetPlayerAttack();
return false;
}
if(ClanWarHandler.clanWars[c.clanWarId].clan2Players.contains(c) && ClanWarHandler.clanWars[c.clanWarId].clan2Players.contains(PlayerHandler.players[c.playerIndex])) {
c.sendMessage("Reseting?");
c.getCombat().resetPlayerAttack();
return false;
}
}

if (PlayerHandler.players[c.playerIndex].inPits || c.inClanWars())
return true;

if(c.inClanWarsLobby()) {
c.sendMessage("Reseting?");
c.getClanWars().requestChallenge(c, c.playerIndex);
c.getCombat().resetPlayerAttack();
return false;
}


open player.java and add this

    /**
* Clan wars
*/

public int clanWarOpponent, clanWarId = -1;
public boolean chalAccepted, chalInterface;

public boolean inClanWars() {
if (absX > 2880 && absX < 2943 && absY > 5632 && absY < 5695) {
return true;
}
return false;
}

public boolean inClanWarsLobby() {
if (absX > 2979 && absX < 3006 && absY > 9665 && absY < 9693) {
return true;
}
return false;
}

public boolean inClanWarsDead() {
if (absX > 2926 && absX < 2933 && absY > 5663 && absY < 5670
|| absX > 2890 && absX < 2897 && absY > 5657 && absY < 5664) {
return true;
}
return false;
}




You might need to add these codes in the opposite methods that I say (E.G giveLife and applyDead) cause it seems different for servers i've added this on

in applydead

    if(c.inClanWars()) {
c.getClanWars().handleKill(c, o);
}


and in giveLife

    if (c.inClanWars()) {
c.getClanWars().handleDeath(c);
}


and this also in givelife somewhere...

    if(ClanWarHandler.clanWars[c.clanWarId].clan1Players.contains(c)) {
movePlayer(ClanWarConstants.DEATH_CLAN1X, ClanWarConstants.DEATH_CLAN1Y, ClanWarHandler.clanWars[c.clanWarId].getHeight());
} else {
movePlayer(ClanWarConstants.DEATH_CLAN2X, ClanWarConstants.DEATH_CLAN2Y, ClanWarHandler.clanWars[c.clanWarId].getHeight());
}
if(ClanWarHandler.clanWars[c.clanWarId].clan2Players.contains(c)) {
if(ClanWarHandler.clanWars[c.clanWarId].getClan1Kills() >= ClanWarConstants.MAX_KILLS) {
c.sendMessage("called");
c.getClanWars().handleWin("clan1", ClanWarHandler.clanWars[c.clanWarId]);
}
} else if (ClanWarHandler.clanWars[c.clanWarId].clan1Players.contains(c)) {
if(ClanWarHandler.clanWars[c.clanWarId].getClan2Kills() >= ClanWarConstants.MAX_KILLS) {
c.sendMessage("called");
c.getClanWars().handleWin("clan2", ClanWarHandler.clanWars[c.clanWarId]);
}
}



in ClanChatHandler

leaveClan() replace this, or rip the code u need

    public void leaveClan(int playerId, int clanId) {
if (clanId < 0) {
Client c = (Client)PlayerHandler.players[playerId];
c.sendMessage("You are not in a clan.");
return;
}
if (clans[clanId] != null) {
if (PlayerHandler.players[playerId] != null) {
Client c = (Client)PlayerHandler.players[playerId];
if(c.clanWarId != -1) {
if(ClanWarHandler.clanWars[c.clanWarId].getId() == c.playerId) {
c.sendMessage("Called");
c.getClanWars().checkLeave(c, ClanWarHandler.clanWars[c.clanWarId]);
} else if(ClanWarHandler.clanWars[c.clanWarId].getOtherId() == c.playerId) {
c.sendMessage("Called1");
c.getClanWars().checkLeave(c, ClanWarHandler.clanWars[c.clanWarId]);
}
}
PlayerHandler.players[playerId].clanId = -1;
c.sendMessage("You have left the clan.");
c.getPA().clearClanChat();
if(c.clanWarId > -1) {
c.getClanWars().removePlayer(c, ClanWarHandler.clanWars[c.clanWarId]);
}
for (int j = 0; j < clans[clanId].members.length; j++) {
if (clans[clanId].members[j] == playerId) {
clans[clanId].members[j] = -1;
}
}
//for (int j = 0; j < clans[clanId].members.length; j++) {
//Client c2 = (Client)PlayerHandler.players[clans[clanId].members[j]];
//c2.sendMessage(c.playerName+" has left the clan.");
//}
}
updateClanChat(clanId);
} else {
Client c = (Client)PlayerHandler.players[playerId];
PlayerHandler.players[playerId].clanId = -1;
c.sendMessage("You are not in a clan.");
}
}



and lastly in ActionHandler add this at the top

    if(c.getClanWars().handleObjects(c, objectType)) {
return;
}

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo