• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как запустить цикл с 1 значения?

wolfnex

Новичок
Эм, даже не знаю как правильно сформулировать вопрос. Как сделать что бы цикл перебирался с 1 до 10 ? Т.е. делаю систему сохранения фракции денег, материалов и т.п.
Вот сам код.
Код:
#define MAX_MEMBERS 10
enum mInfo { // для фракций
    mTaken,
    mMOTD[128],
    mMats,
    mBank
}
new MemberInfo[MAX_MEMBERS][mInfo];
public LoadMembers() {
    new time = GetTickCount();
    new i;
    while(i < sizeof MemberInfo) {
        cache_get_value_name_int(i, "Taken", MemberInfo[i][mTaken]);
        cache_get_value_name(i, "MOTD", MemberInfo[i][mMOTD], 128);
        cache_get_value_name_int(i, "Mats", MemberInfo[i][mMats]);
        cache_get_value_name_int(i, "Bank", MemberInfo[i][mBank]);
        i++;
    }
    return printf("4/4. [Загрузка фракций]: Было загружено - %d, потрачено - %d (ms)", i, (GetTickCount()-time));
}
SaveMembers() {
    new i;
    while(i < sizeof MemberInfo) {
        new query[1024] = "UPDATE `members` SET";
        format(query, sizeof query, "%s `Taken` = '%d',", query, MemberInfo[i][mTaken]);
        format(query, sizeof query, "%s `MOTD` = '%s',", query, MemberInfo[i][mMOTD]);
        format(query, sizeof query, "%s `Mats` = '%d',", query, MemberInfo[i][mMats]);
        format(query, sizeof query, "%s `Bank` = '%d',", query, MemberInfo[i][mBank]);
        format(query, sizeof query, "%s WHERE `ID` = '%d'", query, i+1);
        mysql_tquery(dbHandle, query);
        i++;
    }
}
При добавлении допустим материалов если игрок состоит во фракции 2, то добавляет фракции 3, т.е. отсчёт начинается с 0, как сделать что бы с единицы?
MemberInfo[player_info[playerid][pMember][mMats]
 

Вложения

Последнее редактирование модератором:
Сверху Снизу