Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Совместимость Rguard И Lindvior
#11
Ashe Написал:darkevil, я так понимаю из-за некоторых изменений в пакетке?

Если бы только в пакете дело было, функция AddNetworkQueue претерпела сильные изменения.

Добавлено через 2 минуты
Krasavella Написал:LameGuard тоже получается не работает с Lindvior'ом?

Нет. Во всяком случае нам ЛГ так и не сделали, хотя просим Гитао уже больше полу года.
[Изображение: 61b684.png]
Ответ
#12
darkevil Написал:нам ЛГ так и не сделали, хотя просим Гитао уже больше полу года.

А как от hLaPEx и школьников защищаетесь? =)
[Изображение: Z.png][Изображение: S.gif]
Ответ
#13
Krasavella Написал:P.S. Как там писать в чат?
Нужно 20 сообщений, для использования чата
Ответ
#14
Krasavella Написал:А как от hLaPEx и школьников защищаетесь? =)

Пишем грамотно ;-)
[Изображение: 61b684.png]
Ответ
#15
darkevil Написал:Пишем грамотно ;-)

Писать одно, а вот использовать баффера с подменой на Super Haste другое =)

Значит выход один - smeli OFF!!!))

meX Написал:Нужно 20 сообщений, для использования чата

Странно, после вопроса здесь, я сразу смогла там написать в чат, хотя сообщений всего 5 =)
[Изображение: Z.png][Изображение: S.gif]
Ответ
#16
Krasavella Написал:Странно, после вопроса здесь, я сразу смогла там написать в чат, хотя сообщений всего 5 =)
Действительно)
Ответ
#17
Krasavella Написал:Писать одно, а вот использовать баффера с подменой на Super Haste другое =)

Если такое возможно значит так написан код что игрок может делать что хочет.
[Изображение: 61b684.png]
Ответ
#18
К примеру вот этот самый баффер:

[SRC="java"]
package services;

import l2ee.play.Config;
import l2ee.play.ThreadPoolManager;
import l2ee.play.scripts.Functions;
import l2ee.play.scripts.ScriptFile;
import l2ee.play.cache.Msg;
import l2ee.play.model.Creature;
import l2ee.play.model.Player;
import l2ee.play.model.Skill;
import l2ee.play.model.Summon;
import l2ee.play.model.instances.NpcInstance;
import l2ee.play.network.serverpackets.MagicSkillLaunched;
import l2ee.play.network.serverpackets.MagicSkillUse;
import l2ee.play.tables.SkillTable;

