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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » в Этой теме отвечаю на вопросы по триггерам. (Спрашивайте буду стараться отвечать быстро.)
в Этой теме отвечаю на вопросы по триггерам.
adigaДата: Суббота, 12 Марта 2011, 22:19:29 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
Желательно говорите что хотите сделать, а я скажу как именно и как проще это реализовать. А то есть такие люди которые втрое дольше и сложнее делают то что можно сделать в 3 строчки треггера )

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

[DUОS]Дата: Суббота, 12 Марта 2011, 22:27:23 | Сообщение # 2
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Эта тема нарушает правила данного раздела.

НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

DreiiДата: Суббота, 12 Марта 2011, 22:27:40 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
adiga,
Code
function Trig_Revive_Hero_Taimer takes nothing returns nothing   
         local timer t=GetExpiredTimer()   
         local integer ID=GetHandleId(t)   
         local unit u=LoadUnitHandle(udg_Hash,ID,0)   
         local player p=GetOwningPlayer(u)  
         local timerdialog w=LoadTimerDialogHandle(udg_Hash,ID,2)  
         //Воскрешает героя в стартовой локации,можно менять  
         call ReviveHero(u,GetStartLocationX(GetPlayerStartLocation(p)),GetStartLocationY(GetPlayerStartLocation(p)),true )   
         if GetLocalPlayer()==GetOwningPlayer(u)then   
         call PanCameraTo(GetUnitX(u),GetUnitY(u))  
         endif   
         call PauseTimer(t)   
         call DestroyTimer(t)   
         call DestroyTimerDialog(w)   
         call FlushChildHashtable(udg_Hash,ID)  
         set t=null   
         set u=null  
         set p=null  
         set w=null  
endfunction   
function Trig_Revive_Hero_Actions takes nothing returns nothing   
local timer t  
local integer ID  
local timerdialog w   
local unit u=GetTriggerUnit()  
if IsUnitType(u,UNIT_TYPE_HERO)==true then  
set t=CreateTimer()    
set ID=GetHandleId(t)   
set w=CreateTimerDialog(t)   
//Создает окно таймера в котором будет написанно имя игрока владельца умершего героя  
call TimerDialogSetTitle(w,GetPlayerName(GetOwningPlayer(u)))   
call TimerDialogDisplay(w,true)   
call SaveUnitHandle(udg_Hash,ID,0,u)   
call SaveTimerDialogHandle(udg_Hash,ID,2,w)   
//Запускает таймер,GetHeroLevel(u)*3. время через которое возродиться наш герой.  
call TimerStart(t,GetHeroLevel(u)*3.,true,function Trig_Revive_Hero_Taimer)   
set t=null  
set w=null   
endif  
set u=null  
endfunction   
function InitTrig_Revive_Hero takes nothing returns nothing   
local integer i=0   
local trigger trig=CreateTrigger()   
         loop   
             call TriggerRegisterPlayerUnitEvent(trig,Player(i),EVENT_PLAYER_UNIT_DEATH,null)   
             set i=i+1   
             exitwhen i==11  
         endloop   
         call TriggerAddAction(trig,function Trig_Revive_Hero_Actions)   
         set trig=null   
endfunction

как можно упростить?((


 

lawsonДата: Суббота, 12 Марта 2011, 22:34:23 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Dreii,
Кстати в твеой наработке не легче сделать сразу при событии уловие что TriggerUnit() = UNIT_TYPE_HERO чтоб потом в действии это не требовалось.


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


Сообщение отредактировал lawson - Суббота, 12 Марта 2011, 22:36:12
 

DreiiДата: Суббота, 12 Марта 2011, 22:36:22 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
lawson, хз)))Я потом посмотрю... пооооооооооотом

Добавлено (12-03-2011, 22:36)
---------------------------------------------
lawson, да сделаю событие отдельной ф-ией


 

lawsonДата: Суббота, 12 Марта 2011, 22:36:44 | Сообщение # 6
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Dreii)
как можно упростить?((

Обнулени выкини твой тригер на пол кило похудеет. :)


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

DreiiДата: Суббота, 12 Марта 2011, 22:40:33 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
lawson, нее))Оптмимизация это все!

 

adigaДата: Суббота, 12 Марта 2011, 22:48:33 | Сообщение # 8
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
Dreii, скажи что ты хочешь сделать и я скажу как проще чем всякую хрень в джасе расписывать

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

ZabeiДата: Суббота, 12 Марта 2011, 22:49:10 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 479
Награды: 0
Репутация: 125
Блокировки:
adiga, здравствуй! Очень большие минусы
1.
Quote (DUOS)
Эта тема нарушает правила данного раздела.

