ПОМОГИТЕ

KOCTa

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

По поводу лечения там есть упоминание про beneficialActs
Код:
healer.CanBeBeneficial( patient, true, true )
с чем я недавно столкнулся в игре дважды: не мог воскресить одного человека, и полечить другого... хотелось бы увидеть даный метод)
Неможна лікувати чи оживляти тих, хто у інший фракції чи гільдії з якою війна.
Код такий:
Код:
		public virtual bool CanBeBeneficial( Mobile target, bool message, bool allowDead )
		{
			if ( target == null )
				return false;

			if ( m_Deleted || target.m_Deleted || !Alive || IsDeadBondedPet || ( !allowDead && ( !target.Alive || IsDeadBondedPet ) ) )
			{
				if ( message )
					SendLocalizedMessage( 1001017 ); // You can not perform beneficial acts on your target.

				return false;
			}

			if ( target == this )
				return true;

			if ( /*m_Player &&*/ !Region.AllowBeneficial( this, target ) )
			{
				// TODO: Pets
				//if ( !(target.m_Player || target.Body.IsHuman || target.Body.IsAnimal) )
				//{
				if ( message )
					SendLocalizedMessage( 1001017 ); // You can not perform beneficial acts on your target.

				return false;
				//}
			}

			return true;
		}
IsDeadBondedPet - це прив'язани тварини, яких можно оживляти.
Region.AllowBeneficial( this, target ) це ось що:
Код:
		public static bool Mobile_AllowBeneficial( Mobile from, Mobile target )
		{
			if( from == null || target == null || from.AccessLevel > AccessLevel.Player || target.AccessLevel > AccessLevel.Player )
				return true;

			#region Factions
			Faction targetFaction = Faction.Find( target, true );

			if( targetFaction != null )
			{
				if( Faction.Find( from, true ) != targetFaction )
					return false;
			}
			#endregion

			Map map = from.Map;

			if( map != null && (map.Rules & MapRules.BeneficialRestrictions) == 0 )
				return true; // In felucca, anything goes

			if( !from.Player )
				return true; // NPCs have no restrictions

			if( target is BaseCreature && !((BaseCreature)target).Controlled )
				return false; // Players cannot heal uncontrolled mobiles

			if( from is PlayerMobile && ((PlayerMobile)from).Young && (!(target is PlayerMobile) || !((PlayerMobile)target).Young) )
				return false; // Young players cannot perform beneficial actions towards older players

			Guild fromGuild = from.Guild as Guild;
			Guild targetGuild = target.Guild as Guild;

			if( fromGuild != null && targetGuild != null && (targetGuild == fromGuild || fromGuild.IsAlly( targetGuild )) )
				return true; // Guild members can be beneficial

			return CheckBeneficialStatus( GetGuildStatus( from ), GetGuildStatus( target ) );
		}
 

KOCTa

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

Про вендоров... интересовало не само направление, а задержка до следующего шага (прошу увеличить, очень часто случается так, что кликаю на него, а пока всплывет контекстное меню, он уже отходит и приходится кликать снова...) мелочь но всё же был бы очень благодарен.

Возвращаясь к заказам... очень маленькая вероятность выпадения заказа с большой сложностью (> 36000 у кузнеца). вообще не видел ниразу. смотрел только в списках заранее сгенерированных заказов (те, которых по 3 штуки у каждого кузнеца). Спец. заказы вообще не смотрю так как он там только 1 и потом час вообще никакой заказ не посмотреть... А учитывая обстановку с валоритовым рунником и ситуацией с добычей кристаллита - смысл кристаллитового рунника пропадает вовсе... Предлагаю увеличить шанс выпадения заказа на кристаллитовый рунник и его бонусы: шанс заказа для скила 120 - 0,5%, от рунника 6 бонусов строго силой 90-100%.
Еще одна идея: насколько я знаю список заранее сгенерированных заказов состоит из 3 заказов для скила 60, 80 и 100 если не ошибаюсь. Предлагаю добавить еще один для скила 120, чтобы было четыре, и скрывать те, для которых у кузнеца не хватает скила. Пример кузнец со скилом 55 смотрит боды, видит 1, со скилом 78 тоже видит 1, с 90 - видит 2, 100 - видит 3, 120 - 4.
Введение даннных изменений вызовет интерес к получению кристаллитовых рунников) Но особо ничего не изменит, потому что накопать кристаллитовой руды для большого заказа можно наверное только за неделю копания...Соответственно свои награды получат только самые усердные в своём деле:)

