ПОМОГИТЕ

Silence

Member
1е бага быть не должно , сними вещи что на тебе они тоже имеют вес
Каким образом вещи на мне относятся к сути вопроса? Вес вещей учитывается хоть они на мне, хоть они в рюкзаке... Я говорю что общий вес далеко не доходит до предела, который мне показывает, что я могу носить. Вот сейчас например снял все вещи вообще, кап стал 523, текущий вес 409 и при этом 1 (!) кусок руды уже не ложится. Сообщение That container cannot hold more weight. Про ограничение в 125 предметов я в курсе, проблема не изза этого..их намного меньше. Так что прошу разобраться с весом.
уже рассказывали много раз полистай тему...(стр 5-6)
Читал все темы, когда не нашел ответ на свой вопрос, искал в инете. Задал вопрос конкретно тому человеку, кто может не просто рассказать словами, а показать конкретный код где, почему и с какой вероятностью будет подыматься скилл, а где - нет, и почему нет (как это было сделано со скилом lock picking). Если Костя даст скачать скрипты - сам буду рыться и выкладывать сюда всякие полезные интересности:) может даже сам чего-нибудь интересного придумаю и предложу ввести:)
 
Читал все темы, когда не нашел ответ на свой вопрос, искал в инете. Задал вопрос конкретно тому человеку, кто может не просто рассказать словами, а показать конкретный код где, почему и с какой вероятностью будет подыматься скилл, а где - нет, и почему нет (как это было сделано со скилом lock picking). Если Костя даст скачать скрипты - сам буду рыться и выкладывать сюда всякие полезные интересности:) может даже сам чего-нибудь интересного придумаю и предложу ввести:)
- форум разрабов

тут можно скачать сервер
 

Silence

Member
Скорее всего за эти годы использования наш сервер и сервер разрабов стали практически разными вещами... Поэтому хотелось бы увидеть тот, что работает у нас.
В любом случае спасибо за ссылочку..
 

Silence

Member
Почти разобрался... поднятие скила корнями лезет в базовые модули Mobile и Skill . И имеет одинаковую структуру для всех скиллов... Шанс зависит от минимального скила, при котором возможно удачное его применение, максимального скила для 100% успеха и еще от текущего значения, базового значения, а также сумы всех скилов, капа всех скилов и модификаторов сервера (для каждого скила можно отдельно выставить). Но не меньше 1% если он может расти... А у петов шанс по той же формуле только в 2 раза выше.А до значения 10.0 скилл растёт 100% при каждом использовании..
 

KOCTa

Dedywkо |Co100
Команда форуму
Супер Модератор
Відповідь: Re: ПОМОГИТЕ

В методе CanBeBeneficial так и не нашел причину того, почему не мог воскресить..
Дальше следующие вопросы:
1. возможно обнаружил баг на кап переносимого веса... не смотря на цифру в 600 максимального веса, больше 470 мне при себе иметь не удавалось... дальше вещи в рюкзак не ложаться, а при крафте падают на землю... раса человек, сила 143 (с бонусами от вещей).
2. на сервере есть талисманы? вообще вроде бы предусмотрен слот для них, но ни одного не встречал ниразу..
3. портал в хартвуд heartwood (город эльфов) на том метсе, где он должен быть, тоже отсутствует... или он отсутствует только для расы людей... но такого быть по идее не должно)
4. Если все-таки хартвуд существует, то в нём работают МЛовские квесты? например на получение скила Spellweaving?
( )
5. покажите пожалуйста метод, в котором определяется повышение скила Animal Taming. Искал в инете, но так и не понял как он растёт (с какой вероятностью на животных)...


и насчет локпикинга спасибо) тоже постоянно мучался этим вопросом...очень полезная инфа)
1. :) Вся справа у тому, що більш у сумку не лізе - там обмежання, вага 400 і 125 ітемов. Решту можна вдякати на себе чи нести у руках.
2. Талісманів поки що нема. Як ітеми я їх можу зробити, але не зовсім зрозумів як вони повинні даватись, які там обмежання і інше. З неба брати не хочу. Взагалі, у тому вигляді, як вони описані для стандарту вони у нас не підійдуть. Там головний зміст тимчасово підвищувати якийсь скіл. Коли скіли обмежані сумскілом у 700 це має суттеве значення. Але не у нас. Тому, у планах я їх хочу до чогось особливого іншого плану використать. Ще там є колчани для стріл, но з тими все зрозуміло. З часом будуть стріли з різними додадковими бонусами, використовувати які можна буде з колчанів.
3, 4. Портал не встановлен, бо heartwood не заселен. Нема поки що і МЛовських квестів. Тому нема поки що багато чого. Теж поки що. Незабаром буде. Скріпти вже бачив, але їх потрібно ще пристасовувати до сервака.
5. У тварючек є таке значення, як мінімальний тамінг, який потрібен щоб її приручити. Доки навичка таймера меньш нього - шансів 0 і зростання буде 0. Як тільки він трішки перевищив цей минімум - шанс на приручення буде малим, але шанс зростання навички буде великим. А далі, чим більш твій таймінг від мінімуму, потрібного на тварюку, тим меньш шанс на зростання. Потрібно шукати більш складну. Я свого часу докачував на наймарах. Ну і на таймінгу встановлен антімакрос. На однієй тварюці неможливо більш ніж на 0,3 навичку підняти. Ну і неможливо хочь на скільки підійняти, якщо тварюка вже була цім персом приручена, чи якось іншим чином від побував її господарем. Буде писати, що вона вас згадала. Ще трішечки від того скільки вже господарей було у цій тварюці залежить.
Код:
						double minSkill = m_Creature.MinTameSkill + (m_Creature.Owners.Count * 6.0);

						if ( minSkill > -24.9 && CheckMastery( m_Tamer, m_Creature ) )
							minSkill = -24.9; // 50% at 0.0?

						minSkill += 24.9;

						if ( alreadyOwned || m_Tamer.CheckTargetSkill( SkillName.AnimalTaming, m_Creature, minSkill - 25.0, minSkill + 25.0 ) )
						{
							if ( m_Creature.Owners.Count == 0 ) // First tame
							{
								if ( m_Paralyzed )
									ScaleSkills( m_Creature, 0.86 ); // 86% of original skills if they were paralyzed during the taming
								else
									ScaleSkills( m_Creature, 0.90 ); // 90% of original skills

								if ( m_Creature.StatLossAfterTame )
									ScaleStats( m_Creature, 0.50 );
								
								if( Core.SE )
									AdjustSkillCaps( m_Creature );
							}

							if ( alreadyOwned )
							{
								m_Tamer.SendLocalizedMessage( 502797 ); // That wasn't even challenging.
							}
							else
							{
								m_Creature.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 502799, m_Tamer.NetState ); // It seems to accept you as master.
								m_Creature.Owners.Add( m_Tamer );
							}

							m_Creature.SetControlMaster( m_Tamer );
							m_Creature.IsBonded = false;
//	+	KOCTa. New Quests system
							m_Creature.SpawnerCreature = false;
//	end	KOCTa. New Quests system
						}
						else
						{
							m_Creature.PrivateOverheadMessage( MessageType.Regular, 0x3B2, 502798, m_Tamer.NetState ); // You fail to tame the creature.
						}
Ну і взагалі по зростанню скіла. На прикладі перевірки антімакроса по локації. Для інших антімакросів ( по ітему, мобу ) теж саме:
Код:
		public static bool Mobile_SkillCheckLocation( Mobile from, SkillName skillName, double minSkill, double maxSkill )
		{
			Skill skill = from.Skills[skillName];

			if ( skill == null )
				return false;

			double value = skill.Value;

			if ( value < minSkill )
				return false; // Too difficult
			else if ( value >= maxSkill )
				return true; // No challenge

			double chance = (value - minSkill) / (maxSkill - minSkill);

			Point2D loc = new Point2D( from.Location.X / LocationSize, from.Location.Y / LocationSize );
			return CheckSkill( from, skill, loc, chance );
		}
