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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Ф-ия победы
Ф-ия победы
DeadJassДата: Вторник, 14 Июня 2011, 11:52:32 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Code
                     if kill[idpk]==score {
                    whilenot i>11 {
                  
                 CustomVictoryBJ(pk,true,true )
                 CustomDefeatBJ(Player(i), "Вы проиграли!" )
    i++
}


Суть когда переменаная kill[idpk]==score то для плеера pk(Владелец убивающего юнита) Будет сообщение о победе.
Для других Проигрыш
idpk=Номер игрока владельца убивающего юнита
Code
GetPlayerId(GetOwningPlayer(GetKillingUnit())

так вот в игре ничего не происходит. Цикл стоит в уонце триггера.



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

SirNikolasДата: Вторник, 14 Июня 2011, 12:07:58 | Сообщение # 2
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (DeadJass)
CustomVictoryBJ(pk,true,true )
Зачем это в цикле?


 

DeadJassДата: Вторник, 14 Июня 2011, 12:10:21 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, не знаю.....само както. Сейчас протестируем


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

SPtrueДата: Вторник, 14 Июня 2011, 12:32:15 | Сообщение # 4
Mí alegre
Группа: Проверенные
Сообщений: 2732
Награды: 2
Репутация: 692
Блокировки:
:D сделал?)
 

DeadJassДата: Вторник, 14 Июня 2011, 13:37:42 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, всеравно игрок набивает 35 убийств а победы нету =\

Добавлено (14-06-2011, 13:37)
---------------------------------------------
Эта ф-ия не работает если стоит в конце триггера. А если стоит в начале,то прерывает все действия



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

SirNikolasДата: Вторник, 14 Июня 2011, 13:54:19 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (DeadJass)
if kill[idpk]==score {
Может, >=?
Кстати, в том куске кода две открывающиеся скобки и одна закрывающаяся.


 

DeadJassДата: Вторник, 14 Июня 2011, 14:26:47 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, там ниже еще есть.
могу дать полный триггер где это стоит

Добавлено (14-06-2011, 14:26)
---------------------------------------------

Добавлено (14-06-2011, 14:26)
---------------------------------------------
действия после цикла тупо игнорятся



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

SirNikolasДата: Вторник, 14 Июня 2011, 14:41:06 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
А ты не мог бы нормально это отформатировать? Я не пойму, где закрывается этот блок?
Quote (DeadJass)
if IsUnitType( d, UNIT_TYPE_HERO ) {


 

DeadJassДата: Вторник, 14 Июня 2011, 14:54:42 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, сейчас через прогу прогоню

Добавлено (14-06-2011, 14:54)
---------------------------------------------




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

SirNikolasДата: Вторник, 14 Июня 2011, 15:02:40 | Сообщение # 10
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Очевидно, прога не поддерживает cJASS. Придется вручную.

 

DeadJassДата: Вторник, 14 Июня 2011, 23:31:00 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, блок ифа кончается пред k=null

Добавлено (14-06-2011, 16:53)
---------------------------------------------
эх,что никто не знает?

Добавлено (14-06-2011, 18:13)
---------------------------------------------
поставлю вопрос по другому как сделать чтобы при достижении kill[idpk] == score игрок
выигрывал а оставльные проигрывали

Добавлено (14-06-2011, 18:50)
---------------------------------------------
Клоз тему

Добавлено (14-06-2011, 23:31)
---------------------------------------------
ДА что ж такое.

Code
void Trig_WinsKills_Actions() {
int i=0
player p
whilenot i>11 {
if kill[i]==score {  
CustomVictoryBJ(Player(i),true,true )  
p=Player(i)
i++
}
i=0
whilenot i>11 {      
if p!=Player(i) {               
CustomDefeatBJ(Player(i), "Вы проиграли!" )  
}
i++  
  }
  }
  }
//===========================================================================
void InitTrig_WinsKills() {
gg_trg_WinsKills = CreateTrigger(  )
TriggerRegisterTimerEvent(gg_trg_WinsKills,.04,true)
TriggerAddAction( gg_trg_WinsKills, function Trig_WinsKills_Actions )
}

не работает савсем савсем=\



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

adigaДата: Четверг, 16 Июня 2011, 01:17:17 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
гуи те в помощь не плавь себе мозги

триггеринг 439/450
спеллкрафт 447/450
картокрафт 427/450
ландшафтинг 189/450
фастмэйкинг 225/225
иконкрафтинг 310/450
импортинг 110/450
самооценкинг 450/450
 

SirNikolasДата: Четверг, 16 Июня 2011, 19:49:33 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (DeadJass)
kill[i]==score
Может, переменные не инициализированы?
Code
scope InitKillScore initializer Init {
     private void Init() {
         int i = 0
         do {
             kill[i] = 0
             exitwhen i == 15
             i++
         }
         score = 0
     }
}
Quote (DeadJass)
if kill[i]==score {
CustomVictoryBJ(Player(i),true,true )
p=Player(i)
i++
}
Code
if kill[i] == score {
     p = Player(i)
     CustomVictoryBJ(p, true, true)
     break
     i++
}




Сообщение отредактировал SirNikolas - Четверг, 16 Июня 2011, 19:51:38
 

lawsonДата: Четверг, 16 Июня 2011, 21:05:02 | Сообщение # 14
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (adiga)
гуи те в помощь не плавь себе мозги



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


Сообщение отредактировал lawson - Четверг, 16 Июня 2011, 21:09:05
 

DeadJassДата: Четверг, 16 Июня 2011, 21:23:09 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, можно же сразу ?
Code
whilenot i>15  
{
kills[i]=0?



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

SirNikolasДата: Пятница, 17 Июня 2011, 09:28:27 | Сообщение # 16
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Code
do {
     kill[i] = 0
     exitwhen i == 15
     i++
}
Транслируется в
Code
loop
     set kill[i] = 0
     exitwhen i == 15
     set i = i + 1
endloop
Quote (DeadJass)
whilenot i>15
{
kills[i++]=0
}
Code
loop
     exitwhen i > 15
     set kills[i] = 0
     set i = i + 1
endloop
Лишние действия.


 

DeadJassДата: Пятница, 17 Июня 2011, 18:57:43 | Сообщение # 17
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
SirNikolas, всеравно получается для игрока 1 срабатывает =\

Добавлено (17-06-2011, 18:57)
---------------------------------------------
Это срабатывает только на одного игрока красного. Токестьесли карсный наберет килл == скоре то все окесли кто то другой тоничсео



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

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Ф-ия победы
  • Страница 1 из 1
  • 1
Поиск:

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