I isn't for you, for where's written "wep", instead of putting "! wep", because I guess that goes in the "OnPlayerText (playerid, cmdtext [])", right?, well, try it with this:
else if (strcmp(cmd, "!we", true) == 0 || strcmp(cmd, "!wep", true) == 0) {
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][Logged] != 1) SendClientMessage(playerid, COLOR_RED, "** pm >> You need to login first!");
else if (!strlen(tmp)) format(szMsg,256,"** pm >> [Syntax] - The correct use: %s [weapon/id].", cmdtext) && SendClientMessage(playerid,COLOR_GREEN,szMsg);
else {
new wep = FindWepIDFromString(tmp);
format(szMsg,256,"** pm >> Recived Weapon: %s - Ammo: 9999.",gWeapons[wep]);
SendClientMessage(playerid,COLOR_GREEN,szMsg);
SetPlayerWeapon(playerid,wep,9999);
}
return 1;
}