Emistry is right. You should read the guide from the link he provided. You may learn how to add a delay for other commands. Anyway, here's my reply to your question.
Add this piece of code under nullpo_retr(-1, sd); on every command you want to have a delay.
if( DIFF_TICK(gettick(),sd->pkmode_cd) < 60000 ) {
char timeleft[100];
sprintf(timeleft,"@pkmode is cooling down, you may use it again after %d seconds",60-(DIFF_TICK(gettick(),sd->pkmode_cd)/1000));
clif_displaymessage(fd,timeleft);
return -0;
}
sd->pkmode_cd = gettick();
And on pc.h
unsigned short mapindex;
unsigned char head_dir; //0: Look forward. 1: Look right, 2: Look left.
unsigned int client_tick;
+ unsigned int pkmode_cd;
You just have to change every pkmode_cd for other commands.