| Blockland Forums > Modification Help |
| Beginning scripting problems %col.player |
| (1/1) |
| Swollow:
--- Code: ---package riotarmor { function ProjectileData::damage(%this,%obj,%col,%fade,%pos,%normal) { if(%col.riotarmor) { %shielded = 0; if(%col.getType() & $TypeMasks::PlayerObjectType) { %scale = getWord(%col.getScale(),2); %fvec = %col.getForwardVector(); %fX = getWord(%fvec,0); %fY = getWord(%fvec,1); %evec = %col.getEyeVector(); %eX = getWord(%evec,0); %eY = getWord(%evec,1); %eZ = getWord(%evec,2); %eXY = mSqrt(%eX*%eX+%eY*%eY); %aimVec = %fX*%eXY SPC %fY*%eXY SPC %eZ; if(%eZ > 0.75) %shielded = (getword(%pos, 2) < getword(%col.getWorldBoxCenter(),2) - 4.4*%scale); else if(%ez < -0.75) %shielded = (getword(%pos, 2) > getword(%col.getWorldBoxCenter(),2) - 3.3*%scale); else %shielded = (vectorDot(vectorNormalize(%obj.getVelocity()),%aimVec) > 0); %reflectVector = vectorScale(%col.getForwardVector(),-1); %reflectPoint = vectorAdd(%col.getHackPosition(),%reflectVector); if(%shielded) { serverPlay3d(kevlarImpactSound,%pos); ================ %col.player.addhealth(-5); %scaleFactor = getWord(%obj.getScale(), 2); %pos = %reflectPoint; %vec = vectorScale(%reflectVector,vectorLen(%obj.getVelocity())); %vel = vectorAdd(%vec,vectorScale(%col.getVelocity(),%obj.dataBlock.velInheritFactor)); %p = new Projectile() { dataBlock = %obj.dataBlock; initialPosition = %pos; initialVelocity = %vel; sourceObject = %obj; client = %col.client; sourceSlot = 0; originPoint = %pos; reflectTime = getSimTime(); }; MissionCleanup.add(%p); %p.setScale(%scaleFactor SPC %scaleFactor SPC %scaleFactor); %obj.schedule(10,delete); return; } } } return Parent::damage(%this,%obj,%col,%fade,%pos,%normal); } }; if(isPackage(riotarmor)) deactivatePackage(riotarmor); activatepackage(riotarmor); --- End code --- I'm trying to make some riot armor for your back and i want you to lose 5 health when colliding with your back but it just gives me error messages What is wrong with the line with a bunch of equal signs? it works without the %col.player.addhealth(-5); (the equal signs aren't actually used in the script huurr) |
| otto-san:
don't use %col.player just use %col |
| Navigation |
| Message Index |