Воскресенье, 18.01.2026, 23:30 Приветствую Вас Гость


Всё для Warcraft3

Главная | Регистрация | Вход | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Полезные функции
SamДата: Пятница, 29.08.2008, 00:56 | Сообщение # 1
Геймер
Группа: Администраторы
Сообщений: 93
Статус: Offline
Code
function DisplayTextForPlayer takes player p, string text returns nothing
if GetLocalPlayer() == p then
call DisplayTextToForce(GetPlayersAll(), text)
endif
endfunction

Функция выводит сообщение для одного игрока. Время "жизни" сообщения определяется автоматически.

Code
function DisplayTextForPlayerTimed takes player p, string text, real time returns nothing
if GetLocalPlayer() == p then
call DisplayTimedTextToForce(GetPlayersAll(), time, text)
endif
endfunction

Функция выводит сообщение для одного игрока. Время "жизни" сообщения определяется параметром time.

Code
function CreateOneUnit takes player p, integer id, location loc returns unit
set bj_lastCreatedUnit = CreateUnitAtLocSaveLast(p, id, loc, bj_UNIT_FACING)
return bj_lastCreatedUnit
endfunction

Функция вара для создания юнитов крайне неудобна, так как даже создавая 1 юнита она возвращает нам группу. Данная функция создаёт одного юнита в нужной нам точке, не требуя никаких лишних параметров.

Code
function PlayerColor takes integer i returns string
if i == 1 then
return "|CFFFF0000"
elseif i == 2 then
return "|CFF0000FF"
elseif i == 3 then
return "|CFF18E7BD"
elseif i == 4 then
return "|CFF520084"
elseif i == 5 then
return "|CFFFFFF00"
elseif i == 6 then
return "|CFFFF8A08"
elseif i == 7 then
return "|CFF18BE00"
elseif i == 8 then
return "|CFFE759AD"
elseif i == 9 then
return "|CFF949694"
elseif i == 10 then
return "|CFF7BBEF7"
elseif i == 11 then
return "|CFF086142"
elseif i == 12 then
return "|CFF4A2800"
elseif i == 13 then
return "|CFF383838"
elseif i == 14 then
return "|CFFFFF799"
endif
return ""
endfunction

Набор цветовых кодов вара для каждого игрока. Передаём в функцию номер игрока, она возвращает нам его цвет.

Code
function SetColorText takes player p, string text returns string
return PlayerColor(GetConvertedPlayerId(p)) + text + "|r"
endfunction

Данная функция должна использоваться вместе с предыдущей. Она возвращает перекрашеную в цвет указанного игрока надпись.

Code
function PolarLocation takes location source, real dist, real angle returns location
local real x = GetLocationX(source) + dist * Cos(angle * bj_DEGTORAD)
local real y = GetLocationY(source) + dist * Sin(angle * bj_DEGTORAD)
call MoveLocation(source, x, y)
set x = 0.00
set y = 0.00
return source
endfunction

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

Code
function MoveUnitXYZ takes unit u, real x, real y, real z returns nothing
local location l = Location(x, y)
call SetUnitPositionLoc(u, l)
call RemoveLocation(l)
call SetUnitFlyHeight(u, z, 30000)
set l = null
endfunction

Данная функция поможет при создании различных эффектов и т.д. Она премещает указанного юнита по всем трём осям координат. НО перемещаемый юнит обязательно должен иметь тип движения летающий! Иначе он не переместица по оси Z.


1)Админ всегда прав
2)Если админ не прав читай 1 пост
 
  • Страница 1 из 1
  • 1
Поиск: