Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
- /* iVE: Vehicle Death/Explosion Physics */
- /* by iPLEOMAX, 2011 */
- /* Please keep the credits! */
- /* Simple yet nice to see.. :D */
- /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
- #include <a_samp>
- // Tweak your own..
- #define EFFECT_RANDOM 20
- #define EFFECT_FIX_DEFAULT 10
- #define EFFECT_FIX_Z 0.008
- #define EFFECT_MULTIPLIER 0.05
- #define EFFECT_HELI_VEL 0.1
- #define EFFECT_EXPLOSIONTYPE 1
- #define EFFECT_EXPLOSIONOFFSET -1.2
- #define EFFECT_EXPLOSIONRADIUS 2.5
- //Model IDs for Vehicles
- #define PLANES 460,476,511,512,513,519,520,553,577,592,593
- #define HELIS 417,425,447,469,488,497,548,563
- public OnFilterScriptInit()
- {
- printf(" iVE: Vehicle Explosion Physics Loaded! -iPLEOMAX");
- return true;
- }
- public OnFilterScriptExit()
- {
- printf(" iVE: Vehicle Explosion Physics Exited.");
- return true;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return true;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- new Float:P[3]; GetVehiclePos(vehicleid, P[0], P[1], P[2]);
- if(P[2] <= 0.4) return true; //Water Exception.. (added later)
- new model = GetVehicleModel(vehicleid);
- switch(model)
- {
- case PLANES: return true;
- case HELIS: return true;
- default:
- {
- new
- ht = random(EFFECT_RANDOM),
- xang = random(EFFECT_RANDOM)-EFFECT_FIX_DEFAULT,
- yang = random(EFFECT_RANDOM)-EFFECT_FIX_DEFAULT,
- zang = random(EFFECT_RANDOM)
- ;
- GetVehiclePos(vehicleid, P[0], P[1], P[2]);
- CreateExplosion(P[0], P[1], P[2]+EFFECT_EXPLOSIONOFFSET, EFFECT_EXPLOSIONTYPE, EFFECT_EXPLOSIONRADIUS);
- SetVehicleAngularVelocity(vehicleid, xang*EFFECT_MULTIPLIER, yang*EFFECT_MULTIPLIER, zang*EFFECT_FIX_Z);
- GetVehicleVelocity(vehicleid, P[0], P[1], P[2]);
- SetVehicleVelocity(vehicleid, P[0], P[1], P[2] + (ht*EFFECT_FIX_Z) );
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement