Как мне правильно без лишней пыли посчитать все Ammo во всех слотах GetPlayerWeaponData(playerid,0,Gun,Ammo); через цикл for
Слотов всего 13(0-12)..
Вид для печати
Как мне правильно без лишней пыли посчитать все Ammo во всех слотах GetPlayerWeaponData(playerid,0,Gun,Ammo); через цикл for
Слотов всего 13(0-12)..
Попробуйте так.
PHP код:
new
Gun, Ammo, CountAmmo;
for (new i; i <= 12; i++)
{
GetPlayerWeaponData(playerid, i, Gun, Ammo);
CountAmmo += Ammo;
}
А вот тут часом не произойдёт так что при каждом выполнении цикла патроны будут обнуляться,PHP код:
for(new sl = 0, ammo = 0; sl < 13; sl++)
то есть к примеру ammo первого слота равно 4 а потом начинает второй считать и обнуляет и так с каждым слотом, или как оно поведёт себя?
______
GetPlayerWeaponData(playerid, sl, ammo, ammo);
А так разве можно? одной переменной в двух значениях юзать?
Ну а теперь давайте окунёмся в то, что каждый должен изучит ещё на стадии ознакомления с понятием "Что такое Pawn?":
Оператор_инициализация - это тот код, который выполнится при старте цикла. Здесь записывают объявление переменных или же задают этим переменным стартовые значения, если переменные были объявлены ранее.PHP код:
for(Оператор_инициализация; Условие; Поститерационная_команда)
Условие - это условия выполнения цикла. То бишь пока условие не выполнится, цикл будет продолжать выполнять код в своём теле (ели оставить пустым, то цикл будет бесконечным).
Поститерационная_команда - это тот код, который будет выполняться после выполнения тела цикла (в конце каждой итерации). Здесь записывают действия с переменными, значения которых сравниваются в условии.
И работа цикла будет выглядеть, примерно, так:
Из этого всего должно стать понятно, что переменная ammo обнуляется только при старте цикла и больше её мы не обнуляемPHP код:
Оператор_инициализация
Итерация №1:
Условие
{Тело_Цикла}
Поститерационная_команда
Итерация №2:
Условие
{Тело_Цикла}
Поститерационная_команда
Итерация №3:
Условие
{Тело_Цикла}
Поститерационная_команда
Итерация №4:
Условие
{Тело_Цикла}
Поститерационная_команда
Итерация №5:
Условие
{Тело_Цикла}
Поститерационная_команда
...//Пока условие не будет выполнено
Итерация №over900:
Условие//Условие выполнено
break;//Остановка цикла
Тему можно закрывать, оба варианта гуд) Спасибо.