Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
$continue$ (14.06.2015) Desulaid (14.06.2015) L0ndl3m (15.06.2015)
А что если:
PHP код:
stock isAWaterPlayer(playerid) // 0 - не в воде, 1 - на воде, 2 - под водой
{
if(GetPlayerAnimationIndex(playerid))
{
new tanimlib[5], tanimname[16];
GetAnimationName(GetPlayerAnimationIndex(playerid), tanimlib, 4, tanimname, 15);
if(!strcmp(tanimlib, "SWIM"))
{
if(!strcmp(tanimname, "Swim_Glide", true) || !strcmp(tanimname, "Swim_Dive_Under", true) || !strcmp(tanimname, "Swim_Under", true)) return 2;
else return 1;
}
}
return 0;
}
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Как вариант от OKStyle:
PHP код:
stock IsPlayerInWater(playerid)
{
if(IsPlayerInAnyVehicle(playerid)) return 0;
new animlib[32], animname[32];
GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, sizeof(animlib), animname, sizeof(animname));
return (strfind(animname, "swim", true) != -1 || strfind(animname, "water", true) != -1) ? 1 : 0;
}
Не вижу разницы между вариантом OKStyle и твоим: в обоих вариантах используется функция GetAnimationName.
Зачем это нужно вообще в данном случае, если как было выше сказано можно было использовать функцию для получения индекса анимации: GetPlayerAnimationIndex?
Да и в варианте OkStyle много чего ненужного: два массива которые можно было воссоединить в один; тернарное выражение здесь можно было и не использовать.
Предложу свой вариант:
PHP код:
IsPlayerInWater(playerid)
{
switch(GetPlayerAnimationIndex(playerid))
{
case 958, 959, 1538, 1539, 1543:
return (GetPlayerWeapon(playerid) != 46);
}
return 0;
}
$continue$ (27.06.2015)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)