public class Buffer1 extends Functions implements ScriptFile
{
/** Количество бафов в группах */
private static int grpCount1, grpCount2, grpCount3, grpCount4, grpCount5;

// Количество бафов в 1 и второй группах должно быть одинаковое
private static int buffs[][] = { // id, lvl, group
// Группа для воинов 1
{ 23283, 1, 1 }, // Chant of Fury
{ 23241, 1, 1 }, // Chant of Evasion
{ 23280, 1, 1 }, // Chant of Revenge
{ 23277, 1, 1 }, // Chant of Eagle
{ 23284, 1, 1 }, // Chant of Vampire
{ 23282, 1, 1 }, // Chant of Spirit
{ 23278, 1, 1 }, // War Chant
{ 23281, 1, 1 }, // Chant of Fury
{ 7060, 1, 1 }, // Chant of Evasion
{ 23279, 1, 1 }, // Chant of Rage
{ 80029, 1, 1 }, // Chant of Revenge
{ 80030, 1, 1 }, // Chant of Predator
{ 4553, 4, 1 }, // Chant of Eagle
{ 4554, 4, 1 }, // Chant of Vampire
// Группа для магов 2
{ 23241, 1, 2 }, // Chant of Evasion
{ 23242, 1, 2 }, // Chant of Rage
{ 23280, 1, 2 }, // Chant of Revenge
{ 23277, 1, 2 }, // Chant of Eagle
{ 23282, 1, 2 }, // Chant of Spirit
{ 23278, 1, 2 }, // War Chant
{ 23245, 1, 2 }, // Earth Chant
{ 23281, 1, 2 }, // Chant of Fury
{ 7060, 1, 2 }, // Chant of Evasion
{ 23279, 1, 2 }, // Chant of Rage
{ 80029, 1, 2 }, // Chant of Revenge
{ 80030, 1, 2 }, // Chant of Predator
{ 4553, 4, 2 }, // Chant of Eagle
{ 4554, 4, 2 }, // Chant of Vampire
// Группа для камаелей 3
{ 23283, 1, 3 }, // Chant of Fury
{ 23241, 1, 3 }, // Chant of Evasion
{ 23280, 1, 3 }, // Chant of Revenge
{ 23277, 1, 3 }, // Chant of Eagle
{ 23244, 1, 3 }, // Chant of Vampire
{ 23282, 1, 3 }, // Chant of Spirit
{ 23278, 1, 3 }, // War Chant
{ 23281, 1, 3 }, // Chant of Fury
{ 7060, 1, 3 }, // Chant of Evasion
{ 23279, 1, 3 }, // Chant of Rage
{ 80029, 1, 3 }, // Chant of Revenge
{ 80030, 1, 3 }, // Chant of Predator
{ 4553, 4, 3 }, // Chant of Eagle
{ 4554, 4, 3 }, // Chant of Vampire
// Группа для лучников 4
{ 23243, 1, 4 }, // Chant of Fury
{ 23241, 1, 4 }, // Chant of Evasion
{ 23280, 1, 4 }, // Chant of Revenge
{ 23277, 1, 4 }, // Chant of Eagle
{ 23244, 1, 4 }, // Chant of Vampire
{ 23282, 1, 4 }, // Chant of Spirit
{ 23278, 1, 4 }, // War Chant
{ 23281, 1, 4 }, // Chant of Fury
{ 7060, 1, 4 }, // Chant of Evasion
{ 23279, 1, 4 }, // Chant of Rage
{ 80029, 1, 4 }, // Chant of Revenge
{ 80030, 1, 4 }, // Chant of Predator
{ 4553, 4, 4 }, // Chant of Eagle
{ 4554, 4, 4 }, // Chant of Vampire
// Группа для камаелей воинов 5
{ 23283, 1, 5 }, // Chant of Fury
{ 23241, 1, 5 }, // Chant of Evasion
{ 23280, 1, 5 }, // Chant of Revenge
{ 23277, 1, 5 }, // Chant of Eagle
{ 23244, 1, 5 }, // Chant of Vampire
{ 23282, 1, 5 }, // Chant of Spirit
{ 23278, 1, 5 }, // War Chant
{ 23281, 1, 5 }, // Chant of Fury
{ 7060, 1, 5 }, // Chant of Evasion
{ 23279, 1, 5 }, // Chant of Rage
{ 80029, 1, 5 }, // Chant of Revenge
{ 80030, 1, 5 }, // Chant of Predator
{ 4553, 4, 5 }, // Chant of Eagle
{ 4554, 4, 5 }, // Chant of Vampire
// Группа для воинов 1
{ 23246, 1, 1 }, // Chant of Rage
{ 80031, 1, 1 }, // Chant of Revenge
{ 80024, 1, 1 }, // Chant of Predator
{ 80025, 1, 1 }, // Chant of Eagle
{ 80026, 1, 1 }, // Chant of Vampire
{ 80033, 1, 1 }, // Chant of Spirit
{ 80027, 1, 1 }, // Chant of Victory
{ 80028, 1, 1 }, // War Chant
// Группа для магов 2
{ 23246, 1, 2 }, // Chant of Rage
{ 80031, 1, 2 }, // Chant of Revenge
{ 80024, 1, 2 }, // Chant of Predator
{ 80025, 1, 2 }, // Chant of Eagle
{ 80026, 1, 2 }, // Chant of Vampire
{ 80033, 1, 2 }, // Chant of Spirit
{ 80027, 1, 2 }, // Chant of Victory
{ 80028, 1, 2 }, // War Chant
// Группа для камаелей 3
{ 23246, 1, 3 }, // Chant of Rage
{ 80031, 1, 3 }, // Chant of Revenge
{ 80024, 1, 3 }, // Chant of Predator
{ 80025, 1, 3 }, // Chant of Eagle
{ 80026, 1, 3 }, // Chant of Vampire
{ 80033, 1, 3 }, // Chant of Spirit
{ 80027, 1, 3 }, // Chant of Victory
{ 80028, 1, 3 }, // War Chant
// Группа для лучников 4
{ 23246, 1, 4 }, // Chant of Rage
{ 80031, 1, 4 }, // Chant of Revenge
{ 80024, 1, 4 }, // Chant of Predator
{ 80025, 1, 4 }, // Chant of Eagle
{ 80026, 1, 4 }, // Chant of Vampire
{ 80033, 1, 4 }, // Chant of Spirit
{ 80027, 1, 4 }, // Chant of Victory
{ 80028, 1, 4 }, // War Chant
// Группа для камаелей воинов 5
{ 23246, 1, 5 }, // Chant of Rage
{ 80031, 1, 5 }, // Chant of Revenge
{ 80024, 1, 5 }, // Chant of Predator
{ 80025, 1, 5 }, // Chant of Eagle
{ 80026, 1, 5 }, // Chant of Vampire
{ 80033, 1, 5 }, // Chant of Spirit
{ 80027, 1, 5 }, // Chant of Victory
{ 80028, 1, 5 }, // War Chant
// Группа для воинов 1
{ 7064, 1, 1 }, // Mental Shield
{ 7056, 1, 1 }, // Wind Walk
{ 23247, 1, 1 }, // Bless the Body
{ 7057, 1, 1 }, // Bless the Soul
{ 7058, 1, 1 }, // Shield
{ 80020, 1, 1 }, // Clarity
{ 80021, 1, 1 }, // Resist Shock
{ 80022, 1, 1 }, // Greater Might
{ 80023, 1, 1 }, // Might
{ 23238, 1, 1 }, // Chant of Spirit
{ 7053, 1, 1 }, // Shield
{ 7052, 1, 1 }, // Magic Barrier
{ 7045, 1, 1 }, // Wind Walk
{ 7046, 1, 1 }, // Bless the Body
// Группа для магов 2
{ 7059, 1, 2 }, // Berserker Spirit
{ 23240, 1, 2 }, // Concentration
{ 7056, 1, 2 }, // Wind Walk
{ 23247, 1, 2 }, // Bless the Body
{ 7057, 1, 2 }, // Bless the Soul
{ 7058, 1, 2 }, // Shield
{ 80020, 1, 2 }, // Clarity
{ 80021, 1, 2 }, // Resist Shock
{ 80022, 1, 2 }, // Greater Might
{ 80023, 1, 2 }, // Might
{ 23238, 1, 2 }, // Chant of Spirit
{ 7052, 1, 2 }, // Magic Barrier
{ 7045, 1, 2 }, // Wind Walk
{ 7046, 1, 2 }, // Bless the Body
// Группа для камаелей 3
{ 23240, 1, 3 }, // Mental Shield
{ 7056, 1, 3 }, // Wind Walk
{ 23247, 1, 3 }, // Bless the Body
{ 7057, 1, 3 }, // Bless the Soul
{ 7058, 1, 3 }, // Shield
{ 80020, 1, 3 }, // Clarity
{ 80021, 1, 3 }, // Resist Shock
{ 80022, 1, 3 }, // Greater Might
{ 80023, 1, 3 }, // Might
{ 23238, 1, 3 }, // Chant of Spirit
{ 7053, 1, 3 }, // Shield
{ 7052, 1, 3 }, // Magic Barrier
{ 7045, 1, 3 }, // Wind Walk
{ 7046, 1, 3 }, // Bless the Body
// Группа для лучников 4
{ 7064, 1, 4 }, // Mental Shield
{ 7056, 1, 4 }, // Wind Walk
{ 23247, 1, 4 }, // Bless the Body
{ 7057, 1, 4 }, // Bless the Soul
{ 7058, 1, 4 }, // Shield
{ 80020, 1, 4 }, // Clarity
{ 80021, 1, 4 }, // Resist Shock
{ 80022, 1, 4 }, // Greater Might
{ 80023, 1, 4 }, // Might
{ 23238, 1, 4 }, // Chant of Spirit
{ 7053, 1, 4 }, // Shield
{ 7052, 1, 4 }, // Magic Barrier
{ 7045, 1, 4 }, // Wind Walk
{ 7046, 1, 4 }, // Bless the Body
// Группа для камаелей воинов 5
{ 7064, 1, 5 }, // Mental Shield
{ 7056, 1, 5 }, // Wind Walk
{ 23247, 1, 5 }, // Bless the Body
{ 7057, 1, 5 }, // Bless the Soul
{ 7058, 1, 5 }, // Shield
{ 80020, 1, 5 }, // Clarity
{ 80021, 1, 5 }, // Resist Shock
{ 80022, 1, 5 }, // Greater Might
{ 80023, 1, 5 }, // Might
{ 23238, 1, 5 }, // Chant of Spirit
{ 7053, 1, 5 }, // Shield
{ 7052, 1, 5 }, // Magic Barrier
{ 7045, 1, 5 }, // Wind Walk
{ 7046, 1, 5 }, // Bless the Body
// Группа для воинов 1
{ 80000, 1, 1 }, // Dance of Fury
{ 80001, 1, 1 }, // Dance of Fire
{ 80002, 1, 1 }, // Dance of the Warrior
{ 80003, 1, 1 }, // Dance of the Vampire
{ 80004, 1, 1 }, // Dance of Inspiration
{ 80005, 1, 1 }, // Dance of Concentration
{ 80006, 1, 1 }, // Dance of the Mystic
{ 80007, 1, 1 }, // Siren's Dance
{ 80008, 1, 1 }, // Song of Meditation
{ 80009, 1, 1 }, // Song of Renewal
{ 80010, 1, 1 }, // Song of Warding
{ 80011, 1, 1 }, // Song of Earth
{ 80012, 1, 1 }, // Song of Hunter
{ 80013, 1, 1 }, // Song of Vitality
{ 80014, 1, 1 }, // Song of Champion
{ 80015, 1, 1 }, // Song of Wind
{ 80016, 1, 1 }, // Song of Water
{ 80019, 1, 1 }, // Song of Elemental
// Группа для магов 2
{ 80000, 1, 2 }, // Dance of Fury
{ 80001, 1, 2 }, // Dance of Fire
{ 80002, 1, 2 }, // Dance of the Warrior
{ 80003, 1, 2 }, // Dance of the Vampire
{ 80004, 1, 2 }, // Dance of Inspiration
{ 80005, 1, 2 }, // Dance of Concentration
{ 80006, 1, 2 }, // Dance of the Mystic
{ 80007, 1, 2 }, // Siren's Dance
{ 80008, 1, 2 }, // Song of Meditation
{ 80009, 1, 2 }, // Song of Renewal
{ 80010, 1, 2 }, // Song of Warding
{ 80011, 1, 2 }, // Song of Earth
{ 80012, 1, 2 }, // Song of Hunter
{ 80013, 1, 2 }, // Song of Vitality
{ 80014, 1, 2 }, // Song of Champion
{ 80015, 1, 2 }, // Song of Wind
{ 80016, 1, 2 }, // Song of Water
{ 80019, 1, 2 }, // Song of Elemental
// Группа для камаелей магов 3
{ 80000, 1, 3 }, // Dance of Fury
{ 80001, 1, 3 }, // Dance of Fire
{ 80002, 1, 3 }, // Dance of the Warrior
{ 80003, 1, 3 }, // Dance of the Vampire
{ 80004, 1, 3 }, // Dance of Inspiration
{ 80005, 1, 3 }, // Dance of Concentration
{ 80006, 1, 3 }, // Dance of the Mystic
{ 80007, 1, 3 }, // Siren's Dance
{ 80008, 1, 3 }, // Song of Meditation
{ 80009, 1, 3 }, // Song of Renewal
{ 80010, 1, 3 }, // Song of Warding
{ 80011, 1, 3 }, // Song of Earth
{ 80012, 1, 3 }, // Song of Hunter
{ 80013, 1, 3 }, // Song of Vitality
{ 80014, 1, 3 }, // Song of Champion
{ 80015, 1, 3 }, // Song of Wind
{ 80016, 1, 3 }, // Song of Water
{ 80019, 1, 3 }, // Song of Elemental
// Группа для лучников 4
{ 80000, 1, 4 }, // Dance of Fury
{ 80001, 1, 4 }, // Dance of Fire
{ 80002, 1, 4 }, // Dance of the Warrior
{ 80003, 1, 4 }, // Dance of the Vampire
{ 80004, 1, 4 }, // Dance of Inspiration
{ 80005, 1, 4 }, // Dance of Concentration
{ 80006, 1, 4 }, // Dance of the Mystic
{ 80007, 1, 4 }, // Siren's Dance
{ 80008, 1, 4 }, // Song of Meditation
{ 80009, 1, 4 }, // Song of Renewal
{ 80010, 1, 4 }, // Song of Warding
{ 80011, 1, 4 }, // Song of Earth
{ 80012, 1, 4 }, // Song of Hunter
{ 80013, 1, 4 }, // Song of Vitality
{ 80014, 1, 4 }, // Song of Champion
{ 80015, 1, 4 }, // Song of Wind
{ 80016, 1, 4 }, // Song of Water
{ 80019, 1, 4 }, // Song of Elemental
// Группа для камаелей воинов 5
{ 80000, 1, 5 }, // Dance of Fury
{ 80001, 1, 5 }, // Dance of Fire
{ 80002, 1, 5 }, // Dance of the Warrior
{ 80003, 1, 5 }, // Dance of the Vampire
{ 80004, 1, 5 }, // Dance of Inspiration
{ 80005, 1, 5 }, // Dance of Concentration
{ 80006, 1, 5 }, // Dance of the Mystic
{ 80007, 1, 5 }, // Siren's Dance
{ 80008, 1, 5 }, // Song of Meditation
{ 80009, 1, 5 }, // Song of Renewal
{ 80010, 1, 5 }, // Song of Warding
{ 80011, 1, 5 }, // Song of Earth
{ 80012, 1, 5 }, // Song of Hunter
{ 80013, 1, 5 }, // Song of Vitality
{ 80014, 1, 5 }, // Song of Champion
{ 80015, 1, 5 }, // Song of Wind
{ 80016, 1, 5 }, // Song of Water
{ 80019, 1, 5 } // Song of Elemental
};

private String html;

public void onLoad()
{
if(Config.SERVICES_BUFFER_ENABLED)
System.out.println("Buffer1: Loading...");
else
System.out.println("Buffer1: No Loading...");

for(int buff[] : buffs)
switch(buff[2])
{
case 1:
grpCount1++;
break;
case 2:
grpCount2++;
break;
case 3:
grpCount3++;
break;
case 4:
grpCount4++;
break;
case 5:
grpCount5++;
break;
}
}

public void onReload()
{}

public void onShutdown()
{}

/**
* Бафает группу баффов, снимает плату за бафф, отображает диалог с кнопкой возврата к списку бафов
* @param args массив строк, где элемент 0 - id группы бафов
*/
public void doBuffGroup(String[] args)
{
Player player = (Player) getSelf();
Summon pet = player.getSummonList().getPet();
NpcInstance npc = getNpc();

if(!checkCondition(player, npc))
return;

if(player.getAdena() < Config.SERVICES_BUFFER_PRICE * (Integer.valueOf(args[1]) + 2))
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
player.reduceAdena(Config.SERVICES_BUFFER_PRICE * (Integer.valueOf(args[1]) + 2), true);

int time = 0;
int id_groups = Integer.valueOf(args[0]);
int select_id = Integer.valueOf(args[1]);
Skill skill;
for(int buff[] : buffs)
if(buff[2] == id_groups)
{
if(select_id == 0)
{
skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
//time += skill.getHitTime();
ThreadPoolManager.getInstance().schedule(new BeginBuff(getNpc(), skill, player), time);
time += 0;
}
if(select_id == 1)
{
if(pet == null)
return;

skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
//time += skill.getHitTime();
ThreadPoolManager.getInstance().schedule(new BeginPetBuff(getNpc(), skill, pet), time);
time += 0;
}
}
}

/**
* Бафает один бафф, снимает плату за бафф, отображает диалог с кнопкой возврата к списку бафов
* @param args массив строк: элемент 0 - id скида, элемент 1 - уровень скила
*/
public void doBuff(String[] args)
{
Player player = (Player) getSelf();
Summon pet = player.getSummonList().getPet();
NpcInstance npc = getNpc();

if(!checkCondition(player, npc))
return;

if(player.getAdena() < Config.SERVICES_BUFFER_PRICE)
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}

try
{
int skill_id = Integer.valueOf(args[0]);
int skill_lvl = Integer.valueOf(args[1]);
int select_id = Integer.valueOf(args[2]);
Skill skill = SkillTable.getInstance().getInfo(skill_id, skill_lvl);
if(select_id == 0)
ThreadPoolManager.getInstance().schedule(new BeginBuff(getNpc(), skill, player), 0);
if(select_id == 1)
{
if(pet == null)
return;

ThreadPoolManager.getInstance().schedule(new BeginPetBuff(getNpc(), skill, pet), 0);
}
player.reduceAdena(Config.SERVICES_BUFFER_PRICE, true);
}
catch(Exception e)
{
player.sendMessage("Такого баффа у меня нет!");
}
show("scripts/services/Buffer/buffschar1.htm", player);
}

