Ok Mr logfile smart asses
Log: Log file open, 11/07/17 15:46:37
Init: Name subsystem initialized
Init: Detected: Microsoft Windows NT 5.0 (Build: 2195)
Init: Version: 436
Init: Compiled: Oct 24 2000 23:40:18
Init: Command line: Autoplay.unr HWND=131734 -log
Init: Base directory: D:\UTww\System\
Init: Character set: Unicode
Log: Bound to Engine.dll
Log: Bound to Core.dll
Log: Bound to Window.dll
Init: Object subsystem initialized
Init: Computer: APEX8PC
Init: User: Administrator
Init: Memory total: Phys=4194303K Pagef=4194303K Virt=2097024K
Init: Working set: 32000 / 159000
Init: CPU Speed=2698.795482 MHz
Init: CPU Page size=4096, Processors=8
Init: CPU Detected: PentiumPro-class processor (GenuineIntel)
Init: CPU Features: CMov FPU RDTSC PAE MMX KNI
There you go, whats wrong with my new Bigrock projectile.
It seems all good, it compiled ok, as soon as the map starts you are froze and just sits there, alt cntrl del. no nag screen, nothing.
If I place the boulder it crashes, and if my Titan throws it, it crashes.
I went over the code and I did mess up, but nothing seems complicated, I just filled in the correct actor.
It seems they do get it and do throw it, but it's when it goes into spawnchunks, I will recheck the code again,
If it looks right , then my version of trying to make it not hurt pawns is done wrong.
I will post the section of code, but it's "BigRock" actor code
I did not make a subclass, I made a new bigrock parent and a new boulder1 below, (new names of course)
Still crashed.
__________________
I found it, it referred to the smaller rock in the same class, it should have referred to the bigger rock class.
Then it still didn't work, it killed pawns, so I found a few web pages for syntax and all the other stuff for code.
It says an IF is used mostly to have a true or false result from that line.
So I had the whole wrong idea, line says,, if NOT bigrock AND NOT Titan, (they use the ! for NOT). returns false if both are true.
So all I needed to do was make another IF to include NOT myrock AND NOT Scriptedpawn
So now I have the Stone and normal Titans that don't fight scriptedpawns and the rocks won't damage them, unless it's being slapped or something close up.
But the way I know (knew) if-then, was more like you get a real number or result value or word, not this bool true-false stuff. But now that I see, it's not overly difficult. I put all 4 in one line, but it can't compare like that it just needed another IF below.
____________________
Code: Select all
auto state Flying
{
function ProcessTouch (Actor Other, Vector HitLocation)
{
local int hitdamage;
if ( Other == instigator )
return;
PlaySound(ImpactSound, SLOT_Interact, DrawScale/10);
if ( !Other.IsA('N_Boulder') && !Other.IsA('N2_Titan') )
if ( !Other.IsA('N_Boulder') && !Other.IsA('Scriptedpawn') )
{
Hitdamage = Damage * 0.00002 * (DrawScale**3) * speed;
if ( (HitDamage > 6) && (speed > 150) )
Other.TakeDamage(hitdamage, instigator,HitLocation,
(35000.0 * Normal(Velocity)), 'crushed' );
}
}
QUESTION ?
So if you want the same effect or other things changed on an actor, do you just copy the per-function areas you want to mess with and paste them in the new
subclass ?
So say it's just one tiny thing, In one ,,Function, if I paste only that function section code, is all you need to do ? (not including everything but just for changing code.)