Сейчас 15:04:28 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Трабл с предметами,а вернее с их количеством^^
NationalisTДата: Среда, 06 Июля 2011, 03:26:31 | Сообщение # 1
3 уровень
Группа: Проверенные
Сообщений: 74
Награды: 0
Репутация: 19
Блокировки:
Здравствуйте!

Возможно,вопрос нубский,однако два часа по триггерам лазил - ответа не нашел.

Как сделать,что бы герой мог носить только 1 предмет из определенного класса предметов (постоянные,артефакты итп) ? Никак не могу сослаться на то,что предмет данного класса уже имеется у покупающего героя = ( А создавать кучу триггеров и условий персонально под каждый предмет - слишком геморно...

Если не трудно,изложите этот чудо-триггер(ы) поподробней). Зарание благодарю за помощь:).


Сообщение отредактировал NationalisT - Среда, 06 Июля 2011, 03:27:03
 

FkoFFДата: Среда, 06 Июля 2011, 04:14:21 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
циклом проверяй,

for A from 1 to 6
if itemgroupofiteminslot(u,A) == artefact and iteminslot(u,A) != i then
call Drop(i)
endif
set A=A+1
endloop


 

lawsonДата: Среда, 06 Июля 2011, 15:46:45 | Сообщение # 3
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ну вот а раньше меня ругали, типа иди ты со своим жассом все равно ни чего не понятно.

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

DeadJassДата: Среда, 06 Июля 2011, 15:48:08 | Сообщение # 4
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
FkoFF, ну ты бы ему еще кастумки выложил и сказал как импортировать то мб он понял.
NationalisT, Тебе нужно обязательно по классам?может по уровням предметов?Если по уровням у меня есть наработка.Jass офк



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

NationalisTДата: Четверг, 07 Июля 2011, 04:03:59 | Сообщение # 5
3 уровень
Группа: Проверенные
Сообщений: 74
Награды: 0
Репутация: 19
Блокировки:
FkoFF, Единственное,что могу сказать - это "эээ" )),но все равно спасибо).
DeadJass, ммм,по уровням даже было бы лучше,наверно...Можно нароботочку?:).
 

FkoFFДата: Четверг, 07 Июля 2011, 04:36:12 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (lawson)
Ну вот а раньше меня ругали, типа иди ты со своим жассом все равно ни чего не понятно.

Quote (DeadJass)
FkoFF, ну ты бы ему еще кастумки выложил и сказал как импортировать то мб он понял.

суть как бы лишь в смысле описания
Quote (NationalisT)
FkoFF, Единственное,что могу сказать - это "эээ" )),но все равно спасибо).

тоесть слово Drop для тебя не переводится как "выбросить", loop A from 1 to 6 ты тоже не понимаешь как "цикл от 1 до 6" а сравнение группы предмета в слоте по индексу цикла с поднятым предметом ты тоже не понимаешь?


 

NationalisTДата: Четверг, 07 Июля 2011, 19:59:01 | Сообщение # 7
3 уровень
Группа: Проверенные
Сообщений: 74
Награды: 0
Репутация: 19
Блокировки:
FkoFF, Нет, перевести это одно и, достаточно простое дело,а вот воплотить - это для меня и есть,то самое "эээ" ...

Добавлено (07-07-2011, 19:59)
---------------------------------------------
Но,все равно благодарю,попробую что-нибудь наколдовать, исходя из того,что ты написал.

 

DeadJassДата: Четверг, 07 Июля 2011, 20:25:54 | Сообщение # 8
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
NationalisT,
Code
void NotTwoitem(unit u,item i,player p,int lvl)
{
int id=0
if GetItemLevel(i) == lvl
{
        whilenot id>6
        {
            if GetItemLevel(UnitItemInSlot(u,id-1)) == lvl and UnitItemInSlot(u,id-1) != i
        {
           SetItemDropID(i, GetUnitTypeId(u))
           CreateItem(GetItemTypeId(i),GetWidgetX(u),GetWidgetY(u))
           DisplayTextToPlayer(p,0,0,"|cFFBF0000Нельзя  носить больше одного предмета этого типа|r")
         }
        id++
        }
        }
u=null
i=null
p=null
}

Вот сама ф-ия
вызывать ее вот так.

unit u=GetTriggerUnit()
item i=GetManipulatedItem()
player p=GetOwningPlayer(u)

NotTwoitem(u,i,p,1)

где u - юнит который взял предмет
i - предмет который взяли
p - игрок который взял предмет
1 - уровень предмета(Например нельзя носаить 2 меча а уровни у них 2,то вместо 1 ставим 2)



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения


Сообщение отредактировал DeadJass - Четверг, 07 Июля 2011, 23:45:50
 

DragoNДата: Четверг, 07 Июля 2011, 23:37:26 | Сообщение # 9
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (DeadJass)
u=null
i=null
p=null

flush locals
я круче fuckyeah


El Psy Congroo
 

DeadJassДата: Четверг, 07 Июля 2011, 23:45:40 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
DragoN, ОО что заверьь?

Добавлено (07-07-2011, 23:45)
---------------------------------------------
З.Ы Замени

Code
UnitRemoveItem
на:
Code
SetItemDropID(i, GetUnitTypeId(u))
CreateItem(GetItemTypeId(i),GetWidgetX(u),GetWidgetY(u))


что бы итем кидался на землю



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

NationalisTДата: Пятница, 08 Июля 2011, 01:19:44 | Сообщение # 11
3 уровень
Группа: Проверенные
Сообщений: 74
Награды: 0
Репутация: 19
Блокировки:
DeadJass, Ок,благодарю),осталось только изучить основы jass'a ^^ Ну в принципе,давно собирался)

Закрывайте тему.
 

DragoNДата: Пятница, 08 Июля 2011, 13:09:21 | Сообщение # 12
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (DeadJass)
DragoN, ОО что заверьь?

автообнуление локалок, кури мануал
и если юзаешь cJass, то выжимай из него всё возможное


El Psy Congroo
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz