1
Creativity / Re: The new and improved 3D model topic!
« on: August 25, 2016, 02:39:43 PM »
Looks Japanese or Mongolian, hella cool
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Yeah the one I made forever ago lolYou can also use 'light' (R), 'useTool' (Q) and all the brick move and plant keys for future reference :)
https://forum.blockland.us/index.php?topic=262383
Or someone else's that is similar
However, this mod is server sided, and the only keys I can use (I think) are left click, right click, space, and shift (fire, jet, jump, crouch). Making it use tab would probably require both a client and server sided mod.
I'll look into it though.
Is it possible to use animations/keyframes and change the material in game? I know you can do it using the IPO editor and stuff in blender, but can it be done in game? Everything I've tried doesn't work.You can color groups on a model if they are either Player or AIplayer datablocks using setNodeColor(groupName, "R G B A"); and hide / unHideNode works too. The main issues for weapons are collision which you have to bypass as well as a nice user-friendly way to change the parts (harder for me because I refuse players having to know /commands).
datablock ShapeBaseImageData(kickFootImage)
{
// Basic Item properties
shapeFile = "./Kick.dts";
emap = true;
// Specify mount point & offset for 3rd person, and eye offset
// for first person rendering.
mountPoint = 0; //change this to the right foot, I can't remember what number it is off the top of my head
offset = "0 0 0";
eyeoffset = "100 100 100"; //so we don't see it in first person
rotation = eulerToMatrix( "0 0 0" );
// When firing from a point offset from the eye, muzzle correction
// will adjust the muzzle vector to point to the eye LOS point.
// Since this weapon doesn't actually fire from the muzzle point,
// we need to turn this off.
correctMuzzleVector = true;
// Add the WeaponImage namespace as a parent, WeaponImage namespace
// provides some hooks into the inventory system.
className = "WeaponImage";
// Projectile && Ammo.
item = shotgunItem;
ammo = " ";
projectile = shotgunProjectile; //is this really what you will use?
projectileType = Projectile;
casing = shotgunShellDebris;
shellExitDir = "1.0 0.1 1.0";
shellExitOffset = "0 0 0";
shellExitVariance = 10.0;
shellVelocity = 5.0;
//melee particles shoot from eye node for consistancy
melee = true;
//raise your arm up or not
armReady = false;
minShotTime = 1000;
doColorShift = true;
colorShiftColor = shotgunItem.colorShiftColor;
// Images have a state system which controls how the animations
// are run, which sounds are played, script callbacks, etc. This
// state system is downloaded to the client so that clients can
// predict state changes and animate accordingly. The following
// system supports basic ready->fire->reload transitions as
// well as a no-ammo->dryfire idle state.
// Initial start up state
stateName[0] = "Activate";
stateScript[0] = "onActivate";
stateTransitionOnTimeout[0] = "Ready";
stateTimeoutValue[0] = 0.05;
// stateSound[0] = weaponSwitchSound;
stateName[1] = "Fire";
stateTransitionOnTimeout[1] = "Smoke";
stateTimeoutValue[1] = 0.5;
stateFire[1] = true;
stateAllowImageChange[1] = false;
stateSequence[1] = "put the name of your animation here";
stateScript[1] = "onFire";
stateWaitForTimeout[2] = true;
stateSound[2] = kickfire;
stateTransitionOnTimeout[2] = "Smoke";
stateName[3] = "Smoke";
stateScript[3] = "onSmoke";
stateTimeoutValue[3] = 0.4;
stateTransitionOnTimeout[3] = "Ready";
stateTimeoutValue[3] = 0.1;
};
function kickFootImage::onMount(%this, %obj, %slot)
{
%obj.hideNode(rShoe);
%obj.hideNode(rPeg);
}
function kickFootImage::onSmoke(%this, %obj, %slot)
{
%obj.unMountImage(MountpointNumber); //I have forgotten the number the rShoe is
%obj.client.applyBodyParts();
%obj.client.applyBodyColors();
}