Среда, 27 Ноября 2024, 07:20

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ по UDK
SoldierRGBДата: Суббота, 27 Ноября 2010, 20:24 | Сообщение # 61
частый гость
Сейчас нет на сайте
Quote (LordZick)
Как сделать такой интерфейс:
http://s58.radikal.ru/i159/1011/59/e0d0e5d0ed67.jpg
Если когда вы откроете окно то не пугайтесь, это мой рисунок.

Нужно изучать туториалы по скриптам и scaleform

DoubleWhiteDiДата: Воскресенье, 28 Ноября 2010, 20:30 | Сообщение # 62
Double_White_DIveloper
Сейчас нет на сайте
странная фигня, не могу понять прикола: выдает очень странную ошибку... Вот скрипт:
Code
/**
  * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
  */
class UTProj_AvrilRocketBase extends UTProjectile
  native;

/** Holds the vehicle this rocket is locked on to.  The vehicle will give us our Homing Target */
var Actor LockedTarget;

/** Holds a pointer back to the firing Avril - Only valid server side */
var UTWeap_Avril MyWeapon;
/** the AVRiL that is currently controlling the target lock (could be different if MyWeapon has no target) */
var UTWeap_Avril LockingWeapon;

/** Set to true if the lock for this rocket has been redirected */
var bool bRedirectedLock;

/** The last time a lock message was sent */
var float    LastLockWarningTime;

/** How long before re-sending the next Lock On message update */
var float    LockWarningInterval;

var float InitialPostRenderTime;

var Texture2D BeaconTexture;

/** Extended radius for raptor bolts destroying this avril */
var float RaptorBoltExtendedRadius;

// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)

replication
{
  if (bNetDirty && ROLE == ROLE_Authority)
   LockedTarget;
}

simulated event Destroyed()
{
  local PlayerController PC;

  if (Role==ROLE_Authority)
  {
   // Notify the launcher I'm dead
   if ( MyWeapon != None )
    MyWeapon.RocketDestroyed(self);
  }

  // remove from local HUD's post-rendered list
  ForEach LocalPlayerControllers(class'PlayerController', PC)
  {
   if ( UTHUD(PC.MyHUD) != None )
   {
    UTHUD(PC.MyHUD).RemovePostRenderedActor(self);
   }
  }

  super.Destroyed();
}

simulated function PostBeginPlay()
{
  local PlayerController PC;

  super.PostBeginPlay();

  // add to local HUD's post-rendered list
  ForEach LocalPlayerControllers(class'PlayerController', PC)
  {
   if ( UTHUD(PC.MyHUD) != None )
   {
    UTHUD(PC.MyHUD).AddPostRenderedActor(self);
   }
  }
}

function ForceLock(Actor ForcedLock)
{
  LockedTarget = ForcedLock;
// don't get any more target updates from weapon.
  MyWeapon.RocketDestroyed(self);

/**
  * Clean up
  */
simulated function Shutdown()
{
  local PlayerController PC;

  if (Role==ROLE_Authority)
  {
   // Notify the launcher I'm dead
   if ( MyWeapon != None )
   {
    MyWeapon.RocketDestroyed(self);
    MyWeapon = None;
   }
  }

  // remove from local HUD's post-rendered list
  ForEach LocalPlayerControllers(class'PlayerController', PC)
  {
   if ( UTHUD(PC.MyHUD) != None )
   {
    UTHUD(PC.MyHUD).RemovePostRenderedActor(self);
   }
  }
  Super.ShutDown();

  SetTimer(0.0,false);
}

/** sets the target we're locked on to. May fail (return false) if NewLockOwner isn't allowed to control me */
function bool SetTarget(Actor NewTarget, UTWeap_Avril NewLockOwner)
{
  // follow the lock if it's the shooter's target or the shooter doesn't have a target and a friendly player is giving one
  // short delay before accepting other players' targets to avoid rocket twisting through shooter's body, etc
  if ( NewLockOwner == MyWeapon ||
   ( (LockingWeapon == None || LockingWeapon == NewLockOwner) && WorldInfo.TimeSeconds - CreationTime > 2.0 &&
    WorldInfo.GRI.OnSameTeam(NewLockOwner.Instigator, InstigatorController) ) )
  {
   LockedTarget = NewTarget;
   LockingWeapon = (LockedTarget != None) ? NewLockOwner : None;
   return true;
  }
  else
  {
   return false;
  }
}

event TakeDamage(int DamageAmount, Controller EventInstigator, vector HitLocation, vector Momentum, class<DamageType> DamageType, optional TraceHitInfo HitInfo, optional Actor DamageCauser)
{
  if (Damage > 0 && (InstigatorController == None || !WorldInfo.GRI.OnSameTeam(EventInstigator, InstigatorController)))
  {
   Explode(HitLocation, vect(0,0,0));
  }
}

simulated native function NativePostRenderFor(PlayerController PC, Canvas Canvas, vector CameraPosition, vector CameraDir);

/**
  * PostRenderFor() Hook to allow pawns to render HUD overlays for themselves.
  * Assumes that appropriate font has already been set
  *
  * @param    PC  The Player Controller who is rendering this pawn
  * @param    Canvas    The canvas to draw on
  */
simulated event PostRenderFor(PlayerController PC, Canvas Canvas, vector CameraPosition, vector CameraDir)
{
  local vector ScreenLoc;
  local float CrossScaler, CrossScaleTime;
  local LinearColor TeamColor;
  local color c;
  local float ResScale, XStart, XLen, YStart, YLen, OldY;
  local float width,height;

  screenLoc = Canvas.Project(Location);

  class'UTHud'.static.GetTeamColor( 1 - PC.GetTeamNum(), TeamColor, c);
  CrossScaleTime = FMax(0.05,(1 - 3*(WorldInfo.TimeSeconds - InitialPostRenderTime)));
  TeamColor.A = 0.8 - CrossScaleTime;

  ResScale = Canvas.ClipX / 1024;

  if ( InitialPostRenderTime == 0.0 )
  {
   InitialPostRenderTime = WorldInfo.TimeSeconds;
  }
  CrossScaler = CrossScaleTime * Canvas.ClipX;
  width = ResScale * CrossScaler;
  height = ResScale * CrossScaler;
  XStart = 662;
  YStart = 260;
  XLen = 56;
  YLen = 56;

  // if clipped out, draw offscreen indicator
  if (screenLoc.X < 0 ||
   screenLoc.X >= Canvas.ClipX ||
   screenLoc.Y < 0 ||
   screenLoc.Y >= Canvas.ClipY)
  {
   OldY = screenLoc.Y;
   screenLoc.X = FClamp(ScreenLoc.X, 0, Canvas.ClipX-1);
   screenLoc.Y = FClamp(ScreenLoc.Y, 0, Canvas.ClipY-1);
   if ( screenLoc.Y != OldY)
   {
    // draw up/down arrow
    YLen = 28;
    if ( screenLoc.Y == 0 )
    {
     YStart += YLen;
    }
   }
   else
   {
    // draw horizontal arrow
    XLen = 28;
    if ( screenLoc.X == 0 )
    {
     XStart += XLen;
    }
   }
  }
}

defaultproperties
{
    BeaconTexture=Texture2D'UI_HUD.HUD.UI_HUD_BaseA'
    RaptorBoltExtendedRadius=80.000000
    Begin Object Class=CylinderComponent Name=CollisionCylinder ObjName=CollisionCylinder Archetype=CylinderComponent'UTGame.Default__UTProjectile:CollisionCylinder'
       ObjectArchetype=CylinderComponent'UTGame.Default__UTProjectile:CollisionCylinder'
    End Object
    CylinderComponent=CollisionCylinder
    Components(0)=CollisionCylinder
    CollisionComponent=CollisionCylinder
    Name="Default__UTProj_AvrilRocketBase"
    ObjectArchetype=UTProjectile'UTGame.Default__UTProjectile'
}

При компиляции выдает сообщение:
D:\UDK\UDK-2010-0\Development\Src\UTGame\Classes\UTProj_AvrilRocketBase.uc(213) : Error, Unexpected end of file at end of Class
D:\UDK\UDK-2010-0\Development\Src\UTGame\Classes\UTProj_AvrilRocketBase.uc(19) : Warning, Variable declaration: 'LastLockWarningTime' conflicts with previously defined field in 'UDKProjectile'
D:\UDK\UDK-2010-0\Development\Src\UTGame\Classes\UTProj_AvrilRocketBase.uc(22) : Warning, Variable declaration: 'LockWarningInterval' conflicts with previously defined field in 'UDKProjectile'


У нас с Deadly-man'ом одинаковый айпи. Но это не дабл акк, я его брат, сидим с одного компа.
FuzzyДата: Понедельник, 29 Ноября 2010, 11:39 | Сообщение # 63
был не раз
Сейчас нет на сайте
После defaultproperties ";" нигде не пропущена?
seamanДата: Понедельник, 29 Ноября 2010, 12:43 | Сообщение # 64
старожил
Сейчас нет на сайте
А зачем после defaultproperties вообще нужна где-нибудь ";"? Их там быть не должно!
А у него конца одной функции нет - "}" пропущена...


Сообщение отредактировал seaman - Понедельник, 29 Ноября 2010, 12:45
AngelArtДата: Понедельник, 29 Ноября 2010, 13:10 | Сообщение # 65
Создатель Миров
Сейчас нет на сайте
Вышла новая версия УДК. Все просто куда то убрали или вообще кажись выкинули. Чтобы раньше создать бота, можно было просто зайти а Action Factory и далее делать бота, но теперь функции Bot там нет. Кто нибудь знает какой нибудь способ добавления бота?

Сообщение отредактировал AngelArt - Понедельник, 29 Ноября 2010, 13:11
FuzzyДата: Понедельник, 29 Ноября 2010, 13:24 | Сообщение # 66
был не раз
Сейчас нет на сайте
Функция "function ForceLock(Actor ForcedLock)" не закрыта.
";" не надо ставить в defaultproperties из-за особенностей UDK?
seamanДата: Понедельник, 29 Ноября 2010, 13:49 | Сообщение # 67
старожил
Сейчас нет на сайте
Quote
";" не надо ставить в defaultproperties из-за особенностей UDK?

Да.
Quote
Вышла новая версия УДК. Все просто куда то убрали или вообще кажись выкинули.

До сих пор сижу на августовской и доволен. Возможно перейду на более новую, если вернут PhysX, или сделают полноценный Apex.


Сообщение отредактировал seaman - Понедельник, 29 Ноября 2010, 13:52
LordZickДата: Понедельник, 29 Ноября 2010, 14:11 | Сообщение # 68
участник
Сейчас нет на сайте
Представте себе что я лет через 100 сделаю нормальную РПГ. Что мне нужно будет чтобы создать из РПГ ММОРПГ? Вы не думайте что я хочу сделать это.


seamanДата: Понедельник, 29 Ноября 2010, 15:53 | Сообщение # 69
старожил
Сейчас нет на сайте
Если речь об УДК, то нужны будут исходные коды движка.
В УДК уже встроена игра посети, и все бы хорошо, но есть ограничение на число игроков и на число зрителей. Предлагались разные способы это обойти, но ни одной реализации не видел, да и способы эти извращенные. А вот если имеешь исходники - все решается просто...

Ну и работа по созданию мира, по балансировке сил разных фракций, по балансировке денежных взаимоотношений в игре...

Сообщение отредактировал seaman - Понедельник, 29 Ноября 2010, 15:54
LordZickДата: Понедельник, 29 Ноября 2010, 17:58 | Сообщение # 70
участник
Сейчас нет на сайте
Quote (seaman)
исходники

Это что, мне придётся отдавать 500 000 рублей чтобы купить эти исходники и Unreal Engine 3?



HacKeRДата: Понедельник, 29 Ноября 2010, 18:14 | Сообщение # 71
Злой Ангел
Сейчас нет на сайте
я не в курсе или они дают исходники за 100$.... Скорее всего что нет...

Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
DoubleWhiteDiДата: Понедельник, 29 Ноября 2010, 18:18 | Сообщение # 72
Double_White_DIveloper
Сейчас нет на сайте
можно сделать кучу локаций по 64 человека... Вот и ММО..

У нас с Deadly-man'ом одинаковый айпи. Но это не дабл акк, я его брат, сидим с одного компа.
HacKeRДата: Понедельник, 29 Ноября 2010, 18:20 | Сообщение # 73
Злой Ангел
Сейчас нет на сайте
Quote (DoubleWhiteDi)
можно сделать кучу локаций по 64 человека... Вот и ММО..

ЮДК считает сколько людей подключено к серверу + боты тоже считает. Так что много локаций не проконает....


Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
AngelArtДата: Понедельник, 29 Ноября 2010, 18:39 | Сообщение # 74
Создатель Миров
Сейчас нет на сайте
Народ, ведь УДК, это движок Турнамента. Кто знает как сплагиатить турнамент, хотя бы со стандартными моделями.(т.е. создать игру по онлайну, одни в одном месте появляться, другие в другом.

Жизнь игра, но задумайся какую тебе выбирать, виртуальную или реальную...
HacKeRДата: Понедельник, 29 Ноября 2010, 18:40 | Сообщение # 75
Злой Ангел
Сейчас нет на сайте
Quote (AngelArt)
Кто знает как сплагиатить турнамент, хотя бы со стандартными моделями.(т.е. создать игру по онлайну, одни в одном месте появляться, другие в другом.

делается всё через кизмет с помощь Actor Factory и Note ( сколько появлений в разных углах мапы столько и нодов)...


Жизнь это игра - хреново задумана но графика обалденная.....
Программирую на С++

Мой личный Мой новый блог (создан 22.08.2011)
AngelArtДата: Понедельник, 29 Ноября 2010, 18:43 | Сообщение # 76
Создатель Миров
Сейчас нет на сайте
Ну а поподробнее что в Актор Фактори?
Онлайн игра(создание серва) уже встроено при компиляции?


Жизнь игра, но задумайся какую тебе выбирать, виртуальную или реальную...
PROTOTYPEДата: Понедельник, 29 Ноября 2010, 18:57 | Сообщение # 77
почетный гость
Сейчас нет на сайте
HacKeR, не вводи людей в заблуждение, кизмет - кривой и нубский метод для создания онлайна, наиболее правильный - UScript. А чтобы создать из готового контента, обрезанную копию ut3, достаточно, запаковаnь игру с какой-нибудь мапой (DM-Deck, например).

Сообщение отредактировал PROTOTYPE - Понедельник, 29 Ноября 2010, 18:58
DoubleWhiteDiДата: Вторник, 30 Ноября 2010, 07:38 | Сообщение # 78
Double_White_DIveloper
Сейчас нет на сайте
PROTOTYPE, вопрос
Нужна такая вещь - при запуске ракета наводится на ближайшую ВОЗДУШНУЮ цель. Даже если она в другом направлении. Никто не подсобит?


У нас с Deadly-man'ом одинаковый айпи. Но это не дабл акк, я его брат, сидим с одного компа.
PROTOTYPEДата: Вторник, 30 Ноября 2010, 16:08 | Сообщение # 79
почетный гость
Сейчас нет на сайте
Тебе надо посмотреть исходники Avril из UT3, точно помню там реализовано самонаведение.
DoubleWhiteDiДата: Вторник, 30 Ноября 2010, 17:54 | Сообщение # 80
Double_White_DIveloper
Сейчас нет на сайте
PROTOTYPE, знаю, знаю...

У нас с Deadly-man'ом одинаковый айпи. Но это не дабл акк, я его брат, сидим с одного компа.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг