четверг, 29 декабря 2011 г.

Garry's Mod, Expression 2, entity()

N Number(Числа)
V2 / V / V4 2D / 3D / 4D Vector(Векторы)
A Angle(Углы)
S String(Строки)
E Entity(Объекты)
R Array(Массивы)
T Table(Таблицы)
RD Ranger Data(Рейнджеры)
B Bone(Кости)
M2 / M / M4 2x2 / 3x3 / 4x4 Matrix(Матрицы)
XWL Wirelink
C Complex number

Функция Возвращает Описание
entity(N) E Получает связь обьекта с помощью идентификатора
owner() E Получает владельца выражения (то же самое как entity():owner())
E:id() N Получает числовой идентификатор объекта
noentity() E Возвращает неверный обьект

E:type() S Получает класс обьекта
E:model() S Получает модель обьекта
E:owner() E Получает имя владельца обьекта
E:name() S Получает имя игрока
E:steamID() S Получает идентификатор(steam ID) игрока (currently bugged)

E:pos() V Получает позицию обьекта
E:eye() V Получает направление взгляда другого игрока(наверно=))
E:eyeTrace() RD Равнозначно rangerOffset(16384, E:shootPos(), E:eye()), но быстрее (что ведет к уменьшению задержки)
E:shootPos() V Возвращает позицию выстрела игрока
E:aimEntity() E Returns the entity that the entity is aiming at
E:aimBone() B Возвращает кость игрока на который наведен прицел
E:aimPos() V Возвращает позицию на которую наведен прицел
E:aimNormal() V Возвращает нормализованный направленный вектор, перпендикулярно поверхности направления прицела

E:frags() N Возвращает количество фрагов игрока
E:team() N Возвращает номер команды игрока
teamname(N) S Возвращает имя команды, связанной с числом команды
E:forward() V Получает прямое направление обьекта
E:right() V Получает правое направление обьекта
E:up() V Получает высотное направление обьекта
E:vel() V Получает скорость обьекта
E:velL() V Получает локальную скорость обьекта

E:boxCenter() V Получает центр ограничительной рамки обьекта, как локальный вектор позиции
E:boxMax() V Получает максимальный локальный XYZ ограничительной рамки обьекта ("высокий" край)как локальный вектор позиции
E:boxMin() V Получает минимальный локальный XYZ ограничительной рамки обьекта ("низкий" край)как локальный вектор позиции
E:boxSize() V Получает размеры ограничительной рамки обьекта в виде вектора (длина, ширина, высота)

E:toWorld(V) V Преобразование из локального вектора E в вектор мира.
E:toLocal(V) V Преобразование из мирового вектора в локальный вектор E.
E:toWorld(A) A Преобразование из локального угла E в угол мира.
E:toLocal(A) A Преобразование из мирового угла в локальный угол E.

E:angVel() A Получает угловую скорость объекта
E:angVelVector() V Возвращает ось вращения, скорость и направление, данное как направление вектора, величина и смысл(?)
E:angles() A Получает высоту, наклон и крен обьекта

E:radius() N Получает размер объекта (не точно, но полезно)
E:height() N Получает высоту игрока или npc
E:bearing(V) N Получает азимут от обьекта к вектору
E:elevation(V) N Получает высоту от обьекта к вектору
E:direction(V) A Получает высоту и азимут от обьекта к вектору
E:health() N Получает здоровье обьекта
E:armor() N Получает броню игрока
E:mass() N Получает массу обьекта
E:timeConnected() N Возвращает игрокам время подключения к серверу
E:massCenter() V Получает Центр Массы объекта
E:massCenterL() V Получает локальный Центр Массы объекта
E:setMass(N) Устанавливает массу объекта (между 0.001 и 50,000)
E:inertia() V Получает основные компоненты тензора инерции объекта в форме( Ixx, Iyy, Izz )

E:applyForce(V) Применяет силу к объекту согласно направлению данного вектора и величине
E:applyOffsetForce(V,V) Применяет силу к объекту согласно первому вектору от расположения второго
E:applyAngForce(A) Применяет крутящий момент к объекту согласно данному углу
E:applyTorque(V) Применяет крутящий момент в зависимости от заданного вектора, представляя ось вращающего момента, величину и направление