2.Все равно обломишься уже завтра с вопросами
3.слишком льстишь себе(в подписи и названии этой темы)
4.Спицаааально не отписываешься чтобы не заработать дофега минусов!
Всё[
 

adigaДата: Суббота, 12 Марта 2011, 22:49:46 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
это как я понял что-то типа ревайва по таймеру?

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

DreiiДата: Суббота, 12 Марта 2011, 22:50:44 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Code
function Trig_Revive_Hero_Cond takes nothing returns boolean
return IsUnitType(GetDyingUnit(),UNIT_TYPE_HERO)
endfunction  
function Trig_Revive_Hero_Taimer takes nothing returns nothing  
        local timer t=GetExpiredTimer()  
        local integer ID=GetHandleId(t)  
        local unit u=LoadUnitHandle(udg_Hash,ID,0)  
        local player p=GetOwningPlayer(u)
        local timerdialog w=LoadTimerDialogHandle(udg_Hash,ID,2)
        call ReviveHero(u,GetStartLocationX(GetPlayerStartLocation(p)),GetStartLocationY(GetPlayerStartLocation(p)),true )  
        if GetLocalPlayer()==GetOwningPlayer(u)then  
        call PanCameraTo(GetUnitX(u),GetUnitY(u))
        endif  
        call PauseTimer(t)  
        call DestroyTimer(t)  
        call DestroyTimerDialog(w)  
        call FlushChildHashtable(udg_Hash,ID)
        set t=null  
        set u=null
        set p=null
        set w=null
endfunction  
function Trig_Revive_Hero_Actions takes nothing returns nothing  
local timer t=CreateTimer()  
local integer ID=GetHandleId(t)  
local timerdialog w=CreateTimerDialog(t)  
local unit u=GetTriggerUnit()
call TimerDialogSetTitle(w,GetPlayerName(GetOwningPlayer(u)))  
call TimerDialogDisplay(w,true)  
call SaveUnitHandle(udg_Hash,ID,0,u)  
call SaveTimerDialogHandle(udg_Hash,ID,2,w)  
call TimerStart(t,GetHeroLevel(u)*3.,true,function Trig_Revive_Hero_Taimer)  
set t=null
set w=null  
set u=null
endfunction  
//===========================================================================  
function InitTrig_Revive_Hero takes nothing returns nothing  
local integer i=0  
local trigger trig=CreateTrigger()  
        loop  
            call TriggerRegisterPlayerUnitEvent(trig,Player(i),EVENT_PLAYER_UNIT_DEATH,null)  
             exitwhen i==11
            set i=i+1  
         endloop  
     call TriggerAddCondition(trig,Condition(function Trig_Revive_Hero_Cond))
        call TriggerAddAction(trig,function Trig_Revive_Hero_Actions)  
        set trig=null  
endfunction

вот упростил немного.Помогите с GetStartLocationX(GetPlayerStartLocation(p)),GetStartLocationY(GetPlayerStartLocation(p))
нужно на что то более утченое заменить


 

adigaДата: Суббота, 12 Марта 2011, 22:51:12 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
да как то мне до минусов как с высокой колокольни, о себе сужу относительно того какие карты видел! а повидал (специально все просматриваю в редакторе для оценки сложности карты) дофига

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

DreiiДата: Суббота, 12 Марта 2011, 22:52:14 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (adiga)
проще

Quote (adiga)
в джасе расписывать

Добавлено (12-03-2011, 22:52)
---------------------------------------------

Quote (adiga)
чем всякую хрень

Quote (adiga)
треггера


 

[DUОS]Дата: Суббота, 12 Марта 2011, 22:52:34 | Сообщение # 14
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (adiga)
всякую хрень в джасе

Чтооооооо?!
GUI вообще бж-клаб, что его юзать?


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

DreiiДата: Суббота, 12 Марта 2011, 22:53:24 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
[DUОS], Видно что человек не шарит((Печаль

 

[DUОS]Дата: Суббота, 12 Марта 2011, 22:54:24 | Сообщение # 16
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Dreii,
Давай я сейчас ему сконвертирую один бж-клаб, пусть помучается)


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

DreiiДата: Суббота, 12 Марта 2011, 22:58:00 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
[DUОS], зачем)))Даешь стандарт триггер сражения)!!

 

adigaДата: Суббота, 12 Марта 2011, 22:58:42 | Сообщение # 18
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
кароче я понял че тут обитает на сайте, задротеры которым в джасе попечатать охота, а я думал люди с идеями которые не могут ее реализовать!

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

DreiiДата: Суббота, 12 Марта 2011, 22:59:21 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (adiga)
люди с идеями которые не могут ее реализовать

Есть такие например:
adiga


 

oleg_best_olegДата: Суббота, 12 Марта 2011, 23:16:42 | Сообщение # 20
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
[DUОS] и Dreii, зачем же позорить GUI из-за adiga ?))
 

[DUОS]Дата: Суббота, 12 Марта 2011, 23:21:15 | Сообщение # 21
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
oleg_best_oleg,
GUI = BJ-рассадник.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

evgenij95Дата: Суббота, 12 Марта 2011, 23:27:11 | Сообщение # 22
7 уровень
Группа: Проверенные
Сообщений: 322
Награды: 0
Репутация: 28
Блокировки:
гуи реально шлак D: у него только один +,он лёгкий а в джазе утечек нет и карту не лагает! я вот карту делаю с нестандартными спелами и думаю как потом это всё будет адекватно работать D:
 

Manko_OДата: Суббота, 12 Марта 2011, 23:29:56 | Сообщение # 23
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
Quote (evgenij95)
а в джазе утечек нет

Не шариш.
 

lawsonДата: Суббота, 12 Марта 2011, 23:33:07 | Сообщение # 24
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ну вот началось. Сейчас картоха со стебашкой подойдет расскажет всем что такое гуи.

Добавлено (12-03-2011, 23:33)
---------------------------------------------
Ну ладно раз тут все собрались может будете полезны!
Поскажите как узнать у юнита тип его атаки?


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


Сообщение отредактировал lawson - Суббота, 12 Марта 2011, 23:30:57
 

[DUОS]Дата: Суббота, 12 Марта 2011, 23:34:51 | Сообщение # 25
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (lawson)
Поскажите как узнать у юнита тип его атаки?

Сожалею, но никак.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » в Этой теме отвечаю на вопросы по триггерам. (Спрашивайте буду стараться отвечать быстро.)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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