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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Круг
Круг
[GOD]™Дата: Пятница, 31 Декабря 2010, 22:39:36 | Сообщение # 1
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: 0
Блокировки:
Как сделать ? что бы в Круге (Исхолная позиция) возрождалась герой !
и Про Respawn как сделать


 

Nagato-rusДата: Пятница, 31 Декабря 2010, 22:40:42 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 385
Награды: 0
Репутация: 85
Блокировки:
Меня тоже интересует™

 

[yaroslav]Дата: Пятница, 31 Декабря 2010, 22:44:04 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
Создаешь триггер Revive 1
И вписуй код
Code
function Trig_Revive1_____________________u_Conditions takes nothing returns boolean
     if ( not ( GetPlayerSlotState(GetOwningPlayer(GetDyingUnit())) == PLAYER_SLOT_STATE_PLAYING ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func003C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(0) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func004C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(1) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func005C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(2) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func006C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(3) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func007C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(4) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func008C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(5) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func009C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(6) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func010C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(7) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func011C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(8) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Func012C takes nothing returns boolean
     if ( not ( GetOwningPlayer(GetDyingUnit()) == Player(9) ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive1_____________________u_Actions takes nothing returns nothing
     call TriggerSleepAction( 7.00 )
     if ( Trig_Revive1_____________________u_Func003C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(0)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func004C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(1)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func005C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(2)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func006C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(3)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func007C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(4)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func008C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(5)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func009C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(6)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func010C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(7)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func011C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(8)), true )
     else
     endif
     if ( Trig_Revive1_____________________u_Func012C() ) then
         call ReviveHeroLoc( GetDyingUnit(), GetPlayerStartLocationLoc(Player(9)), true )
     else
     endif
endfunction

//===========================================================================
function InitTrig_Revive1_____________________u takes nothing returns nothing
     set gg_trg_Revive1_____________________u = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_Revive1_____________________u, EVENT_PLAYER_UNIT_DEATH )
     call TriggerAddCondition( gg_trg_Revive1_____________________u, Condition( function Trig_Revive1_____________________u_Conditions ) )
     call TriggerAddAction( gg_trg_Revive1_____________________u, function Trig_Revive1_____________________u_Actions )
endfunction




Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

[GOD]™Дата: Пятница, 31 Декабря 2010, 22:50:15 | Сообщение # 4
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: 0
Блокировки:
если не трудно можно с картинками ?

 

[yaroslav]Дата: Пятница, 31 Декабря 2010, 22:52:26 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
[GOD]™, не понял?)зачем?)блин,просто создавай триггер Revive 1 потом вписуй код!


Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

[GOD]™Дата: Пятница, 31 Декабря 2010, 22:55:08 | Сообщение # 6
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: 0
Блокировки:
ок попробую )

 

[yaroslav]Дата: Пятница, 31 Декабря 2010, 23:13:50 | Сообщение # 7
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
Получилось?


Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

[GOD]™Дата: Пятница, 31 Декабря 2010, 23:16:49 | Сообщение # 8
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: 0
Блокировки:
смысле не сейчас )) завтра новерно

 

EdiTTORRДата: Пятница, 31 Декабря 2010, 23:34:34 | Сообщение # 9
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
[yaroslav], ну ничего себе! Ты гений джаза!

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

[yaroslav]Дата: Пятница, 31 Декабря 2010, 23:42:04 | Сообщение # 10
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
EdiTTORR, Спс кэп.


Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

DreiiДата: Пятница, 31 Декабря 2010, 23:42:35 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
[yaroslav], ЯТО ЭТО ЗА ХРЕНЬ????

 

