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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Наработки для гуишников
Ty3uKДата: Понедельник, 26 Декабря 2011, 11:52:52 | Сообщение # 1
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:

Возможности

  • Движение юнитов
  • Подбрасывание юнитов
  • Даммикасты всех типов
  • Создание эффектов на время
  • Нанесение урона группе юнитов

Установка в карту


Для установки функции в карту, вам нужно скопировать ее из нестандартного кода карты (подробный список "что и куда" для каждой функции смотрим ниже), создать в своей карте переменную типа "хэштаблица" ("Hashtable") с названием Hashtable и инициализировать ее в триггере инициализации карты:
Код
set udg_Hashtable = InitHashtable()



Что и куда копировать, чтобы "робило и пахало"

  • Движение юнита на расстояние - копируем MoveDummy_Timer, MoveDummy
  • Движение юнита в точку каста - копируем GetDistanceBetweenCoords, MoveDummy_Timer, MoveDummyToTarget
  • Подбрасывание юнита на расстояние - копируем TossUnit_Timer, TossUnitToTarget
  • Подбрасывание юнита в точку каста - копируем GetDistanceBetweenCoords, TossUnit_Timer, TossUnitToTarget
  • Даммикаст на цель - копируем DummycastToTarget
  • Даммикаст без цели - копируем DummycastNoTarget
  • Даммикаст в точку - копируем DummycastToPoint
  • Добавить эффект на юнита на время - копируем DestroyTimedEffect, AddTimedEffectToUnit
  • Добавить эффект на в точку на время - копируем DestroyTimedEffect, AddTimedEffectToPoint
  • Нанести урон в области - копируем DamageGroupOfUnit

Как же вызывать эти фичи


Вызываются эти функции через Личный сценарий (читай, Custom script). Как и куда:
Код
call MoveDummy(кастер, юнит которого будем двигать, расстояние, скорость, удалять ли юнита в конце движения)

call MoveDummyToTarget(кастер, юнит которого будем двигать, скорость, удалять ли юнита в конце движения)

call TossUnit(юнит, расстояние, "эффект\\который\\создадим\\при\\приземлении")

call TossUnitToTarget(юнит, "эффект\\который\\создадим\\при\\приземлении")

call DummycastToTarget(кастер, равкод юнита, равкод способности, уровень способности, юнит-цель, "ид приказа")

call DummycastNoTarget(кастер, равкод юнита, равкод способности, уровень способности, "ид приказа")

call DummycastToPoint(кастер, равкод юнита, равкод способности, уровень способности, точка, "ид приказа")

call AddTimedEffectToUnit(юнит, "эффект", "точка прикрепления", время)

call AddTimedEffectToPoint(точка, "эффект", время)

call DamageGroupOfUnit(кастер, точка набора юнитов, радиус, урон, наносить ли урон зданиям, наносить ли урон иммунным к магии, наносить ли урон себе и союзникам)


Если что-то не понятно, то примеры применения есть в карте



Вопрос-ответ

  • Как узнать равкод способности? В РО нажимаем Ctrl + D. Вместо названия способности появляется набор букв вида 'А000', который и надо записывать в нужную вам функцию.
  • Как узнать ордер способности (для даммикаста)? В РО ищем строчку вида "приказ" (прошу прощения, у меня англ редактор, поэтому не могу сказать точно) и слово, которое там написано и есть наш ордер. Примеры: thunderclaps, fireboat and etc.



╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Понедельник, 26 Декабря 2011, 12:58:39
 

HexingДата: Четверг, 29 Декабря 2011, 11:54:35 | Сообщение # 26
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Ty3uK,
Code
call SaveAgentHandle(udg_Hashtable, hid, 0, u)
      call SaveReal(udg_Hashtable, hid, 1, angle)
      call SaveReal(udg_Hashtable, hid, 2, distance)
      call SaveReal(udg_Hashtable, hid, 3, 10.)
      call SaveStr(udg_Hashtable, hid, 6, eff)
