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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » [ВАЖНО] Помощь по JASS
[ВАЖНО] Помощь по JASS
WE_new_maperДата: Среда, 23 Июня 2010, 13:45:07 | Сообщение # 501
8 уровень
Группа: Проверенные
Сообщений: 692
Награды: 0
Репутация: 28
Блокировки:
ой щас

Добавлено (23-06-2010, 13:42)
---------------------------------------------
вот подчеркиваем
set gg_trg_Stack_Pickup = CreateTrigger( )
З.Ы. поч я не проверенный!?

Добавлено (23-06-2010, 13:45)
---------------------------------------------
отсудствует название переменной
set gg_trg_Stack_Pickup = CreateTrigger( )
название отсудствует
call TriggerRegisterAnyUnitEventBJ( gg_trg_Stack_Pickup, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddAction( gg_trg_Stack_Pickup, function Trig_Stack_Pickup_Actions )


 

DragoNДата: Среда, 23 Июня 2010, 17:59:49 | Сообщение # 502
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
WE_new_maper, у тя триггер называется Stack_Pickup?

El Psy Congroo
 

WE_new_maperДата: Среда, 23 Июня 2010, 18:11:37 | Сообщение # 503
8 уровень
Группа: Проверенные
Сообщений: 692
Награды: 0
Репутация: 28
Блокировки:
да

Добавлено (23-06-2010, 18:04)
---------------------------------------------
а нет

Добавлено (23-06-2010, 18:11)
---------------------------------------------
ай драгон молодец спс заработало


 

Ramazan(off)Дата: Четверг, 24 Июня 2010, 23:27:37 | Сообщение # 504
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 765
Блокировки:
Вахахахах я ржу) когда я ему эту наработку давал я русским языком сказал: созда триггер Stack Pickup => конвертируй в код, и замени вот этим текстом. МДа..
 

FaionДата: Пятница, 25 Июня 2010, 09:01:33 | Сообщение # 505
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Ищу доброго человека, который поможет собрать мувинг систему, бился 10 дней - результата не добился, даж пришлось погрузится в изучение jass, хотя во многом проблема в том что гребаный jngp глючит, чего я только не делал с ним.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

DragoNДата: Пятница, 25 Июня 2010, 15:53:15 | Сообщение # 506
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Faion, оке,сёдня начну писать
на координатах)


El Psy Congroo
 

FaionДата: Пятница, 25 Июня 2010, 16:33:32 | Сообщение # 507
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Dragon93, я тебя убью :3 зачем ты меня мучил целых 3 дня?=) Это типо прикол?=) Испытывал мою выдержку? =)

Кстати... я вообще в панике, реально, вар сломался, при запуске мапы в варе (разных версиях) половина отказывается работать, даж самых простых функций. Кажись я доигрался, придется наверно винду переставлять. Сейчас еще попробую ток прошлый бэкап, мб какой то jngp сломал мапу.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

EdiTTORRДата: Пятница, 25 Июня 2010, 19:17:14 | Сообщение # 508
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Кста как добавлять в Blizzard.j свои функции?
p.s. В мапе они работают а када вставляю в BJ вар выкидывают ошибки компилляции.А функции самые простые и 100% рабочие!


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

FaionДата: Пятница, 25 Июня 2010, 19:31:43 | Сообщение # 509
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Не в близардж над добавлять, а в мапу.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

DragoNДата: Пятница, 25 Июня 2010, 23:32:20 | Сообщение # 510
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (Faion)
Кстати... я вообще в панике, реально, вар сломался, при запуске мапы в варе (разных версиях) половина отказывается работать, даж самых простых функций. Кажись я доигрался, придется наверно винду переставлять. Сейчас еще попробую ток прошлый бэкап, мб какой то jngp сломал мапу.

ну верни ту ветку,что сбэкапил
винда ни при чём
Quote (EdiTTORR)
Кста как добавлять в Blizzard.j свои функции?
p.s. В мапе они работают а када вставляю в BJ вар выкидывают ошибки компилляции.А функции самые простые и 100% рабочие!

со стандартных нативок собирал?


El Psy Congroo
 

FlaReoNДата: Суббота, 26 Июня 2010, 01:02:23 | Сообщение # 511
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
Не в близардж над добавлять, а в мапу.

ф-ции в blizzard.j, а сам файл уже непосредственно в карту



 

EdiTTORRДата: Вторник, 29 Июня 2010, 16:10:50 | Сообщение # 512
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Quote (Dragon93)
со стандартных нативок собирал?

Ну со стандартных а что?
БЖ нельзя?

Добавлено (29-06-2010, 16:10)
---------------------------------------------
БЖ в мапу заливал
чет не фурычит... Вообще не видит(Отсутствует название функции)


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

DragoNДата: Среда, 30 Июня 2010, 12:57:31 | Сообщение # 513
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
EdiTTORR, закинь в кастом код и радуйся...

El Psy Congroo
 

EdiTTORRДата: Среда, 30 Июня 2010, 16:10:36 | Сообщение # 514
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Так обычно и делаю просто во многих статьях пишут что можно для удобства добавлять
Так удобства захотелось... :)


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

DragoNДата: Четверг, 01 Июля 2010, 00:12:59 | Сообщение # 515
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
EdiTTORR, ну сделай,импортни с путём scripts/blizzard.j и тестируй

El Psy Congroo
 

EdiTTORRДата: Четверг, 01 Июля 2010, 18:38:41 | Сообщение # 516
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
ОК спс

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

SirNikolasДата: Пятница, 02 Июля 2010, 12:10:54 | Сообщение # 517
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
У меня вопрос. Локальные переменные каких типов не нужно обнулять?

 

EdiTTORRДата: Пятница, 02 Июля 2010, 12:28:25 | Сообщение # 518
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
SirNikolas, Есть статья на этом сайте. "Оптимизация"

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

FlaReoNДата: Пятница, 02 Июля 2010, 13:38:41 | Сообщение # 519
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
Локальные переменные каких типов не нужно обнулять?

integer, real и boolean. остальные надо





Сообщение отредактировал FlaReoN - Пятница, 02 Июля 2010, 13:39:16
 

EdiTTORRДата: Пятница, 02 Июля 2010, 13:45:25 | Сообщение # 520
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
А player тоже надо XD XD XD XD XD

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

kaisarДата: Понедельник, 05 Июля 2010, 09:45:45 | Сообщение # 521
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
Я вот прочёл надавно начало статьи по jass, там сказанно как оптимизировать свой код, я вот не понял, если в условии if содержится больше 1 условия то как оптимизировать свой код?, записать в if через запятую условия?
Вот текст из самой статьи с xgm.ru

Code

Рассмотрим такой пример: имеется фрагмент триггерного действия
For each (Integer i) from 1 to 10, do (Actions)
      Цикл
          If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              Условие
                  i равно 1
              Действие
                  Set s = (s + 2)
              Иначе
                  Set s = (s + 1)

Цикл по i от 1 до 10 и условие внутри цикла. Во что превратится это действие, когда мы переведем его в jass? Создай в редакторе такой триггер и проверь.   
Действие превратится в следующий фрагмент
      set udg_i = 1
      loop
          exitwhen udg_i > 10
          if ( Trig_____________________________________001_Func001Func001C() ) then
              set udg_s = ( udg_s + 2 )
          else
              set udg_s = ( udg_s + 1 )
          endif
          set udg_i = udg_i + 1
      endloop

Думаю, что пока не очень понятно, что здесь за что отвечает. Начнем с оператора if. Очевидно, он превратился в строки:
          if ( Trig_____________________________________001_Func001Func001C() ) then
              set udg_s = ( udg_s + 2 )
          else
              set udg_s = ( udg_s + 1 )
          endif

Все что ниже первой строки - понятно, но почему вместо нормального условия в первой строке стоит "( Trig_____________________________________001_Func001Func001C() )"? Дело в том, что редактор триггеров довольно глупо переводит условия из триггеров или триггерных действий. После такого перевода часто приходится исправлять и оптимизировать код. В нашем случае, редактор создал специальную функцию с именем Trig_____________________________________001_Func001Func001C() для того, чтобы проверить нужное нам условие, что i=1. Эту функцию ты можешь увидеть вверху триггера:
function Trig_____________________________________001_Func001Func001C takes nothing returns boolean
      if ( not ( udg_i == 1 ) ) then
          return false
      endif
      return true
endfunction

Пока не будем вдаваться в то, что это за функция и что она делает. Самое главное - эта функция возвращает значение true (истина) если i=1, или ложь, если i не равно 1. Возникает вопрос: что же, при каждом применении оператора if нам придется создавать какую-то функцию? Ничего подобного - можно обойтись и без нее! Стираем эту ненужную функцию, а в строчку вносим изменения:
if (udg_i == 1) then

И все. остальное оставляем неизменным. У нас получится фрагмент кода:
      set udg_i = 1
      loop
          exitwhen udg_i > 10
          if (udg_i == 1) then
              set udg_s = ( udg_s + 2 )
          else
              set udg_s = ( udg_s + 1 )
          endif
          set udg_i = udg_i + 1
      endloop


Сообщение отредактировал kaisar - Понедельник, 05 Июля 2010, 09:46:05
 

Banzay89Дата: Понедельник, 05 Июля 2010, 13:47:35 | Сообщение # 522
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
kaisar, вот тебе кусок кода, вырваного из опен доты (ульт ярнеро):

Code
function Omnislash_Filter takes nothing returns boolean
  if(GetUnitTypeId(GetFilterUnit())!='o003')then
         if(GetUnitTypeId(GetFilterUnit())!='e00C')then
  if(IsUnitAliveBJ(GetFilterUnit()))then
  if(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) ==false)then
  if(GetUnitAbilityLevelSwapped('A04R',GetFilterUnit())!=1)then
  return true
  endif
  endif
  endif
  endif
  endif
  return false
endfunction

Думаю, понятно?

 

[DUОS]Дата: Понедельник, 05 Июля 2010, 16:37:31 | Сообщение # 523
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Banzay89,
А без ВJ слабо?)


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


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

Banzay89Дата: Понедельник, 05 Июля 2010, 16:55:05 | Сообщение # 524
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Quote
вырваного из опен доты

своей руки я сюда не прилажевал

 

SirNikolasДата: Понедельник, 05 Июля 2010, 17:34:25 | Сообщение # 525
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (|DUОS|)
А без ВJ слабо?
Code
if (GetUnitStateSwap(UNIT_STATE_LIFE, Unit) > 0.00) then
Так, что ли?




Сообщение отредактировал SirNikolas - Понедельник, 05 Июля 2010, 17:35:44
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » [ВАЖНО] Помощь по JASS
Поиск:

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