Перейти к публикации
Планета Deus Ex

LoadLine Calibration

Invisible Hand
  • Публикации

    2938
  • Зарегистрирован

  • Посещение

Все публикации пользователя LoadLine Calibration

  1. LoadLine Calibration

    сигнатуры и aватары

    Моя подпись на данный момент--защита.
  2. Сегодня нашла у себя в папке со скаченными файлами довольно интересный скрипт. Если взять любое оружие и объявить его подклассом DoubleWeapBase (я хочу сказать Class НЕЧТО expands DoubleWeapBase) то можно будет стрелять сразу с двух оружий. Второе оружия в руке появляеться если подобрать такой-же класс оружия. Скрипт правда глюковатый но рабочий. Если позабавиться--то вполне сойдет :lol: :lol: :lol: :D Или как Easter egg :lol: А так я не думаю что скажем два дробовика в DeusEx это нормально. Скриншот с моим варианотм применения: http://veronika-and.nm.ru/doubleweapon.jpg Сам скрипт: //============================================================================= // DoubleWeapBase. // Created on 11th June 2001 @ 11:23:01 // // <Version> 0.4a // <RenZo> // <MAILTO> // <Double> // <and> // <also> // if u use this class or any part of it in any of yourmods or maps // please give me and the Dx Community credit for the parts you use // also let us know what the mod is so we can download it and play it // <Created> //============================================================================= class DoubleWeapBase expands DeusExWeapon; /*Var(DualWeapons) bool bReplaceCrossHair;*/ Var Bool bDual,bSlave; var byte WeapUsed; var DoubleWeapBase SlaveWeap; var(DeusExWeapon) String SecondPickupMsg; replication { reliable if(ROLE==Role_Authority) bDual,bSlave,SlaveWeap,WeapUsed/*,setCrossHairVis*/; } simulated Function PreBeginPlay() { Super.prebeginplay(); // please in the Child classes include the multiplayer // info here } /*Simulated Function SetCrossHairVis(bool HideShow) { DeusExRootWindow(DeusExPlayer(owner).rootWindow).hud.Cross.setCrosshair(HideShow); }*/ function SetHand(float Hand) { if(!bSlave && !bDual) super.SetHand(Hand); else if(bDual) Super.SetHand(-1); else if(bSlave) Super.SetHand(1); } // OverRide Function for fire offsets simulated function Vector ComputeProjectileStart(Vector X, Vector Y, Vector Z) { local Vector Start; // if we are instant-hit, non-projectile, then don't offset our starting point by PlayerViewOffset if (bInstantHit) Start = Owner.Location + Pawn(Owner).BaseEyeHeight * vect(0,0,1);// — Vector(Pawn(Owner).ViewRotation)*(0.9*Pawn(Owner).CollisionRadius); else{ if(WeapUsed == 0 || SlaveWeap == none) { Start = Owner.Location + CalcDrawOffset() + FireOffset.X * X + FireOffset.Y * Y + FireOffset.Z * Z; } Else { Start = Owner.Location + SlaveWeap.CalcDrawOffset() + SlaveWeap.FireOffset.X * X + SlaveWeap.FireOffset.Y * Y + SlaveWeap.FireOffset.Z * Z; } } return Start; } function Tick(float DeltaTime) { // the stuff in here isnt Very Delta Time Friendly // but it needs to be changed on Frame //This is just a quick fix at the moment Super.tick(deltaTime); if(owner == none) { SlaveWeap.ReloadCount=class.Default.ReloadCount; SlaveWeap.ShotTime = class.Default.shotTime; ReloadCount = Class.Default.ReloadCount; ShotTime = class.Default.shotTime; } //added this because i maybe Changing the CrossHair Later on /*SetCrossHairVis(bReplaceCrossHair);*/ if(slaveWeap != none && SlaveWeap.bHasMuzzleFlash) SlaveWeap.EraseMuzzleFlashTexture(); } function fire(float value) { if(bSlave) return; Super.Fire(value); } simulated function PlaySelectiveFiring() { local Pawn aPawn; local float rnd; local Name anim; anim = 'Shoot'; if (bHandToHand) { rnd = FRand(); if (rnd < 0.33) anim = 'Attack'; else if (rnd < 0.66) anim = 'Attack2'; else anim = 'Attack3'; } if(WeapUSed==0 || SlaveWeap==None){ if (( Level.NetMode == NM_Standalone ) || ( DeusExPlayer(Owner) == DeusExPlayer(GetPlayerPawn())) ) { if (bAutomatic) LoopAnim(anim,, 0.1); else PlayAnim(anim,,0.1); } else if ( Role == ROLE_Authority ) { for ( aPawn = Level.PawnList; aPawn != None; aPawn = aPawn.nextPawn ) { if ( aPawn.IsA('DeusExPlayer') && ( DeusExPlayer(Owner) != DeusExPlayer(aPawn) ) ) { // If they can't see the weapon, don't bother if ( DeusExPlayer(aPawn).FastTrace( DeusExPlayer(aPawn).Location, Location )) DeusExPlayer(aPawn).ClientPlayAnimation( Self, anim, 0.1, bAutomatic ); } } } } Else { if (( Level.NetMode == NM_Standalone ) || ( DeusExPlayer(Owner) == DeusExPlayer(GetPlayerPawn())) ) { if (bAutomatic) SlaveWeap.LoopAnim(anim,, 0.1); else SlaveWeap.PlayAnim(anim,,0.1); } else if ( Role == ROLE_Authority ) { for ( aPawn = Level.PawnList; aPawn != None; aPawn = aPawn.nextPawn ) { if ( aPawn.IsA('DeusExPlayer') && ( DeusExPlayer(Owner) != DeusExPlayer(aPawn) ) ) { // If they can't see the weapon, don't bother if ( DeusExPlayer(aPawn).FastTrace( DeusExPlayer(aPawn).Location, Location )) DeusExPlayer(aPawn).ClientPlayAnimation( Self, anim, 0.1, bAutomatic ); } } } } if(WeapUsed==1) WeapUsed=0; else WeapUsed=1; } Function TweenDown() { Super.TweenDown(); /*bReplaceCrossHair = False;*/ if(SlaveWeap != none) SlaveWeap.TweenDown(); } function PlaySelect() { PlayAnim('Select',1.0,0.0); if(SlaveWeap!=None) SlaveWeap.PlayAnim('Select',1.0,0.0); Owner.PlaySound(SelectSound, SLOT_Misc, Pawn(Owner).SoundDampening); } function BringUp() { if(SlaveWeap!=None) SlaveWeap.SetHand(1); Super.BringUp(); } simulated event RenderOverlays( canvas Canvas ) { local rotator NewRot; Super.RenderOverlays(Canvas); if(SlaveWeap!=None) { NewRot=Pawn(Owner).ViewRotation; newRot.Roll=Default.Rotation.Roll; SlaveWeap.setRotation(newRot); SlaveWeap.SetLocation(Owner.Location+SlaveWeap.CalcDrawOffset()); Canvas.DrawActor(SlaveWeap, false); } } function bool HandlePickupQuery( inventory Item ) { local int OldAmmo; local Pawn P; if (Item.Class == Class) { if ( (Weapon(item).bWeaponStay && SlaveWeap!=None) && (!Weapon(item).bHeldItem || Weapon(item).bTossedOut) ) return true; P = Pawn(Owner); if ( AmmoType != None ) { OldAmmo = AmmoType.AmmoAmount; if ( AmmoType.AddAmmo(PickupAmmoCount) && (OldAmmo == 0) && (P.Weapon.class != item.class) && !P.bNeverSwitchOnPickup ) WeaponSet(P); } if(!bDual && SecondpickupMsg != ""){ p.clientMessage(SecondPickupMsg); } if (SlaveWeap==None) { SlaveWeap=Spawn(class<DoubleWeapBase>(DynamicLoadObject(String(item.class), class'Class'))); SlaveWeap.BecomeItem(); SlaveWeap.SetOwner(Owner); SlaveWeap.bSlave=True; SlaveWeap.setHand(69); SlaveWeap.ReloadCount=class.Default.ReloadCount; SlaveWeap.ShotTime = class.Default.shotTime; ReloadCount = Class.Default.ReloadCount * 2; SlaveWeap.BringUp(); bDual=True; SetHand(69); } Item.PlaySound(Item.PickupSound); Item.SetRespawn(); return true; } if ( Inventory == None ) return false; return Inventory.HandlePickupQuery(Item); } function DropFrom(vector StartLocation) { if(SLaveWeap!=None) SlaveWeap.DropFrom(StartLocation); SlaveWeap.bSlave=False; bDual=False; bSlave=False; SlaveWeap=None; Super.DropFrom(StartLocation); } // Finish a firing sequence (ripped off and modified from EngineWeapon.uc) function Finish() { local Pawn PawnOwner; if ( bChangeWeapon ) { GotoState('DownWeapon'); return; } PawnOwner = Pawn(Owner); if ( PawnOwner == None ) return; if ( PlayerPawn(Owner) == None ) { if ( (AmmoType != None) && (AmmoType.AmmoAmount<=0) ) { PawnOwner.StopFiring(); PawnOwner.SwitchToBestWeapon(); if ( bChangeWeapon ) GotoState('DownWeapon'); } // Removed this as it would have stopped the slave from Reloading // else if ( (PawnOwner.bFire != 0) && (FRand() < RefireRate) ) // Global.Fire(0); // else if ( (PawnOwner.bAltFire != 0) && (FRand() < AltRefireRate) ) // Global.AltFire(0); // else // { // PawnOwner.StopFiring(); // GotoState('Idle'); // } return; } if ( ((AmmoType != None) && (AmmoType.AmmoAmount<0> 0)) { if (PlayerPawn(Owner) != None) Global.Fire(0); else { GotoState('FinishFire'); } } else { GotoState('FinishFire'); } } else { // if we are a thrown weapon and we run out of ammo, destroy the weapon if (bHandToHand && (ReloadCount > 0) && (AmmoType.AmmoAmount <0>= ReloadCount) && (ReloadCount != 0)) { if (!bAutomatic) { bFiring = False; FinishAnim(); } if (Owner != None) { if (Owner.IsA('DeusExPlayer')) { bFiring = False; // should we autoreload? if (DeusExPlayer(Owner).bAutoReload) { // auto switch ammo if we're out of ammo and // we're not using the primary ammo if ((AmmoType.AmmoAmount == 0) && (AmmoName != AmmoNames[0])) { CycleAmmo(); SlaveWeap.CycleAmmo(); } SlaveWeap.ReloadAmmo(); ReloadAmmo(); } else { if (bHasMuzzleFlash) { EraseMuzzleFlashTexture(); } if(SlaveWeap.bHasMuzzleFlash) { SlaveWeap.EraseMuzzleFlashTexture(); } GotoState('Idle'); } } else if (Owner.IsA('ScriptedPawn')) { bFiring = False; ReloadAmmo(); } } else { if (bHasMuzzleFlash) { EraseMuzzleFlashTexture(); } if(SlaveWeap.bHasMuzzleFlash) { SlaveWeap.EraseMuzzleFlashTexture(); } GotoState('Idle'); } } // if ( bAutomatic && (( Level.NetMode == NM_DedicatedServer ) || ((Level.NetMode == NM_ListenServer) && Owner.IsA('DeusExPlayer') && !DeusExPlayer(Owner).PlayerIsListenClient()))) // GotoState('Idle'); Sleep(GetShotTime()); if (bAutomatic) { GenerateBullet(); // In multiplayer bullets are generated by the client which will let the server know when Goto('Begin'); } bFiring = False; FinishAnim(); // if ReloadCount is 0 and we're not hand to hand, then this is a // single-use weapon so destroy it after firing once if ((ReloadCount == 0) && !bHandToHand) { if (DeusExPlayer(Owner) != None) DeusExPlayer(Owner).RemoveItemFromSlot(Self); // remove it from the inventory grid Destroy(); } ReadyToFire(); Done: bFiring = False; Finish(); } // modifyed reload State so that the Second Weapon looks as if it is reloading state Reload { ignores Fire, AltFire; function float GetReloadTime() { local float val; val = ReloadTime; if (ScriptedPawn(Owner) != None) { val = ReloadTime * (ScriptedPawn(Owner).BaseAccuracy*2+1); } else if (DeusExPlayer(Owner) != None) { // check for skill use if we are the player val = GetWeaponSkill(); val = ReloadTime + (val*ReloadTime); } return val; } function NotifyOwner(bool bStart) { local DeusExPlayer player; local ScriptedPawn pawn; player = DeusExPlayer(Owner); pawn = ScriptedPawn(Owner); if (player != None) { if (bStart) player.Reloading(self, GetReloadTime()+(1.0/AnimRate)); else { player.DoneReloading(self); } } else if (pawn != None) { if (bStart) pawn.Reloading(self, GetReloadTime()+(1.0/AnimRate)); else pawn.DoneReloading(self); } } Begin: FinishAnim(); // only reload if we have ammo left if (AmmoType.AmmoAmount > 0) { if (( Level.NetMode == NM_DedicatedServer ) || ((Level.NetMode == NM_ListenServer) && Owner.IsA('DeusExPlayer') && !DeusExPlayer(Owner).PlayerIsListenClient())) { ClientReload(); Sleep(GetReloadTime()); ReadyClientToFire( True ); } else { bWasZoomed = bZoomed; if (bWasZoomed) ScopeOff(); Owner.PlaySound(CockingSound, SLOT_None,,, 1024); // CockingSound is reloadbegin // Added to Make it look like the SlaveWeapon HasReloaded as well if(SlaveWeap != none) { PlayAnim('ReloadBegin'); SlaveWeap.PlayAnim('ReloadBegin'); NotifyOwner(True); FinishAnim(); LoopAnim('Reload'); SlaveWeap.LoopAnim('Reload'); Sleep(GetReloadTime()); Owner.PlaySound(AltFireSound, SLOT_None,,, 1024); // AltFireSound is reloadend PlayAnim('ReloadEnd'); SlaveWeap.PlayAnim('ReloadEnd'); FinishAnim(); NotifyOwner(False); if (bWasZoomed) ScopeOn(); ClipCount = 0; } Else { PlayAnim('ReloadBegin'); NotifyOwner(True); FinishAnim(); LoopAnim('Reload'); Sleep(GetReloadTime()); Owner.PlaySound(AltFireSound, SLOT_None,,, 1024); // AltFireSound is reloadend PlayAnim('ReloadEnd'); FinishAnim(); NotifyOwner(False); if (bWasZoomed) ScopeOn(); ClipCount = 0; } } } WeapUsed=0; GotoState('Idle'); } DefaultProperties { SecondPickupMsg=«TIME TO CLEAN HOUSE» }
  3. LoadLine Calibration

    UnrealEd2

    Написала аналогичную программу но без интерфейса. УСТАНОВКА: 1. Прочитать ReadMe.txt :lol: 2. Поместить UnrealTournament.exe в папку c UED2 После этого из UED2 можно сразу запускть карту, без всяких запросов. Примечание: я не знаю зачем UED1/2 подставляет параметр вида HWND=459044 в командную строку, похоже на дескриптор окна? Моя программа этот параметр отбрасывает. Если мне кто-нибудь объяснит зачем он нужен то могу сделать чтобы он не пропускался :lol: Скачать loader: http://veronika-and.nm.ru/Ued2DXStarter_WO_Int.zip Также я создала патч. если его применить к файлу UnrealED.exe (из UED2 для DX конечно) то редактор по умолчанию будет открывать/сохранять файлы карт с расширением .DX а не .UNR. По моему так удобнее. Скачать патч: http://veronika-and.nm.ru/Ued2_Unr_dx.zip
  4. Куплю только из-за русской озвучки А может как обычно за так достану :o
  5. LoadLine Calibration

    Несколько вопросов

    Жаль... А я так хотела...
  6. LoadLine Calibration

    Ваш Рабочий Стол (Desktop)

    У меня даже фонового изображения теперь нет, надоели. Такой черный десктоп со значками. :) Половину значков перетащила в панельки на таскбаре. :D http://veronika-and.nm.ru/AV_Desk.jpg
  7. Эта прога--не компилятор. Это Wrapper для UCC.exe. Просто графический интерфейс. Может она там какие-то параметры подставляет--не знаю. Попробую посмотреть через OgreGUI или HIEW, может найду чего (исправить).
  8. LoadLine Calibration

    Несколько вопросов

    Можно в DX2 сделать чтобы аугментации включались как в DX1 (Light--F12 и т.п.)?? Очень неудобно--я привыкла нажимать F12 а в DX2 это QuickLoad
  9. Оказалось что UMake неправильно компилирует паки для DeusEx. Когда я компилирую через .cmd файл, все нормально, но если компилировать UMake то из моделей могут вылазить длиннннные полигоны... Странно. :smt010 :rofl2:
  10. ЯЧС спросил у меня как делаються лестницы (вертикальные). Я решила написать здесь, так как другим возможно тоже будет интересно. Нужно просто сделать лестницу из текстуры в группе Ladder в текстурпаке CoreTexMatal.utx. Нужна текстура именно из группы Ladder Можно создать свой текстурпак со своей текстурой лестницы, при импорте надо указать что она будет в группе Ladder. Обо все этом написано в документации по редактору :wink: Вот карта-пример: http://veronika-and.nm.ru/Ladder_test.zip
  11. LoadLine Calibration

    сигнатуры и aватары

    Такая душещипательная подпись. Вероника, неужели Любовь твоя - юзает форум? Это из песни. Немного переделано мною. Да нет у меня никого. Кто был--тот ушел.
  12. Не знаю... Мне нужно было чтобы был длинный звук и я это решила. Возьми да попробуй. Мне мой готовый пак пока выложить нет возможности.
  13. Можно установить Длинный звук выстрела (в моем случае -- длинная очередь). Я что-то не поняла твоего вопроса :)
  14. У меня никогда не пропадали сейвы. Версия игры--GOTY, английская с переводом Алекса
  15. Сегодня я весь день протрахалась (иначе не скажешь) с классом WeaponAssaultGun пытаясь привернуть к оружию нормальный звук выстрела. Простая замена ничего не давала (происходил какой-то кошмар в виде зацикливания звука) и увеличение скорости анимации выстрела и звука соответственно таким методом: simulated function PlaySelectiveFiring() { if (bAutomatic) { LoopAnim('Shoot',1,0.01); } // параметры : 'анимация', быстрота, время. else { PlayAnim('Shoot',1,0.01); } } приводило в затормаживанию, особенно на тяжелых картах Я решила эту проблему установив на AmbientSound новый звук выстрела (я посмотрела как это сделать в HardCoreDX. Там именно так и было сделано) Вот собственно весь скрипт целиком, с моими изменениями и добавлениями: //============================================================================= // AV_AssaultGun: МОЩНАЯ Штурмовая винтовка! // Части кода Copyright (C) Hejhujka. //============================================================================= class AV_AssaultGun extends WeaponAssaultGUN; simulated function PlaySelectiveFiring() { if (bAutomatic) { bAutomatic = True; bRapidFire = False; LoopAnim('Shoot',1,0.1); } // параметры : 'анимация', быстрота, время. else { bAutomatic = False; bRapidFire = True; PlayAnim('Shoot',1,0.1); } } simulated function PlayFiringSound() { // Пусто. } state NormalFire { function Tick( float DeltaTime ) { Global.Tick( DeltaTime ); if ((Owner==None) || Owner.IsInState('Dying') || ((Level.NetMode != NM_StandAlone) && ((Pawn(Owner) != None) && (Pawn(Owner).bFire == 0)))) AmbientSound = None; } function BeginState() { // Если есть глушитель то звук выстрела--другой. if ( bHasSilencer ) AmbientSound = Sound'Veronika_mod_01_core.SilentFire'; else AmbientSound = FireSound; Super.BeginState(); } function EndState() { AmbientSound = None; PlayEndFire(); Super.EndState(); } } simulated function EndState() { AmbientSound = None; PlayEndFire(); Super.EndState(); } simulated function PlayEndFire() { // PlaySimSound( Misc5Sound, SLOT_None, TransientSoundVolume, 2048 ); } //============================================================================ //============================================================================= // Если заряжены "горячие" патроны, то цель вспыхивает! function name WeaponDamageType() { if (AmmoType.IsA('Ammo762mm_HOT')) { HitDamage=10; return 'Flamed'; } //---------- if (AmmoType.IsA('Ammo762mm_SPEC')) { HitDamage=150; return 'Shot'; } //---------- if (AmmoType.IsA('AV_Ammo762mm')) { HitDamage=18; return 'Shot'; } } //============================================================================= defaultproperties { ShotTime=0.10 reloadTime=2.000000 HitDamage=15 maxRange=20000 AccurateRange=5500 projectileNames(1)=none // Хм. msgOutOf="У вас нет %s чтобы их зарядить!" ReloadCount=50 PickupAmmoCount=50 bAutomatic=True shakemag=1.000000 FireSound=Sound'Veronika_mod_01_Core.Auto_fire' InventoryGroup=89 bCanHaveSilencer=FALSE PickupMessage="Вы нашли" ItemName="Штурмовая винтовка Ш-01" ItemArticle="оружие" Description="Штурмовая винтовка калибра 7.62x51мм. Обладает высoкой скорострельностью и обоймой на 50 патронов. Для нее были разработаны специальные патроны, которыми можно поразить различные виды целей." beltDescription="ШТУРМ Ш01" Mass=20.000000 SoundVolume=255 }
  16. Я знаю про ScriptedLight но мне он не нравиться.
  17. LoadLine Calibration

    Просто flood

    У ЯЧСа об этом форуме не лучшее мнение насколько я поняла... Значит The Station сдох. UPD: Кстати ЯЧС попросил мои карты как основу для своих. Я не отказала.
  18. Сегодня я модифицировала класс TriggerLight, добавив возможность отображать корону когда источник "включен". Когда источник "выключен", корона скрыта. //============================================================================= // TriggerLight. // A lightsource which can be triggered on or off. // Модифицированная версия. // Установить Skin--'текстура' это и есть спрайт короны. //============================================================================= class AV_ScriptedLight extends Light; //----------------------------------------------------------------------------- // Variables. var() float ChangeTime; // Time light takes to change from on to off. var() bool bInitiallyOn; // Whether it's initially on. var() bool bDelayFullOn; // Delay then go full-on. var() float RemainOnTime; // How long the TriggerPound effect lasts var float InitialBrightness; // Initial brightness. var float Alpha, Direction; var actor SavedTrigger; var float poundTime; //----------------------------------------------------------------------------- // Engine functions. // Called at start of gameplay. simulated function BeginPlay() { // Remember initial light type and set new one. Disable( 'Tick' ); InitialBrightness = LightBrightness; if( bInitiallyOn ) { Alpha = 1.0; Direction = 1.0; } else { Alpha = 0.0; Direction = -1.0; } DrawType = DT_None; } // Called whenever time passes. function Tick( float DeltaTime ) { Alpha += Direction * DeltaTime / ChangeTime; if( Alpha > 1.0 ) { Alpha = 1.0; Disable( 'Tick' ); if( SavedTrigger != None ) SavedTrigger.EndEvent(); } else if( Alpha <0>0 && Alpha!=1) || Alpha==0 ) LightBrightness = 0; else LightBrightness = InitialBrightness; // скрыть/показать корону if (LightBrightness == 0) { bCorona=false; } else { bCorona=True; } } //----------------------------------------------------------------------------- // Public states. // Trigger turns the light on. state() TriggerTurnsOn { function Trigger( actor Other, pawn EventInstigator ) { if( SavedTrigger!=None ) SavedTrigger.EndEvent(); SavedTrigger = Other; SavedTrigger.BeginEvent(); Direction = 1.0; Enable( 'Tick' ); } } // Trigger turns the light off. state() TriggerTurnsOff { function Trigger( actor Other, pawn EventInstigator ) { if( SavedTrigger!=None ) SavedTrigger.EndEvent(); SavedTrigger = Other; SavedTrigger.BeginEvent(); Direction = -1.0; Enable( 'Tick' ); } } // Trigger toggles the light. state() TriggerToggle { function Trigger( actor Other, pawn EventInstigator ) { if( SavedTrigger!=None ) SavedTrigger.EndEvent(); SavedTrigger = Other; SavedTrigger.BeginEvent(); Direction *= -1; Enable( 'Tick' ); } } // Trigger controls the light. state() TriggerControl { function Trigger( actor Other, pawn EventInstigator ) { if( SavedTrigger!=None ) SavedTrigger.EndEvent(); SavedTrigger = Other; SavedTrigger.BeginEvent(); if( bInitiallyOn ) Direction = -1.0; else Direction = 1.0; Enable( 'Tick' ); } function UnTrigger( actor Other, pawn EventInstigator ) { if( SavedTrigger!=None ) SavedTrigger.EndEvent(); SavedTrigger = Other; SavedTrigger.BeginEvent(); if( bInitiallyOn ) Direction = 1.0; else Direction = -1.0; Enable( 'Tick' ); } } state() TriggerPound { function Timer () { if (poundTime >= RemainOnTime) { Disable ('Timer'); } poundTime += ChangeTime; Direction *= -1; SetTimer (ChangeTime, false); } function Trigger( actor Other, pawn EventInstigator ) { if( SavedTrigger!=None ) SavedTrigger.EndEvent(); SavedTrigger = Other; SavedTrigger.BeginEvent(); Direction = 1; poundTime = ChangeTime; // how much time will pass till reversal SetTimer (ChangeTime, false); // wake up when it's time to reverse Enable ('Timer'); Enable ('Tick'); } } defaultproperties { bStatic=False bHidden=False bMovable=True RemoteRole=ROLE_SimulatedProxy InitialState=TriggerToggle bCorona=true } Может кому понадобиться :)
  19. LoadLine Calibration

    Скриншоты

    Как вам такой метод таскания трупов??? http://veronika-and.nm.ru/Shot0006.jpg
  20. LoadLine Calibration

    Скриншоты

    Дима а ты чего на таком низком разрешении играешь? Я всегда ставлю 800х600 или 1024x768 :wink:
  21. LoadLine Calibration

    Max FX

    У меня есть оба Максика, первый--лицензия. По моему там есть редактор но я его даже не устанавливала.
  22. по моему причины того почему не ставяться патчи в этом форуме перечислены от и до
  23. У меня нет. RedSun 2020 version 1.13 И кнопки в некоторых лифтах не закреплены
  24. Хорошо. Сделаю. Какие карты ? То есть имена файлов карт (желательно). Или хотя бы локацию. Где требуеться взломать компы не вводя логин/пароль.
×
×
  • Создать...