Нельзя носить более одного меча
|
|
InvisibleCatэ | Дата: Понедельник, 16 Апреля 2012, 12:51:50 | Сообщение # 1 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Как не пробовал такое сделать, не получается. Герой просто выкидывает все предметы. В поиске тоже искал, не нашел. Дайте пожалуйста ссылку или пример.
|
|
|
|
Lucky_EleVeN | Дата: Понедельник, 16 Апреля 2012, 13:08:22 | Сообщение # 2 |
6 уровень
Группа: Проверенные
Сообщений: 201
Награды: 0
Репутация: 62
Блокировки:
| Вопрос уточни
|
|
|
|
InvisibleCatэ | Дата: Понедельник, 16 Апреля 2012, 13:09:55 | Сообщение # 3 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Quote (Lucky_EleVeN) Вопрос уточни Герой получил меч ( из двух других, например ). Если он решит собрать еще один такой, то один выкинется, ну или удалиться, а игроку вернутся деньги.
|
|
|
|
vov68 | Дата: Понедельник, 16 Апреля 2012, 13:19:40 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| я тут одному объяснил, что надо делать проверку по слотам, и если будет два одинаковых меча, то только тогда один удалить.
когда проходит событие - юнит получает предмет, то данный предмет считается уже в слоте. ПОНЯТНО!!!
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|
InvisibleCatэ | Дата: Понедельник, 16 Апреля 2012, 13:23:02 | Сообщение # 5 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Цикл A от 1 до 6 если предмет в слоте A = Мой меч то удалить предмет иначе ???
Но, как тогда у героя удалятся все мечи такого типа.
vov68, в твоем посте нету никакого смысла. Я это и так знаю, что когда юнита получил предмет, то он уже есть в слоте.
|
|
|
|
vov68 | Дата: Понедельник, 16 Апреля 2012, 13:33:00 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| Quote (InvisibleCatэ) если предмет в слоте A = Мой меч то удалить предмет не удалить, а поставить В=В+1 а перед циклом В=0, чтоб шел отсчёт всегда от нуля и после цикла, если В больше 1, то удалить меч такого-то типа.
тебе ж сказали, что меч уже в слоте... и если их два то один удаляем и возвращаем деньгу.
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
Сообщение отредактировал vov68 - Понедельник, 16 Апреля 2012, 13:34:52 |
|
|
|
InvisibleCatэ | Дата: Понедельник, 16 Апреля 2012, 13:37:07 | Сообщение # 7 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Так? Установить Int_A = 0 Цикл A от 1 до 6 если предмет у trig unit в слоте A = Меч(2) то Установить Int_A = Int_A + 1 удалить предмет в слоте A у trig unit добавить золото для владелец trig unit 1000 ? иначе ... добавить предмет Меч(2) для trig unit
|
|
|
|
vov68 | Дата: Понедельник, 16 Апреля 2012, 13:53:39 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| немного не так
установить Int_Меч=0 цикл А от 1 до 6 если предмет у манипулирующего юнита в слоте А равен по типу Меч(2) то, делай - первое - Int_Меч=Int_Меч +1 - второе - если Int_Меч больше 1, то делай - первое - удалить предмет из слота А - второе - вернуть владельцу манипулирующего юнита золото
меч уже в слоте - зачем его добавлять?
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|
InvisibleCatэ | Дата: Понедельник, 16 Апреля 2012, 15:15:53 | Сообщение # 9 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Quote (vov68) меч уже в слоте - зачем его добавлять? Потому что я все удалил, и добавил один.
Попробовал сделать так, игра зависла при подборе одного предмета. Создало около 999999999999999999 предметов.Добавлено (16 Апрель 2012, 13:58:23) --------------------------------------------- Скиньте кто-нибудь наработку пожалуйста. Добавлено (16 Апрель 2012, 15:15:53) --------------------------------------------- up.
|
|
|
|
Hexing | Дата: Понедельник, 16 Апреля 2012, 17:24:43 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| ok, let's look at jass code example: Code callback onUnitPickupItem('item') { unit u = GetTriggerUnit(); int it = GetItemTypeId(GetManipulatedItem()); item i2; int i=0; loop { i2 = UnitItemInSlot(u, i); if(i2!=i1) { if(GetItemTypeId(i2) == it) { UnitDropItem(u, i2); i=5; //break = дурной тон } } i++; exitwhen(i==6); } u = null; i2 = null; }
--лучше так--
Code callback onUnitPickupItem('item') { unit u = GetTriggerUnit(); item i2; int i=0; loop { i2 = UnitItemInSlot(u, i); if(i2!=i1) { if(GetItemTypeId(i2) == 'item') { UnitDropItem(u, i2); i=5; //break = дурной тон } } i++; exitwhen(i==6); } u = null; i2 = null; }
вместо 'item' - равкод предмета(твоего меча), требуется cjass, если нужно перепишу на jass2, гуи делать не буду, это к гуишникам
Сообщение отредактировал Hexing - Понедельник, 16 Апреля 2012, 17:26:19 |
|
|
|
Kartoha | Дата: Понедельник, 16 Апреля 2012, 17:33:31 | Сообщение # 11 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| InvisibleCatэ, если не понятен JASS код, можешь посмотреть наработку на GUI: http://rghost.ru/37613105.
|
|
|
|
InvisibleCatэ | Дата: Понедельник, 16 Апреля 2012, 19:55:52 | Сообщение # 12 |
3 уровень
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 8
Блокировки:
| Kartoha, спасибо. Единственный баг, когда предмет собираешь несколько раз подряд, то бывает по два остаются.
|
|
|
|
Kartoha | Дата: Понедельник, 16 Апреля 2012, 22:08:13 | Сообщение # 13 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| InvisibleCatэ, странно, у меня нет такого бага. Дай ка скрин этого триггера со своей карты. Или у тебя баг в моей?
|
|
|
|
Rez23 | Дата: Вторник, 17 Апреля 2012, 15:02:16 | Сообщение # 14 |
1 уровень
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Блокировки:
| Подскажите пожалуйста триггер, чтобы герой мог таскать с собой только одно оружие, и если он пытается подобрать что-то другое, была бы ошибка мол у героя уже есть оружие или как то так)
|
|
|
|