P.S.: не против пообщаться в мирке , но не сидел там очень давно... а какой адрес сервера, порт и название канала?..
Я там у АІ буду зміни робити, можу зробити їм, щоб вони були меньш "рухливими", взагалі вони там рухаються лише задля створення ілюзії життя :).
Стосовно випадіння замовлень з великою кількістю балів, то так навмисно і зроблено. Крісталіт взагалі я додавав, а на стандарті зі стандартними замовленнями валорітовий щоб отримати люді місяцями бігають, та ще й купою персів. Спочатку потрібно отримати велике замовлення, а потім, що взагалі майже нереально, набрати для нього відповідної кількості малих. Саме тому я таки умови і робив. Набагато легше валорітовий молот отримати, ніж на стандарті, але не халява. Ну а крісталітовий повинен взагалі бути ексклюзивом, саме для самих старанних :).
А от спецзамовлення даремно не дивитесь. Бо я так робив, що замовлення, коли прораховуються, лічаться саме по скілу. Тому у вендорів, у яких максімальний третій рахується для 100 того складного замовлення, за яке буде велика нагорода ніколи не буде. На крісталітовий, якщо не помиляюсь, взагалі шанс з"являється лише при скілі більш ніж 115.
А 3 "вендоровських" замовлень я робив, щоб можна було ковалям якось "на життя" заробляти. Саме тому їх 3 різної вартості і саме тому на 120 там не буде. Задля складного коштовного замовлення потрібно дійсно бути фахівцем :).
PS: знаючи місця і маючи необхідне знаряддя ( кірку гаргуль і проспект тул ) достатньо крісталіта можна і за годин 20 накопати. Але це знаряддя щоб отримати, саме дрібні замовлення і потрібні.
 

Silence

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

Я там у АІ буду зміни робити, можу зробити їм, щоб вони були меньш "рухливими"...
Было бы неплохо)
Неможна лікувати чи оживляти тих, хто у інший фракції чи гільдії з якою війна.
Я пытался воскресить безгильдийного, и помоему ни он ни я в фракциях не состояли.
Кстати про фракции... так и не понял как они работают... Хотел вступить в тру бритиш, подхожу к столбу, а мне пишет, что я не могу вступить в фракцию, так как я в гильдии и не являюсь гильдмастером (я состою только в обычной гильдии, не проф). Это получается, что если я вступаю в гильдию, про фракции можно забыть?...
И еще вопрос... Квесты на вступление в библиотеку тоже отсутствуют?..
 

KOCTa

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

Было бы неплохо)

Я пытался воскресить безгильдийного, и помоему ни он ни я в фракциях не состояли.
Кстати про фракции... так и не понял как они работают... Хотел вступить в тру бритиш, подхожу к столбу, а мне пишет, что я не могу вступить в фракцию, так как я в гильдии и не являюсь гильдмастером (я состою только в обычной гильдии, не проф). Это получается, что если я вступаю в гильдию, про фракции можно забыть?...
И еще вопрос... Квесты на вступление в библиотеку тоже отсутствуют?..
У фракцію вступає уся гільдія, і "заяву про вступ" пише гільдмайстер. Якщо хтось окремо хоче - треба створити власну гільдію з одного члена.
Квест на вступ до бібліотеки десь я зустрічав, якщо він стандартний, то повинен бути. Якщо не помиляюсь там треба було шукати якогось майстра-музику і якогось маляра, а у Бріті у бібліотеці ходе якийсь бібліотекар. Якщо знаєте з чого там починається, скажить, може допоможу.
 

Silence

Member

The Britain Library Community Collection is located inside the Britain Public Library. ...
You must complete the Friends of the Library Quest before you can begin donating. Visit Verity Librarian to take on the quest.
(Еси вкратце, то смысл в том, что жертвуя вещи и деньги в это общество зарабатываются очки. Чтоб имеь возможность жертвовать, надо выполнить квест the Friends of the Library, который дает библиотекарь Verity).

По описанию он находится в здании Britain Public Library, которое стоит напротив замка Лорда Бритиша. Я был в Фелюке и Треммеле, и кроме двух писарей в здании сидит ещё человек, который даёт квест натуралиста на исследование Solen Hive (квест кстати рабочий:)). Verity не нашел нигде...

