/*========================================== @heart X by Anarchist => Displays the heart special effect ------------------------------------------ */ ACMD_FUNC(heart) { nullpo_retr(-1, sd); if(!message || !*message || atoi(message)<0 || atoi(message)>2){ clif_displaymessage(fd, "usage: @heart 1 or 2"); return -1; } if(atoi(message)==1){ clif_specialeffect(&sd->bl,364,0); } else if(atoi(message)==2){ clif_specialeffect(&sd->bl,509,0); } return 0; } /*========================================== * @emotion X by Anarchist * => Displays the emotions without delay *------------------------------------------*/ ACMD_FUNC(emotion) { if(!message || !*message || atoi(message)<0 || atoi(message)>87){ clif_displaymessage(fd, "usage: @emotion 1-87"); return -1; } clif_emotion(&sd->bl,atoi(message)); return 0; } /*========================================== @dance X by Anarchist => Special effects with dance style ------------------------------------------ */ ACMD_FUNC(dance) { nullpo_retr(-1, sd); if(!message || !message || atoi(message)<0 || atoi(message)>9){ clif_displaymessage(fd, "usage: @dance 1-9"); return -1; } if(atoi(message)==1){ clif_specialeffect(&sd->bl,413,0); } else if(atoi(message)==2){ clif_specialeffect(&sd->bl,414,0); } else if(atoi(message)==3){ clif_specialeffect(&sd->bl,415,0); } else if(atoi(message)==4){ clif_specialeffect(&sd->bl, 426, 0); } else if(atoi(message)== 5){ clif_specialeffect(&sd->bl,458,0); } else if(atoi(message)==6){ clif_specialeffect(&sd->bl,466,0); } else if(atoi(message)==7){ clif_specialeffect(&sd->bl,501,0); } else if(atoi(message)==8){ clif_specialeffect(&sd->bl,540,0); } else if(atoi(message)==9){ clif_specialeffect(&sd->bl,550,0); } return 0; } /*========================================== * @show by KarLaeda * => Displays the point on minimap *------------------------------------------*/ ACMD_FUNC(show) { int x = 0, y = 0; nullpo_retr(-1, sd); if(!message || !*message || (sscanf(message, "%d %d", &x, &y) != 2)){ clif_displaymessage(fd, "usage: @show <x> <y>"); return -1; } clif_viewpoint(sd, 1, 1, x, y, 2, 0xFF0000); return 0; } /*========================================== * @hold by Voidless *==========================================*/ ACMD_FUNC(hold) { nullpo_retr(-1, sd); if (!sd->state.blockedmove){ sd->state.blockedmove=1; clif_displaymessage(fd, "Передвижение персонажа отключено"); } else { sd->state.blockedmove=0; clif_displaymessage(fd, "Передвижение персонажа восстановлено"); } return 0; } { "emotion", 0,0, atcommand_emotion }, { "heart", 0,0, atcommand_heart }, { "dance", 0,0, atcommand_dance }, { "show", 0,0, atcommand_show }, { "hold", 0,0, atcommand_hold },