Перейти к содержанию
Авторизация  
Black^Mask

[help] Маляра, Флу, Халера

Рекомендуемые сообщения

После смерти маляра, халера и флу спадает, как это исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Заходиш сюда net\sf\l2j\gameserver\model\actor\instance\L2BuffInstance

 

находиш там :

else if(cmd.startsWith("buff"))
	{
		int id = Integer.parseInt(command.substring(5).trim());
		int level=SkillTable.getInstance().getMaxLevel(id,0);
		if(id==4554)level=4;
		if(id==4553)level=4;
		if (player.isDead())
		{
			player.sendMessage("Вы не можете восстанавливаться когда мертвы");
			return;
		}
		player.stopSkillEffects(id);
		if (menu._showanim)
		{
			player.broadcastPacket(new MagicSkillUser(player,player,id,level,350,150));
		}
		SkillTable.getInstance().getInfo(id,level).getEffects(this,player);
		NpcHtmlMessage html = new NpcHtmlMessage(1);
			html.setFile(player.getBuffHtml());//добавил
		//html.setFile(_curHtm);
		sendHtmlMessage(player,html);
		player.sendPacket(new ActionFailed());
	}

и закоментируеш "player.stopSkillEffects(id);"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а без компиляции не обойтись?)

просто не занимался этим ни разу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только так, других вариантов нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непоможет, так как в ядре прописано что при смерте удалять эфекты маляры и флу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уверен ? если я сибе зделал без помощи ядра и все нормально не знаеш не говори оке?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

молодец что ты "сибе" "зделал", только вот скажи что ты там мог изменить в xml чтобы при смерте баф неспадал?

p.s. автор если в ядре нехочеш колупаться, сделай 2 скила аналогичные флу и маляре, ну такой вариант подойдет если будут эти эфекты в бафере.

C другими id.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Человек дал нормально решение, а не просто сменить тип скила с дебафа на баф.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а почему у миня работает ? мм

 

Добав в аську кароч зделаем 409-549-915

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Человек дал нормально решение, а не просто сменить тип скила с дебафа на баф.

 

человек дал ненормальное решение! почитайте код который он указал!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Заходиш сюда net\sf\l2j\gameserver\model\actor\instance\L2BuffInstance

 

находиш там :

else if(cmd.startsWith("buff"))
	{
		int id = Integer.parseInt(command.substring(5).trim());
		int level=SkillTable.getInstance().getMaxLevel(id,0);
		if(id==4554)level=4;
		if(id==4553)level=4;
		if (player.isDead())
		{
			player.sendMessage("Вы не можете восстанавливаться когда мертвы");
			return;
		}
		player.stopSkillEffects(id);
		if (menu._showanim)
		{
			player.broadcastPacket(new MagicSkillUser(player,player,id,level,350,150));
		}
		SkillTable.getInstance().getInfo(id,level).getEffects(this,player);
		NpcHtmlMessage html = new NpcHtmlMessage(1);
			html.setFile(player.getBuffHtml());//добавил
		//html.setFile(_curHtm);
		sendHtmlMessage(player,html);
		player.sendPacket(new ActionFailed());
	}

и закоментируеш "player.stopSkillEffects(id);"

 

распишу что вы предложили человеку...

 

else if(cmd.startsWith("buff")) //байпас бафера (когда вы кликаите на баф чтобы вас бафнуло
	{
		int id = Integer.parseInt(command.substring(5).trim()); // получаем инфу из байпаса бафера что что после строк _buff - там прописан ID скила
		int level=SkillTable.getInstance().getMaxLevel(id,0);  - получаем максимальный лвл скила
		if(id==4554)level=4;  // если ID было 4554 даем ему level 4
		if(id==4553)level=4;  // если ID было 4553 даем ему level 4
		if (player.isDead())  // если игрок мертв и пытаеться бафнуться, посылаем его
		{
			player.sendMessage("Вы не можете восстанавливаться когда мертвы");
			return;
		}
		player.stopSkillEffects(id); // снимаем еффект скила (если он на вас бафнут)  который вы нажали бафнуть в бафере, это для того чтобы обновлялось время бафа
		if (menu._showanim)
		{
			player.broadcastPacket(new MagicSkillUser(player,player,id,level,350,150));
		}
		SkillTable.getInstance().getInfo(id,level).getEffects(this,player); //накладываем на игрока Бафф на который мы ткнули в бафере
		NpcHtmlMessage html = new NpcHtmlMessage(1);
			html.setFile(player.getBuffHtml()); 
		html.setFile(_curHtm);
		sendHtmlMessage(player,html);
		player.sendPacket(new ActionFailed());
	}

 

 

и объясните мне, причем тут Спадание (насколько я понял маляры и т.п. когда висит баф нубла) и код бафера ?

Самое разумное и простое решение без компила, это перевести эти бафы из - дебафов в бафы

Хотя по офу они должны спадать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё понятно, значит Маляра и т.п. на других сборках были переведены в бафы, просто они с нублом спадают )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пиши багрепорт, потом жди новый ревы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...