В идеале квест должен выглядеть так:


Найдите Verity в библиотеке Британии напротив Castle British. Она отправит вас к Sarakki the Notary (Саккари Писарь) возле входа в замок. Sarakki the Notary отправит вас к Petrus the Beekeeper за sealing wax (сургуч) для документа. Найдите Petrus the Beekeeper. Попав в Илшенар Сострадание (compassion ilshenar) двигайтесь нна северо-восток к циганскому лагерю. От лагеря двигайтесь на север и восток. Petrus the Beekeeper находится за гребнем горы. Он попросит собрать мешочки яда (poison sacs) , которые можно найти в speckled scorpions для того, чтобы сделать sealing wax (сургуч).

Найдите Speckled Scorpions идя на юг мимо первого циганского лагеря и затем минуя второй пока вы не прийдёте к реке с мостом. Перейдите через 2 мостаи ищите speckled scorpions в пустыне. Ищите poison sacs в их трупах. Возможно понадобится убить несколько speckled scorpions, так как poison sacs можно найти не в каждом трупе. Заметьте, что на каждом мешочке есть таймер (до 3600 секунд) который может отличаться в разных мешках.

Важное замечание : эта область наполнена efreets, wyverns, imps и т.д. и не предназначена для новичков или персонажей с низкими боевыми скилами. Она может быть пройдена магом с использованием множества Blade Spirits, но твари будут роиться вокруг вас. Лучший вариант - взять с собой друга который будет вас прикрывать или собирать мешки другим персонажем, который лучше сражается. Мешки могут быть брошены на землю или положены в другой контейнер несмотря на то, что это квестовые вещи.

Когда соберёте 5, пометьте их как квестовые вещи (quest items) и возвращайтесь к Petrus the Beekeeper. Он даст вам Official Sealing Wax.

Вернитесь к Sarakki the Notary за нотариально засвидетельствованным заявлением ( Notarized Application ).

Вернитесь к Verity Librarian за "Friend Of The Library Token", который позволит жертвовать в коллекцию библиотеки. Этот токен не может быть использован другим персонажем и должен быть экипирован (или хотя бы сохранён) для жертвования.


П.с. я не нашел ни одного из трёх персонажей этого квеста.
 

Вкладення

Останнє редагування:

KOCTa

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


...
Це вже, здається МЛовський квест. Поки що я скріптів на нього не зустрічав. Тому і на сервері його нема. Може згодом буде, а поки що...
ЗІ: Стосовно CanBeBeneficial я там код додав.
 

KOCTa

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

Тут Дефф питає, чому не може локпікінг качати. Маючи 33.0 на усі його потуги пише що навички недостатнього. Тож, може ще комусь буде корисне, тут підповідаю.

По скриптам при відмиканні таке:
Код:
					if ( !m_From.InRange( item.GetWorldLocation(), 1 ) )
						return;

					if ( m_Item.LockLevel == 0 || m_Item.LockLevel == -255 )
					{
						// LockLevel of 0 means that the door can't be picklocked
						// LockLevel of -255 means it's magic locked
						item.SendLocalizedMessageTo( m_From, 502073 ); // This lock cannot be picked by normal means
						return;
					}
					if ( m_From.Skills[SkillName.Lockpicking].Value < m_Item.RequiredSkill )
					{
						// The LockLevel is higher thant the LockPicking of the player
						item.SendLocalizedMessageTo( m_From, 502072 ); // You don't see how that lock can be manipulated.
						return;
					}

					if ( m_From.CheckTargetSkill( SkillName.Lockpicking, m_Item, m_Item.LockLevel, m_Item.MaxLockLevel ) )
					{
						// Success! Pick the lock!
						item.SendLocalizedMessageTo( m_From, 502076 ); // The lock quickly yields to your skill.
						m_From.PlaySound( 0x4A );
						m_Item.LockPick( m_From );
					}
					else
					{
						// The player failed to pick the lock
						BrokeLockPickTest();
						item.SendLocalizedMessageTo( m_From, 502075 ); // You are unable to pick the lock.
					}

				protected void BrokeLockPickTest()
				{
					// When failed, a 25% chance to break the lockpick
					if ( Utility.Random( 4 ) == 0 )
					{
						Item item = (Item)m_Item;

						// You broke the lockpick.
						item.SendLocalizedMessageTo( m_From, 502074 );

						m_From.PlaySound( 0x3A4 );
						m_Lockpick.Consume();
					}
				}
По змісту виходе: m_From.Skills[SkillName.Lockpicking].Value < m_Item.RequiredSkill
Рівень "зачиненості" при виробленні контейнера визначається так:
Код:
			if ( from.CheckSkill( SkillName.Tinkering, -5.0, 15.0 ) )
			{
				from.SendLocalizedMessage( 500636 ); // Your tinker skill was sufficient to make the item lockable.

				Key key = new Key( KeyType.Copper, Key.RandomValue() );

				KeyValue = key.KeyValue;
				DropItem( key );

				double tinkering = from.Skills[SkillName.Tinkering].Value;
				int level = (int)(tinkering * 0.8);

				RequiredSkill = level - 4;
				LockLevel = level - 14;
				MaxLockLevel = level + 35;

				if ( LockLevel == 0 )
					LockLevel = -1;
				else if ( LockLevel > 95 )
					LockLevel = 95;

				if ( RequiredSkill > 95 )
					RequiredSkill = 95;

				if ( MaxLockLevel > 95 )
					MaxLockLevel = 95;
			}
			else
			{
				from.SendLocalizedMessage( 500637 ); // Your tinker skill was insufficient to make the item lockable.
			}
Тож від типу контейнера тут ничого не залежить, а вот от тінкерінга - напряму. Якщо ти ГМ в тінкерінге, то і рівень замків у тих контейнерів, что ти робиш, буде такий, що маючи локпік 33, ти їх ніколи не відчинеш. Можу порадити, у твому випадку знайти когось, хто тінкерінг ще тільки почав підіймати, і використовувати його контейнери, а усім іншим - прокачувати ці навички разом одну з одною.
ЗИ: відразу на супутне запитання відповім, яке виникне. При застосуванні магічного замка ( MagicLock ) буде таке:
Код:
				targ.LockLevel = -255; // signal magic lock
				targ.Locked = true;
тож відчинити його відмичкою теж не вдасться.
Ну і відразу про TreasureChest, які інколи зустрічаються по данжам. В залежності від їх рівня у них буде таке:
Код:
			switch ( m_Level )
			{
				case LevelType.First:
				{
					RequiredSkill = LockLevel = 52 - Utility.Random( 0, 12 );
					TrapPower = Utility.RandomMinMax( 0, 25 );
					break;
				}
				case LevelType.Hybrid:
				{
					RequiredSkill = LockLevel = 60 - Utility.Random( 0, 12 );
					TrapPower = Utility.RandomMinMax( 0, 35 );
					break;
				}
				case LevelType.Second:
				{
					RequiredSkill = LockLevel = 72 - Utility.Random( 0, 12 );
					TrapPower = Utility.RandomMinMax( 0, 45 );
					break;
				}
				case LevelType.Third:
				{
					RequiredSkill = LockLevel = 84 - Utility.Random( 0, 12 );
					TrapPower = Utility.RandomMinMax( 0, 35 );
					;
					break;
				}
				case LevelType.Fourth:
				{
					RequiredSkill = LockLevel = 96 - Utility.Random( 0, 12 );
					TrapPower = Utility.RandomMinMax( 0, 45 );
					;
					break;
				}
			}
Тож відімкнути, якщо скіла вистачить Ви може і зможете, але навичка на них не зросте, бо MaxLockLevel там не прописане і буде 0.
Навичка росте при звертанні: m_From.CheckTargetSkill( SkillName.Lockpicking, m_Item, m_Item.LockLevel, m_Item.MaxLockLevel ), де в залежності від того, на скільки необхідний мін ( m_Item.LockLevel ) і макс ( m_Item.MaxLockLevel ) відрізняюсть від того що є ( SkillName.Lockpicking ) залежить шанс що навичка підійметься.
 

Silence

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


и насчет локпикинга спасибо) тоже постоянно мучался этим вопросом...очень полезная инфа)
 
Останнє редагування:

Silence

Member
Новичкам в таминге будет интересна вот эта таблица
 

Вкладення

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


и насчет локпикинга спасибо) тоже постоянно мучался этим вопросом...очень полезная инфа)
1е бага быть не должно , сними вещи что на тебе они тоже имеют вес
2е не встречал талисманы
3е портала вродебы нету
5е уже рассказывали много раз полистай тему...(стр 5-6)
 
Зверху