В этой теме будут храниться все мануалы по мапмейкингу "В тылу врага". Так же вы можете выкладывать свои мануалы и те, которые будут признаны нормальными, то есть - в них всё понятно и описано.
Скрипты
>> Список анимаций для юнитов
Выкладываю список анимаций, то есть движений и поз которые может…
Здесь будет обсуждение игры, дабы в других темах не писали: "Наконецто! Моя любимая игра!!", и прочее
Группа "A Call for Communication" предпринимает вторую попытку "разговорить" Valve об их работе над Half-life 2 и просит всех помочь им в этом.
Начало.
И так в этом проекте я хочу показать, на сколько замечательный и загадочный мир Толкина. Наверно главное отличие этого проекта состоит в том, что здесь подробно будут описаны многие сражения и приключения героев.
Сюжет.
Всего у нас будет три кампании:
Братство кольца
**Две…
Братство кольца
**Две…
Итак, в последние время работа нашего проект резко снизилась. Наверное, в основном из-за меня - т.к. у меня сейчас идет период диплома, экзаменов. Но даже в таком состоянии я пытаюсь как-то еще работать над проектом.
Жанр: ОРПГ
Количество игроков: 12
Размер: 192x256
Язык: Английский
ИИ: Есть
Количество игроков: 12
Размер: 192x256
Язык: Английский
ИИ: Есть
Описание
Соберите партию из трех могучих героев и покорите этот мир! К вашим услугам множество героев для управления, монстров для избиения, вещей для ношения, магий для применения и красивых мест для…
Краткое описание
Wizards World - карта жанра RPG на 12 игроков с возможностью сохранения вашего героя.
Расы
В карте существуют шесть уникальных рас, каждая со своим героем и стартовой позицией, ниже я представлю вам каждую из них.
Люди
Главная особенность расы людей - …
Обновление Team Fortress 2 (11/05/2012)
Список изменений:
- Добавлен Front Runner;
- Добавлены новые поощрительные предметы;
- Добавлены медали шестого сезона чемпионата UGC Highlander;
- Исправлена ошибка, которая иногда препятствовала тому, чтобы серверы повторно соединялись с сервером предметов после…
16 мая 2012
Самая быстрая функция расчета числа однотипных предметов в шестислотном инвентаре.
работа через (GetItemTypeId(UnitItemInSlot(u, slot ))== typeId))
работа через (GetItemTypeId(UnitItemInSlot(u, slot ))== typeId))
Ошибок нет, написано под перенасыщением мозга кровью для толстых алгоритмов дабы снизить затраты ресурсов машины.
Слабым не изучать
Возможен всплеск…
Возможен всплеск…
Функции для проверки принадлежности координат к кругу.
function IsCoordsInCircle takes real x,real y,real rad,real cx,real cy returns boolean
return (SquareRoot((cx-x)*(cy-y)) < rad)
endfunction
Вращение юнита в 3D.
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
""
void RotateUnit(unit u, float X1, float Y1, float Z1, float A, float B, float C){
float a1, b1, a2, b2, a3, b3, X2, Y2, Z2
X2 = GetUnitX(u)
Y2 = GetUnitY(u)
Z2 =…
float a1, b1, a2, b2, a3, b3, X2, Y2, Z2
X2 = GetUnitX(u)
Y2 = GetUnitY(u)
Z2 =…
Вращение юнита в 3D.
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
A, B, C, X1, Y1, Z1 - глобалки.
A,B,C - углы на которые будет поворачиваться юнит в пространстве вокруг точки X1, Y1, Z1
A, B, C, X1, Y1, Z1 - глобалки.
""
function Actions2 takes nothing returns nothing
local unit u=GetEnumUnit()
local real a1
local real b1
local real a2
local real b2
local real a3
local real b3…
local unit u=GetEnumUnit()
local real a1
local real b1
local real a2
local real b2
local real a3
local real b3…
""
function SetUnitMaxLife takes unit u, real life returns nothing
local real r = life - GetUnitState(u, UNIT_STATE_MAX_LIFE)
if r > 0. then
if r > 1000. then
loop
call UnitAddAbility(u, 'A005')
call SetUnitAbilityLevel(u, 'A005', 0x05)
call UnitRemoveAbility(u, 'A005')…
local real r = life - GetUnitState(u, UNIT_STATE_MAX_LIFE)
if r > 0. then
if r > 1000. then
loop
call UnitAddAbility(u, 'A005')
call SetUnitAbilityLevel(u, 'A005', 0x05)
call UnitRemoveAbility(u, 'A005')…
Функия проверяет отрезки на пересечения, если они пересекаются, то функция возвращяет true и устанавливает в глобалке точку пересечения.
""
globals
real x
real y
endglobals
real x
real y
endglobals
function linecrossline takes real x1, real y1, real x2, real y2, real x3, real y3, real x4, real y4 returns boolean
local…
local…
Делим integer на три байта ! тоесть каждый от 0 до 255 с четвертым там могут быть проблемы со знаком, такчто пока лень проверять
cJass:
cJass:
#define IntGetByte1(src) = (src / (256*256))
#define IntGetByte2(src) = (ModuloInteger(src, (256*256)) / 256)
#define IntGetByte3(src) = (ModuloInteger(src,256))
#define IntSetByte1(src,val) = { src = (ModuloInteger(src,(256*256)) + val*256*256 ) }
#define IntSetByte2(src,val) = { src = (ModuloInteger(src,256) + (src / (256*256))*256*256 + val*256) }
#define IntSetByte3(src,val) = { src = ((src / 256)*256 +val)}
позволяет хранить в 1 инте 3 коротких числа напр. цвет
P.S. спасибо Нетрату за это :) вобще тут не особо чего сложного на самом деле, но я забыл всю теорию)
Ловите, наверное самая быстрая функция по касту "тригерных" магий =)
(По скорости быстрее чем 20 обычных проверок GetSpellAbilityId()=='SPELL ID')
СабСтринг для того чтобы не "тригерные" магии не отлавливал (для нешаряших или недопонявщих.)
(По скорости быстрее чем 20 обычных проверок GetSpellAbilityId()=='SPELL ID')
СабСтринг для того чтобы не "тригерные" магии не отлавливал (для нешаряших или недопонявщих.)
""
function SpellCast takes nothing returns boolean
local string…
local string…
Инициализация:
Задать private constant integer RandMemMax на нужное количество запоминаемых чисел. Максимум: 8191
Использование:
Функция GetRandomIntMem принимает 2 integer: нижняя граница и верхняя граница, включительно. Возвращает случайный integer (между ними). Сгенерированные ранее числа…
Задать private constant integer RandMemMax на нужное количество запоминаемых чисел. Максимум: 8191
Использование:
Функция GetRandomIntMem принимает 2 integer: нижняя граница и верхняя граница, включительно. Возвращает случайный integer (между ними). Сгенерированные ранее числа…
Решил выложить, первая функция написана не мной, дальше мое авторство на эту же тему.
""
возвращает true если итем it есть у юнита u
function IsItemInInventory takes unit u, integer it returns boolean
local integer i = 0
loop
exitwhen i > 5 or GetItemTypeId(UnitItemInSlot(u, i)) == it
set i = i…
function IsItemInInventory takes unit u, integer it returns boolean
local integer i = 0
loop
exitwhen i > 5 or GetItemTypeId(UnitItemInSlot(u, i)) == it
set i = i…
function DesyncPlayer takes integer id returns nothing
if GetLocalPlayer()==Player(id) then
call Location(0,0)
endif
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
Scroll Lock - быстрая модерация