04:54
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Логин, Пароль
VagrantДата: Суббота, 06.11.2010, 09:37 | Сообщение # 1
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Уже как пол года не могу решить одну проблему связанную со входом в аккаунт. В большинстве (а может и во всех) систем регистрации при входе стоит такая проверка на правильность пароля:
if(strcmp(PlayerInfo[playerid][pPass], inputtext, true, strlen(valtmp)-1) == 0)
Если это условие верно, то есть пароль который был ранее внесён в PlayerInfo[playerid][pPass] совподает с паролем который игрок написал в inputtext то начинается считывание информации о игроке. Но я люблю когда в файле игрока всё было окуратно и что бы искать ничего не надо было а всё было видно сразу. Я сделал сохранение информации игрока в таком виде:

format(dat,128,"Password[%s]\n\r",WFPlayerInfo[playerid][pWFPass]); fwrite(Regis,dat);
format(dat,128,"Money[%d]\n\r",WFPlayerInfo[playerid][pWFMoney]); fwrite(Regis,dat);
format(dat,128,"Kills[%d]\n\r",WFPlayerInfo[playerid][pWFKills]); fwrite(Regis,dat);
format(dat,128,"Deaths[%d]\n\r",WFPlayerInfo[playerid][pWFDeaths]); fwrite(Regis,dat);

В текстовом файле всё окуратно написано, и представлено в таком виде:
Password[pass]
Money[0]
Kills[0]
Deaths[0]

Но при считывании информации пароль иногда не считывается вообще. Считывание пароля вот:
strmid(WFPlayerInfo[playerid][pWFPass], valtmp, 9, strfind(valtmp,"]",true), 256);
Перед этим канечно стоит открытие файла для чтение и т.д. и т.п.
Ну а потом условие:
if(strcmp(PlayerInfo[playerid][pPass], inputtext, true, strlen(valtmp)-1) == 0)

В чём проблема не могу разобраться. Пароль иногда не считывается и соответственно вся информация после выхода игрока обнуляется все поля пусты, вместе с паролем.
Для считывания информации я использую:
stock GetStats( line[] )
{
new keyRes[128];
keyRes[0] = 0;
if( strfind( line , "[" , true ) == -1 ) return keyRes;
strmid( keyRes , line , 0 , strfind( line , "[" , true ) , sizeof( keyRes) );
return keyRes;
}

stock GetStatsVal( line[] )
{
new valRes[128];
valRes[0]=0;
if( strfind( line , "[" , true ) == -1 ) return valRes;
strmid( valRes , line , strfind( line , "[" , true )+1 , strfind( line , "]" , true ) , sizeof( valRes ) );
return valRes;
}

Кто поможет решить проблему поставлю медаль и плюс канечно же.
Для проверки, считался пароль или нет я поставил вывод сообщения. О том что находится в переменной PlayerInfo[playerid][pPass]. Не всегда но иногда в ней стоит 0. То есть пароль не считывается. Но по моему в строке strmid(WFPlayerInfo[playerid][pWFPass], valtmp, 9, strfind(valtmp,"]",true), 256); всё правильно написано.

Добавлено (06.11.2010, 09:37)
---------------------------------------------
Неужели никто не знает?


Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!


Сообщение отредактировал Vagrant - Пятница, 05.11.2010, 06:43
YakimДата: Суббота, 06.11.2010, 11:06 | Сообщение # 2
Новенький
Группа: Продвинутые
Сообщений: 67
Награды: 3
Город: Simf
Репутация: 8
Замечания: 20%
Статус:
зачем велосипед изобретать, есть INI-файлы

Code
[section]
key=value

ScorpiДата: Суббота, 06.11.2010, 11:09 | Сообщение # 3
Группа: I'm V.I.P.
Сообщений: 1504
Награды: 33
Репутация: 723
Замечания: 0%
Статус:
Возможно такое что в пароле присутствует "]" o_O ?
SLICKДата: Суббота, 06.11.2010, 12:37 | Сообщение # 4
Местный
Группа: I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
возможно ошибка в
if(strcmp(PlayerInfo[playerid][pPass], inputtext, true, strlen(valtmp)-1) == 0)

попробуй так:
if(strcmp(PlayerInfo[playerid][pPass], inputtext, true, strlen(PlayerInfo[playerid][pPass])) == 0)


My works:
[GM] RTDM
Advertising system
Fuel System
Artefacts Search (Динамическая сис-ма артефактов)
VagrantДата: Суббота, 06.11.2010, 16:01 | Сообщение # 5
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Quote
if(strcmp(PlayerInfo[playerid][pPass], inputtext, true, strlen(PlayerInfo[playerid][pPass])) == 0)

А вот это вариант. Попробую скажу что получилось.
Quote (Yakim)
зачем велосипед изобретать, есть INI-файлы [section] key=value

Немного не понял, по подробнее если можно.
Quote (Scorpi)
Возможно такое что в пароле присутствует "]" o_O ?

Рассматривал этот вариант. Но при выводе он выводит только пароль. Но заметил только что один недочёт. Если написать пароль например такой: password] то в файле получится Password[password]]. То есть при считывании считается только password. Так как пароль читается от символа "[" до символа "]" Спасибо за невольную наводку ;)



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!


Сообщение отредактировал Vagrant - Суббота, 06.11.2010, 16:02
AirKiteДата: Суббота, 06.11.2010, 19:29 | Сообщение # 6
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Vagrant,
Quote (Vagrant)
Немного не понял, по подробнее если можно.

Скачай GF и посмотри как там реализован INI.
Файлы формата
Password=parol
Money=384124
Bank=54353
и т.д.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
VagrantДата: Понедельник, 08.11.2010, 05:59 | Сообщение # 7
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Quote

Скачай GF и посмотри как там реализован INI.
Файлы формата
Password=parol
Money=384124
Bank=54353
и т.д.

Канечно это проще, но я хочу видеть в конце всё в другом виде а не в этом. Просто мне удобнее по другому. Никогда не нравилось когда открываю и всё в стандартном виде. Хочу что-то новое и более удобное по крайней мере для меня.



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua