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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » СОюз
СОюз
DreiiДата: Среда, 08 Декабря 2010, 22:23:22 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Как можно всех игроков сделать друг другу противниками. при этом не делая ооооооооооооооооооооооооооочень длинный триггер?

 

‡Flash‡Дата: Среда, 08 Декабря 2010, 22:30:59 | Сообщение # 2
3 уровень
Группа: Проверенные
Сообщений: 62
Награды: 0
Репутация: 79
Блокировки:
Сценарий-Свойство Клана и ставь для каждого игрока свой клан..
P.S.
Не ооооооооочень длинно???


Ты должен сделать добро из зла,потому что его больше не из чего сделать.
Р.П.Уоррен
 

EdiTTORRДата: Среда, 08 Декабря 2010, 22:55:46 | Сообщение # 3
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Dreii,


Местами здесь.


Сообщение отредактировал EdiTTORR - Среда, 08 Декабря 2010, 22:56:37
 

KartohaДата: Среда, 08 Декабря 2010, 23:18:44 | Сообщение # 4
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Dreii, все игроки стандартно друг другу противники, если не ставить галочку в
Сценарий --> Свойства кланов --> Союзник
 

BinGOДата: Четверг, 09 Декабря 2010, 04:59:58 | Сообщение # 5
Группа: Модераторы
Сообщений: 2906
Награды: 8
Блокировки:
Лучше собственную БЖ на основе нэйтивок написать.
 

DreiiДата: Четверг, 09 Декабря 2010, 11:16:11 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (EdiTTORR)
function AllVsAll takes nothing returns nothing local integer i=0 local integer a=0 loop exitwhen i>11 set a=0 loop exitwhen a>11 call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(0),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(1),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(2),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(3),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(4),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(5),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(6),false) call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(7),false) set a=a+1 endloop set i=i+1 endloop endfunction

Это на всех 12 игроков?


 

SirNikolasДата: Четверг, 09 Декабря 2010, 15:35:02 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Dreii, да. EdiTTORR, лучше использовать константы, чем вызывать (12 * 12 * 7) = 1008 раз конвертирование альянса. Или, хотя бы, запихнуть это в цикл.



Сообщение отредактировал SirNikolas - Четверг, 09 Декабря 2010, 15:35:51
 

DreiiДата: Четверг, 09 Декабря 2010, 17:03:34 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Code
function Trig_AllVsAll_Actions takes nothing returns nothing
local integer i=0  
local integer a=0  
loop  
exitwhen i>11  
set a=0  
loop  
exitwhen a>11  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(0),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(1),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(2),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(3),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(4),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(5),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(6),false)  
call SetPlayerAlliance(Player(i),Player(a),ConvertAllianceType(7),false)  
set a=a+1  
endloop  
set i=i+1  
endloop  
endfunction

//===========================================================================
function InitTrig_AllVsAll takes nothing returns nothing
     set gg_trg_AllVsAll = CreateTrigger(  )
     call TriggerRegisterPlayerChatEvent( gg_trg_AllVsAll, Player(0), "-ffa", true )
     call TriggerAddAction( gg_trg_AllVsAll, function Trig_AllVsAll_Actions )
endfunction

Так будет работать?

Добавлено (09-12-2010, 17:03)
---------------------------------------------
Так, вроде работает, но когда я включаю триггер, то я не могу управлять своей армией)


 

EdiTTORRДата: Четверг, 09 Декабря 2010, 18:42:05 | Сообщение # 9
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
SirNikolas, ты прав. Dreii, модифицировал, теперь не будет этого бага.
Code
function TrigAllVsAllAct takes nothing returns nothing
local integer i=0
local integer a=0
loop
exitwhen i>11
set a=0
loop
exitwhen a>11
if i!=a then
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_PASSIVE,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_HELP_REQUEST,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_HELP_RESPONSE,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_SHARED_XP,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_SHARED_SPELLS,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_SHARED_VISION,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_SHARED_CONTROL ,false)
call SetPlayerAlliance(Player(i),Player(a),ALLIANCE_SHARED_ADVANCED_CONTROL,false)
endif
set a=a+1
endloop
endif
set i=i+1
endloop
endfunction
function InitTrig_AllVsAll takes nothing returns nothing
set gg_trg_AllVsAll=CreateTrigger()
call TriggerRegisterPlayerChatEvent( gg_trg_AllVsAll,Player(0),"-ffa",true)
call TriggerAddAction(gg_trg_AllVsAll,function TrgAllVsAllAct)
endfunction


Местами здесь.


Сообщение отредактировал EdiTTORR - Четверг, 09 Декабря 2010, 18:53:42
 

DreiiДата: Четверг, 09 Декабря 2010, 21:03:59 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
EdiTTORR, спасибо уже который раз выручаешь))

 

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

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