меня это пугает
Дуся одобряет грибочки от бабушки засовывание всех переменных в хэш, когда можно лишь индекс к массивам с этими обьектами(всего 1 интегер)?

Добавлено (29 Декабрь 2011, 11:54:35)
---------------------------------------------

Quote (gaarraa)
кстати насчёт скорости, это скорость в секунду, так ?

это скорость в секунду, умноженная на (1 разделить на 0.04), другими словами эта скорость should be в 25 раз меньше чем мы указываем в РО, обьект будет передвинут на скорость 25 раз в секунду т.к.:
Quote (Ty3uK)
call TimerStart(t, .04, true, function MoveDummy_Timer)

Quote
.04


 

gaarraaДата: Четверг, 29 Декабря 2011, 12:04:17 | Сообщение # 27
3 уровень
Группа: Пользователи
Сообщений: 41
Награды: 0
Репутация: 4
Блокировки:
блин.... всё дело было в том, что я имя одной из переменных(caster) с маленькой буквы написал :/

кстати, Ty3uK, спасибо за наработаку ^_^

Добавлено (29 Декабрь 2011, 12:04:17)
---------------------------------------------

Quote (Hexing)
это скорость в секунду, умноженная на (1 разделить на 0.04), другими словами эта скорость should be в 25 раз меньше чем мы указываем в РО, обьект будет передвинут на скорость 25 раз в секунду т.к.:
ок, спс


нужен моделлер/жассер для аниме карты по наруто Shinobi Final War(S.F.W.),пишите в лс. Подробности тут http://warcraft3ft.info/forum/26-34400-1#1335316
 

lawsonДата: Четверг, 29 Декабря 2011, 14:30:57 | Сообщение # 28
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Hexing)
обьект будет передвинут на скорость 25 раз в секунду т.к.:

1 / .04 = 25 1:25 ??? Чета я не понял как это?


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

Ty3uKДата: Четверг, 29 Декабря 2011, 16:20:42 | Сообщение # 29
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Хекс, делай как удобно тебе. Этот способ проверен временем и обычным ВЕ

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

HexingДата: Пятница, 30 Декабря 2011, 07:47:38 | Сообщение # 30
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Ty3uK, дело твоё, но это не самый эффективный способ, что не есть в твоём стиле

 

Ty3uKДата: Пятница, 30 Декабря 2011, 09:21:55 | Сообщение # 31
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Этот способ использую во всех наработках. Замечаний со стороны Дуоса, Драгона или Николаса не было ни разу

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Пятница, 30 Декабря 2011, 14:29:49 | Сообщение # 32
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ty3uK, Hexing, Че вообще за прикол чета я е доганяю, на счет чего вы спорите.

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

Ty3uKДата: Пятница, 30 Декабря 2011, 16:17:10 | Сообщение # 33
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
На счет того, что я сохраняю все нужные в таймере локалки в хэш

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Пятница, 30 Декабря 2011, 18:29:39 | Сообщение # 34
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
Замечаний со стороны Дуоса, Драгона или Николаса не было ни разу
Ну, вообще-то здесь я согласен с Hexing: сохранение в хэш структуры - своеобразный компромисс между хэшем и массивами. Другое дело, что для этого либо нужен JNGP, либо с наработкой придется импортировать много переменных.


 

HexingДата: Пятница, 30 Декабря 2011, 18:39:47 | Сообщение # 35
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
Ну, вообще-то здесь я согласен с Hexing: сохранение в хэш структуры - своеобразный компромисс между хэшем и массивами. Другое дело, что для этого либо нужен JNGP, либо с наработкой придется импортировать много переменных.

Любителям jass2 можно и самим имитировать структуры, а вообще можно просто создать массивы тех типов данных которые нужно было сохранить в хеш, и вешать только номер ячейки массива, и следовательно грузить толька 1 интегер и уже обращаться к массивам... Вроде тут и jngp не нужен


 

