Sorry nicht getestet wenn dort was falsch ist selber Korrigieren 
Ganz unten im script:
stock SpielerName(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,sizeof(name));
	return name;
}
und dann zu deine ocmd commands
ocmd:giveweapon(playerid,params[])
{
	new pID,waffe,muni;
	if(sscanf(params,"uii",pID,waffe,muni))return SendClientMessage(playerid,-1," INFO: /giveweapon[playerid/name][waffe][munition]");
	if(waffe <1||waffe >54)return SendClientMessage(playerid,-1," Info: Waffe darf nicht unter 1 sein und nicht über 54");
	if(waffe <1||waffe >500)return SendClientMessage(playerid,-1," Info: Munitione darf nicht unter 1 sein und nicht über 500");
	GivePlayerWeapon(pID,waffe,muni);
	new string[128];
	format(string,128,"* %s hat dir die WaffenID(%d) mit (%d) Munition.",SpielerName(playerid),waffe,muni);
	SendClientMessage(pID,-1,string);
	format(string,128,"* Du hast %s die WaffenID(%d) mit (%d) Munition.",SpielerName(pID),waffe,muni);
	SendClientMessage(playerid,-1,string);
	return 1;
}
Viel Spaß
Mit freundelichen grüßen
Pascal 