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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Воскрешение
Воскрешение
Vigoss98Дата: Пятница, 26 Ноября 2010, 16:44:35 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
Я сделал воскрешение героев и таймер. Когда 1 герой умирает то таймер включается идёт нормально. А если ещё другой герой умрет то таймер будет идти всё заново. Ну например герой 1 умер таймер пошел. 59. . . . . и т.д. А если ещё умрет герой и если герой который умер не успел воскресится то таймер пойдет заново у 2-их. А герой воскресится а таймер так и идёт. Что делать?

= = =
== =
== =
= = = ==== =
 

MetanolДата: Пятница, 26 Ноября 2010, 16:50:21 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4565
Награды: 11
Репутация: 1884
Блокировки:
Quote (Vigoss98)
Что делать?

Мультиборд


новый акк:
http://warcraft3ft.info/index/8-70993
 

[stebashka]Дата: Пятница, 26 Ноября 2010, 16:50:55 | Сообщение # 3
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
Если/ тогда/ иначе/ функции

знаешь такое?

Если - Сравнение игроков - умирающий юнит принадлежит игрок Красный
То - действия (твое действие)

Если - Сравнение игроков - умирающий юнит принадлежит игрок Синий
То - действия (твое действие)


 

MetanolДата: Пятница, 26 Ноября 2010, 16:51:57 | Сообщение # 4
Группа: Заблокированные
Сообщений: 4565
Награды: 11
Репутация: 1884
Блокировки:
[stebashka], таймер будет виден в независимости от того для какого игрока он сделан

новый акк:
http://warcraft3ft.info/index/8-70993
 

[stebashka]Дата: Пятница, 26 Ноября 2010, 16:55:00 | Сообщение # 5
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
[stebashka], таймер будет виден в независимости от того для какого игрока он сделан

и?

Quote (Vigoss98)
Когда 1 герой умирает то таймер включается идёт нормально. А если ещё другой герой умрет то таймер будет идти всё заново

по моему в этом была проблема, а не в том что таймер показывается всем =\

Добавлено (26-11-2010, 16:55)
---------------------------------------------

Quote (Metanol)
[stebashka], таймер будет виден в независимости от того для какого игрока он сделан

он не хочет что бы таймер был виден для опр игрока, и я не говорил так сделать, я предложил делать отдельный таймер для каждого, вот и все


 

Banzay89Дата: Пятница, 26 Ноября 2010, 17:01:18 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Vigoss98, потому что таймер только 1. Выход - делай массив таймеров
 

Vigoss98Дата: Пятница, 26 Ноября 2010, 18:48:33 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
Нет когда у меня умирает другой герой то другой таймер и они всесте одинакого идут

= = =
== =
== =
= = = ==== =
 

rixt7956Дата: Пятница, 26 Ноября 2010, 18:54:25 | Сообщение # 8
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Vigoss98, Создай локальный таймер
 

Vigoss98Дата: Пятница, 26 Ноября 2010, 21:58:04 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
a как?

= = =
== =
== =
= = = ==== =
 

KartohaДата: Пятница, 26 Ноября 2010, 22:02:27 | Сообщение # 10
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Banzay89, правильно говорит, можно через массив таймеров. Вот карта - пример.
 

DarkVaderДата: Суббота, 27 Ноября 2010, 00:39:17 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (Kartoha)
можно через массив таймеров

делается это по простому так + лидерборд

 

Vigoss98Дата: Среда, 01 Декабря 2010, 21:28:37 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
Quote (Kartoha)
Banzay89, правильно говорит, можно через массив таймеров. Вот карта - пример.

И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает
Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....


= = =
== =
== =
= = = ==== =
 

Ramazan(off)Дата: Среда, 01 Декабря 2010, 21:33:10 | Сообщение # 13
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 765
Блокировки:
Vigoss98, Локальные таймера, видны только для того, кого ты назначишь, из этого имеем незасорение экрана. Следовательно, лучше всего делать через локальные таймера. Это джасс, хотя сама системка вообще не сложная.

Добавлено (01-12-2010, 21:33)
---------------------------------------------

Quote (Vigoss98)
И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает
Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....

Quote (Vigoss98)
|c00E60000ТОЛЬКО|r

Это что такое?)))) :D
 

EdiTTORRДата: Среда, 01 Декабря 2010, 21:43:58 | Сообщение # 14
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Quote (Vigoss98)
И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает
Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....

Jazz тепе в помощь. И jass.
Quote (Ramazan(off))
Это что такое?)))) :D

Чувэ наверное балуется с Wc3 Colorizer или ColorTemplate...
Чувэ =>
Code
[color=#E60000]ТОЛЬКО[/color]


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


Сообщение отредактировал EdiTTORR - Среда, 01 Декабря 2010, 21:47:02
 

Vigoss98Дата: Пятница, 03 Декабря 2010, 14:41:13 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
Quote (Ramazan(off))
Quote (Vigoss98)
И всё же.... не получается((( всё так умирает герой например Лион и идёт таймер потом не исчезает
Я хочу чтобы для каждого игрока 1-го как в доте нпример----> (Игрок умер и только у 1-го его был таймер, а когда другой умрёт то |c00E60000ТОЛЬКО|r у него было окно с таёмером....

Quote (Vigoss98)
|c00E60000ТОЛЬКО|r


Да я перепутал)))

Добавлено (03-12-2010, 14:41)
---------------------------------------------

Quote (Ramazan(off))
Это джасс

Сделай плз))))


= = =
== =
== =
= = = ==== =
 