E:isPlayer() N Этот объект игрока?
E:isOnFire() N Этот объект находится в огне?
E:isWeapon() N Этот объект оружие?
E:isNPC() N Этот объект NPC?
E:isFrozen() N Этот объект заморожен?
E:isVehicle() N Этот объект машина??
E:inVehicle() N Игрок в машине?
E:isWorld() N Этот объект мир?
E:isOnGround() N Опирается объект на что-то, только работает при игроках и NPC?
E:isUnderWater() N Этот объект находится под водой?
E:isPlayerHolding() N Этот объект закреплен игроком?
E:isAlive() N Этот игрок или NPC жив?
E:isCrouch() N Этот игрок присел?
E:inNoclip() N Этот игрок под noclip модом?

E:keyAttack1() N Этот игрок нажал левую кнопку мыши?
E:keyAttack2() N Этот игрок нажал правую кнопку мыши?
E:keyUse() N Этот игрок нажал кнопку "использовать"?

E:hintDriver(S,N) N Отображает подсказку (всплывающее окно) для водителя транспортного средства E, с сообщением S, N секунд (N задержка между 0,7 и 7). Возвращает 1, если подсказка была отправлена.
E:printDriver(S) N Печатает сообщение S в чат от водителя машины E. Возвращает 1 если сообщение напечатано, 0 если нет.
E:driver() E Возвращает 1 если есть водитель, 0 если нет.
E:passenger() E Возвращает пассажира если он сидит, в одноместном pod"е вернет водителя.(наверно так=))
E:lockPod(N) 1 если закрыта или 0 открыта машина
E:ejectPod() Извлекает игрока из машины
E:killPod() Убивает игрока в машине

E:weapon() E Возвращает оружие игрока E которое он держит
E:clip1() N Returns the amount of ammo in the primary clip of weapon E, -1 if there is no primary clip
E:clip2() N Returns the amount of ammo in the secondary clip of weapon E, -1 if there is no secondary clip*
E:primaryAmmoType() S Returns the type of primary ammo of weapon E as a number in a string
E:secondaryAmmoType() S Returns the type of secondary ammo of weapon E as number in a string
E:ammoCount(S) N Returns the amount of stored ammo of type S on player E, excluding current clip

E:removeTrails() Removes the trail from entity
E:setTrails(N,N,N,S,V,N) StartSize, EndSize, Length, Material, Color (RGB), Alpha
Adds a trail to entity with the specified attributes

E:lookupAttachment(string attachmentName) N Returns entity's attachment ID associated with attachmentName
E:attachmentPos(attachmentID) V Returns entity's attachment position associated with attachmentID
E:attachmentAng(attachmentID) A Returns entity's attachment angle associated with attachmentID
E:attachmentPos(string attachmentName) V Same as E:attachmentPos(E:lookupAttachment(attachmentName))
E:attachmentAng(string attachmentName) A Same as E:attachmentAng(E:lookupAttachment(attachmentName))

четверг, 18 февраля 2010 г.

Создание юнита союзника

Чтобы создать юнита союзника нужно для начала создать самого юнита, для этого выберите инструмент Place Object, выберите из списка нужный вам объект, к примеру GLATunnelNetwork, назовите его как вам угодно, я назову plan и выберите команду teamPlyrCivilian. Далее зайдите в меню Edit\Scripts... в списке выберите plyrCivilian нажмите New Script\Script Conditions нажмите New... в списке откройте Scirmish и выбираем там Start Position, внизу нажмите на Player??? выберите (он по умолчанию стоит первым) далее нажмите на 0 и выберите номер игрока(если Player_2_Start => число 2) жмем Ок. Далее зайдите во вкладку Actions if True, нажмите New... открываем Player\Transfer\Transfer a specific unit to the control of a player внизу нажмите на Unit??? выберите имя вашего юнита, у меня plan далее нажмите на Player??? и выберите жмем Ок. Вот и все, для работы гла туннеля создайте еще один обьект GLATunnelNetwork назовите его plan2 и повторите все выше написанное.

