| Blockland Forums > Modification Help |
| Using emote instead of creating? |
| (1/2) > >> |
| LeetZero:
Currently the script (s) I am using for my itmes create a spammy amount of emmiters and datablocks. Because I currently use a single "base script" which creates a emote for all. How can I make it so it USES the emote instead of CREATING and USING it? Here's the code I am using for Hamburger: --- Code: --- //fpHamburger.cs //audio datablock AudioProfile(EatSound) { filename = "./Eat.wav"; description = AudioClose3d; preload = true; }; datablock ParticleData(fpHamburgereatParticle) { dragCoefficient = 5.0; gravityCoefficient = -0.2; inheritedVelFactor = 0.0; constantAcceleration = 0.0; lifetimeMS = 1000; lifetimeVarianceMS = 500; useInvAlpha = false; textureName = "./eat"; colors[0] = "1.0 1.0 1.0 1"; colors[1] = "1.0 1.0 1.0 1"; colors[2] = "0.0 0.0 0.0 0"; sizes[0] = 0.4; sizes[1] = 0.6; sizes[2] = 0.4; times[0] = 0.0; times[1] = 0.2; times[2] = 1.0; }; datablock ParticleEmitterData(fpHamburgereatEmitter) { ejectionPeriodMS = 35; periodVarianceMS = 0; ejectionVelocity = 0.5; ejectionOffset = 1.0; velocityVariance = 0.49; thetaMin = 0; thetaMax = 120; phiReferenceVel = 0; phiVariance = 360; overrideAdvance = false; particles = "fpHamburgereatParticle"; uiName = "Emote - eat"; }; datablock ShapeBaseImageData(fpHamburgereatImage) { shapeFile = "base/data/shapes/empty.dts"; emap = false; mountPoint = $HeadSlot; stateName[0] = "Ready"; stateTransitionOnTimeout[0] = "FireA"; stateTimeoutValue[0] = 0.01; stateName[1] = "FireA"; stateTransitionOnTimeout[1] = "Done"; stateWaitForTimeout[1] = True; stateTimeoutValue[1] = 0.350; stateEmitter[1] = fpHamburgereatEmitter; stateEmitterTime[1] = 0.350; stateSound[1] = EatSound; stateName[2] = "Done"; stateScript[2] = "onDone"; }; function fpHamburgereatImage::onDone(%this,%obj,%slot) { %obj.unMountImage(%slot); } datablock ItemData(fpHamburgerItem) { category = "Weapon"; // Mission editor category className = "Weapon"; // For inventory system // Basic Item Properties shapeFile = "./fpHamburger.dts"; rotate = false; mass = 1; density = 0.2; elasticity = 0.2; friction = 0.6; emap = true; //gui stuff uiName = "Hamburger"; iconName = "./Icon_fpHamburger"; doColorShift = false; // Dynamic properties defined by the scripts image = fpHamburgerImage; canDrop = true; }; datablock ShapeBaseImageData(fpHamburgerImage) { // Basic Item properties shapeFile = "./fpHamburger.dts"; emap = true; // Specify mount point & offset for 3rd person, and eye offset // for first person rendering. mountPoint = 0; offset = "-.05 0 0"; eyeOffset = 0; //"0.7 1.2 -0.5"; rotation = eulerToMatrix( "-90 90 0" ); className = "WeaponImage"; item = fpHamburgerItem; //raise your arm up or not armReady = true; doColorShift = false; // Initial start up state stateName[0] = "Ready"; stateTransitionOnTriggerDown[0] = "Fire"; stateAllowImageChange[0] = true; stateName[1] = "Fire"; stateTransitionOnTimeout[1] = "Ready"; stateAllowImageChange[1] = true; stateScript[1] = "onFire"; stateTimeoutValue[1] = 1; stateSound[1] = EatSound; }; function fpHamburgerImage::onFire(%this,%obj,%slot) { for(%i=0;%i<5;%i++) { %toolDB = %obj.tool[%i]; if(%toolDB $= %this.item.getID()) { %obj.addhealth(65); %obj.emote(fpHamburgereatImage); %obj.tool[%i] = 0; %obj.weaponCount--; messageClient(%obj.client,'MsgItemPickup','',%i,0); serverCmdUnUseTool(%obj.client); break; } } } package fpHamburgerPackage { function Armor::onCollision(%this, %obj, %col, %thing, %other) { if(%col.dataBlock $= "fpHamburgerItem" && %col.pickupNow !$= 1) { if(!isObject(%col.spawnbrick)) { if((%obj.getDamageLevel() >= 1)) { %obj.setDamageLevel(0); %obj.emote(fpHamburgereatImage); %col.delete(); } else %col.pickupNow = 1; return; } } Parent::onCollision(%this, %obj, %col, %thing, %others); } }; activatePackage(fpHamburgerPackage); --- End code --- Help appreciated, if you are able to help you will also receive credit in the final "product". |
| LeetZero:
Bump. |
| Deathwish:
Uh, what exactly is wrong with this script. You haven't exactly been clear about what's wrong. |
| LeetZero:
--- Quote from: Deathwish on December 21, 2010, 12:59:47 PM ---Uh, what exactly is wrong with this script. You haven't exactly been clear about what's wrong. --- End quote --- ... The script creates emotes, spamming datablocks and emmiter wrench section. How can I use it so it uses a emote instead? |
| Deathwish:
If you don't want them to appear on the lists in wrench events, take the uiName's out the datablocks, if that's what you mean. |
| Navigation |
| Message Index |
| Next page |