І місце куди все потрапляє:
Код:
		public static bool CheckSkill( Mobile from, Skill skill, object amObj, double chance )
		{
			if ( from.Skills.Cap == 0 )
				return false;

			bool success = ( chance >= Utility.RandomDouble() );
			double gc = (double)(from.Skills.Cap - from.Skills.Total) / from.Skills.Cap;
			gc += ( skill.Cap - skill.Base ) / skill.Cap;
			gc /= 2;

			gc += ( 1.0 - chance ) * ( success ? 0.5 : (Core.AOS ? 0.0 : 0.2) );
			gc /= 2;

			gc *= skill.Info.GainFactor;

			if ( gc < 0.01 )
				gc = 0.01;

			if ( from is BaseCreature && ((BaseCreature)from).Controlled )
				gc *= 2;

			if ( from.Alive && ( ( gc >= Utility.RandomDouble() && AllowGain( from, skill, amObj ) ) || skill.Base < 10.0 ) )
				Gain( from, skill );

			return success;
		}
і далі:
Код:
		public static void Gain( Mobile from, Skill skill )
		{
			if ( from.Region.IsPartOf( typeof( Regions.Jail ) ) )
				return;

			if ( from is BaseCreature && ((BaseCreature)from).IsDeadPet )
				return;

			if ( skill.SkillName == SkillName.Focus && from is BaseCreature )
				return;

			if ( skill.Base < skill.Cap && skill.Lock == SkillLock.Up )
			{
				int toGain = 1;

				if ( skill.Base <= 10.0 )
					toGain = Utility.Random( 4 ) + 1;

				Skills skills = from.Skills;

				if ( ( skills.Total / skills.Cap ) >= Utility.RandomDouble() )//( skills.Total >= skills.Cap )
				{
					for ( int i = 0; i < skills.Length; ++i )
					{
						Skill toLower = skills[i];

						if ( toLower != skill && toLower.Lock == SkillLock.Down && toLower.BaseFixedPoint >= toGain )
						{
							toLower.BaseFixedPoint -= toGain;
							break;
						}
					}
				}

				if ( (skills.Total + toGain) <= skills.Cap )
				{
					skill.BaseFixedPoint += toGain;
				}
			}

			if ( skill.Lock == SkillLock.Up )
			{
				SkillInfo info = skill.Info;

				if ( from.StrLock == StatLockType.Up && (info.StrGain / 33.3) > Utility.RandomDouble() )
					GainStat( from, Stat.Str );
				else if ( from.DexLock == StatLockType.Up && (info.DexGain / 33.3) > Utility.RandomDouble() )
					GainStat( from, Stat.Dex );
				else if ( from.IntLock == StatLockType.Up && (info.IntGain / 33.3) > Utility.RandomDouble() )
					GainStat( from, Stat.Int );
			}
		}
Там ще є частини вирішення коли навичка чи стат зростає за рахунок тих, що на зниження стоять, ну там нічого цікавого, тому щоб зайвого тут не було не буду викладати.
 

KOCTa

Dedywkо |Co100
Команда форуму
Супер Модератор
Відповідь: Re: ПОМОГИТЕ

Скорее всего за эти годы использования наш сервер и сервер разрабов стали практически разными вещами... Поэтому хотелось бы увидеть тот, что работает у нас.
В любом случае спасибо за ссылочку..
Я намагався корінним образом не втручатися там, де в цьому не було потреби. Але якщо так вже дивитись, то дійсно, у мене зараз є вже майже МЛовський серв, але простіше буде з нього на мій щось переносити, ніж навпаки. І то це безліч часу займе. Саме тому деяки новинки, і не потрапляють.
Стосовно бажання розібратися зі скриптінгом - дуже вітаю. Справ багато, а на все часу, нажаль, не висточає.
Як завдання можу запропонувати розібратися з алхімією. Спробувати створити зілля яке частково відновлює ману, додати його до меню алхіміка. А далі поступово можу долучити до роботи на робочих скріптах.
Ну і щоб було більш інфи ось скріпти ядра, маже 100% такого яке стоїть на сервері.
 

