CMD:adown(playerid, params[])
{
if(IsPlayerInAnyVehicle(playerid)) return true;
По сути это проверка на нахождения игрока в авто. Её можно удалить, так как она не нужна мне
if(sscanf(params,"dd",params[0])) SendClientMessage(playerid, -1, !" Используйте: /adown [1-14]");
Тут как я понял проверка что типо регулярного выражения на то, что введено именно число, а не цифры. По сути мне так же это не нужно
new animationplayed = params[0];
Перенос значения параметров в переменную. В целом не нужно, ведь в switch я использую это значение 1 раз (Да, раньше было всё на else if)
if(animationplayed < 1 || animationplayed > 14) return SendClientMessage(playerid,0xEFEFF7AA," /adown [1-14]");
По сути проверка на ввёдённые числа
Этот код был написал на всех else if, но я перенёс него в switch, потому что считаю что красиво и по сути с его помощью можно убрать все те проверки, которые были выше
switch(animationplayed)
{
case 1: ApplyAnimation(playerid,"PED","KD_left",4.1,0,1,1,1,1,1);
case 2: ApplyAnimation(playerid,"PED","KD_right",4.1,0,1,1,1,1,1);
case 3: ApplyAnimation(playerid,"PED","KO_shot_face",4.1,0,1,1,1,1,1);
case 4: ApplyAnimation(playerid,"PED","KO_shot_front",4.1,0,1,1,1,1,1);
case 5: ApplyAnimation(playerid,"PED","KO_shot_stom",4.1,0,1,1,1,1,1);
case 6: ApplyAnimation(playerid,"PED","KO_skid_back",4.1,0,1,1,1,1,1);
case 7: ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,1,1);
case 8: ApplyAnimation(playerid,"PED","KO_spin_L",4.1,0,1,1,1,1,1);
case 9: ApplyAnimation(playerid,"PED","KO_spin_R",4.1,0,0,0,1,1,1);
case 10: ApplyAnimation(playerid,"PED","BIKE_fallR",4.1,0,1,1,1,1,1);
case 11: ApplyAnimation(playerid,"PED","BIKE_fall_off",4.1,0,1,1,1,1,1);
case 12: ApplyAnimation(playerid,"GYMNASIUM","gym_jog_falloff",4.1,0,1,1,1,1,1);
case 13: ApplyAnimation(playerid,"SWAT","gnstwall_injurd",4.1,0,1,1,1,1,1);
case 14: ApplyAnimation(playerid,"PED","BIKE_pickupL",4.1,0,0,0,0,0,1);
//default: SCM(playerid,-1," Используйте : /adown [1-14]");
Я пытался вот так вот обойти все остальные проверки.
}
return 1;
}