Записи участника (H_A_PK) - Форум


Правила форума ·

Результаты поиска

H_A_PK

#362 | Тема: Что за WTF
У вас недостаточно прав для просмотра данного сообщения.
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#363 | Тема: Ваши предложения
Quote (Ахил)
47-кам, Тогда шрифт мелким придется сделать, да и текста много будет, лично мое ИМХО.

РАзве нельзя написать просто "Модератор" ? Мне вот тоже конечно бесит новые иконки, где написано "Мод. форума", остаётся только догадываться, что там написано. Мод звучит как Мод. Бред конченого =/
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#365 | Тема: Введение в Jass
Условия
Структура условий в JASS:

[jass]if (условие) then
//Действия после удовлетворения условия.
else
//Действия, которые выполняются, если условие не удовлетворено.
endif[/jass]
т.е. если,то,иначе^

Могу привести пример так чтобы вы уж точно поняли. Нашем условием будет например i равно 10, то увеличьте i на 3, иначе уменьшить i на 2.

[jass]if (i == 10) then
set i = i + 3
else
set i = i - 2
endif[/jass]

Для того, чтобы сказать условию "равно", нужно ставить двойное равно, одинарное не воспринимается так как это знак присваивания. Знаки сравнения:

== - равно
!= - не равно
>= - больше или равно
<= - меньше или равно
> - больше
< - меньше

Теперь оптимизируем наше условие. Допустим, что нам не нужно ничего делать, если условие не выполняется т.е. в блоке иначе можно срубить строчку. Тогда вы можете написать так:

[jass]if (i == 10) then
set i = i + 3
else
call DoNothing()
endif[/jass]

Однако вы не оптимизировали код. С ним можно сделать 2 действия:
- Убрать call DoNothing(), она ничего не делает. Ну или просто не добавлять его изначально
- Убрать else, т.к. мы не хотим ничего делать, если условие не выполняется.
Получим:

[jass]if (i == 10) then
set i = i + 3
endif[/jass]

Отдельно расскажу об операторах and и or.
and означает, что для удовлетворения условия должны выполняться все условия. Приведём такой пример: если переменная i равна пяти, а переменная b меньше двух, то прибавить к переменной i три. Код будет таким:

[jass]if(i == 5 and b < 2) then
set i = i + 3
endif[/jass]

or означает, что для удовлетворения условия должно выполниться хотя бы одно из них. Приведём такой пример: если переменная i равна пяти или переменная d меньше 140, то прибавить к переменной i три. Код будет таким:

[jass]if(i == 5 or d < 140) then
set i = i + 3
endif[/jass]

Если вы хотите сделать условие в действиях при неудовлетворении условия, то используйте elseif. Приведём тот же пример: если переменная i равна пяти или переменная d меньше 140, то прибавить к переменной i три, в противном случае, если i равна четырём, добавить к значению i пять. Код будет такой:

[jass]if(i == 5 or d < 140) then
set i = i + 3
elseif(i == 4) then
set i = i + 5
endif [/jass]
Ну вот и всё. Теперь вы знаете условия в Jass

Циклы в Jass имеют следующую структуру:


[jass]loop
//Действия цикла
endloop[/jass]

Циклы можно регулировать целочисленной (integer), которую лучше сделать локальной переменной.
Циклы бесконечны, если не написать в них следующую строку: exitwhen ваше условие для окончания цикла.
Циклы выполняют действия последовательно, wait в циклах нежелателен (так как вызывает лютые баги). Поэтому подумайте, нужен ли вам цикл или вам нужен таймер.
Пример цикла:

[jass]local integer i = 1
loop
exitwhen i > 10 // Цикл делается 9 раз.
call DisplayTextToForce(GetPlayersAll(),(( "Высвечиваюсь" + I2S(i) ) + ( "-й раз" )))
set i = i + 1
endloop[/jass]
Прикрепления: 9526705.jpg (70.1 Kb)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#366 | Тема: Библиотека функций
закрепим

Функции для патчей 1.24+, позволяющие работать с Trackable - объектами, которые ловят мышь.


Воскрешает героя спустя определённый промежуток времени.


Система, позволяющая скрещивать предметы одной функцией. Требует Jass New Gen Pack (vJass).



Конвертирует число из шестнадцатеричной системы в десятичную.


Конвертирует число из десятичной системы в шестнадцатеричную.


Позволяет получить иконку, заполненную цветом определённого игрока.


Функция нанесения урона по линии. Полезна для спеллмейкеров.


Позволяет получить имя игрока в цвете. Поддерживает все 16 игроков.
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#367 | Тема: Библиотека функций
Системка позволяющия прикреплять к хендлу нашие данные


Скорость высокая =) чтобы использовать, нужно для начало выделить какую-либо память нам нужно использовать "New Data", укажим тип и имя:

New Data(integer,test1);

И так мы проинициализировали test1, теперь можно хранить целочисловые переменые под именем test1, делается это довольно просто, предположим у нас есть юнит к которому хотим присвоить что либо:

Save(test1,u,10)

и так присвоили к юниту число 10 )

можно прикреплять структуры... допустим:

struct point{
real X;
real Y;
}

New Data(point, test2);

можно несколько

New Data(point, test3);
New Data(point, test4);.

Для чтения используем: Load

Load (test2,u, Ipoin)

Здесь мы присвоили переменной Ipoin, сохроненное значения юнита в test2. для обнуление можно использовать:

Save(test1,u,0/null) (или null или 0, смотря что нужно)
by Эллесар
Прикрепления: 5652854.jpg (14.2 Kb)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#369 | Тема: Что за WTF
У вас недостаточно прав для просмотра данного сообщения.
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#370 | Тема: Что за WTF
У вас недостаточно прав для просмотра данного сообщения.
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#372 | Тема: [Статья]Создание триггерных скилов:Удаление точки
SunCreep, Молодец :). Подшил в оглавление surprised

Добавлено (22.07.11, 12:50)
---------------------------------------------

Quote (SunCreep)
Д-Установить Location1 равно позиция Unit
Д-Установить Location2 равно Location1 смешение на -5 по отношению к угол поворота Unit


Code
local location loc = Location(GetUnitX(u)+r*Cos(angle*.0174532) ,GetUnitY(u)+r*Sin(angle*.0174532) )

Зачем две локи ?

Добавлено (22.07.11, 12:53)
---------------------------------------------
Советую автору выучить Jass затем писать такие статьи

Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#373 | Тема: Нестандартная озвучка
Quote (SHEPARD)
Вот кстати пример

Где ?

Добавлено (22.07.11, 13:03)
---------------------------------------------
Перенёс, сейчас оформлю по людски

Добавлено (22.07.11, 13:09)
---------------------------------------------
Ахринеть ошибок SHEPARD, эм, ты учишься в школе для "особенных" ?

Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#375 | Тема: [Информация]Нарушения
У вас недостаточно прав для просмотра данного сообщения.
Сообщение отредактировал H_A_PK - Пт, 22.07.11, 13:36
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D
Поиск: