Сообщений: 1,317
Тем: 115
Зарегистрирован: Sep 2012
Репутация:
3,925
03-17-2013, 10:59 PM
(Сообщение последний раз редактировалось: 03-17-2013, 11:08 PM Dementor.)
4ipolino Написал:код кнопок в студию
Эмм..
[SRC="html"]<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>[/SRC]
Это тест.
Добавлено через 3 минуты
Отрывок кода, 1е условие я добавил
CommunityBoard.java
[SRC="java"]
...
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);
}
...[/SRC]
Этот файл новый, полностью я добавил. Он немного в "хламовом" состоянии, не доделан, пока тесчу на нем, экспериментирую разные варианты.
BuffBBSManager.java
[SRC="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);
}
}
}
[/SRC]
Добавлено через 8 минут
Аааа, я начал понимать в чем трабла, у меня страница не обновляеться... Если обновить страницу, то кнопка сразу доступна, вот почему именно на моих кнопках это происходит. Но почему так? Так должно быть?
Сообщений: 282
Тем: 32
Зарегистрирован: Oct 2009
Репутация:
645
1. если не ошибаюсь бафать будет долго и нудно
2. нету проверок на левые бафы (привет гм хаст и шилка на 100500 часов)
Сообщений: 1,317
Тем: 115
Зарегистрирован: Sep 2012
Репутация:
3,925
4ipolino;284815 Написал:2. нету проверок на левые бафы (привет гм хаст и шилка на 100500 часов) это не законченный вариант, кстати а как это игроки дадут себе ГМхаст? Через хлапекс?))))
4ipolino;284815 Написал:с другими кнопками все нормально ? да прочитайте, что я добавил и ответьте пожалуйста)) Как кстати после нажатия кнопки вернуться в тоже положение страницы? ( т.е. на ту же страницу и чтоб ползунок там же остался)
Сообщений: 282
Тем: 32
Зарегистрирован: Oct 2009
Репутация:
645
РадужныйПони Написал:это не законченный вариант, кстати а как это игроки дадут себе ГМхаст? Через хлапекс?))))
да прочитайте, что я добавил и ответьте пожалуйста)) Как кстати после нажатия кнопки вернуться в тоже положение страницы? ( т.е. на ту же страницу и чтоб ползунок там же остался)
пакетник, хекс редактор (правим значения в оперативе), памятка в кб (старая бага, писать полностью код кнопки и сохранить :redlol: ) подобных методом много :redlol:
п.с я не гуру в яве но как по мне не нужно многоэтажных ифов легче в отдельных методах сделать:
1. проверка на состояние чара
2. баф 1 бафа
3. баф группы бафов
4. кнопки регена\кенсела
Сообщений: 1,317
Тем: 115
Зарегистрирован: Sep 2012
Репутация:
3,925
03-17-2013, 11:24 PM
(Сообщение последний раз редактировалось: 03-17-2013, 11:25 PM Dementor.)
4ipolino Написал:пакетник, хекс редактор (правим значения в оперативе), памятка в кб (старая бага, писать полностью код кнопки и сохранить :redlol: ) подобных методом много :redlol:
п.с я не гуру в яве но как по мне не нужно многоэтажных ифов легче в отдельных методах сделать:
1. проверка на состояние чара
2. баф 1 бафа
3. баф группы бафов
4. кнопки регена\кенсела
Спасибо, я в яве ваще 2 дня :redlol: На счет методов, я та ки собирался сделать, это "хламовый" вариант, просто пока тесчу туда сюда, а потом буду делать в норм вид.
Добавлено через 55 секунд
а как насчет возврата на страницу? Как мне с ним быть?
Сообщений: 282
Тем: 32
Зарегистрирован: Oct 2009
Репутация:
645
РадужныйПони Написал:Спасибо, я в яве ваще 2 дня :redlol: На счет методов, я та ки собирался сделать, это "хламовый" вариант, просто пока тесчу туда сюда, а потом буду делать в норм вид.
Добавлено через 55 секунд
а как насчет возврата на страницу? Как мне с ним быть?
запомнить местоположение "ползунка" не получится
Сообщений: 1,317
Тем: 115
Зарегистрирован: Sep 2012
Репутация:
3,925
4ipolino Написал:запомнить местоположение "ползунка" не получится
почему? Я же видел такое на какое-то из оверовских сборках. Или там просто не было перехода по странице? Получается надо думать как убрать это непонятно откуда взятую задержку?
Сообщений: 282
Тем: 32
Зарегистрирован: Oct 2009
Репутация:
645
РадужныйПони Написал:почему? Я же видел такое на какое-то из оверовских сборках. Или там просто не было перехода по странице? Получается надо думать как убрать это непонятно откуда взятую задержку?
запомнить номер страницы и вернуть можно, но опустить скрол например на пол страницы я не знаю как :redlol:
Сообщений: 1,317
Тем: 115
Зарегистрирован: Sep 2012
Репутация:
3,925
4ipolino Написал:запомнить номер страницы и вернуть можно, но опустить скрол например на пол страницы я не знаю как :redlol:
да эт я знаю, давай мыслить в другую сторону. Зачем обновлять, таким образом мы останемся там же. Но проблема, а почему, если мы остаемся там же, то он не дает нам повторно сразу использовать кнопку? Что там может быть?
Сообщений: 631
Тем: 12
Зарегистрирован: May 2009
Репутация:
3,873
Добавляем -h
Код: <a action="bypass [color=Red]-h[/color] _bbsbuff_setMaxPoints_all">Хилл</a>
И радуемся жизни))
|