-
Notifications
You must be signed in to change notification settings - Fork 9
Improvements and fixes #102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
SFX offsets were taken from here: https://www.zazmahall.de/ZAZGTASANATORIUM/GTASA_SFX_Directory.htm
for nametags, float parameters passed to callbacks and special actions
More correct content separation like in other MTA default resources
- added GetWeaponSlot into a_amx.inc - implemented DisableNameTagLOS and SetNameTagDrawDistance - fixed other bugs with nametags (returned back bots support)
in the most easy way possible
not considering whether they are generally enabled or not
as it gives precise loss values for damage amount
and also put in class selection only if it's allowed, like in other cases
if they are not errors
so that it's not needed to be duplicated in spectate function
Other updates which could be made on the side of repository itself (on wiki pages):
to
to match the current readme file instructions. UPD:
to
add
|
Thanks so much for your contribution! I’ve had a quick look on my phone, but haven’t had much free time lately. I’ll review this in more detail soon 😊 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed this and it LGTM. Will test soon, thank you! 😊
@@ -40,7 +40,7 @@ Compatibility is quite high: | |||
- Almost all SA-MP **scripting functions** and **callbacks** are | |||
implemented. | |||
- **Database** functions (`db_*`) are implemented. | |||
- SA-MP server **plugins** work unmodified. | |||
- SA-MP server **plugins** work unmodified, if they don't use memory hacking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this is very true, especially for plugins such as Pawn.CMD
, which I had to modify for it to work on MTA by getting rid of the byte pattern lookup when compiling for such with a preprocessor macro 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tbh Pawn.CMD is a very lite example of a plugin for which there are many non-memhacking replacements (zcmd, dc_cmd etc). Meanwhile there are really crucial memhack plugins which cannot be replaced and they kinda based today just to make any advanced functionality, like Pawn.RakNet. Sometimes I even think that similar tool would be useful for MTA as well (at least a module which would give ability to intercept incoming packets like bylletsync, unoccupied or other sync types serverside, making possible to additionally handle every single packet in your script).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested, works fine on my end. Merging, thank you!
This pull request implements a few missed functions and fixes some minor issues here and there.
PlayerPlaySound
, SFX offsets for "script" container were taken from here.OnPlayerClickMap
which means now there is an ability to put map waypoint (target blip) on the F11 world map.CreateMenu
, set or remove map waypoint. The sounds completely matches those which used in SA-MP in all those mentioned systems.DisableInteriorEnterExits
. All this actually do is stopping the interiors resource which in turn implements enter/exit markers from singleplayer. Added a note into the readme file about that you should have interiors resource to use enex markers, and only then DisableInteriorEnterExits will "disable" them.GetPlayerCameraFrontVector
related to arithmetics on nil value (#99).EnableZoneNames
, but disabled by default like in SA-MP.DisableNameTagLOS
andSetNameTagDrawDistance
functions.GameModeExit
will now work even if mapcycler and votemanager resources aren't running.SendDeathMessage
andSendDeathMessageToPlayer
now actually works, calling killmessages resource events (previously there was just a stub with a comment to use killmessages resource by yourself, but now it has a real integration). A note is also added into the readme file. Also solves #30.OnPlayerGive/TakeDamage
are re-implemented and now client event is taken as a base for those SA-MP callbacks, since onClientPlayerDamage gives much more precise loss values for damage amount thus fully matches SA-MP behavior.GetWeaponSlot
andForcePlayerMap
/IsPlayerMapForced
(script interaction with world map seems more justified now after OnPlayerClickMap was added).AttachElementToElement
from a_mta.lua, which probably was meant to be included in a_amx.inc as pawn native is removed. The reason is that it wasn't implemented on pawn side and actually cannot be, because it operates with two elements not IDs, so it hardly can be passed to a pawn native and look sane. Moreover, there is already everything needed to attach objects to objects, vehicles and players. SA-MP functionality is fully implemented in this matter by the separate natives (btw exactly all from #33, which is solved for this moment).StopAudioStreamForPlayer
: some sounds which has finished playing was passed into this function as not valid sound elements and thus produced some warnings.