Ton problemme s'est que tu met le new warn dans ta commande, donc a chaque fois que ta comande est tappée, le warn = 0.
Donc ce que tu fait, au debut de ton script tu fait
new Warn[MAX_PLAYERS];
et tu remplace tes warn par Warn[playerid] ou Warn[giveplayerid], enfn, ce qui te sert a definirs que tru cherche la valeur du warn du joueur concerné.