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

 



 
          





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





Последние Файлы 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  
Регистрация
kiril94Дата: Воскресенье, 19.12.2010, 17:31 | Сообщение # 1
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
Вот крч есть в моде регестрация, она тупит, Поисняю как... Крч Захожу на сервер регестрируюсь, создался файл в scriptfile Ник.ini Всё ок, Пароль там есть (зашифрованый) Ок, делаю рестарт.. Вожу логин и НЕПРАВЕЛЬНЫ пароль(спецально вожу) и всё равно заходит в акк, как это исправить...

Код логина :

Code
             case DIALOG_LOGIN:
                          {
                     format(file, sizeof(file), "%s.ini", PlayerName(playerid));
                     open_file = fopen(file, io_read);
                     fread(open_file, str);
                     new key[50];
                     key = ini_GetKey(str);
                     if(!strcmp(key, "Password", true))
                     {
                     new p[50];
                     p = ini_GetValue(str);
                     strmid(Pass[playerid], p, 0, strlen(p)-2); // --- iMap jumps to 65 once this line is called --- //
                     if(!strcmp(Pass[playerid], encrypt(inputtext), true))
                     {
                     while(fread(open_file, str))
                     {
                     key = ini_GetKey(str);
                     if(!strcmp(key, "Money", true))
                     {
                     GivePlayerMoney(playerid, strval(ini_GetValue(str)));
                     }
                     }
                           SendClientMessage(playerid, COLOR_GREEN, "Successfully logged in.");
                            SetPVarInt(playerid, "Logged", 1);
                            fclose(open_file);
                            return 1;
                    }
                     SendClientMessage(playerid, COLOR_RED, "Error: Incorrect password.");
                     }
                     fclose(open_file);
                          }

Код регистрации :

Code
                case DIALOG_REGISTER:
                  {
                         if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_RED, "Error: Please insert a password.");
                     format(file, sizeof(file), "%s.ini", PlayerName(playerid));
                     open_file = fopen(file, io_write);
                     format(str, sizeof(str), "Password=%s\r\n", encrypt(inputtext));
                     fwrite(open_file, str);
                     fwrite(open_file, "Money=0");
                     fclose(open_file);
                     strmid(Pass[playerid], encrypt(inputtext), 0, strlen(encrypt(inputtext)));
                     SendClientMessage(playerid, COLOR_GREEN, "Successfully registered and automatically logged in.");
                     SetPVarInt(playerid, "Logged", 1);
                          }

OnPlayerDisconnect

Code
public OnPlayerDisconnect(playerid, reason)
{
RemoveFromGame(playerid, "Left the Server");

format(file, sizeof(file), "%s.ini", PlayerName(playerid));
if(fexist(file) && GetPVarInt(playerid, "Logged") == 1)
{
open_file = fopen(file, io_write);
format(str, sizeof(str), "Password=%s\r\n", Pass[playerid]);
fwrite(open_file, str);
format(str, sizeof(str), "Money=%d", GetPlayerMoney(playerid));
fwrite(open_file, str);
fclose(open_file);
}
return 1;
}

Где ошибка то ?? помогите исправить )


Сообщение отредактировал kiril94 - Воскресенье, 19.12.2010, 17:32
VagrantДата: Воскресенье, 19.12.2010, 18:04 | Сообщение # 2
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
kiril94, Пароль вводишь вообще не тот который при регистрации указывал? Если да то возможно не правильно что-то сдесь:
if(!strcmp(Pass[playerid], encrypt(inputtext), true)) // Хотя по моему всё правильно...
Если например вводишь свой пароль который указал при регистрации но не полностью. Например пароль 001100 а ты вводишь 0011 то может быть проблема здесь:
strmid(Pass[playerid], p, 0, strlen(p)-2); // --- iMap jumps to 65 once this line is called --- // Можно попробовать исправить это чусть кода strlen(p)-2 так strlen(p)-1
Всё это строки из кода логина.



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[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%

Принимаю заказы на помощь в скриптинге!
kiril94Дата: Воскресенье, 19.12.2010, 20:02 | Сообщение # 3
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
Не не помогло strlen(p)-1, да вожу совсем другой пороль, и не правельно, Даж если не вожу а жму ентер мне заходит в акк... .

Что делать :( :(

Добавлено (19.12.2010, 20:02)
---------------------------------------------
Мне ктонибуть поможит ?

Dima-kunДата: Воскресенье, 19.12.2010, 20:09 | Сообщение # 4
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
kiril94, блин, возми готовую систему регистрации, и не мучайся..


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
kiril94Дата: Воскресенье, 19.12.2010, 21:10 | Сообщение # 5
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
У меня в моде блин вписано, я менять систему я не буду т.к запарь вопше xDD

Добавлено (19.12.2010, 21:10)
---------------------------------------------
Не ужели не кто не знает как можно это испарвить? Тут вить такие скриптеры сидять ))

[RD]ChezДата: Воскресенье, 19.12.2010, 21:26 | Сообщение # 6
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
kiril94, encrypt покаж


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
kiril94Дата: Воскресенье, 19.12.2010, 21:31 | Сообщение # 7
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
Ты про это?

Code
stock encrypt(pass[])
{
         static charset[] = "qwertyaQWERTYUIOPZXCVBNMLKJHGFDSAsdfghzxcvbnuiopjklm1324657809_";
         static css = 63;
         new target[24 + 1];
         new     j = strlen(pass);
         new sum = j;
         new     tmpp = 0;
         new     i;
         new     mod;
         for (i = 0; i < 24 || i < j; i++)
         {
                 mod = i % 24;
                 tmpp = (i >= j) ? charset[(7 * i) % css] : pass[i];
                 sum = (sum + chrfind(tmpp, charset) + 1)                % css;
                 target[mod] = charset[(sum + target[mod])       % css];
         }
         target[24] = '\0';
         return target;
}

[RD]ChezДата: Понедельник, 20.12.2010, 14:37 | Сообщение # 8
Мастер джэдай
Группа: Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус:
kiril94, попробуй убрать из регистрации и логина encrypt, и тогда если ситуация повторится нужно смотреть ще и код OnPlayerUpdate


1 час моей работы стоит минимум 800 рублей для срочных работ.
Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS.
Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы.
Немного ассемблер.
Ох**тельный верстальщик какб.

Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^

chezrd@gmail.com
lance@chez-lab.ru
kiril94Дата: Понедельник, 20.12.2010, 16:21 | Сообщение # 9
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
Не выходит убрать красиво, без ероров...
ZiGGiДата: Понедельник, 20.12.2010, 16:33 | Сообщение # 10
Мастер джэдай
Группа: Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
format(str, sizeof(str), "Password=%s\r\n", encrypt(inputtext)); на format(str, sizeof(str), "Password=%s\r\n", inputtext);
if(!strcmp(Pass[playerid], encrypt(inputtext), true)) на if(!strcmp(Pass[playerid], inputtext, true))
strmid(Pass[playerid], encrypt(inputtext), 0, strlen(encrypt(inputtext))); на strmid(Pass[playerid], inputtext, 0, strlen(inputtext));



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
kiril94Дата: Понедельник, 20.12.2010, 23:35 | Сообщение # 11
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
Не не покатило, всёравно водиш другой пароль или вопше не водиш и входит... ( акк я удалял, поновый регил если что )

Можиш ошибка в том, что не вылетает натпись?, тоесть типо ты вел пароль и вошло т.к деватся не куда было )

Code

                         case DIALOG_LOGIN:
                         {
                    format(file, sizeof(file), "Sumo/%s.ini", PlayerName(playerid));
                    open_file = fopen(file, io_read);
                    fread(open_file, str);
                    new key[50];
                    key = ini_GetKey(str);
                    if(!strcmp(key, "Password", true))
                    {
                    new p[50];
                    p = ini_GetValue(str);
                    strmid(Pass[playerid], p, 0, strlen(p)-1); // --- iMap jumps to 65 once this line is called --- //
                    if(!strcmp(Pass[playerid], inputtext, true))
                    {
                    while(fread(open_file, str))
                    {
                    key = ini_GetKey(str);
                    if(!strcmp(key, "Money", true))
                    {
                    GivePlayerMoney(playerid, strval(ini_GetValue(str)));
                    }
                    key = ini_GetKey(str);
                    if(!strcmp(key, "Admin Level", true))
                    {
                              VIP[playerid] = (playerid, strval(ini_GetValue(str)));
                    }
[color=red]                    }
                          SendClientMessage(playerid, COLOR_GREEN, "Successfully logged in.");
                           SetPVarInt(playerid, "Logged", 1);
                           fclose(open_file);
                           return 1;
                             }[/color]
                    SendClientMessage(playerid, COLOR_RED, "Error: Incorrect password.");
                    }
                    fclose(open_file);
                         }

Можит тут гдето ошибка?

Добавлено (20.12.2010, 16:59)
---------------------------------------------
А OnPlayerUpdate, у меня в моде вопше нет ))

Добавлено (20.12.2010, 22:51)
---------------------------------------------
Я решил проблему вроде, передал систему реги ))

Добавлено (20.12.2010, 23:35)
---------------------------------------------
Час от чесу не легче, щас сделал себе другую систему регистрации, и тотже прикол, могу входить с любым паралём, или не вписывать... Вот код новый реги ( тоесть код логина)

if(dialogid == 5)
{
if(response)
{
new pname[40],filename[256],string[256];
GetPlayerName(playerid,pname,sizeof(pname));
format(filename,sizeof(filename),"%s%s.txt",Mode_Account_db,pname);
new key[128],Data[128];
new File:file = fopen(filename,io_read);
while(fread(file,Data,sizeof(Data)))
{
key = ini_GetKey(Data);
strmid(Player[playerid][Password],ini_GetValue(Data),0,strlen(ini_GetValue(Data)));
}
if(strcmp(Player[playerid][Password],inputtext,false,strlen(Player[playerid][Password])) == 0)
{
LoadDB(playerid);
format(string,sizeof(string),"C âîçâðàùåíèåì %s! Âû óñïåøíî âîøëè â àêêàóíò",oGetPlayerName(playerid));
SendClientMessage(playerid,COLOR_GREEN,string);
}
else
{
if(Warned[playerid] != 1)
{
Warned[playerid]++;
SendClientMessage(playerid,COLOR_RED,"Íåâåðíûé ïàðîëü! Ó âàñ åñòü åùå îäíà ïîïûòêà");
new loginmsg[256+1];
format(loginmsg,256,"Welcome to the server.\n\nAccount: %s\n\nPlease enter your password below:",pname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login to SA-MP",loginmsg,"Login","Cancel");
}
else
{
Kick(playerid);
}
}
}
else
{
SendClientMessage(playerid,0xFFFFFFFF,"You are not logged");
}

}
return 1;
}

Мне кажится тут ошибка ))

ZiGGiДата: Вторник, 21.12.2010, 07:00 | Сообщение # 12
Мастер джэдай
Группа: Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
ini_GetKey и ini_GetValue покажи ;)


Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
kiril94Дата: Вторник, 21.12.2010, 14:48 | Сообщение # 13
Освоившийся
Группа: Продвинутые
Сообщений: 128
Награды: 2
Город: VLN
Репутация: 6
Замечания: 20%
Статус:
Code
stock ini_GetKey( 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 ini_GetValue( line[] )
{
  new valRes[128];
  valRes[0]=0;
  if ( strfind( line , "=" , true ) == -1 ) return valRes;
  strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  return valRes;
}

  • Страница 1 из 1
  • 1
Поиск:





 


 


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