среда, 17 февраля 2010 г.

Добавление поезда на карту C&C: Generals ZH

Для того что-бы поезд ездил, нужно поставить точки путей(Waypoint) с помощью Waypoint Tool, поставьте их как вам нужно. Теперь нужно поставить сам поезд, для этого нажмите на инструмент Place Object, выберите в списке TrainEngineVerySlow и поставьте его на путь т.е. на waypoint. Чтобы поезд останавливался в определенном месте, нужно выбрать нужный вам waypoint и переименовать его в Waypoint # Station(# - номер точки, например Waypoint 207 Station). Для того что-бы поезд проезжал по мосту, вам нужно поставить точки в начале и в конце моста и переименовать их в Waypoint # Tunnel
Если хотите что-бы в поезд можно было сажать юнитов, вам нужно настроить сам поезд, переименуйте путь вашего поезда, для этого выберите любой waypoint и в Waypoint Path Labels впишите Railroad. Теперь создайте в папке C:\Users\xxxx\Documents\Command and Conquer Generals Zero Hour Data\Maps файл map.ini и скопируйте туда вот это:


Object TrainEngineVerySlow
ReplaceModule ModuleTag_03
Behavior = RailroadBehavior ModuleTag_03_Override
PathPrefixName = Railroad

RunningGarrisonSpeedMax = 3
KillSpeedMin = 9
Friction = 0.995
BigMetalBounceSound = BuildingFallingMetal
SmallMetalBounceSound = VehicleImpactHeavy
MeatyBounceSound = InfantryCrush
ClicketyClackSound = TrainClicketyClack
WhistleSound = TrainWhistle

IsLocomotive = Yes
SpeedMax = 3.0
Acceleration = 1.005
WaitAtStationTime = 20000 ; двадцать секунд
Braking = 0.97
CrashFXTemplateName = SpecialEffectsTrainCrashObject

CarriageTemplateName = TrainCar03 ; вагончики
CarriageTemplateName = TrainCar03
CarriageTemplateName = TrainCar03
CarriageTemplateName = TrainCar03
CarriageTemplateName = TrainCar03
CarriageTemplateName = TrainCar03
CarriageTemplateName = TrainCab
End
End
End

Object TrainCar03
ReplaceModule ModuleTag_02
Body = ActiveBody ModuleTag_02_Override
MaxHealth = 10000.0
InitialHealth = 10000.0
End
End

AddModule ModuleTag_03_Override
Behavior = GarrisonContain ModuleTag_03
ContainMax = 10
AllowInsideKindOf = INFANTRY VEHICLE
EnterSound = GarrisonEnter
ExitSound = GarrisonExit
DamagePercentToUnits = 50%
MobileGarrison = Yes
End
End

ReplaceModule ModuleTag_04
Behavior = RailroadBehavior ModuleTag_04_Override
IsLocomotive = No
PathPrefixName = Railroad

RunningGarrisonSpeedMax = 3
KillSpeedMin = 9
Friction = 0.995
BigMetalBounceSound = BuildingFallingMetal
SmallMetalBounceSound = VehicleImpactHeavy
MeatyBounceSound = InfantryCrush
ClicketyClackSound = TrainClicketyClack
End
End
End

Object TrainCab
ReplaceModule ModuleTag_02
Body = ActiveBody ModuleTag_02_Override
MaxHealth = 10000.0
InitialHealth = 10000.0
End
End
AddModule ModuleTag_03_Override
Behavior = GarrisonContain ModuleTag_03
ContainMax = 10
EnterSound = GarrisonEnter
ExitSound = GarrisonExit
DamagePercentToUnits = 50%
MobileGarrison = Yes
End
End
ReplaceModule ModuleTag_04
Behavior = RailroadBehavior ModuleTag_04_Override
IsLocomotive = No
PathPrefixName = Railroad

RunningGarrisonSpeedMax = 3
KillSpeedMin = 9
Friction = 0.995
BigMetalBounceSound = BuildingFallingMetal
SmallMetalBounceSound = VehicleImpactHeavy
MeatyBounceSound = InfantryCrush
ClicketyClackSound = TrainClicketyClack
End
End
End



настройте как вам угодно и сохраните.

вторник, 31 марта 2009 г.

Настройка модуля FlashVideo на Drupal'e

Для работы модуля нам понадобится ffmpeg и плеер. Создаем папку ffmpeg в папке xampp, кидаем туда ffmpeg.exe
Теперь настраиваем сам модуль, заходим в настройки модуля(admin/settings/flashvideo), открываем вкладку Universal в форме ffmpeg Path вписываем путь к ffmpeg.exe(C:\xampp\ffmpeg\ffmpeg.exe), сохраняем, открываем вкладку Content Type Settings, выбираем тип материала, к примеру Заметка(story), нажимаем Edit settings for this content type, ставим галочку на Enable the FlashVideo for all nodes of this type: story(Включить FlashVideo во всех нодах данного типа), ставим галочку Convert videos immediately(Немедленное преобразование видеоматериалов), в Video Import Directory вписываем директорию куда будут сохранятся уже готовое видео flv(например sites/default/files/flv), далее ставим галочку в Search for videos in the Node Teaser для того чтобы можно было просмотреть видео на главной странице т.е. не открывая тему, в Flash Player Settings в Flash Player Name вписываем имя плеера(player-viral.swf) и сам плеер(player-viral.swf) перекидываем в папку sites/default/files. Далее ставим галочку в Use Thumbnail as Intro Image чтобы показывало картинку видео до проигрывания самого видео, в Default AutoStart выбираем автостарт проигрывания видео(false-нет, true-да). В FFMPEG settings в ffmpeg Command для настройки конвертации можете использовать команды:
-i - входящий файл
-ar - частота дискретизации звука в Гц
-ab - битрейт звука в кБит/c
-f - формат исходящего файла
-s - размер исходящего файла в пикселях
-y - заменять исходящий файл, если он уже есть
-ac - установить количество аудио каналов (по умолчанию = 1)
@input - импортированный фаил
@output - экспортированный фаил
больше можно узнать сдесь http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html
Далее ставим галочку Delete Original Video для удаления оригинального видео файла и ставим галочку в Output Directories reference from Drupal Root. В Output Directory вписываете директорию где будут лежать flv файлы(например sites/default/files/flv), Video Default Size - размер видео, Video Maximum Dimensions - максимальный размер видео, Thumbnail Size - размер картинки. Вот и все краткое обьяснения настройки модуля, если будет вылезать ошибка Error: Access Key is not Set, просто уберите галочку в настройках Amazon S3 Configuration у Enable FlashVideo S3 support.

понедельник, 30 марта 2009 г.

Настройка Ffmpeg в XAMPP 1.7.0

И так, нам нужно скачать ffmpeg-php-win32-all.zip (библиотеки с кодеками).
Открываем, раскидываем по папкам и настраиваем:
1 php_ffmpeg.dll в папку xampp\php\ext
2 pthreadGC2.dll, avcodec-51, avformat-51.dll, avutil-49.dll кидаем в папку windows/system32
3 Далее открываем xampp\apache\bin\php.ini , находим колонку расширений(extension), вписываем туда extension=php_ffmpeg.dll и сохраняем.
4 Далее в папке htdocs создаем ffmpeg.php фаил и вписываем туда <?php
if (extension_loaded('ffmpeg')) {
print 'DA!!!';
}
?>
5 Перезапускаем apache, заходим на ffmpeg.php, если все правильно то будет написано DA!!!

суббота, 14 марта 2009 г.

CSS хитрости IE 7

nearest-neighbor (менее качественный режим) — по умолчанию
bicubic (более качественный бикубический метод)

W3C рекомендует использовать это свойство с префиксом -ms.

<style type="text/css">
img.bicubic { -ms-interpolation-mode:bicubic }
img.nearest { -ms-interpolation-mode:nearest-neighbor }
</style>
<img class="bicubic" src="image1.jpg" width="50%" />
<!-- или масштабируем по высоте -->
<img class="nearest" src="image1.jpg" width="50%" />

mbMenu на jquery

Удобная штука mbMenu