SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Plugin Development

Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 13/08/2016, 04:23 PM   #1
Little Clucker
Join Date: Jul 2013
Posts: 29
Reputation: 57
Default nPawn - latest Pawn in SA-MP

This plugin updates Pawn to the latest version from CompuPhase's repository without loss of original API.

Overview of main Pawn changes:

1. Structures
PHP Code:
new msg[.text{30}, .priority];
msg.priority 10;
strpack(msg.text"update: {30} means [30 char]");
2. Enumerated lists
PHP Code:
// from
const filemode:
io_read 0/* file must exist */
io_write/* creates a new file */
io_readwrite/* opens an existing file, or creates a new file */
io_append/* appends to file (write-only) */

3. Lots of new natives in Pawn includes, e. g., functions that were added to
PHP Code:
native boolfcopy(const source[], const target[]);
native boolfrename(const oldname[], const newname[]);
native boolfcreatedir(const name[]);
native boolfstat(name[], &size 0, &timestamp 0, &mode 0, &inode 0);
native boolfattrib(const name[], timestamp=0attrib=0x0f);
native filecrc(const name[]);

// ini reader
native readcfg(const filename[]=``'', const section[]=``'', const key[], value[], size=sizeof value, const defvalue[]=``''bool:pack=true);
native readcfgvalue(const filename[]=``'', const section[]=``'', const key[], defvalue=0);
native boolwritecfg(const filename[]=``'', const section[]=``'', const key[], const value[]);
native boolwritecfgvalue(const filename[]=``'', const section[]=``'', const key[], value);
native booldeletecfg(const filename[]=``'', const section[]=``'', const key[]=``''); 
Also you can read about changes at official page:

Changes and additions for API that aren't related to Pawn update:

1. Callback arguments are packed
2. It's safe to use packed strings with SA-MP functions
3. Some natives like GetPlayerName/GetWeaponName/etc got argument bool:ispacked=true at end.
4. format native that was taken from AMXMODX has been replaced with Pawn's strformat.
5. New include: It includes Vector3-powered versions of some SA-MP functions that have "Vec" suffix. Vector3 is a structure with fields Float, Float:y and Float:z. Example of usage:
PHP Code:
new pos[Vector3];
pos.+= 20.0;

Known issues:

- filterscripts crash the server. Looks like it will not be fixed because it will break support of most SA-MP versions or/and reduce performance
- Some plugins may not work with nPawn. Most of sampgdk-based plugins will not work.

Source code:
Binaries (Windows/Linux plugin and pawncc):
Resources (updated includes and examples):

Last edited by ge0r; 14/08/2016 at 09:17 PM.
ge0r is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT. The time now is 06:09 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.