Циклы
|
|
Dreii | Дата: Среда, 12 Января 2011, 13:30:45 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Немогу досих пор разобраться с циклами Code local unit u=GetManipulatingUnit() local item i=GetManipulatedItem() local player p=GetOwningPlayer(u) if GetItemLevel(i) == 1 then set bj_forLoopAIndex = 1 set bj_forLoopAIndexEnd = 6 loop exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd if GetItemLevel(UnitItemInSlot(u,bj_forLoopAIndex-1)) == 1 and UnitItemInSlot(u,bj_forLoopAIndex-1) != i then call UnitRemoveItem(u,i) call DisplayTextToPlayer(p, 0, 0,"|cFFBF0000Нельзя носить больше одно предмета этого типа|r") endif set bj_forLoopAIndex = bj_forLoopAIndex + 1 endloop endif как сделать это цикл нормальным, а не этими BJ Добавлено (12-01-2011, 13:26) --------------------------------------------- Вот попробывал сам сделать Code local unit u=GetManipulatingUnit() local item it=GetManipulatedItem() local player p=GetOwningPlayer(u) local integer i=o if GetItemLevel(it) == 1 then loop exitwhen i > 6 if GetItemLevel(UnitItemInSlot(u,i-1)) == 1 and UnitItemInSlot(u,i-1) != it then call UnitRemoveItem(u,it) call DisplayTextToPlayer(p, 0, 0,"|cFFBF0000Нельзя носить больше одно предмета этого типа|r") endif set i=i+1 endloop endif правильно?Добавлено (12-01-2011, 13:30) --------------------------------------------- все всем спасибо работает ^^
|
|
|
|
Manko_O | Дата: Среда, 12 Января 2011, 13:33:18 | Сообщение # 2 |
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
| Code local integer i loop exitwhen i знак значение //действия set i = i +1 endloop
|
|
|
|
Dreii | Дата: Среда, 12 Января 2011, 13:35:03 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Manko_O, а нужно i устанавливать как 0 или не?
|
|
|
|
Manko_O | Дата: Среда, 12 Января 2011, 13:36:00 | Сообщение # 4 |
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
| Dreii, Не. Он автоматом 0 создаётся.
|
|
|
|
Dreii | Дата: Среда, 12 Января 2011, 13:36:35 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Manko_O, спс)
|
|
|
|
Faion | Дата: Суббота, 22 Января 2011, 20:55:20 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
| Так, чисто на будующее, далеко не во всех языках программирования при инициализации целочисленной переменной (int) она устанавливается = 0.
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
|
|
|
|
FkoFF | Дата: Суббота, 22 Января 2011, 21:43:52 | Сообщение # 7 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Manko_O, ага, как раз локалке надо дать значение, иначе триггер повиснет еще на экситуэне.
|
|
|
|
romaN-1998 | Дата: Суббота, 22 Января 2011, 22:18:29 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
| Manko_O, нет, на GUI по умолчанию 0, а в Jass надо устанавливать
|
|
|
|
lawson | Дата: Суббота, 22 Января 2011, 22:35:14 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Dreii Вот это да даже я знаю как с циклами работать. Хех
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Суббота, 22 Января 2011, 22:35:38 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| lawson, На дату посмотри))Я уже давно научился их юзать
|
|
|
|
lawson | Дата: Суббота, 22 Января 2011, 22:37:33 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Dreii Ого. Только сейчас об этом вопросе вспомнили?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Суббота, 22 Января 2011, 22:38:03 | Сообщение # 12 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| lawson, да хз,но очень хороший человек все мне разъяснил)
|
|
|
|
lawson | Дата: Суббота, 22 Января 2011, 22:40:31 | Сообщение # 13 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Да ладно так и понимать нечего. Я тоже не понимал посмотрел как сделал Ajacio и понял все.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Суббота, 22 Января 2011, 22:48:13 | Сообщение # 14 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Лан раз уж поднялась тема то,Code local integer i=0 local player pg=Player(5) loop exitwhen i>=3 call CreateUnit(pg,'h000',GetRectCenterX(gg_rct_MIDGood),GetRectCenterY(gg_rct_MIDGood),bj_UNIT_FACING) set i=i+1 endloop set i=0 вот вопрос таких циклов в етом триггере будет 3,нужно ли полсе каждого обнулять i?
Сообщение отредактировал Dreii - Суббота, 22 Января 2011, 22:49:37 |
|
|
|
lawson | Дата: Суббота, 22 Января 2011, 22:49:46 | Сообщение # 15 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Да вроде нет обнулять в самом конце функции.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
rixt7956 | Дата: Суббота, 22 Января 2011, 23:01:10 | Сообщение # 16 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| Dreii, да, нужно
|
|
|
|
Dreii | Дата: Суббота, 22 Января 2011, 23:01:27 | Сообщение # 17 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| rixt7956, я так и думал,спасибо)
|
|
|
|