Мужики, приветствую всех. Вызывает сильную злобу мое непонимание системы работы дропа предметов.
Суть задачи: имеется "ящик". При разрушении из него должен выпадать абсолютно любой предмет абсолютно любого класса и уровня. Обнаружил, что при попытке поставить "Любой предмет: любой класс и любой уровень" не дропаются предметы классов "только для кампании" и "разное".
Решил попробовать побороть проблему настроив случайное выпадение через нестандартные выпадающие предметы (скриншот прикрепляю).
Однако, при таком подходе, предметы вышеупомянутых классов мало того что не продолжили выпадать, так и разрушение ящика периодически влекло дроп "ничего". Пусто. (Полагаю, так происходит при выпадении предмета вышеупомянутых классов.
Также полагаю, это распространяется, на предметы класса "подлежащие продаже", но это не точно.
Мужики, пожалуйста, помогите, у меня очень бомбит.
П.С: вариант дропа пары сотен предметов через триггеры и переменную не рассматриваю.

А вообще, с чего такой вывод?
Этот эксперимент очень легко повторить, если для выпадения выставить "любой случайный предмет - разное" или "любой случайный предмет - для кампании". И ничего выпадать не будет.
У всех этих предметов в РО в параметре "Включить как случайный выбор" установлено значение "нет". Если сменить это значение на "да", то предмет будет выпадать.
`
ОЖИДАНИЕ РЕКЛАМЫ...
21
всё стандартное обычно рано или поздно вызывает боль в жопе
поэтому могу от себя посоветовать оставить пытаться понять дат щит и сделать через триггеры то что ты хочешь =)
та и суть задачи кака-то странная
на кой тебе понадобилось выпадение любых предметов, даже тех, что для кампании
речь же идёт именно про все стандартные предметы?

Ну или попробуй задать предметам из классов Только для кампании и Разное классы тех предметов. которые выпадают, и скажи что получится
3
всё стандартное обычно рано или поздно вызывает боль в жопе
поэтому могу от себя посоветовать оставить пытаться понять дат щит и сделать через триггеры то что ты хочешь =)
та и суть задачи кака-то странная
на кой тебе понадобилось выпадение любых предметов, даже тех, что для кампании
речь же идёт именно про все стандартные предметы?

Ну или попробуй задать предметам из классов Только для кампании и Разное классы тех предметов. которые выпадают, и скажи что получится

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

всё стандартное обычно рано или поздно вызывает боль в жопе
поэтому могу от себя посоветовать оставить пытаться понять дат щит и сделать через триггеры то что ты хочешь =)
та и суть задачи кака-то странная
на кой тебе понадобилось выпадение любых предметов, даже тех, что для кампании
речь же идёт именно про все стандартные предметы?

Ну или попробуй задать предметам из классов Только для кампании и Разное классы тех предметов. которые выпадают, и скажи что получится
Идея с изменением класса вещей хороша, но боюсь, что она может что-то сломать...
23
необходимости мутить триггер в пол тысячи строк
Можно преобразовать равкод вида 'I000' целочисленной переменной в тип предмета. Задавай случайный равкод в диапазоне твоих предметов пока не будет что то осмысленное. Это не больше 10 строчек кода.
21
СерафимКречет, ну если предметы свои (кастомные), то просто создаёшь их с равкодами по порядку и перебираешь в цикле от 'I000' (или какой будет первый) до последнего (например, 'I0AG')
со стандартными будет гемор да, потому что там коды равкоды разные 😩
стандартных войск всего 834 и это с учётом зданий и прочей лабуды
но там стандартных проще перебрать, потому что они все в каждой категории начинаются одинаково
Идея с изменением класса вещей хороша, но боюсь, что она может что-то сломать...
например что? что-то в твоей мапе? ну смотри тогда уж сам
я без понятия что ты мутишь
Скоро узнаешь, я думаю, по мере прогресса
дава, удиви
3
СерафимКречет, ну если предметы свои (кастомные), то просто создаёшь их с равкодами по порядку и перебираешь в цикле от 'I000' (или какой будет первый) до последнего (например, 'I0AG')
со стандартными будет гемор да, потому что там коды равкоды разные 😩
стандартных войск всего 834 и это с учётом зданий и прочей лабуды
но там стандартных проще перебрать, потому что они все в каждой категории начинаются одинаково
Идея с изменением класса вещей хороша, но боюсь, что она может что-то сломать...
например что? что-то в твоей мапе? ну смотри тогда уж сам
я без понятия что ты мутишь
Скоро узнаешь, я думаю, по мере прогресса
дава, удиви
Нет, все предметы стандартные. Пользуюсь не джазом, а гуем, потому что я быдло. Буду пробовать все перепрофилировать, но думаю я обалдею от клацанья, конечно.
28
Убрать галку с Use item classification system.
Загруженные файлы
3
Убрать галку с Use item classification system.
И все?..

Убрать галку с Use item classification system.
Нет, к сожалению, это никак не помогло
21
Напиши random integer с вероятнотью на триггерах или джасс и будет тебе счастье. Делов то!
28
Обнаружил, что при попытке поставить "Любой предмет: любой класс и любой уровень" не дропаются предметы классов "только для кампании" и "разное".
А вообще, с чего такой вывод?
3
Напиши random integer с вероятнотью на триггерах или джасс и будет тебе счастье. Делов то!
Всего-то вручную прописать 250 предметов и ифвенелсов, нормальное решение!

> Обнаружил, что при попытке поставить "Любой предмет: любой класс и любой уровень" не дропаются предметы классов "только для кампании" и "разное".
А вообще, с чего такой вывод?
Эмпирический эксперимент на 50 повторений по 6 дропов
20
Ну, тебе этот вариант скорее всего не понравится, но я всё-равно предложу.
globals
	itempool ItemPool = null
endglobals

function GenerateItemPool takes nothing returns nothing
	if ItemPool == null then
		set ItemPool = CreateItemPool( )
		call ItemPoolAddItemType( itemPool, 'shas', 1. )
		// И так далее...
	endif
endfunction
Подробное пояснение "веса" предметов тут: www.hiveworkshop.com/threads/itempools-guide.35180
Конечно придётся все предметы ЕДИНОЖДЫ забить, а потом при триггерном срабатывании смерти виджета (проверить что это был предмет/коробка и т.д.) вызвать PlaceRandomItem( ItemPool,x,y ), с WE не знаю, что тебе там палки в колёса вставляет. :(
27
А вообще, с чего такой вывод?
Этот эксперимент очень легко повторить, если для выпадения выставить "любой случайный предмет - разное" или "любой случайный предмет - для кампании". И ничего выпадать не будет.
У всех этих предметов в РО в параметре "Включить как случайный выбор" установлено значение "нет". Если сменить это значение на "да", то предмет будет выпадать.
Принятый ответ
28
Lord_Teo, ага, вот и причина всего происходящего. Тогда нужно либо вбить все предметы в пулл или всем в РО поставить галку. Что проще, пусть автор решит.
21
СерафимКречет, Просто пишешь Randim int. При определенных условиях.
Прописываешь далее все варианты if и когда равно , перечисляешь положительные значения цифр - то выпадает предмет. If нет - ничего не пишешь. В таких случаях ничего не появится( не произойдет) Что тебе и требуется!
Я делал у себя похожую систему в карте когда после смерти убитого Ведьмой юнита на этом месте появляется определенный предмет. Все работает превосходно. Можно с утечкой создавать на месте убитого точку и на ней предмет, потом обнулять. Можно через координаты. - тогда вообще шикардос. Но тут минимальные знания jass нужны.
3
А вообще, с чего такой вывод?
Этот эксперимент очень легко повторить, если для выпадения выставить "любой случайный предмет - разное" или "любой случайный предмет - для кампании". И ничего выпадать не будет.
У всех этих предметов в РО в параметре "Включить как случайный выбор" установлено значение "нет". Если сменить это значение на "да", то предмет будет выпадать.
Лучший, просто Лучший.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.