Ce l'ho fatta!!!!!!!

codice:
INSERT INTO battaglia_punti(idbattaglia,idclan,punteggio,time_stamp)

SELECT idbattaglia,idclan,1,now()
FROM battaglia_punti 
WHERE idclan=1 AND idbattaglia=20 
AND (SELECT max(time_stamp) FROM battaglia_punti WHERE idclan=1 AND idbattaglia=20) 
<DATE_SUB(now(), INTERVAL 15 second)
ORDER BY time_stamp DESC LIMIT 1

Usando INSERT SELECT

Fa due sotto query con select.
Nella prima restuisce i risultati da mettere nell'insert.
Nella seconda seleziona il timestamp piu recente max(time_stamp)
e poi viene usato quello per verificare che sia piu vecchio di 15 secondi