SirNikolasДата: Пятница, 30 Декабря 2011, 18:41:08 | Сообщение # 36
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SirNikolas)
либо с наработкой придется импортировать много переменных.
Массивов*


 

Ty3uKДата: Пятница, 30 Декабря 2011, 22:12:27 | Сообщение # 37
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Делая эту наработку, я предполагал, что многие пользователи, используя гуи, не пользуются JNGP, поэтому и наработка сделана на "pure Jass 2" без костылей

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

HexingДата: Суббота, 31 Декабря 2011, 06:19:58 | Сообщение # 38
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
SirNikolas, Ty3uK, а я понял, это же на vjasse - globals endglobals, да, на jass2 пришлось бы массивы копировать, тогда ладно, всё норм Тузик, даже не придраться :) Good work, mr Freeman!

 

Ty3uKДата: Суббота, 31 Декабря 2011, 09:18:48 | Сообщение # 39
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Спасибо. :) стараюсь

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

[DUОS]Дата: Воскресенье, 01 Января 2012, 20:33:17 | Сообщение # 40
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Используй 'Aave' вместо 'Amrf' - он вытаскивается быстрее.

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


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

Ty3uKДата: Воскресенье, 01 Января 2012, 21:40:33 | Сообщение # 41
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Окей, спасибо

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

gaarraaДата: Среда, 11 Января 2012, 19:49:26 | Сообщение # 42
3 уровень
Группа: Пользователи
Сообщений: 41
Награды: 0
Репутация: 4
Блокировки:
Ty3uK, код прыжка юнита, ну и вообще коды передвижения дамми итд итп работают только с юнитами, или с группами тоже ?

нужен моделлер/жассер для аниме карты по наруто Shinobi Final War(S.F.W.),пишите в лс. Подробности тут http://warcraft3ft.info/forum/26-34400-1#1335316
 

Ty3uKДата: Понедельник, 19 Марта 2012, 10:13:27 | Сообщение # 43
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:

Возможности

  • Движение юнитов
  • Подбрасывание юнитов
  • Даммикасты всех типов
  • Создание эффектов на время
  • Нанесение урона группе юнитов

Установка в карту


Для установки функции в карту, вам нужно скопировать ее из нестандартного кода карты (подробный список "что и куда" для каждой функции смотрим ниже), создать в своей карте переменную типа "хэштаблица" ("Hashtable") с названием Hashtable и инициализировать ее в триггере инициализации карты:
Code
set udg_Hashtable = InitHashtable()



Что и куда копировать, чтобы "робило и пахало"

  • Движение юнита на расстояние - копируем MoveDummy_Timer, MoveDummy
  • Движение юнита в точку каста - копируем GetDistanceBetweenCoords, MoveDummy_Timer, MoveDummyToTarget
  • Подбрасывание юнита на расстояние - копируем TossUnit_Timer, TossUnitToTarget
  • Подбрасывание юнита в точку каста - копируем GetDistanceBetweenCoords, TossUnit_Timer, TossUnitToTarget
  • Даммикаст на цель - копируем DummycastToTarget
  • Даммикаст без цели - копируем DummycastNoTarget
  • Даммикаст в точку - копируем DummycastToPoint
  • Добавить эффект на юнита на время - копируем DestroyTimedEffect, AddTimedEffectToUnit
  • Добавить эффект на в точку на время - копируем DestroyTimedEffect, AddTimedEffectToPoint
  • Нанести урон в области - копируем DamageGroupOfUnit

Как же вызывать эти фичи


Вызываются эти функции через Личный сценарий (читай, Custom script). Как и куда:
Code
call MoveDummy(кастер, юнит которого будем двигать, расстояние, скорость, удалять ли юнита в конце движения)