Вкладення

Silence

Member
Re: Відповідь: Re: ПОМОГИТЕ

Доки навичка таймера меньш нього - шансів 0 і зростання буде 0. Як тільки він трішки перевищив цей минімум - шанс на приручення буде малим, але шанс зростання навички буде великим. А далі, чим більш твій таймінг від мінімуму, потрібного на тварюку, тим меньш шанс на зростання. Потрібно шукати більш складну. Я свого часу докачував на наймарах.
Я эти скрипт-коды как раз вчера и нашел в архивах с runuo.com ) Правда потребовался часик-другой, чтоб понять где они находятся... немного помучался, но в итоге нашел именно эти части, которые ты выложил) Только c методом Gain не ковырялся... там уже не столько важно, он только за повышение отвечает когда оно есть... зато нашел кучу других поправочек... например что можно отдельно выставить на каждый скилл коэффициент роста, а так же коэффициенты роста на статы при повышении скилла...
Но больше всего меня заинтересовал метод CheckSkill. Как видим в нём, помимо факторов на которые игрок повлиять не может, есть фактор повышения скила в зависимости от шанса на успешное применение. Так вот я вывел небольшую диаграмму показателя этого фактора, от шанса успешного применения. В зависимости от параметра Core.AOS выходит 2 линии.
You must be registered for see images

Ось Х - шанс на удачное применение скила, ось У - значение коэффициента... чем больше - тем больше шанс на повышение скила)
Выяснить что такое Core.AOS у меня не хватило терпения, скорее всего одна из серверных настроек, которая определяет будет ли даваться бонус к вероятности повышения скилла при его неудачном применении...

Вывод: лучше всего повышать на том, в чем шанс успеха будет примерно 20% в первом случае, и 50% во втором)

Для найтмаров вероятность успеха при скиле 120 составляет 50%, при скилле 105 - 20%. (начиная с 95.0 растет на 0,2% при увеличении скила на 0,1).
А еще можно было бы использовать более слабых существ, но у которых уже был чужой владелец) Надеюсь логика понятна;)
 

Silence

Member
Re: Відповідь: Re: ПОМОГИТЕ

Стосовно бажання розібратися зі скриптінгом - дуже вітаю. Справ багато, а на все часу, нажаль, не висточає.
Як завдання можу запропонувати розібратися з алхімією. Спробувати створити зілля яке частково відновлює ману, додати його до меню алхіміка. А далі поступово можу долучити до роботи на робочих скріптах.
Ну і щоб було більш інфи ось скріпти ядра, маже 100% такого яке стоїть на сервері.
Спасибо большое) Приступлю через три дня) А то изза Ультимы у меня защита бакалавра накроется медным тазом))
 

KOCTa

Dedywkо |Co100
Команда форуму
Супер Модератор
Відповідь: ПОМОГИТЕ

Core.AOS, Core.SE вказують, чи підтримує серв відповідні аддони Ультіми. У нас підтримує, тому true. Core.ML поки що false.
В залежності вд того підримує чи ні будуть і відповідні налаштування і формули, які були введені у відповідних аддонах. Хоча там все так заплутано, що якщо Core.AOS і Core.SE відмініти, буде каша.
PS: Core.ML, після перегляду виявилось true. Але саме наповнювання змістом поки що мінімальне.
 
Останнє редагування:

robinson

RPBBI corp. (Подпись)
!HELP! !ХЕЛП!

скажите пожалуйста, я пол года не играл в УО (я играл по инету на другом шарде) а теперь кода скачал 5 клиент мне пишет "какие-то проблемы с подключением" всё пробовал а оно не заходит... так вот, мне интересно это мой акк удалили или другая проблема? если другая то какая? спасибо за внимание! :arrow2: :cool:
 
Зверху