Сейчас 03:14:33 Вторник, 31 января, 2023 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [JASSфак] Лекция 1. Первое знакомство с JASS.
[JASSфак] Лекция 1. Первое знакомство с JASS.
AkvariumДата: Четверг, 19 Ноября 2009, 17:35:14 | Сообщение # 76
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
Quote (|DUОS|)
Ждём. Завтра обещаю 2-й урок.

Quote (|DUОS|)
Вчера, 18:24

(((((Ждеемм......((((


 

GooGLeДата: Четверг, 19 Ноября 2009, 18:05:41 | Сообщение # 77
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Блокировки:
0x4453, выпендриваясь пиши:
local unit caster = GetSpellAbilityUnit()
local real txx = GetSpellTargetX() - GetUnitX(caster)
local real tyy = GetSpellTargetY() - GetUnitY(caster)
local real r = SquareRoot(txx * txx + tyy * tyy) / 800
local timer t = CreateTimer()
call TimerStart(t,r,false,function ActionsAfterTimer)
set t = null
Но это "Преждевременная оптимизация".
 

0x4453Дата: Четверг, 19 Ноября 2009, 18:16:15 | Сообщение # 78
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: 13
Блокировки:
GooGLe, я не выпендриваюсь,я показываю лучший вариант
 

GooGLeДата: Четверг, 19 Ноября 2009, 18:34:26 | Сообщение # 79
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Блокировки:
То есть мой вариант хуже приведенного тобой:
Code
local unit caster = GetSpellAbilityUnit()
local real tx = GetSpellTargetX()
local real ty = GetSpellTargetY()
local real cx = GetUnitX(caster)
local real cy = GetUnitY(caster)
llocal real r = (SquareRoot((tx-cx)*(tx-cx)+(ty-cy)*(ty-cy)))/ 800  
local timer t = CreateTimer()
call TimerStart(t,r,false,function ActionsAfterTimer)
set t = null
set caster = null

?
 

[DUОS]Дата: Четверг, 19 Ноября 2009, 19:01:05 | Сообщение # 80
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (GooGLe)
это "Преждевременная оптимизация".

GooGLe,
Согласен.


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


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

0x4453Дата: Четверг, 19 Ноября 2009, 20:36:32 | Сообщение # 81
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: 13
Блокировки:
GooGLe, нет,не хуже,у тебя сгруппированно немного по другому
 

ProdenДата: Четверг, 19 Ноября 2009, 21:29:34 | Сообщение # 82
4 уровень
Группа: Проверенные
Сообщений: 83
Награды: 0
Репутация: 21
Блокировки:
Вот, что смог нацарапать..

Добавлено (19-11-2009, 21:29)
---------------------------------------------

Code
function Trig_ini_Actions takes nothing returns nothing
endfunction

//===========================================================================
function InitTrig_ini takes nothing returns nothing
     set gg_trg_ini = CreateTrigger(  )
     call TriggerAddAction( gg_trg_ini, function Trig_ini_Actions )
     call KillUnit ( gg_unit_Hpal_0001 )
     call DisplayTimedTextToForce( GetPlayersAll(), 10, "Наш герой погиб(" )
     call SetTimeOfDay( 5.00 )
     call SetTimeOfDayScalePercentBJ( 30.00 )
     call CustomVictoryBJ( Player(0), true, true )
endfunction
 

[DUОS]Дата: Четверг, 19 Ноября 2009, 21:31:49 | Сообщение # 83
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
function Trig_ini_Actions takes nothing returns nothing

Все действия нужно публиковать здесь. То есть получится:

Code
function Trig_ini_Actions takes nothing returns nothing
      call KillUnit ( gg_unit_Hpal_0001 )
      call DisplayTimedTextToForce( GetPlayersAll(), 10, "Наш герой погиб(" )
      call SetTimeOfDay( 5.00 )
      call SetTimeOfDayScalePercentBJ( 30.00 )
      call CustomVictoryBJ( Player(0), true, true )
endfunction

//===========================================================================
function InitTrig_ini takes nothing returns nothing
      set gg_trg_ini = CreateTrigger(  )
      call TriggerAddAction( gg_trg_ini, function Trig_ini_Actions )
endfunction

Попробуй по начинке развернуть BJ.


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


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

AkvariumДата: Четверг, 19 Ноября 2009, 21:32:47 | Сообщение # 84
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
Proden, BJ

 

JuneroДата: Четверг, 19 Ноября 2009, 21:37:26 | Сообщение # 85
1 уровень
Группа: Проверенные
Сообщений: 12
Награды: 0
Репутация: 3
Блокировки:
-------- call SetTextTagTextBJ( t, "Привет", 10) --------
Вроде так получилась
 

AkvariumДата: Четверг, 19 Ноября 2009, 21:45:08 | Сообщение # 86
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
Junero, ???
Напиши весь триг.


 

[DUОS]Дата: Четверг, 19 Ноября 2009, 22:00:09 | Сообщение # 87
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Junero,
Весь триг :)


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


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

СорнемусДата: Четверг, 19 Ноября 2009, 23:46:11 | Сообщение # 88
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
Quote (|DUОS|)
Все действия нужно публиковать здесь

Вобще-то в функцию InitTrig_'название' можно заносить действия которые нужно выполнить сразу при загрузке карты (т.е. это как custom script, но в него обычно суют большие функции чтобы они не мешались).
 

[DUОS]Дата: Пятница, 20 Ноября 2009, 00:03:51 | Сообщение # 89
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Сорнемус)
Вобще-то в функцию InitTrig_'название' можно заносить действия которые нужно выполнить сразу при загрузке карты (т.е. это как custom script, но в него обычно суют большие функции чтобы они не мешались).

ну, предпочтительнее в экшнс.


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


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

LeshiiДата: Суббота, 21 Ноября 2009, 18:45:48 | Сообщение # 90
6 уровень
Группа: Заблокированные
Сообщений: 228
Награды: 1
Репутация: 23
Блокировки:
[DUОS],У меня ничего не срабатывает.Хотя написал всё правильно(надеюсь)

Там дальше продолжение где спецэффект


Он где-то тут углядел Порядок и присматривал за ним.
 

AkvariumДата: Суббота, 21 Ноября 2009, 18:52:09 | Сообщение # 91
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
Leshii эмм...А где событие? ^_^

 

LeshiiДата: Суббота, 21 Ноября 2009, 19:29:50 | Сообщение # 92
6 уровень
Группа: Заблокированные
Сообщений: 228
Награды: 1
Репутация: 23
Блокировки:
Akvarium, Его что нету???
Я же перед тем как ковертировать в текст сделал его.Событие:Map initialization


Он где-то тут углядел Порядок и присматривал за ним.
 

AkvariumДата: Суббота, 21 Ноября 2009, 20:25:50 | Сообщение # 93
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
Leshii, а что должно получиться?

 

GooGLeДата: Суббота, 21 Ноября 2009, 20:27:50 | Сообщение # 94
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Блокировки:
http://warcraft3ft.info/forum/38-14043-722061-16-1258347867
Учитель так и не исправился.
1-kill: Действие - это функция.(Точка)
2-kil: ...типы переменных, которые нужно...
3-kil: call DisplayTimedTextToForce (GetPlayersAll(), 30, "hello")
 

LeshiiДата: Суббота, 21 Ноября 2009, 20:42:12 | Сообщение # 95
6 уровень
Группа: Заблокированные
Сообщений: 228
Награды: 1
Репутация: 23
Блокировки:
Quote (Akvarium)
Leshii, а что должно получиться?

Типа сначало разведует всю карту, потом ждёт 2 секунды, потом появляется сообщение"heloo" на 30 секунд всем игрокам, потом опять ждать 5 сек. и сделать спецэффект в середине карты громовая поступь.


Он где-то тут углядел Порядок и присматривал за ним.
 

[DUОS]Дата: Суббота, 21 Ноября 2009, 21:26:43 | Сообщение # 96
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Leshii,
Типа где у тебя TriggerAddAction в функции InitTrig?


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


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

СорнемусДата: Суббота, 21 Ноября 2009, 21:33:09 | Сообщение # 97
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
Quote (Leshii)
DUОS],У меня ничего не срабатывает.Хотя написал всё правильно(надеюсь)

Ахтунг БЖ атакует D:
 

H_A_PKДата: Среда, 25 Ноября 2009, 17:22:39 | Сообщение # 98
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote
function DisplayTimedTextToForce
Quote
takes force f
, real wait, string value returns nothing

я в английском не Гуру ,но не пойму именно ето в джазе,
Quote
takes force f
чё за f (думаю там надо либо переменую игрока, а инт туда можно пихнуть :) ,а групу игроков переменную ))

Добавлено (25-11-2009, 17:22)
---------------------------------------------

Code
function Trig_KocTuHa9_6poH9_____________________u_Conditions takes nothing returns boolean
     if ( not ( GetSpellAbilityId() == 'A01C' ) ) then
         return false
     endif
     return true
endfunction

function Trig_KocTuHa9_6poH9_____________________u_Func002C takes nothing returns boolean
     if ( not ( GetUnitAbilityLevelSwapped('A01C', udg_Hec[0]) == 1 ) ) then
         return false
     endif
     return true
endfunction

function Trig_KocTuHa9_6poH9_____________________u_Func003C takes nothing returns boolean
     if ( not ( GetUnitAbilityLevelSwapped('A01C', udg_Hec[0]) == 2 ) ) then
         return false
     endif
     return true
endfunction

function Trig_KocTuHa9_6poH9_____________________u_Func004C takes nothing returns boolean
     if ( not ( GetUnitAbilityLevelSwapped('A01C', udg_Hec[0]) == 3 ) ) then
         return false
     endif
     return true
endfunction

function Trig_KocTuHa9_6poH9_____________________u_Actions takes nothing returns nothing
     set udg_Hec[0] = GetSpellAbilityUnit()
     if ( Trig_KocTuHa9_6poH9_____________________u_Func002C() ) then
         set udg_bronay[0] = 300
     else
     endif
     if ( Trig_KocTuHa9_6poH9_____________________u_Func003C() ) then
         set udg_bronay[0] = 400
     else
     endif
     if ( Trig_KocTuHa9_6poH9_____________________u_Func004C() ) then
         set udg_bronay[0] = 500
     else
     endif
     call CreateTextTagLocBJ( I2S(udg_bronay[0]), GetUnitLoc(udg_Hec[0]), 30.00, 7.00, 0.00, 100, 0.00, 0 )
     set udg_xz[0] = GetLastCreatedTextTag()
     call TriggerSleepAction( 40.00 )
     set udg_bronay[0] = 0
     call DestroyTextTagBJ( udg_xz[0] )
endfunction

//===========================================================================
function InitTrig_KocTuHa9_6poH9_____________________u takes nothing returns nothing
     set gg_trg_KocTuHa9_6poH9_____________________u = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_KocTuHa9_6poH9_____________________u, EVENT_PLAYER_UNIT_SPELL_CAST )
     call TriggerAddCondition( gg_trg_KocTuHa9_6poH9_____________________u, Condition( function Trig_KocTuHa9_6poH9_____________________u_Conditions ) )
     call TriggerAddAction( gg_trg_KocTuHa9_6poH9_____________________u, function Trig_KocTuHa9_6poH9_____________________u_Actions )
endfunction


Code
function Trig_koct_6JIok_____________________u_Conditions takes nothing returns boolean
     if ( not ( GetAttackedUnitBJ() == udg_Hec[0] ) ) then
         return false
     endif
     return true
endfunction

function Trig_koct_6JIok_____________________u_Func001Func004001 takes nothing returns boolean
     return ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_Hec[0]) < I2R(udg_bronay[1]) )
endfunction

function Trig_koct_6JIok_____________________u_Func001C takes nothing returns boolean
     if ( not ( udg_bronay[0] > 0 ) ) then
         return false
     endif
     return true
endfunction

function Trig_koct_6JIok_____________________u_Actions takes nothing returns nothing
     if ( Trig_koct_6JIok_____________________u_Func001C() ) then
         set udg_bronay[1] = R2I(GetUnitStateSwap(UNIT_STATE_LIFE, udg_Hec[0]))
         loop
             exitwhen ( Trig_koct_6JIok_____________________u_Func001Func004001() )
             call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL, 0.10))
         endloop
         set udg_bronay[2] = ( R2I(GetUnitStateSwap(UNIT_STATE_LIFE, udg_Hec[0])) - udg_bronay[1] )
         call SetUnitLifeBJ( udg_Hec[0], ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_Hec[0]) - I2R(udg_bronay[2]) ) )
         set udg_bronay[0] = ( udg_bronay[0] + udg_bronay[2] )
         call DestroyTextTagBJ( udg_xz[0] )
         call CreateTextTagLocBJ( I2S(udg_bronay[0]), GetUnitLoc(udg_Hec[0]), 30.00, 7.00, 0.00, 100, 0.00, 0 )
         set udg_xz[0] = GetLastCreatedTextTag()
     else
         call DestroyTextTagBJ( udg_xz[0] )
     endif
endfunction

//===========================================================================
function InitTrig_koct_6JIok_____________________u takes nothing returns nothing
     set gg_trg_koct_6JIok_____________________u = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_koct_6JIok_____________________u, EVENT_PLAYER_UNIT_ATTACKED )
     call TriggerAddCondition( gg_trg_koct_6JIok_____________________u, Condition( function Trig_koct_6JIok_____________________u_Conditions ) )
     call TriggerAddAction( gg_trg_koct_6JIok_____________________u, function Trig_koct_6JIok_____________________u_Actions )
endfunction


Вот короче , спелл на Гуи преведёный в код, как его упростить в джазз ? стереть все БЖ и убг


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

0x4453Дата: Среда, 25 Ноября 2009, 17:34:38 | Сообщение # 99
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: 13
Блокировки:
H_A_PK, читай лекции и статьи
 

H_A_PKДата: Среда, 25 Ноября 2009, 17:57:26 | Сообщение # 100
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
0x4453, OK

проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [JASSфак] Лекция 1. Первое знакомство с JASS.
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

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