call MoveDummyToTarget(кастер, юнит которого будем двигать, скорость, удалять ли юнита в конце движения)

call TossUnit(юнит, расстояние, "эффект\\который\\создадим\\при\\приземлении")

call TossUnitToTarget(юнит, "эффект\\который\\создадим\\при\\приземлении")

call DummycastToTarget(кастер, равкод юнита, равкод способности, уровень способности, юнит-цель, "ид приказа")

call DummycastNoTarget(кастер, равкод юнита, равкод способности, уровень способности, "ид приказа")

call DummycastToPoint(кастер, равкод юнита, равкод способности, уровень способности, точка, "ид приказа")

call AddTimedEffectToUnit(юнит, "эффект", "точка прикрепления", время)

call AddTimedEffectToPoint(точка, "эффект", время)

call DamageGroupOfUnit(кастер, точка набора юнитов, радиус, урон, наносить ли урон зданиям, наносить ли урон иммунным к магии, наносить ли урон себе и союзникам)


Если что-то не понятно, то примеры применения есть в карте



Вопрос-ответ

  • Как узнать равкод способности? В РО нажимаем Ctrl + D. Вместо названия способности появляется набор букв вида 'А000', который и надо записывать в нужную вам функцию.
  • Как узнать ордер способности (для даммикаста)? В РО ищем строчку вида "приказ" (прошу прощения, у меня англ редактор, поэтому не могу сказать точно) и слово, которое там написано и есть наш ордер. Примеры: thunderclaps, fireboat and etc.



╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Понедельник, 19 Марта 2012, 10:16:34
 

llkaДата: Понедельник, 19 Марта 2012, 13:49:46 | Сообщение # 44
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
Ty3uK, О боже да сделай ты одну структуру с методами, чем 100500 функций, также лечге работать.
 

Ty3uKДата: Понедельник, 19 Марта 2012, 14:12:41 | Сообщение # 45
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
llka, говножасс не предлагать (структуры не юзаю принципиально). Да и наработка расчитана на обычный ВЕ. Боже пишется с большой буквы. И не упоминай всуе. Могу закодить на дефайнах, но кому оно надо? Тем кто шарит это не нужно, а тем, кто нет - нужен JNGP.
Quote (llka)
структуру с методами
и будет 100500 методов, которые после парсера превратятся в такие же функции. Гениально


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Понедельник, 19 Марта 2012, 14:13:09
 

[DUОS]Дата: Понедельник, 19 Марта 2012, 14:22:34 | Сообщение # 46
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Ty3uK)
Боже пишется с большой буквы. И не упоминай всуе.

Атеисты как бы не вкурят D:
Ty3uK,
Он к Богу обратился, сам же упомянул, к кому обращается. При чём тут ты? trollface


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


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

llkaДата: Понедельник, 19 Марта 2012, 14:26:56 | Сообщение # 47
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
Ty3uK, Да забей эт я просто так. Ty3uK, А оно того стоит столько кода писать?
Я в первмо посте забыл сказать: молодец, красавец, вот только бы не мелочился еще был бы наверное богом для "нешарящих"!

Добавлено (19 Март 2012, 14:26:56)
---------------------------------------------
[DUОS],Астряк... непризнанный. :p

 

Ty3uKДата: Понедельник, 19 Марта 2012, 14:27:55 | Сообщение # 48
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
А как же надо не мелочиться? :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

llkaДата: Понедельник, 19 Марта 2012, 14:29:58 | Сообщение # 49
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
Quote (Ty3uK)
А как же надо не мелочиться?

Ну например написал бы систему создания 10 слотов для предметов в одной функции, или там еще работа с векторами.
 

Ty3uKДата: Понедельник, 19 Марта 2012, 14:31:33 | Сообщение # 50
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну, это уже давно есть на хгм в исполнении скорпа/дока. Да и на гуи юзают локи, а не координаты -> смысл делать библиотеку векторов очень мал :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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