Purpeex
Участник
- Сообщения
- 7
- Реакции
- 6
- Баллы
- 3
В очередной раз столкнулся с небольшой ошибкой в Gcms API
Итак, в gamecms5.inc у нас есть:
Моя проблема связана с MemberId, который находится на первой строчке.
Если в своём скрипте создать переменную c этим enum'ом (например:
и попытаться вывести MemberId в чат:
То, в итоге, получаем цифру 0. (А остальное, например, MemberName/MemberMoney - прекрасно работает и отображает всё как надо)
Но если получить ID двумя другими способами:
И вывести всё это вместе в чат:
То можем увидеть совсем иную картину: (Мой ID действительно 2)
Логгирование прямо в gamecms_api.sma почему-то даёт другой результат (средняя строчка)
Почему так? Если это всё таки я что-то не так делаю, то дайте знать.
Исходник прикрепляю.
Итак, в gamecms5.inc у нас есть:
C++:
enum _:userDataID
{
MemberId,
MemberLogin[MAX_NAME_LENGTH],
MemberName[MAX_NAME_LENGTH*2],
MemberBirth[MAX_INT_LEN + 1],
MemberNick[MAX_NAME_LENGTH],
Float:MemberMoney,
Float:MemberMoneyCurr,
Float:MemberMoneyOld,
MemberGameTime,
MemberGameTimeCurr,
MemberPrefix[MAX_STRING_LEN],
MemberGameMoney,
MemberGameMoneyCurr,
MemberGameMoneyOld,
MemberMessages,
MemberGroup,
MemberGroupName[MAX_NAME_LENGTH*2],
MemberThanks,
MemberAnswers,
MemberRaiting,
MemberRegDate[MAX_STRING_LEN],
MemberLastActivity[MAX_INT_LEN],
MemberDiscount
};
Моя проблема связана с MemberId, который находится на первой строчке.
Если в своём скрипте создать переменную c этим enum'ом (например:
PlayerData[32][userDataID]
)и попытаться вывести MemberId в чат:
C++:
client_print(id, print_chat, "API MemberId - %d", PlayerData[id][MemberId])
То, в итоге, получаем цифру 0. (А остальное, например, MemberName/MemberMoney - прекрасно работает и отображает всё как надо)
Но если получить ID двумя другими способами:
C++:
//new AlternativeMemberId[33], AnotherAlternativeMemberId[33];
public OnAPIMemberConnected(id, memberId, memberName[]) {
AlternativeMemberId[id] = cmsapi_is_user_member(id);
AnotherAlternativeMemberId[id] = memberId;
}
И вывести всё это вместе в чат:
C++:
client_print(id, print_chat, "API MemberId - %d | Alternative MemberId - %d | Another Alternative MemberId - %d", PlayerData[id][MemberId], AlternativeMemberId[id], AnotherAlternativeMemberId[id]);
То можем увидеть совсем иную картину: (Мой ID действительно 2)
Логгирование прямо в gamecms_api.sma почему-то даёт другой результат (средняя строчка)
Почему так? Если это всё таки я что-то не так делаю, то дайте знать.
Исходник прикрепляю.
Вложения
Последнее редактирование: