rendered paste bodyIndex: /java/net/sf/l2j/gameserver/clientpackets/RequestSetPledgeCrest.java
===================================================================
--- /java/net/sf/l2j/gameserver/clientpackets/RequestSetPledgeCrest.java (revision 561)
+++ /java/net/sf/l2j/gameserver/clientpackets/RequestSetPledgeCrest.java (working copy)
@@ -27,7 +27,9 @@
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ClientThread;
+import net.sf.l2j.gameserver.IdFactory;
import net.sf.l2j.gameserver.model.L2Clan;
+import net.sf.l2j.gameserver.model.L2ClanMember;
import net.sf.l2j.gameserver.model.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
@@ -64,15 +66,22 @@
activeChar.sendPacket(sm);
return;
}
-
- File crestFile = new File(Config.DATAPACK_ROOT, "data/crests/Pledge_"+clan.getClanId()+".bmp");
+ int crestID = IdFactory.getInstance().getNextId();
+ File crestFile = new File(Config.DATAPACK_ROOT, "data/crests/Pledge_"+crestID+".dds");
+ clan.setCrestId(crestID);
try {
FileOutputStream out = new FileOutputStream(crestFile);
out.write(_data);
out.close();
-
+
clan.setHasCrest(true);
- activeChar.broadcastUserInfo();
+ for (L2ClanMember member : clan.getMembers())
+ {
+ if (member.isOnline())
+ {
+ member.getPlayerInstance().broadcastUserInfo();
+ }
+ }
} catch (IOException e) {
_log.log(Level.INFO, "Error loading "+crestFile+":", e);
}
Index: /java/net/sf/l2j/gameserver/clientpackets/RequestPledgeCrest.java
===================================================================
--- /java/net/sf/l2j/gameserver/clientpackets/RequestPledgeCrest.java (revision 561)
+++ /java/net/sf/l2j/gameserver/clientpackets/RequestPledgeCrest.java (working copy)
@@ -53,7 +53,7 @@
{
if (Config.DEBUG) _log.fine("crestid " + _crestId + " requested");
- File crestFile = new File(Config.DATAPACK_ROOT, "data/crests/Pledge_"+_crestId+".bmp");
+ File crestFile = new File(Config.DATAPACK_ROOT, "data/crests/Pledge_"+_crestId+".dds");
if (crestFile.exists())
{
PledgeCrest pc = new PledgeCrest(_crestId, crestFile);
Index: /java/net/sf/l2j/gameserver/model/L2PcInstance.java
===================================================================
--- /java/net/sf/l2j/gameserver/model/L2PcInstance.java (revision 581)
+++ /java/net/sf/l2j/gameserver/model/L2PcInstance.java (working copy)
@@ -939,7 +939,7 @@
{
if (_clan != null && _clan.hasCrest())
{
- return _clanId;
+ return _clan.getCrestId();
}
else
{
Index: /java/net/sf/l2j/gameserver/model/L2Clan.java
===================================================================
--- /java/net/sf/l2j/gameserver/model/L2Clan.java (revision 589)
+++ /java/net/sf/l2j/gameserver/model/L2Clan.java (working copy)
@@ -18,7 +18,6 @@
*/
package net.sf.l2j.gameserver.model;
-import java.io.File;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
@@ -53,6 +52,7 @@
private int _hasHideout;
private boolean _hasCrest;
private int _hiredGuards;
+ private int _crestId;
private Warehouse _warehouse = new ClanWarehouse(this);
private ArrayList<Integer> _atWarWith;
@@ -66,8 +66,8 @@
{
_clanId = clanId;
restore();
- File crestFile = new File(Config.DATAPACK_ROOT, "data/crests/Pledge_"+_clanId+".bmp");
- _hasCrest = crestFile.exists();
+ //File crestFile = new File(Config.DATAPACK_ROOT, "data/crests/Pledge_"+_clanId+".bmp");
+ //_hasCrest = crestFile.exists();
}
/**
@@ -81,6 +81,7 @@
_clanId = clanId;
_name = clanName;
setLeader(leader);
+ _crestId = 0;
}
/**
@@ -288,7 +289,7 @@
*/
public int getCrestId()
{
- return _clanId;
+ return _crestId;
}
/**
* @param allyId The allyId to set.
@@ -385,7 +386,7 @@
try
{
con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement = con.prepareStatement("INSERT INTO clan_data (clan_id,clan_name,clan_level,hasCastle,hasHideout,ally_id,ally_name,leader_id) values (?,?,?,?,?,?,?,?)");
+ PreparedStatement statement = con.prepareStatement("INSERT INTO clan_data (clan_id,clan_name,clan_level,hasCastle,hasHideout,ally_id,ally_name,leader_id,crest_id) values (?,?,?,?,?,?,?,?,?)");
statement.setInt(1, getClanId());
statement.setString(2, getName());
statement.setInt(3, getLevel());
@@ -394,6 +395,7 @@
statement.setInt(6, getAllyId());
statement.setString(7, getAllyName());
statement.setInt(8, getLeaderId());
+ statement.setInt(9, getCrestId());
statement.execute();
statement.close();
@@ -494,7 +496,7 @@
L2ClanMember member;
con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement = con.prepareStatement("SELECT clan_name,clan_level,hasCastle,hasHideout,ally_id,ally_name,leader_id FROM clan_data where clan_id=?");
+ PreparedStatement statement = con.prepareStatement("SELECT clan_name,clan_level,hasCastle,hasHideout,ally_id,ally_name,leader_id,crest_id FROM clan_data where clan_id=?");
statement.setInt(1, getClanId());
ResultSet clanData = statement.executeQuery();
@@ -506,7 +508,9 @@
setHasHideout(clanData.getInt("hasHideout"));
setAllyId(clanData.getInt("ally_id"));
setAllyName(clanData.getString("ally_name"));
- int leaderId = (clanData.getInt("leader_id"));
+ int leaderId = (clanData.getInt("leader_id"));
+ setCrestId(clanData.getInt("crest_id"));
+ _hasCrest = getCrestId() > 0;
PreparedStatement statement2 = con.prepareStatement("SELECT char_name,level,classid,obj_Id FROM characters WHERE clanid=?");
statement2.setInt(1, getClanId());
@@ -543,7 +547,15 @@
}
}
- public void broadcastToOnlineMembers(ServerBasePacket packet)
+ /**
+ * @param string
+ */
+ public void setCrestId(int crestId)
+ {
+ _crestId = crestId;
+ }
+
+ public void broadcastToOnlineMembers(ServerBasePacket packet)
{
for (L2ClanMember member : _members.values())
{