target_deltaHp - ЗАДАЧКА :(

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

Модератор: 4epT

Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

не так всё просто, там много где

sub updateItemList
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

в принципе если я тока эту строчку поковыряю по своему

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

$basePercent = sprintf("%.2f", $chars[$config{'char'}]{'exp'} / $chars[$config{'char'}]{'exp_max'} * 100) if $chars[$config{'char'}]{'exp_max'};
то есть $exp_max - максимально е хп моба
а $dmgTo нанесенный мобу дамаг

как правильней написать ее?

$basePercent = sprintf("%.2f", $dmgTo/ $exp_max * 100); так?

Добавлено спустя 39 секунд:

wx.pm ковыряю
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

откуда wx.pm знает что это за переменные? $dmgTo $exp_max

такие он вот понимает $chars[$config{'char'}]{'exp'}
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

нуи так же изменить и эту строкй в sub updateItemList

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

$percentB = "(".sprintf("%.2f",$totalBaseExp * 100 / $char->{exp_max})."%)";
этого будет достаточно?
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

ну так то да вроде по идее, сам не помню))

тока надо чтоб он знал те переменные которые ты ему пихаешь
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

а если мы перед этой строкой вставим как раз подпрограмму написанную выше где поиск моба а потом узнавание итогового дамага по ней, тогда переменая $dmgTo у нас будет под рукой.

Добавлено спустя 2 минуты 11 секунд:

просто надо ли изменять в двух местах или тока в одном хватит?

sub title
sub updateItemList

в каком из них?
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

не будет работать :P
надо это $monster->{dmgTo}
от сюда

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

if ($ID1 eq $accountID) { 
      if ((my $monster = $monstersList->getByID($ID2))) { 
         # You attack monster 
         $monster->{dmgTo}
и это 1015 Zombie 2000

Добавлено спустя 53 секунды:

$monster->{dmgFromYou} запутался может это)

Добавлено спустя 59 секунд:

титле это то что в титле окна )
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

а если так?

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

sub title {
	my $self = shift;
	my $title = shift;
	my $charName = $chars[$config{'char'}]{'name'};
	$charName .= ': ' if defined $charName;

	my ($dmgTo, $dmgFrom, $dist, $pos, $name, $monsters);
	my $mob = "Caramel";
	my $exp_max = 4000;
	$monsters = $monstersList->getItems();

	if ($net->getState() == Network::IN_GAME) {

	foreach my $monster (@{$monsters}) {
		if ($monster->name eq  $mob) {
			$dmgTo = ($monster->{dmgTo} ne "") ? $monster->{dmgTo}	: 0;
			last;
		};


		my ($basePercent, $jobPercent, $zeny, $weight, $pos);
		$basePercent = sprintf("%.2f", $dmgTo/ $exp_max * 100);
нам нужен $dmgTo, я проверил.

Добавлено спустя 1 минуту 43 секунды:

то есть , мы сначал перебираем список мобов на экране в поиске нужного моба Карамель, и если он есть устанавливается $dmgTo.
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

а ты запусти, работает?

Добавлено спустя 22 секунды:

вообще конечно, это какое то извращение
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

я попробую позже, бежать нада, просто ты можешь сказать надо ли изменять обе подпрограммы sub title и sub updateItemList, или достаточно sub updateItemList?

Добавлено спустя 1 минуту 38 секунд:

и еще вопрос - у тебя там где установлен интервал для обновления данных по экспе, реально хватит чтоб обновлялось раз в секнду :)
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

я вообще не знаю как это будет работать если у тебя в титле foreach

хз наверное получается что можно уже и без updateItemList
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

млинн даже тупая замена везде

$basePercent = sprintf("%.2f", 50);

ничего не дает, просто пустой бар получается, хотя должен наполовину закраситься :(
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

:pardon:
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

все оказалось проще :) Клик ты сам весь интерфейс с нуля писал? :) прикольные там ремарки стоят, я поржал :)

вобчем находим строку :

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

		$self->{expBar}->SetValue($char->{exp} / $char->{exp_max} * 100) if ($char->{exp_max});
и меняем на блок:

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

	my $mob = "Caramel";
	my $mobXP = 3000;
	my ($dmgTo, $dmgFrom, $dist, $pos, $name, $monsters);
	$monsters = $monstersList->getItems();
	foreach my $monster (@{$monsters}) {
		if ($monster->name eq  $mob) {
			$dmgTo = ($monster->{dmgTo} ne "") ? $monster->{dmgTo}	: 0;
			$name = $monster->name;
			last;
		}
	}
		$self->{expBar}->SetValue($dmgTo / $mobXP * 100);
и все пашет :)

Добавлено спустя 2 минуты 8 секунд:

my $mob = "Caramel"; нужный нам моб
my $mobXP = 3000; его предпологаемое максимальное здоровье

ну и экспа бар - показывает насколько мы моба дерем :)
Последний раз редактировалось Rumata Чт сен 18, 2008 6:02 pm, всего редактировалось 1 раз.
Аватара пользователя
Click
Разработчик
Сообщения: 1563
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Сообщение Click »

не с нуля, но там куча перелопаченного
да и стандартный я уже подлотал.

кстати меня больше интересует первый вариант с консолью.
Ответить