 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Регистрация
| |
| 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; }
|
| |
|
|
|
 |
|
 | |
| |
|