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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Проблемы с JASS
lawsonДата: Пятница, 07 Января 2011, 20:29:12 | Сообщение # 1
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Я сделал триг в котором все герои принадлежащие компам должны двигатьсяв указанные области но почему - то реагирует только один компьютер из двух.
Code
function moveSen takes nothing returns nothing
local integer i = 0
local integer get
loop  
exitwhen (i == 10)
set get = GetRandomInt(1, 2)
if (GetPlayerController(GetOwningPlayer(udg_bot[i])) == MAP_CONTROL_COMPUTER) then
if (get == 1) then
call IssuePointOrderLoc(udg_bot[i], "attack", GetRectCenter(gg_rct_HeroAttackSenCenter))
endif
if (get == 2) then
call IssuePointOrderLoc(udg_bot[i], "attack", GetRectCenter(gg_rct_HeroAttackSenRigth))
endif
set i = i + 1
endif
call DisplayTextToForce(GetPlayersAll(), I2S(i))
endloop
endfunction

function Trig_AI_Move_Actions takes nothing returns nothing
     call moveSen()
endfunction

//===========================================================================
function InitTrig_AI_Move takes nothing returns nothing
     set gg_trg_AI_Move = CreateTrigger(  )
     call TriggerRegisterTimerEventSingle( gg_trg_AI_Move, 37.00 )
     call TriggerAddAction( gg_trg_AI_Move, function Trig_AI_Move_Actions )
endfunction

а здесь задаю udg_bot[i]
Code
loop  
exitwhen (i == 10)
if (GetPlayerController(GetOwningPlayer(u)) == MAP_CONTROL_COMPUTER) then
set udg_bot[i] = u
endif
set i = i + 1
endloop
где u = GetEnteringUnit() а i integer


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

DreiiДата: Пятница, 07 Января 2011, 20:37:38 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (lawson)
set get = GetRandomInt(1, 2)


 

FkoFFДата: Пятница, 07 Января 2011, 20:39:01 | Сообщение # 3
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Мне кажется или ты намудрил в переменной udg_boty которая априори у тебя будет равна или 1 или 2, хотя их раскидывается 10 шт, причем, по всей видимости, одному юниту. Выложи полностью триггер создания базы данных.

 

lawsonДата: Пятница, 07 Января 2011, 20:53:17 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Создание юнита в тругом триге но в том просто ни чего не может быть не правильного так как там нет ни каких ссылок на переменные
я думаю проблема в триге в котором я (при появлении героя в области) регистрирую его тоже с помощью loop
вот код
Code
function Trig_gg_Actions takes nothing returns nothing
local integer i = 1
local unit u = GetEnteringUnit()
loop exitwhen (i == 10)
if (GetPlayerController(GetOwningPlayer(u)) == MAP_CONTROL_COMPUTER) then
set udg_bot[i] = u
endif
set i = i + 1
endloop
endfunction

//===========================================================================
function InitTrig_gg takes nothing returns nothing
     set gg_trg_gg = CreateTrigger(  )
     call TriggerRegisterEnterRectSimple( gg_trg_gg, gg_rct_BaseCenterScor )
     call TriggerRegisterEnterRectSimple( gg_trg_gg, gg_rct_BaseCenterSen )
     call TriggerAddAction( gg_trg_gg, function Trig_gg_Actions )
endfunction

Добавлено (07-01-2011, 20:46)
---------------------------------------------
Замечание: бежит всегда только последний созданный герой!

Добавлено (07-01-2011, 20:53)
---------------------------------------------
ВСе сделал вот я дурак забыл что при вызове функции еще раз локальные обновляються а я поставил тут integer i = 0 и он последнему герою который вызывал эту функцию и давал номер 0 хех


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

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

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