/**
* Проверяет возможность бафа персонажа.<BR>
* В случае невозможности бафа показывает игроку html с ошибкой и возвращает false.
* @param player персонаж
* @return true, если можно бафать персонажа
*/

public boolean checkCondition(Player player, NpcInstance npc)
{
if(!Config.SERVICES_BUFFER_ENABLED || player == null || npc == null)
return false;

if(!NpcInstance.canBypassCheck(player, npc))
return false;

return true;
}

/* Выбор меню */
public void SelectMenu(String[] args)
{
int select_menu = Integer.valueOf(args[0]);
Player player = (Player) getSelf();
NpcInstance npc = getNpc();

if(select_menu == 0)
show("scripts/services/Buffer/buffschar.htm", player);

if(select_menu == 1)
{
if(Config.SERVICES_BUFFER_PET_ENABLED != true)
return;
if(player.getPet() == null)
return;
show("scripts/services/Buffer/buffspet.htm", player);
}

if(select_menu == 2)
show("scripts/services/Buffer/buffschar1.htm", player);

if(select_menu == 3)
show("scripts/services/Buffer/buffschar2.htm", player);

if(select_menu == 4)
show("scripts/services/Buffer/buffschar3.htm", player);

if(select_menu == 5)
show("scripts/services/Buffer/buffschar4.htm", player);

if(select_menu == 6)
show("scripts/services/Buffer/buffschar5.htm", player);

if(select_menu == 7)
show("scripts/services/Buffer/buffspet1.htm", player);

if(select_menu == 8)
show("scripts/services/Buffer/buffspet2.htm", player);

if(select_menu == 9)
show("scripts/services/Buffer/buffspet3.htm", player);

if(select_menu == 10)
show("scripts/services/Buffer/buffspet4.htm", player);

if(select_menu == 11)
show("scripts/services/Buffer/buffspet5.htm", player);

}

