|
Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:Проблема |
Ссылки сообщества |
Изображения и альбомы |
Пользователи |
К странице... |
Опции темы |
10.03.2012, 15:22 | #1 |
Пользователь
|
Alt+B Clan
Ребят помогите пожалуйста!
Хочу сделать вкладку клан (классическую) а сейчас у меня Хотелось бы чтоб вместо статистики у меня там были клановые функции ! HTML с этими функциями есть но HTML с моей имеющейся статистикой нет только скрипт! Пожалуйста уделите минутку внимания,помогите! Заранее спасибо Хроники Эпилог, Сборка VoronDev (шайтановская) |
11.03.2012, 02:11 | #2 |
Изгнанные
|
Re: Alt+B Clan
Скрипт к сожалению делать тут никто не будет (хотя-бы бесплатно), не потому-что тут сидят злодеи а потому-что писать его достаточно долго.
Мой совет, просто найдите сборку где оно реализовано, и переведите на свои хроники, не так-уж сложно. ХТМЛ в данном случае ничего не дает. |
12.03.2012, 19:22 | #3 |
Пользователь
|
Re: Alt+B Clan
дело в том что сам скрипт выглядит довольно не привычно( и такой скрипт я не видел ешё нигде) то есть касающейся вкладки клан!
вот сам скрипт ) Скрипт:Свернуть ↑
package community;
Свернуть ↑Развернуть ↓
import l2p.Config; import l2p.common.ThreadPoolManager; import l2p.database.DatabaseUtils; import l2p.database.FiltredPreparedStatement; import l2p.database.L2DatabaseFactory; import l2p.database.ThreadConnection; import l2p.gameserver.instancemanager.CastleManager; import l2p.gameserver.model.L2Alliance; import l2p.gameserver.model.L2Clan; import l2p.gameserver.model.entity.residence.Castle; import l2p.gameserver.modules.community.mCommunity; import l2p.gameserver.modules.community.mGenerateElement; import l2p.gameserver.modules.event.mEventList; import l2p.gameserver.modules.event.mIEvent; import l2p.gameserver.tables.ClanTable; import l2p.util.Files; import java.sql.ResultSet; import java.text.SimpleDateFormat; /** * @authors Shaitan, hex1r0 */ public class mGeneratePage { private static mGeneratePage ourInstance; public static mGeneratePage getInstance() { if(ourInstance == null) { return ourInstance = new mGeneratePage(); } else { return ourInstance; } } public mGeneratePage() { mStaticPage.setPageTemplate(generateTemplate()); mCommunity.pageMain = addToTemplate(Files.read("custom/community/main.htm")); mCommunity.pageClan = addToTemplate(addStatisticClan()); mStaticPage.pageShop = addToTemplate(Files.read("custom/community/shop.htm")); mStaticPage.pageShopDonate = addToTemplate(Files.read("custom/community/shopdonate.htm")); mStaticPage.pageCommand = addToTemplate(Files.read("custom/community/command.htm")); mStaticPage.pageService = addToTemplate(addService()); generateEvent(); ThreadPoolManager.getInstance().scheduleGeneralAtF ixedRate(new generateStatistic(), 1000, 10 * 60 * 1000); } //-------------------------------------------------------------------------------------------------------------- public static String generateTemplate() { StringBuilder sb = new StringBuilder(); sb.append("<html>").append("<body>").append("<cent er>"); sb.append("<table width=751><tr>"); sb.append("<td fixwidth=100 valign=top><table width=100>"); sb.append(mGenerateElement.buttonTDTR("Главная", "_bbshome", 100, 25)); sb.append(Config.communityShop ? mGenerateElement.buttonTDTR("Магазин", "_bbsshop", 100, 25) : ""); sb.append(Config.communityShopDonate ? mGenerateElement.buttonTDTR("Донейт Магазин", "_bbsshopdonate", 100, 25) : ""); sb.append(Config.communityBuffer ? mGenerateElement.buttonTDTR("Баффер", "_bbsbaffer", 100, 25) : ""); sb.append(Config.communityTeleport ? mGenerateElement.buttonTDTR("Телепорт", "_bbsteleport", 100, 25) : ""); sb.append(Config.communityCareer ? mGenerateElement.buttonTDTR("Карьера", "_bbscareer", 100, 25) : ""); sb.append(Config.communityService ? mGenerateElement.buttonTDTR("Сервисы", "_bbsservice", 100, 25) : ""); sb.append(Config.communitySmsDonate ? mGenerateElement.buttonTDTR("Смс донейт", "_bbssmsdonate", 100, 25) : ""); sb.append(Config.communityEvent ? mGenerateElement.buttonTDTR("Эвенты", "_bbsevent", 100, 25) : ""); sb.append(Config.communityStatistic ? mGenerateElement.buttonTDTR("Статистика", "_bbsstatistic", 100, 25) : ""); sb.append(mGenerateElement.buttonTDTR("Полезное", "_bbscommand", 100, 25)); sb.append(mGenerateElement.buttonTDTR("Настройки", "user_cfg", 100, 25)); sb.append("</table></td>"); sb.append("<td fixwidth=1 valign=top>"); sb.append(mGenerateElement.line(1, 495)); sb.append("</td>"); sb.append("<td fixwidth=650 valign=top><br>"); sb.append("%main%"); sb.append("</td>"); sb.append("</tr></table>"); sb.append("</center>").append("</body>").append("</html>"); return sb.toString(); } public static String addToTemplate(String s) { return mStaticPage.getPageTemplate().replace("%main%", s); } //-------------------------------------------------------------------------------------------------------------- private static String addService() { StringBuilder sb = new StringBuilder(); sb.append("<center>"); sb.append("<table fixwidth=200>"); sb.append(Config.SellNobleEnable ? mGenerateElement.buttonTDTR("Ноблес", "scripts_services.NoblessSell:list", 200, 25) : ""); sb.append(Config.SERVICES_RATE_BONUS_ENABLED ? mGenerateElement.buttonTDTR("Премиум Аккаунт", "scripts_services.RateBonus:list", 200, 25) : ""); sb.append(Config.SERVICES_EXPAND_CWH_ENABLED ? mGenerateElement.buttonTDTR("Расширение кланового склада", "scripts_services.ExpandCWH:show", 200, 25) : ""); sb.append(Config.SERVICES_EXPAND_INVENTORY_ENABLED ? mGenerateElement.buttonTDTR("Расширение инвентаря", "scripts_services.ExpandInventory:show", 200, 25) : ""); sb.append(Config.SERVICES_EXPAND_WAREHOUSE_ENABLED ? mGenerateElement.buttonTDTR("Расширение личного склада", "scripts_services.ExpandWarhouse:show", 200, 25) : ""); sb.append(Config.SERVICES_CHANGE_NICK_ENABLED ? mGenerateElement.buttonTDTR("Смена ника", "scripts_services.Rename:rename_page", 200, 25) : ""); sb.append(Config.SERVICES_CHANGE_SEX_ENABLED ? mGenerateElement.buttonTDTR("Смена пола", "scripts_services.Rename:changesex_page", 200, 25) : ""); sb.append(Config.SERVICES_CHANGE_NICK_COLOR_ENABLE D ? mGenerateElement.buttonTDTR("Цвет ника", "scripts_services.NickColor:list", 200, 25) : ""); sb.append(Config.SERVICES_CHANGE_TITLE_COLOR_ENABL ED ? mGenerateElement.buttonTDTR("Цвет титула", "scripts_services.TitleColor:list", 200, 25) : ""); sb.append(Config.SERVICES_SEPARATE_SUB_ENABLED ? mGenerateElement.buttonTDTR("Отделить саб", "scripts_services.Rename:separate_page", 200, 25) : ""); sb.append(Config.SERVICES_CHANGE_BASE_ENABLED ? mGenerateElement.buttonTDTR("Сменить класс", "scripts_services.Rename:changebase_page", 200, 25) : ""); sb.append(Config.SERVICES_DELEVEL_ENABLED ? mGenerateElement.buttonTDTR("Понизить уровень", "scripts_services.Delevel:delevel_page", 200, 25) : ""); sb.append(Config.PlayerKillerEnable ? mGenerateElement.buttonTDTR("Отмытие ПК", "scripts_services.Pkk_page", 200, 25) : ""); sb.append(Config.SellHeroEnable ? mGenerateElement.buttonTDTR("Геройство", "scripts_services.HeroService:hero_list", 200, 25) : ""); sb.append(Config.SERVICES_CHANGE_PET_NAME_ENABLED ? mGenerateElement.buttonTDTR("Обнулить имя у пета", "scripts_services.petevolve.exchange:showErasePetN ame", 200, 25) : ""); sb.append(Config.SERVICES_BASH_ENABLED? mGenerateElement.buttonTDTR("Почитать Баш орг", "scripts_services.Bash:showQuote 1", 200, 25) : ""); sb.append(mGenerateElement.buttonTDTR("Клановые сервисы", "scripts_services.Clans:list", 200, 25)); sb.append("</table>"); sb.append("</center>"); return sb.toString(); } //-------------------------------------------------------------------------------------------------------------- private static class generateStatistic implements Runnable { public void run() { mStaticPage.pageStatistic = addToTemplate(addStatisticMenu(addStatisticPvP())) ; mStaticPage.pageStatisticPvP = mStaticPage.pageStatistic; mStaticPage.pageStatisticPK = addToTemplate(addStatisticMenu(addStatisticPK())); mStaticPage.pageStatisticFame = addToTemplate(addStatisticMenu(addStatisticFame()) ); mStaticPage.pageStatisticClan = addToTemplate(addStatisticMenu(addStatisticClan()) ); mStaticPage.pageStatisticCastle = addToTemplate(addStatisticMenu(addStatisticCastle( ))); mStaticPage.pageStatisticNoble = addToTemplate(addStatisticMenu(addStatisticNoble() )); } } private static String addStatisticMenu(String s) { StringBuilder sb = new StringBuilder(); sb.append("<center><table width=200>"); sb.append("<tr>"); sb.append("<td FIXWIDTH = 80>").append(mGenerateElement.button("PK", "_bbsstatistic_pk", 80, 25)).append("</td>"); sb.append("<td FIXWIDTH = 80>").append(mGenerateElement.button("PVP", "_bbsstatistic_pvp", 80, 25)).append("</td>"); sb.append("<td FIXWIDTH = 80>").append(mGenerateElement.button("Слава", "_bbsstatistic_fame", 80, 25)).append("</td>"); sb.append("<td FIXWIDTH = 80>").append(mGenerateElement.button("Кланы", "_bbsstatistic_clan", 80, 25)).append("</td>"); sb.append("<td FIXWIDTH = 80>").append(mGenerateElement.button("Замки", "_bbsstatistic_castle", 80, 25)).append("</td>"); sb.append("<td FIXWIDTH = 80>").append(mGenerateElement.button("Дворяне", "_bbsstatistic_noble", 80, 25)).append("</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<table width=200>"); sb.append("<tr><td>Обновляется раз в 10 минут</td></tr>"); sb.append("</table></center>"); sb.append(s); return sb.toString(); } private static String addStatisticPvP() { ThreadConnection tc = null; FiltredPreparedStatement fps = null; ResultSet rs = null; try { tc = L2DatabaseFactory.getInstance().getConnection(); fps = tc.prepareStatement("SELECT * FROM characters ORDER BY pvpkills DESC LIMIT 20;"); rs = fps.executeQuery(); StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); sb.append("<tr><td><center>ТОП 20 PVP"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450 bgcolor=CCCCCC>"); sb.append("<tr>"); sb.append("<td width=250>Ник</td>"); sb.append("<td width=50>Пол</td>"); sb.append("<td width=100>Время в игре</td>"); sb.append("<td width=50>PK</td>"); sb.append("<td width=50><font color=00CC00>PVP</font></td>"); sb.append("<td width=100>Статус</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450>"); while(rs.next()) { String ChName = rs.getString("char_name"); int ChSex = rs.getInt("sex"); int ChGameTime = rs.getInt("onlinetime"); int ChPk = rs.getInt("pkkills"); int ChPvP = rs.getInt("pvpkills"); int ChOnOff = rs.getInt("online"); String OnOff; String color; String sex; sex = ChSex == 1 ? "Ж" : "М"; if(ChOnOff == 1) { OnOff = "Онлайн"; color = "00CC00"; } else { OnOff = "Оффлайн"; color = "D70000"; } sb.append("<tr>"); sb.append("<td width=250>").append(ChName).append("</td>"); sb.append("<td width=50>").append(sex).append("</td>"); sb.append("<td width=100>").append(OnlineTime(ChGameTime)).append ("</td>"); sb.append("<td width=50>").append(ChPk).append("</td>"); sb.append("<td width=50><font color=00CC00>").append(ChPvP).append("</font></td>"); sb.append("<td width=100><font color=").append(color).append(">").append(OnOff).a ppend("</font></td>"); sb.append("</tr>"); } sb.append("</table>"); sb.append("</center></td></tr></table>"); return sb.toString(); } catch(Exception e) { e.printStackTrace(); } finally { DatabaseUtils.closeDatabaseCSR(tc, fps, rs); } return null; } private static String addStatisticPK() { ThreadConnection tc = null; FiltredPreparedStatement fps = null; ResultSet rs = null; try { tc = L2DatabaseFactory.getInstance().getConnection(); fps = tc.prepareStatement("SELECT * FROM characters ORDER BY pkkills DESC LIMIT 20;"); rs = fps.executeQuery(); StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); sb.append("<tr><td><center>ТОП 20 PK"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450 bgcolor=CCCCCC>"); sb.append("<tr>"); sb.append("<td width=250>Ник</td>"); sb.append("<td width=50>Пол</td>"); sb.append("<td width=100>Время в игре</td>"); sb.append("<td width=50><font color=00CC00>PK</font></td>"); sb.append("<td width=50>PVP</td>"); sb.append("<td width=100>Статус</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450>"); while(rs.next()) { String ChName = rs.getString("char_name"); int ChSex = rs.getInt("sex"); int ChGameTime = rs.getInt("onlinetime"); int ChPk = rs.getInt("pkkills"); int ChPvP = rs.getInt("pvpkills"); int ChOnOff = rs.getInt("online"); String OnOff; String color; String sex; sex = ChSex == 1 ? "Ж" : "М"; if(ChOnOff == 1) { OnOff = "Онлайн"; color = "00CC00"; } else { OnOff = "Оффлайн"; color = "D70000"; } sb.append("<tr>"); sb.append("<td width=250>").append(ChName).append("</td>"); sb.append("<td width=50>").append(sex).append("</td>"); sb.append("<td width=100>").append(OnlineTime(ChGameTime)).append ("</td>"); sb.append("<td width=50><font color=00CC00>").append(ChPk).append("</font></td>"); sb.append("<td width=50>").append(ChPvP).append("</td>"); sb.append("<td width=100><font color=").append(color).append(">").append(OnOff).a ppend("</font></td>"); sb.append("</tr>"); } sb.append("</table>"); sb.append("</center></td></tr></table>"); return sb.toString(); } catch(Exception e) { e.printStackTrace(); } finally { DatabaseUtils.closeDatabaseCSR(tc, fps, rs); } return null; } private static String addStatisticNoble() { ThreadConnection tc = null; FiltredPreparedStatement fps = null; ResultSet rs = null; try { tc = L2DatabaseFactory.getInstance().getConnection(); fps = tc.prepareStatement("SELECT cha.char_name, cha.sex, cha.onlinetime, cha.pkkills, cha.pvpkills, cha.online FROM characters cha, olympiad_nobles oly WHERE cha.obj_Id = oly.char_id ORDER BY cha.pvpkills DESC LIMIT 20"); rs = fps.executeQuery(); StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); sb.append("<tr><td><center>ТОП 20 Дворян"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450 bgcolor=CCCCCC>"); sb.append("<tr>"); sb.append("<td width=250>Ник</td>"); sb.append("<td width=50>Пол</td>"); sb.append("<td width=100>Время в игре</td>"); sb.append("<td width=50>PK</td>"); sb.append("<td width=50>PVP</td>"); sb.append("<td width=100>Статус</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450>"); while(rs.next()) { String ChName = rs.getString("char_name"); int ChSex = rs.getInt("sex"); int ChGameTime = rs.getInt("onlinetime"); int ChPk = rs.getInt("pkkills"); int ChPvP = rs.getInt("pvpkills"); int ChOnOff = rs.getInt("online"); String OnOff; String color; String sex; sex = ChSex == 1 ? "Ж" : "М"; if(ChOnOff == 1) { OnOff = "Онлайн"; color = "00CC00"; } else { OnOff = "Оффлайн"; color = "D70000"; } sb.append("<tr>"); sb.append("<td width=250>").append(ChName).append("</td>"); sb.append("<td width=50>").append(sex).append("</td>"); sb.append("<td width=100>").append(OnlineTime(ChGameTime)).append ("</td>"); sb.append("<td width=50>").append(ChPk).append("</td>"); sb.append("<td width=50>").append(ChPvP).append("</td>"); sb.append("<td width=100><font color=").append(color).append(">").append(OnOff).a ppend("</font></td>"); sb.append("</tr>"); } sb.append("</table>"); sb.append("</center></td></tr></table>"); return sb.toString(); } catch(Exception e) { e.printStackTrace(); } finally { DatabaseUtils.closeDatabaseCSR(tc, fps, rs); } return null; } private static String addStatisticCastle() { SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); ThreadConnection tc = null; FiltredPreparedStatement fps = null; ResultSet rs = null; try { tc = L2DatabaseFactory.getInstance().getConnection(); fps = tc.prepareStatement("SELECT * FROM castle ORDER BY id DESC LIMIT 10;"); rs = fps.executeQuery(); StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); sb.append("<tr><td><center>Статистика Замков"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450 bgcolor=CCCCCC>"); sb.append("<tr>"); sb.append("<td width=150>Замок</td>"); sb.append("<td width=150>Налог</td>"); sb.append("<td width=250>Владелец</td>"); sb.append("<td width=150>Дата осады</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450>"); while(rs.next()) { String name = rs.getString("name"); String taxPercent = rs.getString("taxPercent"); String owner = "Нет владельца"; String siegeDate = ""; Castle c = CastleManager.getInstance().getCastleByIndex(rs.ge tInt("id")); if(c != null) { siegeDate = dateFormat.format(c.getSiege().getSiegeDate().getT ime()); L2Clan o = c.getOwner(); if(o != null) { owner = o.getName(); } } sb.append("<tr>"); sb.append("<td width=150>").append(name).append("</td>"); sb.append("<td width=150>").append(taxPercent).append("</td>"); sb.append("<td width=250>").append(owner).append("</td>"); sb.append("<td width=150>").append(siegeDate).append("</td>"); sb.append("</tr>"); } sb.append("</table>"); sb.append("</center></td></tr></table>"); return sb.toString(); } catch(Exception e) { e.printStackTrace(); } finally { DatabaseUtils.closeDatabaseCSR(tc, fps, rs); } return null; } private static String addStatisticClan() { ThreadConnection tc = null; FiltredPreparedStatement fps = null; ResultSet rs = null; try { tc = L2DatabaseFactory.getInstance().getConnection(); fps = tc.prepareStatement("SELECT * FROM clan_data c WHERE c.clan_level > 0 ORDER BY c.clan_level DESC LIMIT 10;"); rs = fps.executeQuery(); StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); sb.append("<tr><td><center>Топ 10 Кланов"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450 bgcolor=CCCCCC>"); sb.append("<tr>"); sb.append("<td width=250>Клан</td>"); sb.append("<td width=250>Альянс</td>"); sb.append("<td width=120>Репутация</td>"); sb.append("<td width=120>Уровень</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450>"); while(rs.next()) { String clanName = rs.getString("clan_name"); String allyName = "Нет альянса"; String rep = Integer.toString(rs.getInt("reputation_score")); String level = Integer.toString(rs.getInt("clan_level")); L2Alliance a = ClanTable.getInstance().getAlliance(rs.getInt("all y_id")); if(a != null) { allyName = a.getAllyName(); } sb.append("<tr>"); sb.append("<td width=250>").append(clanName).append("</td>"); sb.append("<td width=250>").append(allyName).append("</td>"); sb.append("<td width=120>").append(rep).append("</td>"); sb.append("<td width=120>").append(level).append("</td>"); sb.append("</tr>"); } sb.append("</table>"); sb.append("</center></td></tr></table>"); return sb.toString(); } catch(Exception e) { e.printStackTrace(); } finally { DatabaseUtils.closeDatabaseCSR(tc, fps, rs); } return null; } private static String addStatisticFame() { ThreadConnection tc = null; FiltredPreparedStatement fps = null; ResultSet rs = null; try { tc = L2DatabaseFactory.getInstance().getConnection(); fps = tc.prepareStatement("SELECT * FROM characters ORDER BY fame DESC LIMIT 20;"); rs = fps.executeQuery(); StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); sb.append("<tr><td><center>ТОП 20 Славы"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450 bgcolor=CCCCCC>"); sb.append("<tr>"); sb.append("<td width=250>Ник</td>"); sb.append("<td width=50>Пол</td>"); sb.append("<td width=100>Время в игре</td>"); sb.append("<td width=50><font color=00CC00>Слава</font></td>"); sb.append("<td width=100>Статус</td>"); sb.append("</tr>"); sb.append("</table>"); sb.append("<img src=L2UI.SquareWhite width=450 height=1>"); sb.append("<table width=450>"); while(rs.next()) { String ChName = rs.getString("char_name"); int ChSex = rs.getInt("sex"); int ChGameTime = rs.getInt("onlinetime"); int fame = rs.getInt("fame"); int ChOnOff = rs.getInt("online"); String OnOff; String color; String sex; sex = ChSex == 1 ? "Ж" : "М"; if(ChOnOff == 1) { OnOff = "Онлайн"; color = "00CC00"; } else { OnOff = "Оффлайн"; color = "D70000"; } sb.append("<tr>"); sb.append("<td width=250>").append(ChName).append("</td>"); sb.append("<td width=50>").append(sex).append("</td>"); sb.append("<td width=100>").append(OnlineTime(ChGameTime)).append ("</td>"); sb.append("<td width=50><font color=00CC00>").append(fame).append("</font></td>"); sb.append("<td width=100><font color=").append(color).append(">").append(OnOff).a ppend("</font></td>"); sb.append("</tr>"); } sb.append("</table>"); sb.append("</center></td></tr></table>"); return sb.toString(); } catch(Exception e) { e.printStackTrace(); } finally { DatabaseUtils.closeDatabaseCSR(tc, fps, rs); } return null; } private static String OnlineTime(int time) { long onlinetimeH; int onlinetimeM; if(time / 60 / 60 - 0.5 <= 0) { onlinetimeH = 0; } else { onlinetimeH = Math.round((time / 60 / 60) - 0.5); } onlinetimeM = Math.round(((time / 60 / 60) - onlinetimeH) * 60); return "" + onlinetimeH + " ч. " + onlinetimeM + " м."; } public static void generateEvent() { StringBuilder sb = new StringBuilder(); sb.append("<table width=650>"); for(mIEvent mIEvent : mEventList.getEvents()) { sb.append("<tr>"); sb.append("<td>"); sb.append(mIEvent.getName()).append(": "); sb.append("</td>"); sb.append("<td>"); sb.append(mIEvent.getStatus()); sb.append("</td>"); sb.append("<td>"); sb.append(mGenerateElement.button("Регистрация", "scripts_events_new." + mIEvent.getName() + ":reg", 100, 25)); sb.append("</td>"); sb.append("<td>"); sb.append(mGenerateElement.button("Описание", "scripts_events_new." + mIEvent.getName() + ":getDescription", 100, 25)); sb.append("</td>"); if(mIEvent.isStat()) { sb.append("<td>"); sb.append(mGenerateElement.button("Статистика", "scripts_events_new." + mIEvent.getName() + ":getStat", 100, 25)); sb.append("</td>"); } sb.append("</tr>"); } sb.append("</table>"); mStaticPage.pageEvent = addToTemplate(sb.toString()); } } |
12.03.2012, 19:31 | #4 |
Пользователь
|
Re: Alt+B Clan
Вот с сборки L2Phoenix
ClanBBSManager Код HTML:
package l2p.gameserver.communitybbs.Manager; import java.util.StringTokenizer; import javolution.text.TextBuilder; import l2p.gameserver.cache.Msg; import l2p.gameserver.model.L2Clan; import l2p.gameserver.model.L2Player; import l2p.gameserver.tables.ClanTable; public class ClanBBSManager extends BaseBBSManager { private static ClanBBSManager _Instance = new ClanBBSManager(); public static ClanBBSManager getInstance() { return _Instance; } @Override public void parsecmd(String command, L2Player activeChar) { if(activeChar.getClan() == null) { clanlist(activeChar, 1); return; } if(command.equals("_bbsclan")) { if(activeChar.getClan().getLevel() >= 2) clanhome(activeChar); else clanlist(activeChar, 1); } else if(command.startsWith("_bbsclan_clanlist")) { if(command.equals("_bbsclan_clanlist")) clanlist(activeChar, 1); else if(command.startsWith("_bbsclan_clanlist;")) { StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); int index = Integer.parseInt(st.nextToken()); clanlist(activeChar, index); } } else if(command.startsWith("_bbsclan_clanhome")) { if(command.equals("_bbsclan_clanhome")) clanhome(activeChar); else if(command.startsWith("_bbsclan_clanhome;")) { StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); int index = Integer.parseInt(st.nextToken()); clanhome(activeChar, index); } } else if(command.startsWith("_bbsclan_clannotice_edit;")) clanNotice(activeChar, activeChar.getClan().getClanId()); else if(command.startsWith("_bbsclan_clannotice_enable")) { activeChar.getClan().setNoticeEnabled(true); clanNotice(activeChar, activeChar.getClan().getClanId()); } else if(command.startsWith("_bbsclan_clannotice_disable")) { activeChar.getClan().setNoticeEnabled(false); clanNotice(activeChar, activeChar.getClan().getClanId()); } else separateAndSend("<html><body><br><br><center>Commande : " + command + " pas encore implante</center><br><br></body></html>", activeChar); } private void clanNotice(L2Player activeChar, int clanId) { L2Clan cl; try { cl = ClanTable.getInstance().getClan(clanId); } catch(Exception e) { System.out.println("BBS Error: clanId is null?!"); return; } try { if(cl != null) if(cl.getLevel() < 2) { activeChar.sendPacket(Msg.THERE_ARE_NO_COMMUNITIES_IN_MY_CLAN_CLAN_COMMUNITIES_ARE_ALLOWED_FOR_CLANS_WITH_SKILL_LEVELS_OF_2_AND_HIGHER); parsecmd("_bbsclan_clanlist", activeChar); } else if(activeChar.isClanLeader()) { TextBuilder html = new TextBuilder("<html>"); html.append("<body><br><br>"); html.append("<table border=0 width=610><tr><td width=10></td><td width=600 align=left>"); html.append("<a action=\"bypass _bbshome\">HOME</a> > <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> > <a action=\"bypass _bbsclan_clanhome;" + clanId + "\"> &$802; </a>"); html.append("</td></tr>"); html.append("</table>"); html.append("<br><br><center>"); html.append("<table width=610 border=0 cellspacing=0 cellpadding=0>"); html.append("<tr><td fixwidth=610><font color=\"AAAAAA\">The Clan Notice function allows the clan leader to send messages through a pop-up window to clan members at login.</font> </td></tr>"); html.append("<tr><td height=20></td></tr>"); if(activeChar.getClan().isNoticeEnabled()) html.append("<tr><td fixwidth=610> Clan Notice Function: on / <a action=\"bypass _bbsclan_clannotice_disable\">off</a>"); else html.append("<tr><td fixwidth=610> Clan Notice Function: <a action=\"bypass _bbsclan_clannotice_enable\">on</a> / off"); html.append("</td></tr>"); html.append("</table>"); html.append("<img src=\"L2UI.Squaregray\" width=\"610\" height=\"1\">"); html.append("<br> <br>"); html.append("<table width=610 border=0 cellspacing=2 cellpadding=0>"); html.append("<tr><td>Edit Notice: </td></tr>"); html.append("<tr><td height=5></td></tr>"); html.append("<tr><td>"); html.append("<MultiEdit var =\"Content\" width=610 height=100>"); html.append("</td></tr>"); html.append("</table>"); html.append("<br>"); html.append("<table width=610 border=0 cellspacing=0 cellpadding=0>"); html.append("<tr><td height=5></td></tr>"); html.append("<tr>"); html.append("<td align=center FIXWIDTH=65><button value=\"&$140;\" action=\"Write Notice Set _ Content Content Content\" back=\"L2UI_CT1.Button_DF_Small_Down\" width=65 height=20 fore=\"L2UI_CT1.Button_DF_Small\" ></td>"); html.append("<td align=center FIXWIDTH=45></td>"); html.append("<td align=center FIXWIDTH=500></td>"); html.append("</tr>"); html.append("</table>"); html.append("</center>"); html.append("</body>"); html.append("</html>"); send1001(html.toString(), activeChar); send1002(activeChar, activeChar.getClan().getNoticeForBBS(), " ", "0"); } else { TextBuilder html = new TextBuilder("<html>"); html.append("<body><br><br>"); html.append("<table border=0 width=610><tr><td width=10></td><td width=600 align=left>"); html.append("<a action=\"bypass _bbshome\">HOME</a> > <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> > <a action=\"bypass _bbsclan_clanhome;" + clanId + "\"> &$802; </a>"); html.append("</td></tr>"); html.append("</table>"); html.append("<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\">"); html.append("<center>"); html.append("<table border=0 cellspacing=0 cellpadding=0><tr>"); html.append("<td>You are not your clan's leader, and therefore cannot change the clan notice</td>"); html.append("</tr></table>"); if(activeChar.getClan().isNoticeEnabled()) { html.append("<table border=0 cellspacing=0 cellpadding=0>"); html.append("<tr>"); html.append("<td>The current clan notice:</td>"); html.append("</tr>"); html.append("<tr><td fixwidth=5></td>"); String Mes = activeChar.getClan().getNotice(); html.append("<td FIXWIDTH=600 align=left>" + Mes + "</td>"); html.append("<td fixqqwidth=5></td>"); html.append("</tr>"); html.append("</table>"); } html.append("</center>"); html.append("</body>"); html.append("</html>"); send1001(html.toString(), activeChar); send1002(activeChar); } } catch(Exception e) { System.out.println("ClanNotice: non-leader player " + activeChar.getName() + " tried to change notice."); } } private void clanlist(L2Player activeChar, int index) { if(index < 1) index = 1; //header TextBuilder html = new TextBuilder("<html><body><br><br><center>"); html.append("<br1><br1><table border=0 cellspacing=0 cellpadding=0>"); html.append("<tr><td FIXWIDTH=15> </td>"); html.append("<td width=610 height=30 align=left>"); html.append("<a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a>"); html.append("</td></tr></table>"); html.append("<table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343>"); html.append("<tr><td height=10></td></tr>"); html.append("<tr>"); html.append("<td fixWIDTH=5></td>"); html.append("<td fixWIDTH=600>"); html.append("<a action=\"bypass _bbsclan_clanhome;" + (activeChar.getClan() != null ? activeChar.getClan().getClanId() : 0) + "\">[GO TO MY CLAN]</a> "); html.append("</td>"); html.append("<td fixWIDTH=5></td>"); html.append("</tr>"); html.append("<tr><td height=10></td></tr>"); html.append("</table>"); //body html.append("<br>"); html.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=610>"); html.append("<tr>"); html.append("<td FIXWIDTH=5></td>"); html.append("<td FIXWIDTH=200 align=center>CLAN NAME</td>"); html.append("<td FIXWIDTH=200 align=center>CLAN LEADER</td>"); html.append("<td FIXWIDTH=100 align=center>CLAN LEVEL</td>"); html.append("<td FIXWIDTH=100 align=center>CLAN MEMBERS</td>"); html.append("<td FIXWIDTH=5></td>"); html.append("</tr>"); html.append("</table>"); html.append("<img src=\"L2UI.Squareblank\" width=\"1\" height=\"5\">"); int i = 0; for(L2Clan cl : ClanTable.getInstance().getClans()) { if(i > (index + 1) * 7) break; if(i >= (index - 1) * 7) { html.append("<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\">"); html.append("<table border=0 cellspacing=0 cellpadding=0 width=610>"); html.append("<tr> "); html.append("<td FIXWIDTH=5></td>"); html.append("<td FIXWIDTH=200 align=center><a action=\"bypass _bbsclan_clanhome;" + cl.getClanId() + "\">" + cl.getName() + "</a></td>"); html.append("<td FIXWIDTH=200 align=center>" + cl.getLeaderName() + "</td>"); html.append("<td FIXWIDTH=100 align=center>" + cl.getLevel() + "</td>"); html.append("<td FIXWIDTH=100 align=center>" + cl.getMembersCount() + "</td>"); html.append("<td FIXWIDTH=5></td>"); html.append("</tr>"); html.append("<tr><td height=5></td></tr>"); html.append("</table>"); html.append("<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\">"); html.append("<img src=\"L2UI.SquareGray\" width=\"610\" height=\"1\">"); } i++; } html.append("<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"2\">"); html.append("<table cellpadding=0 cellspacing=2 border=0><tr>"); if(index == 1) html.append("<td><button action=\"\" back=\"l2ui_ch3.prev1_down\" fore=\"l2ui_ch3.prev1\" width=16 height=16 ></td>"); else html.append("<td><button action=\"_bbsclan_clanlist;" + (index - 1) + "\" back=\"l2ui_ch3.prev1_down\" fore=\"l2ui_ch3.prev1\" width=16 height=16 ></td>"); int nbp; nbp = ClanTable.getInstance().getClans().length / 8; if(nbp * 8 != ClanTable.getInstance().getClans().length) nbp++; for(i = 1; i <= nbp; i++) if(i == index) html.append("<td> " + i + " </td>"); else html.append("<td><a action=\"bypass _bbsclan_clanlist;" + i + "\"> " + i + " </a></td>"); if(index == nbp) html.append("<td><button action=\"\" back=\"l2ui_ch3.next1_down\" fore=\"l2ui_ch3.next1\" width=16 height=16 ></td>"); else html.append("<td><button action=\"bypass _bbsclan_clanlist;" + (index + 1) + "\" back=\"l2ui_ch3.next1_down\" fore=\"l2ui_ch3.next1\" width=16 height=16 ></td>"); html.append("</tr></table>"); html.append("<table border=0 cellspacing=0 cellpadding=0>"); html.append("<tr><td width=610><img src=\"sek.cbui141\" width=\"610\" height=\"1\"></td></tr>"); html.append("</table>"); html.append("<table border=0><tr><td><combobox width=65 var=keyword list=\"Name;Ruler\"></td><td><edit var = \"Search\" width=130 height=11 length=\"16\"></td>"); //TODO: search (Write in BBS) html.append("<td><button value=\"&$420;\" action=\"Write 5 -1 0 Search keyword keyword\" back=\"L2UI_CT1.Button_DF_Small_Down\" width=65 height=20 fore=\"L2UI_CT1.Button_DF_Small\"> </td> </tr></table>"); html.append("<br>"); html.append("<br>"); html.append("</center>"); html.append("</body>"); html.append("</html>"); separateAndSend(html.toString(), activeChar); } private void clanhome(L2Player activeChar) { clanhome(activeChar, activeChar.getClan().getClanId()); } private void clanhome(L2Player activeChar, int clanId) { L2Clan cl = ClanTable.getInstance().getClan(clanId); if(cl != null) if(cl.getLevel() < 2) { activeChar.sendPacket(Msg.THERE_ARE_NO_COMMUNITIES_IN_MY_CLAN_CLAN_COMMUNITIES_ARE_ALLOWED_FOR_CLANS_WITH_SKILL_LEVELS_OF_2_AND_HIGHER); parsecmd("_bbsclan_clanlist", activeChar); } else { TextBuilder html = new TextBuilder("<html><body><center><br><br>"); html.append("<br1><br1><table border=0 cellspacing=0 cellpadding=0>"); html.append("<tr><td FIXWIDTH=15> </td>"); html.append("<td width=610 height=30 align=left>"); html.append("<a action=\"bypass _bbshome\">HOME</a> > <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> > <a action=\"bypass _bbsclan_clanhome;" + clanId + "\"> &$802; </a>"); html.append("</td></tr></table>"); html.append("<table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343>"); html.append("<tr><td height=10></td></tr>"); html.append("<tr>"); html.append("<td fixWIDTH=5></td>"); html.append("<td fixwidth=600>"); html.append("<a action=\"bypass _bbsclan_clanhome;" + clanId + ";announce\">[CLAN ANNOUNCEMENT]</a> "); html.append("<a action=\"bypass _bbsclan_clanhome;" + clanId + ";cbb\">[CLAN BULLETIN BOARD]</a> "); html.append("<a action=\"bypass _bbsclan_clanhome;" + clanId + ";cmail\">[CLAN MAIL]</a> "); html.append("<a action=\"bypass _bbsclan_clannotice_edit;" + clanId + ";cnotice\">[CLAN NOTICE]</a> "); html.append("</td>"); html.append("<td fixWIDTH=5></td>"); html.append("</tr>"); html.append("<tr><td height=10></td></tr>"); html.append("</table>"); html.append("<table border=0 cellspacing=0 cellpadding=0 width=610>"); html.append("<tr><td height=10></td></tr>"); html.append("<tr><td fixWIDTH=5></td>"); html.append("<td fixwidth=290 valign=top>"); html.append("</td>"); html.append("<td fixWIDTH=5></td>"); html.append("<td fixWIDTH=5 align=center valign=top><img src=\"l2ui.squaregray\" width=2 height=128></td>"); html.append("<td fixWIDTH=5></td>"); html.append("<td fixwidth=295>"); html.append("<table border=0 cellspacing=0 cellpadding=0 width=295>"); html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>CLAN NAME</td>"); html.append("<td fixWIDTH=195 align=left>" + cl.getName() + "</td>"); html.append("</tr>"); html.append("<tr><td height=7></td></tr>"); html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>CLAN LEVEL</td>"); html.append("<td fixWIDTH=195 align=left height=16>" + cl.getLevel() + "</td>"); html.append("</tr>"); html.append("<tr><td height=7></td></tr>"); html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>CLAN MEMBERS</td>"); html.append("<td fixWIDTH=195 align=left height=16>" + cl.getMembersCount() + "</td>"); html.append("</tr>"); html.append("<tr><td height=7></td></tr>"); html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>CLAN LEADER</td>"); html.append("<td fixWIDTH=195 align=left height=16>" + cl.getLeaderName() + "</td>"); html.append("</tr>"); html.append("<tr><td height=7></td></tr>"); //ADMINISTRATOR ?? /*html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>ADMINISTRATOR</td>"); html.append("<td fixWIDTH=195 align=left height=16>"+cl.getLeaderName()+"</td>"); html.append("</tr>");*/ html.append("<tr><td height=7></td></tr>"); html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>ALLIANCE</td>"); html.append("<td fixWIDTH=195 align=left height=16>" + (cl.getAlliance() != null ? cl.getAlliance().getAllyName() : "") + "</td>"); html.append("</tr>"); html.append("</table>"); html.append("</td>"); html.append("<td fixWIDTH=5></td>"); html.append("</tr>"); html.append("<tr><td height=10></td></tr>"); html.append("</table>"); //TODO: the BB for clan :) //html.append("<table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=333333>"); html.append("<img src=\"L2UI.squareblank\" width=\"1\" height=\"5\">"); html.append("<img src=\"L2UI.squaregray\" width=\"610\" height=\"1\">"); html.append("<br>"); html.append("</center>"); html.append("<br> <br>"); html.append("</body>"); html.append("</html>"); separateAndSend(html.toString(), activeChar); } } @Override public void parsewrite(String ar1, String ar2, String ar3, String ar4, String ar5, L2Player activeChar) { if(ar1.equals("Set")) { activeChar.getClan().setNotice(ar4); parsecmd("_bbsclan_clanhome;" + activeChar.getClan().getClanId(), activeChar); } } } |
12.03.2012, 23:13 | #5 |
Пользователь
|
Re: Alt+B Clan
Спасибо хоть за что то )
сейчас что нибудь на шаманим! |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ивентик Clan Wars. | Shiler | Lineage II | 4 | 31.10.2011 11:33 |
Level up of clan | mego4el | Lineage II | 4 | 13.11.2010 11:48 |
Ошибка Clan data | GHBB | Lineage II | 2 | 15.02.2010 20:24 |
Kamael и Clan Hall | Xrust | Lineage II | 0 | 24.05.2009 17:12 |