16.09.2010, 18:40
(
Last edited by DANGER1979; 17/09/2010 at 06:33 AM.
)
Quote:
DANGER user this
new tmp[64]; iniGet(iniFile, "Key", tmp); PlayerInfo[playerid][pKey] = tmp; if(strcmp(PlayerInfo[playerid][pKey],password,true)==0) THEN your code END |
Кстати по-моему PlayerInfo[playerid][pKey] = tmp; не самых правильный вариант копирования строковых переменных. Я считаю лучше использовать strmid(PlayerInfo[playerid][pKey], tmp, 0, strlen(tmp), 255);
Но в любом случаи спасибо.
Quote:
в павне почему-то sizeof(PlayerInfo[playerid][pKey]) работает не правильно... давно заметил...
ini_getString(iniFile,"Key",PlayerInfo[playerid][pKey],128 ); |
Вопрос к автору.
1. Почему ini_getString(iniFile,"Key",PlayerInfo[playerid][pKey],64);
возвращает неполное значение пароля, а выкидывает из пароля некоторые символы. Нельзя это исправить или что надо закоментировать, т.к. код этого инклюда слишком сложный для понимания за один вечер.
Вот к примеру
из пароля Key=crtВЂqz69X
пропал символ 'В'
и вернулся пароль Key = crtЂqz69X
Почему? Как исправить?
2. Также возможно ошибка инклюда
DonateRank и Rank он принимает за одинаковый ключ. И поэтому PlayerInfo[playerid][pRank] всегда пуст.
3. Если я закоментирую вот эти строки в ф-ии stock ini_setString(nFilePointer, szKeyName[], szKeyValue[])
Code:
//_ini_szFileContent[nFilePointer]{ curFilePos++ } = ' '; // после ключа добавим пробел _ini_nDelimPos[nFilePointer][ _ini_nKeysCount[nFilePointer] ] = curFilePos; // добавим новую позицию INI_DELIMITER _ini_nKeysCount[nFilePointer]++; // кол-во ключей в файле +1 _ini_szFileContent[nFilePointer]{ curFilePos++ } = INI_DELIMITER; // после пробела выше добавим INI_DELIMITER //_ini_szFileContent[nFilePointer]{ curFilePos++ } = ' '; // после INI_DELIMITER добавим пробел
И ещё
Я заметил, что названия ключей, если поменять их в моде, то он не меняет их в процессе работы, но если в моде произошла замена ключа, то данный инклюд ищет совпадения, если не находит, то данная переменная будет пуста. Это так задумано? Это не удобно если название ключа поменялось и надо чтобы постепенно все аккаунты перезаходя на сервер перезаписали название этого ключа. Т.к. самому вручную перебивать в 5000 аккаунтах название одного ключа - это очень скучно.
И последнее для тех, кто будет начинать юзать это инклюд, было бы полезным добавить описание для ф-ии ini_getString, что при значениях, типа как PlayerInfo[playerid][pKey], необходимо указывать размерность.