kordloperdloДата: Четверг, 09 Декабря 2010, 19:14:15 | Сообщение # 16
5 уровень
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 5
Блокировки:
карта удалена


[spoiler]


[/spoiler]
 

DreiiДата: Четверг, 09 Декабря 2010, 21:09:36 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Vigoss98,
Code
function Trig_Revive_Hero_Conditions takes nothing returns boolean
     if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
         return false
     endif
     return true
endfunction

function Trig_Revive_Hero_Actions takes nothing returns nothing
     local timerdialog WINDOW
     local integer HEROWAIT
     local timer OURTIMER
     local unit OURHERO
     set OURHERO = GetDyingUnit()
     set HEROWAIT = ( GetHeroLevel(OURHERO) * 5 )
     set OURTIMER = CreateTimer()
     call StartTimerBJ( OURTIMER, false, ( I2R(HEROWAIT) ))
     call CreateTimerDialogBJ( OURTIMER, GetPlayerName(GetOwningPlayer(OURHERO)) )
     set WINDOW = GetLastCreatedTimerDialogBJ()
     call TimerDialogDisplayForPlayerBJ( true, WINDOW, GetOwningPlayer(OURHERO) )
     call PolledWait( HEROWAIT )
     call ReviveHeroLoc(OURHERO, GetPlayerStartLocationLoc(GetOwningPlayer(OURHERO)), true )
     call PanCameraToTimedLocForPlayer( GetOwningPlayer(OURHERO), GetUnitLoc(OURHERO), 0.60 )
     call DestroyTimerDialog(WINDOW)
endfunction

//===========================================================================
function InitTrig_Revive_Hero takes nothing returns nothing
     set gg_trg_Revive_Hero = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_Revive_Hero, EVENT_PLAYER_UNIT_DEATH )
     call TriggerAddCondition( gg_trg_Revive_Hero, Condition( function Trig_Revive_Hero_Conditions ) )
     call TriggerAddAction( gg_trg_Revive_Hero, function Trig_Revive_Hero_Actions )
endfunction

вот) воскрешение, воскрешает героя в стартовой локе)

Добавлено (09-12-2010, 21:09)
---------------------------------------------
Vigoss98, ах да, время воскрешения ==5*Лвл умершего героя


 

EdiTTORRДата: Четверг, 09 Декабря 2010, 21:58:55 | Сообщение # 18
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Dreii, можно немного по другому:


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


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

Vigoss98Дата: Четверг, 09 Декабря 2010, 22:35:14 | Сообщение # 19
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
спасибо, завтро попробую:-)

= = =
== =
== =
= = = ==== =
 

DreiiДата: Пятница, 10 Декабря 2010, 05:54:58 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
EdiTTORR, я в жассе нуб ^^

 

Vigoss98Дата: Пятница, 10 Декабря 2010, 23:18:12 | Сообщение # 21
7 уровень
Группа: Проверенные
Сообщений: 273
Награды: 0
Репутация: 35
Блокировки:
EdiTTORR, сделай пожалуйста наработку :-) а то я не могу сделать типо трига ну чтобы джас можно было писать пожалуйста

Добавлено (10-12-2010, 23:18)
---------------------------------------------
Dreii, а я полный нубяра!


= = =
== =
== =
= = = ==== =
 

DreiiДата: Пятница, 10 Декабря 2010, 23:22:56 | Сообщение # 22
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Vigoss98, Создаеш новый триггер. Выбираешь Правка -> Конвертирвоать в текст
копируешь эту лабуду
Code
function Trig_Revive_Hero_Conditions takes nothing returns boolean  
return IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)  
endfunction  
function Trig_Revive_Hero_Actions takes nothing returns nothing  
local unit OURHERO=GetTriggerUnit()  
local integer HEROWAIT=GetHeroLevel(OURHERO)*5  
local timer OURTIMER=CreateTimer()  
local timerdialog WINDOW=CreateTimerDialog(OURTIMER)  
local boolean b=true  
local player p=GetOwningPlayer(OURHERO)  
local real x  
local real y  
call TimerDialogSetTitle(WINDOW,GetPlayerName(p))  
if GetLocalPlayer()!=p then  
set b=false  
endif  
call TimerDialogDisplay(WINDOW,b)  
call TimerStart(OURTIMER,HEROWAIT,false,null)  
call PolledWait(HEROWAIT)  
call ReviveHero(OURHERO,GetStartLocationX(GetPlayerId(p)),GetStartLocationY(GetPlayerId(p)),true)  
set x=GetUnitX(OURHERO)  
set y=GetUnitY(OURHERO)  
if GetLocalPlayer()!=p then  
set x=GetCameraTargetPositionX()  
set y=GetCameraTargetPositionY()  
endif  
call PanCameraToTimed(x,y,0.60)  
call DestroyTimerDialog(WINDOW)  
call DestroyTimer(OURTIMER)  
set OURHERO=null  
endfunction  
function InitTrig_Revive_Hero takes nothing returns nothing  
set gg_trg_Revive_Hero=CreateTrigger()  
call TriggerRegisterAnyUnitEventBJ(gg_trg_Revive_Hero,EVENT_PLAYER_UNIT_DEATH)  
call TriggerAddCondition(gg_trg_Revive_Hero,Condition(function Trig_Revive_Hero_Conditions))  
call TriggerAddAction(gg_trg_Revive_Hero,function Trig_Revive_Hero_Actions)  
endfunction

и все. Ах да ты наеврно не догодаешся триггер назови ReviveHero


 

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

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