Pottus / ColAndreas

Collision Plugin For San Andreas Multiplayer
GNU General Public License v3.0
72 stars 44 forks source link

Ability to detect surface types #89

Open mikecnr opened 4 years ago

mikecnr commented 4 years ago

@Crayder @NexiusTailer

Hi I'd like to request a feature to be added if it's possible. Can we please have the ability to detect the surface type that the casted ray hits? We currently get informed about the model, but the collision data holds information about the surface types too, no? Can this information be passed to PAWN by the plugin?

Obviously the game knows what surface type you are on for bullet hits and footstep sounds. It's part of the collision data.

https://wiki.mtasa.com/wiki/Material_IDs

For a use case example, I want to be able to detect when a player is standing on grass which will allow them to plant drugs.

Can you please let me know if and when this could potentially be added? Thank you.

Crayder commented 4 years ago

There is a potential, surface information can be extracted from the .col file.

https://gtamods.com/wiki/Collision_File#Structures https://forum.mtasa.com/topic/60720-modify-surface-type/ https://forum.mtasa.com/topic/119808-collisions/ - this one lists the different "materials".

Data from both surfaud.dat and surfinfo.dat may be useful for some things too, like determining if the surface is grass or metal.


Changes needed in Wizard:


Storing the data in the bullet memory is the more trivial part. Can be figured out though.