/* Показывает страницу с выбором кого бафать. */
public void SelectBuffs()
{
Player player = (Player) getSelf();
NpcInstance lastNpc = player.getLastNpc();

if(!checkCondition(player, lastNpc))
return;

show("scripts/services/Buffer/buffs.htm", player, lastNpc);
}

public class BeginBuff implements Runnable
{
Creature _buffer;
Skill _skill;
Player _target;

public BeginBuff(Creature buffer, Skill skill, Player target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}

public void run()
{
if(_target.isInOlympiadMode())
return;
_buffer.broadcastPacket(new MagicSkillUse(_buffer, _target, _skill.getDisplayId(), _skill.getLevel(), 0, 0));
ThreadPoolManager.getInstance().schedule(new EndBuff(_buffer, _skill, _target), 0);

}
}

public class EndBuff implements Runnable
{
Creature _buffer;
Skill _skill;
Player _target;

public EndBuff(Creature buffer, Skill skill, Player target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}

public void run()
{
_skill.getEffects(_buffer, _target, false, false);
_buffer.broadcastPacket(new MagicSkillLaunched(_buffer.getObjectId(), _skill.getId(), _skill.getLevel(), _target));
}
}

public class BeginPetBuff implements Runnable
{
Creature _buffer;
Skill _skill;
Summon _target;

public BeginPetBuff(Creature buffer, Skill skill, Summon target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}

public void run()
{
_buffer.broadcastPacket(new MagicSkillUse(_buffer, _target, _skill.getDisplayId(), _skill.getLevel(), _skill.getHitTime(), 0));
ThreadPoolManager.getInstance().schedule(new EndPetBuff(_buffer, _skill, _target), _skill.getHitTime());
}
}

public class EndPetBuff implements Runnable
{
Creature _buffer;
Skill _skill;
Summon _target;

public EndPetBuff(Creature buffer, Skill skill, Summon target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}

public void run()
{
_skill.getEffects(_buffer, _target, false, false);
_buffer.broadcastPacket(new MagicSkillLaunched(_buffer.getObjectId(), _skill.getId(), _skill.getLevel(), _target));
}
}
}
[/SRC]

Что тут дает возможность подменить баф на Super Haste?

[SRC="html"]
<html><head><title>l2.ee Support Buff</title></head>
<body>
<center>
<br>
<table>
<tr>
<td><img src=icon.skill0168 width=32 height=32 align=left></td>
<td><button value="Flu" action="bypass -h scripts_services.Buffer1:doBuff 4553 4 0" width=94 height=27 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
<td><img src=icon.skill1527 width=32 height=32 align=left></td>
<td><button value="Malaria" action="bypass -h scripts_services.Buffer1:doBuff 4554 4 0" width=94 height=27 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
</tr>
</table>
<br>
<br>
<button action="bypass -h scripts_services.Buffer1:SelectMenu 0" value="Категории" width=200 height=27 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
<br>
</center>
</body>
</html>

[/SRC]
[Изображение: Z.png][Изображение: S.gif]
Ответ
#19
код

