Всем привет. Начну с далёкого, вот оказался я по воле своей далеко от дома, примерно за 10 000 км. И от скуки решил вспомнить старое, и взяв свой печальный ноутбук, который тянет только варик и кс 1.6 и начал пилить рпг карту, но познания мои в jass и его ответвлениях близки к нулю. Но я не сдаюсь и потихоньку творю... все равно до декабря месяца много времени свободного после работы.
Собственно вопрос: можно ли как то быстро создать копию главного героя? То есть что бы докачался я до 30 уровня, зашёл в портал и там меня встречает абсолютно идентичный герой , но противник. Я как понимаю, надо занести все характеристики, и класс (воин, друид, и т.д.) и вещи в слотах инвентаря впеременные, а потом их вытащить оттуда и создать героя? Или есть вариант попроще? И есть ли какие-нибудь учебники cJass которые раскладывают всё по полочкам для новичков? Статьи читал на сайте, но не хватает примеров кода, и практики. Ну или я тупорез просто )))

Принятый ответ

Уровень = Уровню героя. Характеристики = Характеристикам героя. Цикл 6-разовый на каждый слот дающий предмет герою. Уровни способностей равные уровню способностей героя. Героя, в смысле твоего героя. Ну еще создать юнита типа твоего героя. Что-то еще? Если он где-то в переменных для пассивок, то с ними тоже по колдовать и все.
Будет только одна проблема, если ты книги атаки на его юзал то их никак не засеч без геморроя. А так все в виде целочисленных на твоем герое записано.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
12
8 лет назад
0
А что сложного в том, чтобы создать героя такого же класса, с таким же именем и таким же набором предметов и скиллов? Для этого не то что JASS, даже переменные не нужны, только 10-12 функций GUI'шных :/
0
20
8 лет назад
0
Int3r_Karma, а каким образом взять информацию о герое которым я управляю и все его показатели в момент входа в портал? Еще и без переменных.
0
12
8 лет назад
0
Уровень = Уровню героя. Характеристики = Характеристикам героя. Цикл 6-разовый на каждый слот дающий предмет герою. Уровни способностей равные уровню способностей героя. Героя, в смысле твоего героя. Ну еще создать юнита типа твоего героя. Что-то еще? Если он где-то в переменных для пассивок, то с ними тоже по колдовать и все.
Будет только одна проблема, если ты книги атаки на его юзал то их никак не засеч без геморроя. А так все в виде целочисленных на твоем герое записано.
Принятый ответ
0
20
8 лет назад
0
Zhan10, вечером попробую, благодарю за ответы
0
20
8 лет назад
0
Karp1989:
Zhan10, вечером попробую, благодарю за ответы
он сказал хрень, потому что данные о способностях без базы данных не снять
0
18
8 лет назад
0
ssbbssc, почему не снять? Можно сделать проверку герою на наличие способности (если есть, то дать способность копии). А потом проверку на уровень способности: установить уровень нужной способности для копии равным уровню способности героя.
Set level of ability (способности копии) = level of ability (способности героя).
Zhan10, а для книг - при использовании книги записать это в целочисленную переменную, а потом дать столько же книг нужного типа копии (или сразу дать, если копия уже есть в карте, что проще).
2
28
8 лет назад
2
Maniac_91, это и есть бд
0
18
8 лет назад
0
nvc123, насчёт переменных - да.
А если установить уровень способности, сделав его равным уровню способности другого героя или сразу же дать книгу - это же без БД. Такой вариант делается проще, и карта немного меньше весить будет, так как пропускаются действия записи в базу и копирования оттуда.
0
28
8 лет назад
0
Maniac_91, всеравно надо бд всех возможных абилок героя
чтобы знать наличие и лвл каких способностей проверять
если 20 героев по 5 абилок каждый то это уже 100 абилок в бд надо
0
18
8 лет назад
0
nvc123, согласен, если у героя набор способностей не установлен в РО, а добавляется триггерно, и этих способностей много. Тогда, возможно, перебор займёт больше времени, чем чтение из базы.
А если в РО у юнита конкретно определены все способности, то без БД нужно проверить сначала тип героя, потом наличие способностей, а потом их уровни. Или ещё проще - при изучении/улучшении способности, получении книги сразу же давать аналог копии, что исключит торможение при копировании сразу всех данных.
Не буду спорить, у всех способов есть и плюсы и минусы - смотря в какой ситуации использовать)
0
28
8 лет назад
0
какая разница в ро или нет
бд от этого не меняется вообще никак
тот вариант что ты предложил для ро полный бред
ибо в резултате у тебя получается куча ифов(количество героев*количество способностей у героя)
я не знаю кем надо быть чтобы прописывать все эти ифы
у нормального человека от этого руки могут отвалиться(тех у кого руки из жопы это не касается, ягодицы сжал поплотнее и нет проблем)
если предлагаешь вариант то он должен быть лучше предыдущих
это Q/A а не конкурс "самое дебильное решение 2016"
0
18
8 лет назад
Отредактирован Maniac_91
0
nvc123, так я ж говорю: для каждой ситуации свой способ хорош: если герой один, то подойдут проверки тех же пяти способностей IF-ом, а если героев и способностей много - то БД.
Копирование способностей сразу же после изучения и улучшения, на мой взгляд, самый лучший вариант. Его я и предлагаю
0
20
8 лет назад
0
Спасибо за комменты, я буду пробовать пока без БД так как все способности строго через РО. Как писал товарищ nvc123. Только пока немного не понял, каким способом в гуи снять данные моего героя. Например: при поднятии уровня, заносим его в переменную, тоже самое делаем с способностями, и характеристиками, и слотами инвентаря при поднятии вещей. И потом просто устанавливаем их из переменных только что созданному герою?
Или вообще взять за основу готовую сэйв/лоад систему, она по сути делает то же самое, и вызывать функцию загрузки персонажа с кодом который сохранять в буфер, или в jass нельзя в буфере данные сохранять? Тогда вносить их в переменную строку и оттуда вытаскивать.
Пока получается всё, кроме пары вещей, как в переменную через гуи занести урон героя и его здоровье. И потом соответственно из переменной вытащить.
0
28
8 лет назад
0
Maniac_91, какая нафиг разница сколько героев
вариант с бд лучше в любом случае
исключение лишь если у тебя 1 герой с 1 способностью
если способностей больше 1 то надо делать бд
0
20
8 лет назад
0
nvc123, мне кажется, можно не спорить уже, так как я уже почти всё сделал. Осталось только с одним вопросом разобраться. При создании копии первая моментально умирает, активируешь еще раз триггер и появляется нормальная копия. В чем может быть проблема.?
0
28
8 лет назад
0
Karp1989, телепатов тут нету
делай дебаг и скрины в студию
0
20
8 лет назад
0
Всё, нашёл ошибку. Благодарю за внимание.
Загруженные файлы
0
28
8 лет назад
0
Karp1989, поменяй порядок действий
у тебя сначала даются хп, потом статы а лишь потом предметы
в результате герой сначала получит все статы(включая бонусы) а потом ещё + от предметов
и в результате станет сильнее чем оригинальный герой
Чтобы оставить комментарий, пожалуйста, войдите на сайт.