Сейчас 07:30:08 Среда, 17 августа, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] В чём ошибка? Код не работает.
[Вопрос] В чём ошибка? Код не работает.
ctpaxmДата: Понедельник, 28 Мая 2012, 02:11:11 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 418
Награды: 0
Репутация: 60
Блокировки:

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


Dead Girls can't say NOT!
Делаю свой ORPG проект, нужны триггерщики(JASS-еры) и идейщики...
Все подробности в ЛС


Сообщение отредактировал ctpaxm - Понедельник, 28 Мая 2012, 02:16:11
 

Ty3uKДата: Понедельник, 28 Мая 2012, 07:47:21 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
поставь игрок 14

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Понедельник, 28 Мая 2012, 10:44:35 | Сообщение # 3
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (ctpaxm)
Code
function Trig_ovcisp_Actions takes nothing returns nothing
    local integer i = 12
    set i = i - 1
    if  i == 0 then
        loop
            exitwhen i == 12
            call CreateUnitAtLoc(Player(15), 'nshe', GetRandomLocInRect(gg_rct_ovci), 0.00)
            set i = i + 1
        endloop
    endif
endfunction
Разбираем пошагово. Создается переменная, равная 12. Уменьшается на один (i = 11). Сравнивается с нулем (11 != 0). Все действия внутри блока пропускаются.


 

DreiiДата: Понедельник, 28 Мая 2012, 17:54:01 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Code
      local integer i = 12  
       set i = i - 1  
    

Вотафак?
Непозволяет национальность сделать так?
Code
local integer = 11

Code
if  i == 0 then  
           loop  
               exitwhen i == 12  
               call CreateUnitAtLoc(Player(15), 'nshe', GetRandomLocInRect(gg_rct_ovci), 0.00)  
               set i = i + 1  
           endloop  
       endif

О боже....
if i==0 у тебя i=11 цикл не запускается.
далее....

Code
call CreateUnitAtLoc(Player(15), 'nshe', GetRandomLocInRect(gg_rct_ovci), 0.00)

БЖ раскрой

Code


              function Trig_ovcisp_Conditions takes nothing returns boolean  
       if ( not ( GetUnitTypeId(GetDyingUnit()) == 'nshe' ) ) then  
           return false  
       endif  
       return true  
  endfunction


в

Code
function Trig_ovcisp_Conditions takes nothing returns boolean  
return  GetUnitTypeId(GetDyingUnit()) == 'nshe'  
  endfunction


 

ctpaxmДата: Понедельник, 28 Мая 2012, 23:45:43 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 418
Награды: 0
Репутация: 60
Блокировки:
Спасибо, со своей ошибкой разобрался, но новый вопрос: зачем условие писать в отдельной функцие?

Dead Girls can't say NOT!
Делаю свой ORPG проект, нужны триггерщики(JASS-еры) и идейщики...
Все подробности в ЛС
 

DragoNДата: Вторник, 29 Мая 2012, 00:23:03 | Сообщение # 6
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
потому что у нас совершенно внезапно есть такая конструкция
Quote (ctpaxm)

call TriggerAddCondition( gg_trg_ovcisp, Condition( function Trig_ovcisp_Conditions ) )


El Psy Congroo
 

Ty3uKДата: Вторник, 29 Мая 2012, 08:41:19 | Сообщение # 7
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
будь тру почоном и совмещаймусловие и действия. режешь один поток

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

ctpaxmДата: Вторник, 29 Мая 2012, 13:48:24 | Сообщение # 8
7 уровень
Группа: Проверенные
Сообщений: 418
Награды: 0
Репутация: 60
Блокировки:
DragoN, я имел ввиду для If ()... зачем писать условие для if в отдельной функции?
Ty3uK, нефига не понял...


Dead Girls can't say NOT!
Делаю свой ORPG проект, нужны триггерщики(JASS-еры) и идейщики...
Все подробности в ЛС
 

Ty3uKДата: Вторник, 29 Мая 2012, 13:58:51 | Сообщение # 9
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
можно функцию действия не лепить, а совместить ее с функцией условия, так ты срежешь лишний поток. но с другой стороны, оно тебе надо?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Вторник, 29 Мая 2012, 14:55:18 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (Ty3uK)
можно функцию действия не лепить, а совместить ее с функцией условия, так ты срежешь лишний поток. но с другой стороны, оно тебе надо?


Тогда уж вообще не юзать ни кондишн, ни экшн, а прям в ините триггера фигачить код :D


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

SirNikolasДата: Вторник, 29 Мая 2012, 15:37:42 | Сообщение # 11
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
А как ты события будешь ловить?

 

FaionДата: Вторник, 29 Мая 2012, 15:46:21 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
void Init()
{
trigeer trig = CreateTrigger();
//эвент
if (!cond)
{
trig = null;
return;
}
//код
trig = null;
}

Не проверял, но вроде должно работать.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

SirNikolasДата: Среда, 30 Мая 2012, 08:53:07 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Не улавливаю мысль. Можно более конкретно? В том месте, где написано "ивент", ты предлагаешь "спать", пока не произойдет нужное событие?

 

FaionДата: Четверг, 31 Мая 2012, 18:53:20 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
SirNikolas, короче с работы приду, проверю свою идею, если будет пахать, скину код:)

Добавлено (31 Май 2012, 18:53:20)
---------------------------------------------
Бтв, проверил, не робит зараза:)


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Четверг, 31 Мая 2012, 19:45:24 | Сообщение # 15
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
короче, как я и сказал - мержим действия с кондом :) самый оптимальный вариант

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] В чём ошибка? Код не работает.
  • Страница 1 из 1
  • 1
Поиск:

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