Думается мне, что это плохо:

[src="html"]

<td><button value="Malaria" action="bypass -h scripts_services.Buffer1:doBuff 4554 4 0" width=94 height=27 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>

[/src]

а именно - в открытом виде передавать данные. Отловят пакет, заменят id и отправят обратно.
Fortuna - non penis, in manus non recipe.
Ответ
#20
Именно так и делают) Как можно добавить проверку на возможность бафнуться только skill_id, которые указаны в скрипте?
[Изображение: Z.png][Изображение: S.gif]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Проблема с rguard\ftguard iDarkEmpire 13 5,874 07-22-2020, 11:31 PM
Последний пост: CTAJIIH
  Kamael(GF,HF,Lindvior) клиент на сборке CT0 Vangant monami 1 1,564 03-18-2018, 09:27 PM
Последний пост: lordofdest
  Lindvior и Win 10 -> 40% ЦП Main 18 4,860 02-22-2018, 08:12 PM
Последний пост: smeli
  [share] lin][info 2.3 [Lindvior] Gaikotsu 0 1,832 09-22-2017, 08:40 PM
Последний пост: Gaikotsu
  Структура пакета SystemMsg (531 Lindvior) Alay 0 1,272 02-12-2017, 11:24 AM
Последний пост: Alay
  rguard\ftguard Отправка покета на Авто бан farax 0 1,177 12-25-2015, 03:26 PM
Последний пост: farax
  Rguard 4arli 5 2,544 09-06-2014, 09:13 AM
Последний пост: lin2me
  Шара L2WT Lindvior Dolwin 12 4,815 08-22-2014, 07:18 PM
Последний пост: SouthBridge
  Декомпилированный Engine.dll Lindvior WoWan-SM 11 4,413 07-23-2014, 10:42 AM
Последний пост: Daan Raven
  Неизвестные пакеты Lindvior WoWan-SM 4 2,038 07-22-2014, 12:29 PM
Последний пост: WoWan-SM

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)