Author
Message
Posts: 78
Location: Poland
Occupation:
Age:
V$:
#1
2014-08-06 22:36
How do i add adjustable offset to a rim that doesnt have it? I know i have to edit some javas but which ones and how?
#2
2014-08-06 23:22
I have no idea cuz i never scripted a rim. But you could try opening a .java of whatever rim you want, and check the bits
E.g:
package java.game.cars;
import java.render.osd.*;
import java.io.*;
import java.util.*;
import java.util.resource.*;
import java.game.*;
import java.game.parts.rgearpart.reciprocatingrgearpart.*;
public class chrome16 extends Wheel
{
float f_offset, default_offset, old_offset , diameter, width;
public chrome16 ( int id )
{
name = "Work Meister S1 3p Chrome";
rim_type = rtFACTORY;
diameter = 16.0;
width = 10.0;
default_offset = 0.0;
f_offset = default_offset;
SetupWheel( diameter, width, default_offset);
description = "Variable offset";
}
public void load( File saveGame )
{
super.load( saveGame );
int save_ver = saveGame.readInt();
if (save_ver >= 1)
{
f_offset = saveGame.readFloat();
setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0 ), null );
}
}
public void save( File saveGame )
{
super.save( saveGame );
int save_ver = 2;
saveGame.write( save_ver );
if (save_ver >= 1)
{
saveGame.write( f_offset );
}
}
public int isTuneable()
{
return true;
}
public void buildTuningMenu( Menu m )
{
old_offset = f_offset;
m.addItem( "Offset", 1, f_offset, -65.0, 65.0, 1.1, null ).printValue(" %1.1f");
m.addItem( "Reset to factory defaults", 0); //this should always be with cmd=0
GameLogic.player.car.wakeUp();
}
public void endTuningSession( int cancelled )
{
if( cancelled )
{
f_offset = old_offset;
}
else
{
if (f_offset != old_offset)
GameLogic.spendTime(5*60);
getCar_LocalVersion();
if (the_car)
the_car.forceUpdate();
}
}
public void handleMessage( Event m )
{
if( m.cmd == 0 )
{
f_offset = default_offset;
m.gadget.osd.findGadget( this, 1 ).setValue( default_offset );
setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null );
}
else
if( m.cmd == 1 )
{
f_offset = ((Slider)m.gadget).value;
((Slider)m.gadget).changeVLabelText( Float.toString(f_offset, " %1.1f"));
setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null );
}
}
}
Someone correct me if im wrong
Posts: 357
Location: Canada
Occupation: Student
Age: 22
V$:
#3
2014-08-06 23:45
package java.game.cars;
import java.render.osd.*;
import java.io.*;
import java.util.*;
import java.util.resource.*;
import java.game.*;
import java.game.parts.rgearpart.reciprocatingrgearpart.*;
public class replace this with rim name extends Wheel
{
float f_offset, default_offset, old_offset, diameter, width;
public replace this with rim name ( int id )
{
name = "Work Meister S1 3p Chrome";
rim_type = rtFACTORY;
diameter = 16.0;
width = 10.0;
default_offset = 0.0;
f_offset = default_offset;
SetupWheel( diameter, width, default_offset);
description = "Variable offset";
}
public void load( File saveGame )
{
super.load( saveGame );
int save_ver = saveGame.readInt();
if (save_ver >= 1)
{
f_offset = saveGame.readFloat();
setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null );
}
}
public void save( File saveGame )
{
super.save( saveGame );
int save_ver = 2;
saveGame.write( save_ver );
if (save_ver >= 1)
{
saveGame.write( f_offset );
}
}
public int isTuneable()
{
return true;
}
public void buildTuningMenu( Menu m )
{
old_offset = f_offset;
m.addItem( "Offset", 1, f_offset, -65.0, 65.0, 1.1, null ).printValue(" %1.1f");
m.addItem( "Reset to factory defaults", 0); //this should always be with cmd=0
GameLogic.player.car.wakeUp();
}
public void endTuningSession( int cancelled )
{
if( cancelled )
{
f_offset = old_offset;
}
else
{
if (f_offset != old_offset)
GameLogic.spendTime(5*60);
getCar_LocalVersion();
if (the_car)
the_car.forceUpdate();
}
}
public void handleMessage( Event m )
{
if( m.cmd == 0 )
{
f_offset = default_offset;
m.gadget.osd.findGadget( this, 1 ).setValue( default_offset );
setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null );
}
else
if( m.cmd == 1 )
{
f_offset = ((Slider)m.gadget).value;
((Slider)m.gadget).changeVLabelText( Float.toString(f_offset, " %1.1f"));
setSlotPos( 1, new Vector3(f_offset/1000.0, 0, 0), null );
}
}
}
Posts: 78
Location: Poland
Occupation:
Age:
V$:
#4
2014-08-07 08:14
And where to change amount of offset? if im not mistaken the one you posted BlueExplosions has offset -65 to 65 am i right? and where to find this java?