Announcement

Collapse
No announcement yet.

Help, very simple question, can't find answer!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Help, very simple question, can't find answer!

    (First off, THANKS to all for viewing/helping!)

    Okay, I really have looked all over for this one and it seems to be just so simple that nobody has written on it-

    So I am compiling a custom weapon mod, and have worked through all the errors so far, except it always throws 10x "Unresolved Reference to 'StaticMesh'.."- now, I can figure it's just not able to find my .upk package, that's a simple enough conclusion, buuuttt...

    just where the heck do I put the .upk file? I'm assuming it's just not in the right place, but (lol) i have literally tried just about every folder in the Unreal directory...no luck. ARG!

    Thanks!!

    #2
    Originally posted by yahodahan View Post
    (First off, THANKS to all for viewing/helping!)

    Okay, I really have looked all over for this one and it seems to be just so simple that nobody has written on it-

    So I am compiling a custom weapon mod, and have worked through all the errors so far, except it always throws 10x "Unresolved Reference to 'StaticMesh'.."- now, I can figure it's just not able to find my .upk package, that's a simple enough conclusion, buuuttt...

    just where the heck do I put the .upk file? I'm assuming it's just not in the right place, but (lol) i have literally tried just about every folder in the Unreal directory...no luck. ARG!

    Thanks!!
    Code:
    C:\Users\<WIN_USERNAME>\Documents\My Games\Unreal Tournament 3\UTGame\Published\CookedPC
    for published use
    or

    Code:
    C:\Users\<WIN_USERNAME>\Documents\My Games\Unreal Tournament 3\UTGame\Unbublished\CookedPC
    for unpublished (need to start with -useunpublished switch)

    Comment


      #3
      Hi PrOex, thanks for the reply- I tried those locations, no luck still the same error. I've triple-checked the code...and it's definitely pointing in the right direction...not at all sure what I'm doing wrong here.

      I always say, when in doubt and completly flubbergasted, restart entirely! Gonna just delete everything I have and retry from the ground up. May be something simple stupid at a way-back level or even just a corruption. Will update soon.

      Thanks!

      Comment


        #4
        Originally posted by yahodahan View Post
        Hi PrOex, thanks for the reply- I tried those locations, no luck still the same error. I've triple-checked the code...and it's definitely pointing in the right direction...not at all sure what I'm doing wrong here.

        I always say, when in doubt and completly flubbergasted, restart entirely! Gonna just delete everything I have and retry from the ground up. May be something simple stupid at a way-back level or even just a corruption. Will update soon.

        Thanks!
        Plz, give us the code-part where you reference it (defaultproperties?).

        Comment


          #5
          Thanks to all for continued help, here we go with a FULL description of problem and all!!

          Allright, I'm seriously frustrated now- I must be doing something really wrong, or Unreal just doesn't like me.

          Sorry to take so long to reply, I was re-doing the entire process step by step in case I missed anything, and nope, this time, exactly the same problem.

          Okay, here are my 3 files:

          1) UTWeap_Cannon

          Code:
          /**
           * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
           */
          class UTWeap_Cannon extends UTWeapon;
          
          // AI properties (for shock combos)
          var UTProj_ShockBall ComboTarget;
          var bool bRegisterTarget;
          var bool bWaitForCombo;
          var vector ComboStart;
          
          var bool bWasACombo;
          var int CurrentPath;
          //-----------------------------------------------------------------
          // AI Interface
          function float GetAIRating()
          {
          	local UTBot B;
          
          	B = UTBot(Instigator.Controller);
          	if ( (B == None) || (B.Enemy == None) || Pawn(B.Focus) == None )
          		return AIRating;
          
          	if ( bWaitForCombo )
          		return 1.5;
          	if ( !B.ProficientWithWeapon() )
          		return AIRating;
          	if ( B.Stopped() )
          	{
          		if ( !B.LineOfSightTo(B.Enemy) && (VSize(B.Enemy.Location - Instigator.Location) < 5000) )
          			return (AIRating + 0.5);
          		return (AIRating + 0.3);
          	}
          	else if ( VSize(B.Enemy.Location - Instigator.Location) > 1600 )
          		return (AIRating + 0.1);
          	else if ( B.Enemy.Location.Z > B.Location.Z + 200 )
          		return (AIRating + 0.15);
          
          	return AIRating;
          }
          
          
          /**
          * Overriden to use GetPhysicalFireStartLoc() instead of Instigator.GetWeaponStartTraceLocation()
          * @returns position of trace start for instantfire()
          */
          simulated function vector InstantFireStartTrace()
          {
          	return GetPhysicalFireStartLoc();
          }
          
          function SetComboTarget(UTProj_ShockBall S)
          {
          	if ( !bRegisterTarget || (UTBot(Instigator.Controller) == None) || (Instigator.Controller.Enemy == None) )
          		return;
          
          	bRegisterTarget = false;
          	bWaitForCombo = true;
          	ComboStart = Instigator.Location;
          	ComboTarget = S;
          	ComboTarget.Monitor(UTBot(Instigator.Controller).Enemy);
          }
          
          function float RangedAttackTime()
          {
          	local UTBot B;
          
          	B = UTBot(Instigator.Controller);
          	if ( (B == None) || (B.Enemy == None) )
          		return 0;
          
          	if ( B.CanComboMoving() )
          		return 0;
          
          	return FMin(2,0.3 + VSize(B.Enemy.Location - Instigator.Location)/class'UTProj_ShockBall'.default.Speed);
          }
          
          function float SuggestAttackStyle()
          {
          	return -0.4;
          }
          
          simulated function StartFire(byte FireModeNum)
          {
          	if ( bWaitForCombo && (UTBot(Instigator.Controller) != None) )
          	{
          		if ( (ComboTarget == None) || ComboTarget.bDeleteMe )
          			bWaitForCombo = false;
          		else
          			return;
          	}
          	Super.StartFire(FireModeNum);
          }
          
          function DoCombo()
          {
          	if ( bWaitForCombo )
          	{
          		bWaitForCombo = false;
          		if ( (Instigator != None) && (Instigator.Weapon == self) )
          		{
          			StartFire(0);
          		}
          	}
          }
          
          function ClearCombo()
          {
          	ComboTarget = None;
          	bWaitForCombo = false;
          }
          
          /* BestMode()
          choose between regular or alt-fire
          */
          function byte BestMode()
          {
          	local float EnemyDist;
          	local UTBot B;
          
          	bWaitForCombo = false;
          	B = UTBot(Instigator.Controller);
          	if ( (B == None) || (B.Enemy == None) )
          		return 0;
          
          	if (B.IsShootingObjective())
          		return 0;
          
          	if ( !B.LineOfSightTo(B.Enemy) )
          	{
          		if ( (ComboTarget != None) && !ComboTarget.bDeleteMe && B.CanCombo() )
          		{
          			bWaitForCombo = true;
          			return 0;
          		}
          		ComboTarget = None;
          		if ( B.CanCombo() && B.ProficientWithWeapon() )
          		{
          			bRegisterTarget = true;
          			return 1;
          		}
          		return 0;
          	}
          
          	EnemyDist = VSize(B.Enemy.Location - Instigator.Location);
          
          	if ( (EnemyDist > 4*class'UTProj_ShockBall'.default.Speed) || (EnemyDist < 150) )
          	{
          		ComboTarget = None;
          		return 0;
          	}
          
          	if ( (ComboTarget != None) && !ComboTarget.bDeleteMe && B.CanCombo() )
          	{
          		bWaitForCombo = true;
          		return 0;
          	}
          
          	ComboTarget = None;
          
          	if ( (EnemyDist > 2500) && (FRand() < 0.5) )
          		return 0;
          
          	if ( B.CanCombo() && B.ProficientWithWeapon() )
          	{
          		bRegisterTarget = true;
          		return 1;
          	}
          
          	// consider using altfire to block incoming enemy fire
          	if (EnemyDist < 1000.0 && B.Enemy.Weapon != None && B.Enemy.Weapon.Class != Class && B.ProficientWithWeapon())
          	{
          		return (FRand() < 0.3) ? 0 : 1;
          	}
          	else
          	{
          		return (FRand() < 0.7) ? 0 : 1;
          	}
          }
          
          // for bot combos
          simulated function Projectile ProjectileFire()
          {
          	local Projectile p;
          
          	p = Super.ProjectileFire();
          	if (UTProj_ShockBall(p) != None)
          	{
          		SetComboTarget(UTProj_ShockBall(P));
          	}
          	return p;
          }
          
          simulated function rotator GetAdjustedAim( vector StartFireLoc )
          {
          	local rotator ComboAim;
          
          	// if ready to combo, aim at shockball
          	if (UTBot(Instigator.Controller) != None && CurrentFireMode == 0 && ComboTarget != None && !ComboTarget.bDeleteMe)
          	{
          		// use bot yaw aim, so bots with lower skill/low rotation rate may miss
          		ComboAim = rotator(ComboTarget.Location - StartFireLoc);
          		ComboAim.Yaw = Instigator.Rotation.Yaw;
          		return ComboAim;
          	}
          
          	return Super.GetAdjustedAim(StartFireLoc);
          }
          
          simulated state WeaponFiring
          {
          	/**
          	 * Called when the weapon is done firing, handles what to do next.
          	 */
          	simulated event RefireCheckTimer()
          	{
          		if ( bWaitForCombo && (UTBot(Instigator.Controller) != None) )
          		{
          			if ( (ComboTarget == None) || ComboTarget.bDeleteMe )
          				bWaitForCombo = false;
          			else
          			{
          				StopFire(CurrentFireMode);
          				GotoState('Active');
          				return;
          			}
          		}
          
          		Super.RefireCheckTimer();
          	}
          }
          
          simulated function ImpactInfo CalcWeaponFire(vector StartTrace, vector EndTrace, optional out array<ImpactInfo> ImpactList)
          {
          	local ImpactInfo II;
          	II = Super.CalcWeaponFire(StartTrace, EndTrace, ImpactList);
          	bWasACombo = (II.HitActor != None && UTProj_ShockBall(II.HitActor) != none );
          	return ii;
          }
          
          function SetFlashLocation( vector HitLocation )
          {
          	local byte NewFireMode;
          	if( Instigator != None )
          	{
          		if (bWasACombo)
          		{
          			NewFireMode = 3;
          		}
          		else
          		{
          			NewFireMode = CurrentFireMode;
          		}
          		Instigator.SetFlashLocation( Self, NewFireMode , HitLocation );
          	}
          }
          
          
          simulated function SetMuzzleFlashParams(ParticleSystemComponent PSC)
          {
          	local float PathValues[3];
          	local int NewPath;
          	Super.SetMuzzleFlashparams(PSC);
          	if (CurrentFireMode == 0)
          	{
          		if ( !bWasACombo )
          		{
          			NewPath = Rand(3);
          			if (NewPath == CurrentPath)
          			{
          				NewPath++;
          			}
          			CurrentPath = NewPath % 3;
          
          			PathValues[CurrentPath % 3] = 1.0;
          			PSC.SetFloatParameter('Path1',PathValues[0]);
          			PSC.SetFloatParameter('Path2',PathValues[1]);
          			PSC.SetFloatParameter('Path3',PathValues[2]);
          		}
          		else
          		{
          			PSC.SetFloatParameter('Path1',1.0);
          			PSC.SetFloatParameter('Path2',1.0);
          			PSC.SetFloatParameter('Path3',1.0);
          		}
          	}
          	else
          	{
          		PSC.SetFloatParameter('Path1',0.0);
          		PSC.SetFloatParameter('Path2',0.0);
          		PSC.SetFloatParameter('Path3',0.0);
          	}
          
          }
          
          simulated function PlayFireEffects( byte FireModeNum, optional vector HitLocation )
          {
          	if (FireModeNum>1)
          	{
          		Super.PlayFireEffects(0,HitLocation);
          	}
          	else
          	{
          		Super.PlayFireEffects(FireModeNum, HitLocation);
          	}
          }
          
          /**
           * Skip over the Instagib rifle code */
          
          simulated function SetSkin(Material NewMaterial)
          {
          	Super(UTWeapon).SetSkin(NewMaterial);
          }
          
          simulated function AttachWeaponTo(SkeletalMeshComponent MeshCpnt, optional name SocketName)
          {
          	Super(UTWeapon).AttachWeaponTo(MeshCpnt, SocketName);
          }
          
          defaultproperties
          {
             bSniping=True
             bTargetFrictionEnabled=True
             bTargetAdhesionEnabled=True
             AmmoCount=20
             LockerAmmoCount=30
             MaxAmmoCount=50
             FireCameraAnim(0)=None
             FireCameraAnim(1)=CameraAnim'Camera_FX.ShockRifle.C_WP_ShockRifle_Alt_Fire_Shake'
             IconX=400
             IconY=129
             IconWidth=22
             IconHeight=48
             IconCoordinates=(U=728.000000,V=382.000000,UL=162.000000,VL=45.000000)
             CrossHairCoordinates=(U=256.000000,V=0.000000)
             InventoryGroup=4
             AttachmentClass=Class'UTGame.UTAttachment_ShockRifle'
             GroupWeight=0.500000
             QuickPickGroup=0
             QuickPickWeight=0.900000
             WeaponFireAnim(1)="WeaponAltFire"
             WeaponFireSnd(0)=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_FireCue'
             WeaponFireSnd(1)=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_AltFireCue'
             WeaponPutDownSnd=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_LowerCue'
             WeaponEquipSnd=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_RaiseCue'
             WeaponColor=(B=255,G=0,R=160,A=255)
             MuzzleFlashSocket="MF"
             MuzzleFlashPSCTemplate=ParticleSystem'WP_ShockRifle.Particles.P_ShockRifle_MF_Alt'
             MuzzleFlashAltPSCTemplate=ParticleSystem'WP_ShockRifle.Particles.P_ShockRifle_MF_Alt'
             MuzzleFlashColor=(B=255,G=120,R=200,A=255)
             MuzzleFlashLightClass=Class'UTGame.UTShockMuzzleFlashLight'
             PlayerViewOffset=(X=17.000000,Y=10.000000,Z=-8.000000)
             LockerRotation=(Pitch=32768,Yaw=0,Roll=16384)
             CurrentRating=0.650000
             ShouldFireOnRelease(1)=1
             WeaponFireTypes(1)=EWFT_Projectile
             WeaponProjectiles(1)=Class'UTGame.UTProj_ShockBall'
             FireInterval(0)=0.770000
             FireInterval(1)=0.600000
             InstantHitDamage(0)=45.000000
             InstantHitMomentum(0)=60000.000000
             InstantHitDamageTypes(0)=Class'UTGame.UTDmgType_ShockPrimary'
             InstantHitDamageTypes(1)=None
             FireOffset=(X=20.000000,Y=5.000000,Z=0.000000)
             bInstantHit=True
             
          Begin Object Name=FirstPersonMesh
          		SkeletalMesh=SkeletalMesh'WP_Cannon.Mesh.SK_WP_Cannon_1P'
          		AnimSets(0)=AnimSet'WP_Cannon.Anim.K_WP_Cannon_1P_Base'
          		Animations=MeshSequenceA
          		Rotation=(Yaw=-16384)
          		FOV=60.0
          	End Object
          
             Mesh=FirstPersonMesh
             Priority=4.200000
             AIRating=0.650000
             ItemName="Shock Rifle"
             MaxDesireability=0.650000
             PickupMessage="Shock Rifle"
             PickupSound=SoundCue'A_Pickups.Weapons.Cue.A_Pickup_Weapons_Shock_Cue'
             
             Begin Object Name=PickupMesh
          		SkeletalMesh=SkeletalMesh'WP_ShockRifle.Mesh.SK_WP_ShockRifle_3P'
          	End Object
          
             DroppedPickupMesh=PickupMesh
             PickupFactoryMesh=PickupMesh
             Name="Default__UTWeap_Cannon"
             ObjectArchetype=UTWeapon'UTGame.Default__UTWeapon'
          }
          2) UTAttachment_Cannon

          Code:
          /**
           * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
           */
          class UTAttachment_Cannon extends UTWeaponAttachment;
          
          var ParticleSystem BeamTemplate;
          var class<UTExplosionLight> ImpactLightClass;
          
          var int CurrentPath;
          
          simulated function SpawnBeam(vector Start, vector End, bool bFirstPerson)
          {
          	local ParticleSystemComponent E;
          	local actor HitActor;
          	local vector HitNormal, HitLocation;
          
          	if ( End == Vect(0,0,0) )
          	{
          		if ( !bFirstPerson || (Instigator.Controller == None) )
          		{
          	    	return;
          		}
          		// guess using current viewrotation;
          		End = Start + vector(Instigator.Controller.Rotation) * class'UTWeap_ShockRifle'.default.WeaponRange;
          		HitActor = Instigator.Trace(HitLocation, HitNormal, End, Start, TRUE, vect(0,0,0),, TRACEFLAG_Bullet);
          		if ( HitActor != None )
          		{
          			End = HitLocation;
          		}
          	}
          
          	E = WorldInfo.MyEmitterPool.SpawnEmitter(BeamTemplate, Start);
          	E.SetVectorParameter('ShockBeamEnd', End);
          	if (bFirstPerson)
          	{
          		E.SetDepthPriorityGroup(SDPG_Foreground);
          	}
          	else
          	{
          		E.SetDepthPriorityGroup(SDPG_World);
          	}
          }
          
          simulated function FirstPersonFireEffects(Weapon PawnWeapon, vector HitLocation)
          {
          	local vector EffectLocation;
          
          	Super.FirstPersonFireEffects(PawnWeapon, HitLocation);
          
          	if (Instigator.FiringMode == 0 || Instigator.FiringMode == 3)
          	{
          		EffectLocation = UTWeapon(PawnWeapon).GetEffectLocation();
          		SpawnBeam(EffectLocation, HitLocation, true);
          
          		if (!WorldInfo.bDropDetail && Instigator.Controller != None)
          		{
          			UTEmitterPool(WorldInfo.MyEmitterPool).SpawnExplosionLight(ImpactLightClass, HitLocation);
          		}
          	}
          }
          
          simulated function ThirdPersonFireEffects(vector HitLocation)
          {
          	Super.ThirdPersonFireEffects(HitLocation);
          
          	if ((Instigator.FiringMode == 0 || Instigator.FiringMode == 3))
          	{
          		SpawnBeam(GetEffectLocation(), HitLocation, false);
          	}
          }
          
          simulated function bool AllowImpactEffects(Actor HitActor, vector HitLocation, vector HitNormal)
          {
          	return (HitActor != None && UTProj_ShockBall(HitActor) == None && Super.AllowImpactEffects(HitActor, HitLocation, HitNormal));
          }
          
          simulated function SetMuzzleFlashParams(ParticleSystemComponent PSC)
          {
          	local float PathValues[3];
          	local int NewPath;
          	Super.SetMuzzleFlashparams(PSC);
          	if (Instigator.FiringMode == 0)
          	{
          		NewPath = Rand(3);
          		if (NewPath == CurrentPath)
          		{
          			NewPath++;
          		}
          		CurrentPath = NewPath % 3;
          
          		PathValues[CurrentPath % 3] = 1.0;
          		PSC.SetFloatParameter('Path1',PathValues[0]);
          		PSC.SetFloatParameter('Path2',PathValues[1]);
          		PSC.SetFloatParameter('Path3',PathValues[2]);
          //			CurrentPath++;
          	}
          	else if (Instigator.FiringMode == 3)
          	{
          		PSC.SetFloatParameter('Path1',1.0);
          		PSC.SetFloatParameter('Path2',1.0);
          		PSC.SetFloatParameter('Path3',1.0);
          	}
          	else
          	{
          		PSC.SetFloatParameter('Path1',0.0);
          		PSC.SetFloatParameter('Path2',0.0);
          		PSC.SetFloatParameter('Path3',0.0);
          	}
          
          }
          
          defaultproperties
          {
             BeamTemplate=ParticleSystem'WP_ShockRifle.Particles.P_WP_ShockRifle_Beam'
             ImpactLightClass=Class'UTGame.UTShockImpactLight'
          
          Begin Object Name=SkeletalMeshComponent0
          		SkeletalMesh=SkeletalMesh'WP_Cannon.Mesh.SK_WP_Cannon_3P'
          	End Object
          
             Mesh=SkeletalMeshComponent0
             MuzzleFlashSocket="MuzzleFlashSocket"
             MuzzleFlashPSCTemplate=ParticleSystem'WP_ShockRifle.Particles.P_ShockRifle_3P_MF'
             MuzzleFlashAltPSCTemplate=ParticleSystem'WP_ShockRifle.Particles.P_ShockRifle_3P_MF'
             MuzzleFlashColor=(B=255,G=120,R=255,A=255)
             MuzzleFlashLightClass=Class'UTGame.UTShockMuzzleFlashLight'
             MuzzleFlashDuration=0.330000
             DefaultImpactEffect=(Sound=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_AltFireImpactCue',ParticleTemplate=ParticleSystem'WP_ShockRifle.Particles.P_WP_ShockRifle_Beam_Impact')
             BulletWhip=SoundCue'A_Weapon_ShockRifle.Cue.A_Weapon_SR_WhipCue'
             WeaponClass=Class'UTGame.UTWeap_Cannon'
             Name="Default__UTAttachment_Cannon"
             ObjectArchetype=UTWeaponAttachment'UTGame.Default__UTWeaponAttachment'
          }

          3)UTAmmo_Cannon
          Code:
          /**
           * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
           */
          class UTAmmo_Cannon extends UTAmmoPickupFactory;
          
          defaultproperties
          {
          	AmmoAmount=10
          	TargetWeapon=class'UTWeap_Cannon'
          	PickupSound=SoundCue'A_Pickups.Ammo.Cue.A_Pickup_Ammo_Shock_Cue'
          	MaxDesireability=0.28
          
          	Begin Object Name=AmmoMeshComp
          		StaticMesh=StaticMesh'WP_Cannon.Mesh.S_Ammo_Cannon'
          		Translation=(X=0.0,Y=0.0,Z=-15.0)
          	End Object
          
          	Begin Object Name=CollisionCylinder
          		CollisionHeight=14.4
          	End Object
          }

          So there are my 3 ".uc" files, and I have them all in the following directory:
          D:\Documents and Settings\me\My Documents\My Games\Unreal Tournament 3\UTGame\Src\WP_Cannon\Classes

          Now my .upk file, "WP_Cannon.upk", is in the following directory:
          D:\Documents and Settings\me\My Documents\My Games\Unreal Tournament 3\UTGame\Published\CookedPC

          I have edited the UTEditor.ini file to have "ModPackages=WP_Cannon"

          When I run the "Make" command, it will run, do it's thing, and every single time comes up with "unresolved reference to StaticMesh..." for each and every reference (see below).



          ARRG. I can't for the life of me figure it out. I swear I am doing everything right...is there any way, a log file or something, to see exactly where UT3 searches for the .upk file? Then I would know where to put it, and if it still can't find it, that something must be wrong with my upk file, but I really, really doubt it. I used all of Unreal's naming conventions, etc, perfect checked...

          well, huge thanks to all for continued help...I just need this to work so I don't fail my class (the tough part about teaching myself cuz my school doesn't support UT3)...

          Comment


            #6
            great, well, now using "Make -unpublished", and some other minor fixes, it finishes compiling, claims to write a script- then crashes (the usual "Unreal 3 has Encounterd and Error. We apologize for the inconvenience. yada yada..."). No script to be found.

            when i place the same .upk file in teh same place, but in the Published tree, it simply won't find the .upk file still.

            I just know I'm going to smack myself in teh head when i figure this one out...

            Comment


              #7
              umm did you create a Src folder in the Program file/UT3 location?

              your src/wp_connon/classes need to go into the my games location in your my docs folder

              Comment


                #8
                I only put the Src folder in the "mydocs\mygames..." folder. Do I need one in the program folder, too?

                Comment


                  #9
                  o, after re-reading your errors, its looking for a mesh called S_Ammo_Cannon in the subfolder of Mesh inside the WP_Cannon upk, verify that everything is spelled EXACTLY the same.

                  so open up that package (this is for the 1st error you get)

                  Comment


                    #10
                    hey again Austin, yep, looked and re-looked...it's all named perfectly.

                    Funny thing, when I just toss the .upk file into my main "Program Files\UT3...\CookedPC\Weapons", where all the game's "real" weapons are, it compiles perfectly- then crashes and doesn't save the compiled script.

                    so, those meshes are DEFINITELY in there, lol, and definitely being found- the problem just seems to be that Unreal isn't looking in the correct location- namely, it only looks in it's own "C:\Program Files..." folder, or only into the Unpublished folders (if told to with -useunpublished, this also works with same result as the above attempt- sorta works, but crashes).

                    Is there a specific string I can use, I know there was one I need for UT2004, a string that I would put into the UTEditor.ini/other config file that will FORCE U3 to look in the "Published" folder first for things then into it's own area??? I can't help thinking, by the process of elemination so far, that this is the only problem.

                    thanks

                    Comment


                      #11
                      Did I understand that correctly, you are trying to compile WP_Cannon.u and want to use a static mesh from WP_Cannon.upk? Well, from an engine point of view that's the very same package, so it will never work. Packages must not have the same name, regardless where they are saved in the CookedPC directory structure or what file extension they have.

                      In other words: If you have WP_Cannon.upk, you can't have WP_Cannon.u or WP_Cannon.ut3. If you compile WP_Cannon.u, you can't load WP_Cannon.upk or WP_Canno.ut3. And finally, if you have a map called WP_Cannon.ute, it can't use code from WP_Cannon.u or resources from WP_Cannon.upk.

                      Comment


                        #12
                        Heya Wormbo-

                        Well, that sure sounds logical and like a good shot! I'll give it a go right now, I assume I can just...change the name of the folder inside "Src" and the ModPackages=yadayada, and that will make it compile to that new name...

                        allright, back in one sec (and why am i not doing the above as I speak(type)?) lol

                        THANKS

                        Comment


                          #13
                          Wormbo-

                          I LOVE YOU.

                          purely platonic, no worries, haha, but seriously- I'm finally on my way to getting this freakin thing working!

                          It works, but only when I shove the .upk file directly into "Progfiles\UT3...\CookedPC\Weapons". When I put it in the "MyGames\UT3...\Published", no luck still. Simply refuses to read those meshes.

                          Oh, I guess it also works when in the "unpublished" tree as well, and using the "-useunpublished" tag- is this just the way it should be? I was under the impression that it should be able to find the package in the Published folder as well, this is how I made my custom character and map.

                          Well, again THANK YOU A TON, also big thanks to those who helped along the way, now on to (finally) attempting to finish GeoDav's tutorial!

                          (can't wait to see what headache that brings... )

                          Comment


                            #14
                            Great! Got the weapon to show up in the menus as a mutator > weapon replacement.

                            Problem now: weapon does not show up at all in first person (I assume just an offset/scale issue, easily fixed hopefully). I can tell it's working though, as the muzzle flash comes from an odd area nearby my skull...

                            Big Problem now: weapon mesh in entirely replaced by weapon it is parented from (shock rifle). By parented from, I mean I used the shock rifle code, sockets, etc. I looked back at my code changes, and I definitely swapped the shock rifle's mesh bits out for mine, however no luck.

                            If someone wouldn't mind going over the code I posted on the first page here (hasn't changed), seeing if I got the mesh swapping correct, etc, would really appreciate it. Thanks!

                            Comment


                              #15
                              hmm, seems to be one last problem, I just can't get the ammo mesh to work- it won't see the mesh in my package, though it finds everything else. I even tried creating a completely seperate package, no dice. Is there something special about the ammo class? I do notice it is given a seperate package from the weapons in the editor, under the name "PICKUPS.Ammo_(weaponname).Mesh.(name)"

                              intersting...it simply refuses. arg, as usual...lol.

                              Comment

                              Working...
                              X