Цитата:
Сообщение от 4ipolino
код кнопок в студию
|
Эмм..
<a action="bypass _bbsbuff;276,1">Баф 1</a>
<a action="bypass _bbsbuff;1086,1">Баф 2</a>
<a action="bypass _bbsbuff_clear_all">Снять все бафы</a>
<a action="bypass _bbsbuff_clear_player">Снять бафы только с себя</a>
<a action="bypass _bbsbuff_clear_summon">Снять бафы только с суммона</a>
<a action="bypass _bbsbuff_setMaxPoints_all">Хилл</a>Code: HTML
Это тест.
Добавлено через 3 минуты
Отрывок кода, 1е условие я добавил
Свернуть ↑
...
if (command.startsWith("_bbsbuff")) /* это условие я добавил */
{
BuffBBSManager.getInstance().parsecmd(command, activeChar);
}
else if (command.startsWith("_bbsclan"))
{
ClanBBSManager.getInstance().parsecmd(command, activeChar);
}
else if (command.startsWith("_bbsmemo"))
{
TopicBBSManager.getInstance().parsecmd(command, activeChar);
}
...Code: Java
Свернуть ↑Развернуть ↓
Этот файл новый, полностью я добавил. Он немного в "хламовом" состоянии, не доделан, пока тесчу на нем, экспериментирую разные варианты.
Свернуть ↑
package com.l2jserver.gameserver.communitybbs.Manager;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.skills.L2Skill;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
import com.l2jserver.gameserver.taskmanager.AttackStanceTaskManager;
public class BuffBBSManager extends BaseBBSManager {
public static BuffBBSManager getInstance()
{
return SingletonHolder._instance;
}
public void parsecmd(String command, L2PcInstance activeChar) {
if (AttackStanceTaskManager.getInstance().getAttackStanceTask(activeChar)) { // не разрешать пользоваться баффом в бою!
activeChar.sendMessage("Нельзя накладывать эффекты в режиме боя!");
}
else {
/*
separateAndSend(
"<html>" +
"<body>" +
"<br><br>" +
" <center>Command : Баффер</center>" +
"<br><br>" +
"</body>" +
"</html>"
, activeChar);
*/
if (command.startsWith("_bbsbuff;")) {
String[] buffData = command.replace("_bbsbuff;", "").split(",");
int skillId = Integer.parseInt(buffData[0]);
int skillLvl = Integer.parseInt(buffData[1]);
L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLvl);
skill.getEffects(activeChar, activeChar);
//activeChar.broadcastPacket(new MagicSkillUse(activeChar, skill.getId(), 1, 2*60*60*1000, 0)); // с анимацией
new MagicSkillUse(activeChar, skill.getId(), 1, 2*60*60*1000, 0);
//activeChar.sendPacket(SystemMessageId.YOU_FEEL_S1_EFFECT); // удалить
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
sm.addSkillName(skill);
activeChar.sendPacket(sm);
}
else if (command.startsWith("_bbsbuff_clear_all")) { // снять все баффы с себя и пета
activeChar.stopAllEffects();
activeChar.getPet().stopAllEffects();
}
else if (command.startsWith("_bbsbuff_clear_player")) { // снять все баффы только с себя
activeChar.stopAllEffects();
}
else if (command.startsWith("_bbsbuff_clear_summon")) { // снять все баффы только с пета
activeChar.getPet().stopAllEffects();
}
else if (command.startsWith("_bbsbuff_setMaxPoints_all")) { // сделать полными CP/HP/MP себе и саммону
activeChar.setCurrentCp(activeChar.getMaxCp());
activeChar.setCurrentHp(activeChar.getMaxHp());
activeChar.setCurrentMp(activeChar.getMaxMp());
if (activeChar.getPet().isSummon() || activeChar.getPet().isPet())
{
activeChar.getPet().setCurrentCp(activeChar.getPet().getMaxCp());
activeChar.getPet().setCurrentHp(activeChar.getPet().getMaxHp());
activeChar.getPet().setCurrentMp(activeChar.getPet().getMaxMp());
}
}
else if (command.startsWith("_bbsbuff_setMaxPoints_all")) { // сделать полными CP/HP/MP толлько себе
activeChar.setCurrentCp(activeChar.getMaxCp());
activeChar.setCurrentHp(activeChar.getMaxHp());
activeChar.setCurrentMp(activeChar.getMaxMp());
}
else if (command.startsWith("_bbsbuff_setMaxPoints_summon")) { // сделать полными CP/HP/MP толлько саммону
if (activeChar.getPet().isSummon())
{
activeChar.getPet().setCurrentCp(activeChar.getPet().getMaxCp());
activeChar.getPet().setCurrentHp(activeChar.getPet().getMaxHp());
activeChar.getPet().setCurrentMp(activeChar.getPet().getMaxMp());
}
}
else if (command.startsWith("_bbsbuff_save")) { // сохранить схему бафов
//
}
}
}
private static class SingletonHolder
{
protected static final BuffBBSManager _instance = new BuffBBSManager();
}
@Override
public void parsewrite(String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar)
{
if (ar1.equals("Set"))
{
activeChar.getClan().setNotice(ar4);
parsecmd("_bbsclan_clanhome;" + activeChar.getClan().getClanId(), activeChar);
}
}
}
Code: Java
Свернуть ↑Развернуть ↓
Добавлено через 8 минут
Аааа, я начал понимать в чем трабла, у меня страница не обновляеться... Если обновить страницу, то кнопка сразу доступна, вот почему именно на моих кнопках это происходит. Но почему так? Так должно быть?