[yaroslav]Дата: Пятница, 31 Декабря 2010, 23:46:13 | Сообщение # 12
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
Dreii, что тебе не нравится? >(


Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

DreiiДата: Пятница, 31 Декабря 2010, 23:48:49 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
[yaroslav],
Code
function Trig_revive_Actions takes nothing returns nothing
  call ReviveHeroLoc( GetDyingUnit(),GetStartLocationLoc(GetPlayerStartLocation(GetOwningPlayer(GetDyingUnit())), true )
endfunction

//===========================================================================
function InitTrig_revive takes nothing returns nothing
     local integer index=0
     local trigger trig=CreateTrigger(  )
     loop
         call TriggerRegisterPlayerUnitEvent(trig, Player(index), EVENT_PLAYER_UNIT_DEATH, null)
         set index = index + 1
         exitwhen index == bj_MAX_PLAYER_SLOTS
     endloop
     set trig=null
     call TriggerAddAction( gg_trg_revive, function Trig_revive_Actions )
endfunction


И все!

Добавлено (31-12-2010, 23:48)
---------------------------------------------
[yaroslav], можно еще поставить проверку на герой или нет


 

[yaroslav]Дата: Пятница, 31 Декабря 2010, 23:49:06 | Сообщение # 14
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
Dreii, Я же говорил уже вам всем...я люблю чтобы все было сложно!
P.S
ответь в теме "создания скилов"



Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

EdiTTORRДата: Суббота, 01 Января 2011, 00:06:17 | Сообщение # 15
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Раз уж на то пошло то
Code
function Revive1Conditions takes nothing returns boolean
local unit u=GetTriggerUnit()
if(GetPlayerSlotState(GetOwningPlayer(u))==PLAYER_SLOT_STATE_PLAYING)
set u=null
return true
endif
return false
endfunction
function Revive1Actions takes nothing returns nothing
local integer i=GetPlayerId(GetOwningPlayer(GetTriggerUnit()))
local unit u=GetTriggerUnit()
call PolledWait(7.)
call ReviveHeroLoc(u,GetStartLocationX(i),GetStartLocationY(i),true)  
set u=null
endfunction
function InitTrig_Revive1 takes nothing returns nothing
local integer i=0
set gg_trg_Revive1=CreateTrigger()
loop
exitwhen i>11
call TriggerRegisterPlayerUnitEvent(gg_trg_Revive1,Player(i),EVENT_PLAYER_UNIT_DEATH,null)
set i=i+1
endloop
call TriggerAddCondition(gg_trg_Revive1,Condition(function Revive1Conditions))
call TriggerAddAction(gg_trg_Revive1,function Revive1Actions )
endfunction


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

DreiiДата: Суббота, 01 Января 2011, 00:37:25 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (EdiTTORR)
Раз уж на то пошло то

Code
function Trig_Revive_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local location loc= GetStartLocationLoc(GetPlayerStartLocation(GetOwningPlayer(u)))
if IsUnitType(u, UNIT_TYPE_HERO) == true  then
call PolledWait ( GetHeroLevel(u) * 5 )
     call ReviveHeroLoc( u, loc, true )
     endif
     set u=null
call RemoveLocation(loc)
endfunction

//===========================================================================
function InitTrig_Revive takes nothing returns nothing
local integer index=0
local trigger trig=CreateTrigger()
loop
    call TriggerRegisterPlayerUnitEvent(trig, Player(index), EVENT_PLAYER_UNIT_DEATH, null)
    set index = index + 1
     exitwhen index == bj_MAX_PLAYER_SLOTS
endloop
call TriggerAddAction( trig, function Trig_Revive_Actions )
set trig=null
endfunction


 

EdiTTORRДата: Суббота, 01 Января 2011, 00:49:52 | Сообщение # 17
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Quote (EdiTTORR)
Раз уж на то пошло то

Code
function Revive1Conditions takes nothing returns boolean
local unit u=GetTriggerUnit()
if(GetPlayerSlotState(GetOwningPlayer(u))==PLAYER_SLOT_STATE_PLAYING)
set u=null
return true
endif
return false
endfunction
function Revive1Actions takes nothing returns nothing
local integer i=GetPlayerId(GetOwningPlayer(GetTriggerUnit()))
local unit u=GetTriggerUnit()
call PolledWait(7.)
call ReviveHeroLoc(u,GetStartLocationX(i),GetStartLocationY(i),true)   
set u=null
endfunction
function InitTrig_Revive1 takes nothing returns nothing
local integer i=0
set gg_trg_Revive1=CreateTrigger()
loop
exitwhen i>11
call TriggerRegisterPlayerUnitEvent(gg_trg_Revive1,Player(i),EVENT_PLAYER_UNIT_DEATH,null)
set i=i+1
endloop
call TriggerAddCondition(gg_trg_Revive1,Condition(function Revive1Conditions))
call TriggerAddAction(gg_trg_Revive1,function Revive1Actions )
endfunction


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

DreiiДата: Суббота, 01 Января 2011, 00:54:59 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
EdiTTORR, м?У мну луче ^^

 

EdiTTORRДата: Суббота, 01 Января 2011, 01:26:22 | Сообщение # 19
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Dreii, неа! У тя локи юзаются! А ещё названия биг и локал триггер!

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

DreiiДата: Суббота, 01 Января 2011, 04:00:44 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
EdiTTORR, Ниче у меня ЛУЧШЕ!!!

Добавлено (01-01-2011, 04:00)
---------------------------------------------
EdiTTORR,

Quote (EdiTTORR)
Раз уж на то пошло то

Code

globals
hashtable Hash=InitHashtable()
endglobals
function Trig_Revive_Hero_Taimer takes nothing returns nothing
       local timer t=GetExpiredTimer()
       local integer ID=GetHandleId(t)
       local unit u=LoadUnitHandle(Hash,ID,0)
       local integer i=LoadInteger(Hash,ID,1)
       local timerdialog w=LoadTimerDialogHandle(Hash,ID,2)
       local location loc=GetStartLocationLoc(GetPlayerStartLocation(GetOwningPlayer(u)))
       call ReviveHeroLoc(u,loc,true )
       if (GetLocalPlayer()==GetOwningPlayer(u)) then
       call PanCameraToTimed(GetUnitX(u),GetUnitY(u),0.60)
       endif
       call PauseTimer(t)
       call DestroyTimer(t)
       call DestroyTimerDialog(w)
       call RemoveLocation(loc)
       call FlushChildHashtable(Hash,ID)    
       set t=null
       set u=null
       set loc=null
endfunction
function Trig_Revive_Hero_Actions takes nothing returns nothing
local timer t=CreateTimer()
local integer ID=GetHandleId(t)
local timerdialog w
if  IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)==true  then
set w=CreateTimerDialog(t)
call TimerDialogSetTitle(w,GetPlayerName(GetOwningPlayer(GetTriggerUnit())))
call TimerDialogDisplay(w,true)
if (GetLocalPlayer()==GetOwningPlayer(GetTriggerUnit())) then
call TimerDialogDisplay(w,true)
endif
call SaveUnitHandle(Hash, ID,0,GetTriggerUnit())
call SaveInteger(Hash, ID,1,GetHeroLevel(GetTriggerUnit()) * 5 )
call SaveTimerDialogHandle(Hash,ID,2,w)
call TimerStart(t, GetHeroLevel(GetTriggerUnit())*5.,true,function Trig_Revive_Hero_Taimer)
set t=null
endif
endfunction

//===========================================================================
function InitTrig_Revive_Hero takes nothing returns nothing
local integer index=0
local trigger trig=CreateTrigger()
       loop
           call TriggerRegisterPlayerUnitEvent(trig,Player(index),EVENT_PLAYER_UNIT_DEATH,null)

           set index=index + 1
           exitwhen index==bj_MAX_PLAYER_SLOTS
       endloop
       call TriggerAddAction(trig,function Trig_Revive_Hero_Actions)
       set trig=null
endfunction

С окошечком!!!АХАХ*Злобный СМЕХ*




Сообщение отредактировал Dreii - Суббота, 01 Января 2011, 08:09:00
 

EdiTTORRДата: Суббота, 01 Января 2011, 15:40:33 | Сообщение # 21
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Dreii у тебя по прежнеме локации,локальный плеер,локальный триггер,хеш, раз уж на то пошло то:
Code
function Revive1Conditions takes nothing returns boolean
local unit u=GetTriggerUnit()
if(GetPlayerSlotState(GetOwningPlayer(u))==PLAYER_SLOT_STATE_PLAYING)
set u=null
return true
endif
return false
endfunction
function Revive1Actions takes nothing returns nothing
local integer i=GetPlayerId(GetOwningPlayer(GetTriggerUnit()))
local unit u=GetTriggerUnit()
call PolledWait(7.)
call ReviveHeroLoc(u,GetStartLocationX(i),GetStartLocationY(i),true)    
set u=null
endfunction
function InitTrig_Revive1 takes nothing returns nothing
local integer i=0
set gg_trg_Revive1=CreateTrigger()
loop
exitwhen i>11
call TriggerRegisterPlayerUnitEvent(gg_trg_Revive1,Player(i),EVENT_PLAYER_UNIT_DEATH,null)
set i=i+1
endloop
call TriggerAddCondition(gg_trg_Revive1,Condition(function Revive1Conditions))
call TriggerAddAction(gg_trg_Revive1,function Revive1Actions )
endfunction


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

SirNikolasДата: Суббота, 01 Января 2011, 15:43:58 | Сообщение # 22
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
EdiTTORR, а чем плох локальный триггер?

 

EdiTTORRДата: Суббота, 01 Января 2011, 16:02:44 | Сообщение # 23
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
SirNikolas, тем что его нельзя отключить
О!(тока тут мак 8192 героя):
Нужно:
Переменная типа боевая единица с массивом 8192 с именем rHero, переменная типа таймер с массивом 8192 с именем rTimer
И этот код вставить в очищеный триггер Revive1
timer array udg_rTimer
Code
function GetTimerId takes handle h returns integer
local integer i=0
local boolean b=false
loop
exitwhen (i>8192)or(b)
set b=(h==udg_rTimer[i])
set i=i+1
endloop
set h=null
return b
endfunction
function GetClearTimer takes nothing returns integer
local integer i=0
loop
exitwhen i>8192
if(udg_rTimer[i]!=null)then
return i
endif
set i=i+1
endloop
return -1
endfunction
function Revive1Conditions takes nothing returns boolean
local unit u=GetTriggerUnit()
if(GetPlayerSlotState(GetOwningPlayer(u))==PLAYER_SLOT_STATE_PLAYING)
set u=null
return true
endif
return false
endfunction
function Revive1Revive takes nothing returns nothing
local integer c=GetTimerId(GetExpiredTimer())
local integer i=GetPlayerId(GetOwningPlayer(udg_rHero[c]))
call ReviveHeroLoc(udg_rHero[c],GetStartLocationX(i),GetStartLocationY(i),true)
call DestroyTimer(udg_rTimer[c])
set rHero[c]=null
set rTimer[c]=null
endfunction
function Revive1Actions takes nothing returns nothing
local integer c=GetClearTimer()
set udg_rTimer[c]=CreateTimer()
set udg_rHero[c]=GetTriggerUnit()
call TimerStart(udg_rTimer[c],GetHeroLevel(udg_rHero[c])*50,false,function Revive1Revive)
endfunction
function InitTrig_Revive1 takes nothing returns nothing
local integer i=0
set gg_trg_Revive1=CreateTrigger()
loop
exitwhen i>11
call TriggerRegisterPlayerUnitEvent(gg_trg_Revive1,Player(i),EVENT_PLAYER_UNIT_DEATH,null)
set i=i+1
endloop
call TriggerAddCondition(gg_trg_Revive1,Condition(function Revive1Conditions))
call TriggerAddAction(gg_trg_Revive1,function Revive1Actions )
endfunction
не проверял но должно работать


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


Сообщение отредактировал EdiTTORR - Суббота, 01 Января 2011, 16:05:38
 

3DДата: Суббота, 01 Января 2011, 16:13:30 | Сообщение # 24
2 уровень
Группа: Пользователи
Сообщений: 20
Награды: 0
Репутация: 0
Блокировки:
EdiTTORR, Все я устал.Не хочу ниче делать))Главное работает и все)
 

[yaroslav]Дата: Суббота, 01 Января 2011, 16:15:14 | Сообщение # 25
6 уровень
Группа: Проверенные
Сообщений: 225
Награды: 0
Репутация: 62
Блокировки:
3D,
К чему?



Я беру кредит в банке 1 миллиард $,покупаю этот банк, и разрешаю себе не отдавать кредит, и всё - я Олигарх
 

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

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