-
Notifications
You must be signed in to change notification settings - Fork 18
Known incompatibilities
Since version 1.4.3, the majority of the source of incompatibilities can be disabled by setting environment variables PAWNPLUS_NO_AMX_HOOKS
(disables asynchronous functions and other AMX-related enhancements) and PAWNPLUS_NO_FILE_HOOKS
(disables the debug module) to any value other than 0
.
SAMPGDK hooks amx_FindPublic
to always report success (and returns a negative index) even for non-existent public functions. Some natives in PawnPlus rely on the existence of public functions being reported correctly, and may not work as expected when it is not the case.
PawnPlus will produce a warning when such a thing occurs. Use pp_public_min_index
or pp_use_funcidx
to deal with the issue.
YSI appears to reorganize the public function table on startup, changing the indices and their associated names. If pawn_register_callback
is used prior to this, it remembers the initial index value, resulting in a wrong callback being used.
Versions 4.20 and 4.21 in Crashdetect changed code related to hooking the fopen
C function, causing crashes in some situations. This can be prevented by disabling the fopen
hooks by setting PAWNPLUS_NO_FILE_HOOKS=1
. This issue is reported here.
Plugins using samp-rs do not interop correctly with dynamic strings or variants in PawnPlus, as the SDK does not respect the AMX API when reading native arguments and thus cannot read any memory outside the AMX range. This issue is reported here.