Страница 1 из 2

боевой бот PVP/GW / патчик _isNotGuild

Добавлено: Пт дек 07, 2007 3:36 pm
vasa666
ПРОБОВАЛОСЬ на 1.9.4

Ищем тут: src\Misc.pm вот это:

Код: Выделить всё

	if ($config{$prefix."_isGuild"}) {
		return 0 unless ($player->{guild} && existsInList($config{$prefix . "_isGuild"}, $player->{guild}{name}));
	}
Меняем вот на это:

Код: Выделить всё

	if ($config{$prefix."_isGuild"}) {
		return 0 unless ($player->{guild} && existsInList($config{$prefix . "_isGuild"}, $player->{guild}{name}));
	}

	if ($config{$prefix."_isNotGuild"}) {
		return 0 if ($player->{guild} && existsInList($config{$prefix . "_isNotGuild"}, $player->{guild}{name}));
	}
Этой заменой мы добавили переменную target_isNotGuild теперь её можно применять в любых скилах...
(В дальнейшем она нам понадобится)

Теперь как осуществить саму атаку скилом:

примеры:

Код: Выделить всё

partySkill Fire Bolt {
	lvl 10
	target_timeout 0.5
	sp > 10%
	stopWhenHit 1
	target_isNotGuild ТУТ_ГИЛЬДА
	notPartyOnly 1
}


partySkill Cold Bolt {
	lvl 10
	target_timeout 0.5
	sp > 10%
	stopWhenHit 1
	target_isNotGuild ТУТ_ГИЛЬДА
	notPartyOnly 1
}
Данный скилл применяется ко всем, кроме вашей (или можно дописать ещё ) гильдии. благодаря notPartyOnly 1 скилл через partySkill может применяться не только на ваше пати.. а на всех игроках. Переменная target_isNotGuild даёт возможность не зациклеваться боту на своих союзниках...

Теперь зачем это нужно:
в основном для ГВ. Если представить что у вас пару ботов.. то можно и замок держать... вот представьте что как только кто то залетает.. на него сразу вешается молчанка.. антена.. понижение АГИ.. хант начинает бить его даблами... сины сониками или брейкером... визы кастуют шторм гаст... сталкеры раздевают... профессоры кидают бомбы... и все это смогут делать боты.

[mod="piroJOKE"]зачот! :twisted: [/mod]

Добавлено: Пт дек 07, 2007 4:31 pm
piroJOKE
ну таперича будут весёлые войнушки на ГВ... готовимся к массовым бананам! :lol:

* * *

ЗЫ: начальное обсуждение вопроса было тут: viewtopic.php?t=3626

Добавлено: Вт янв 08, 2008 6:19 pm
Myrz16
Вот что у меня получилось:


partySkill Lex Divina {
lvl 5
target_timeout 0.5
sp > 10%
stopWhenHit 1
target_isNotGuild Snejok
notPartyOnly 1
notInTown 1
}


partySkill Lex Aeterna {
lvl 1
target_timeout 0.5
sp > 10%
stopWhenHit 1
target_isNotGuild Snejok
notPartyOnly 1
}


Прист-бот у меня бегает в пати с сином.Проблема в том,что прист постоянно кидает Divina на сина.Что я не так натворил?

Добавлено: Вт янв 08, 2008 6:41 pm
piroJOKE
Патя-патей, но речь-то изначально шла о гильдии. Они в одной гильдии, точно?

Добавлено: Вт янв 08, 2008 7:17 pm
Myrz16
Да,в одной гильдии это точно,все 100%!!!

Добавлено: Ср янв 09, 2008 10:06 am
Aib0
На родном сайте коры это уже давно есть....

Добавлено: Ср янв 09, 2008 11:02 am
piroJOKE
Aib0
"Это" - это что? Плагин, или жалобы на проблемы?

Добавлено: Ср янв 09, 2008 1:06 pm
vasa666
хм.. такой вопрос.. а как он может вообще на него кидать.. если вы в одной гильде.. мало того.. в одной пати? из личной практики... по моему нельзя кидать заклинания на партийцев и согильдицев которые направлены на их повреждение.. или бот пастаянно пытается не него кинуть заклинание? и зацикливается на этой процедуре.

Добавлено спустя 3 минуты:
Aib0 писал(а):На родном сайте коры это уже давно есть....
есть реализация переменной target_isNotGuild можно ссылочку в студию?

Добавлено: Ср янв 09, 2008 1:53 pm
Click
Если поидее всё должно работать, то:
1. Я всегда стараюсь делать как можно меньше условий, у тебя там их куча.
2. Snejok это название гильдии?
3. Нужно проверить, нигде ли в конфиге не встречается ещё использование скила, который работает не верно.

Добавлено: Ср янв 09, 2008 3:38 pm
piroJOKE
Хм... я так подумал; предполагаю, что это так и должно работать, с глюками. :twisted: :twisted: :twisted:

Возможно дело в том, что в когда чар только появляется на экране, он unknown бла-бла-бла, короче, "еще не в гильде".

В таком случае, для условия "кастовать если в гильде" - все отрабатывает нормально, приходит "ункноун" чар; на него никто ничего не колдует, через долю секунды мы смотрим "ба, да это ж свой" - и обкастовываем его.

А для отрицания гильды надо либо дать паузу, либо прописать дополнительное условие, пропускающее "unknown" г-д на экране.

Добавлено: Ср янв 09, 2008 5:37 pm
Myrz16
Да,Snejok-это название гильды.Ну в логе коры показывается,что прист кидает раз 20 молчанку на сина,а потом перестает,но т.к. синв пати,то он не затыкается.
Проблема решена,спасибо piroJOKE,увеличил таймаут до 2,все стало работать нормально,спасибо еще раз всем!!!

Добавлено: Чт янв 10, 2008 10:25 am
Aib0
vasa666 писал(а):есть реализация переменной target_isNotGuild можно ссылочку в студию?
http://forums.openkore.com/viewtopic.php?t=20648
Поиск рулид)

Добавлено: Чт янв 10, 2008 12:40 pm
vasa666
ну вообще то reactOnActor плагин... а то что тут, это доролнение к Target Player Conditions
Myrz16 писал(а):Да,Snejok-это название гильды.Ну в логе коры показывается,что прист кидает раз 20 молчанку на сина,а потом перестает,но т.к. синв пати,то он не затыкается.
Проблема решена,спасибо piroJOKE,увеличил таймаут до 2,все стало работать нормально,спасибо еще раз всем!!!
попробуй ещё тут посмотреть timeouts.txt
У меня только один раз пытается чтонить кастануть... и то не всегда... а когда много народу сразу встречается.

Добавлено: Чт янв 10, 2008 6:37 pm
Aib0
Плагин-то лучше)

Добавлено: Вт апр 22, 2008 12:30 am
van4ik
Ха мегонисштяк :))

а в новых версиях коры сабж прокатит ?