- ВойтиАвторизация через uNet
- РегистрацияРегистрация на сайте через uNet
Текущая версия SA-MP: 0.3.7
IP: 77.220.180.96:7777
Новые сообщения · Поиск |
|
|
Модератор форума: KaTacTpOqpa |
Форум Помощь по скриптингу SA-MP Помощь по скриптингу Pawno Регистрация в Диалоговом окне(DM / TDM) + Сохр денег и Очков |
Регистрация в Диалоговом окне(DM / TDM) + Сохр денег и Очков | ||||
|
BJIADOKC | Сообщение # 2 | 00:40:36 12 Июн 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
Quote (FAMAS) mxINI хех, самый быстрый и самый нестабильный инклуд для работы с файлами на серваке с онлайном > 50 он тупо убивает сервер, по мне так лучше старый добрый дини, который до 250 человек, медленно, но верно выдерживает тут больше не сижу... открыл свой проект |
BJIADOKC | Сообщение # 3 | 00:44:47 12 Июн 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
если вариант, чтобы ускорить работу сервера лучше использовать zcmd + sscanf + dini, так как зкмд и ссканф сполна компенсируют медленную скорость дини и получается четкий баланс скорости/производительности
тут больше не сижу... открыл свой проект |
Jin | Сообщение # 4 | 09:27:19 12 Июн 2011 |
Забаненые
Сообщений: 84
Репутация: -23
|
BJIADOKC создай лутше ты урок или измени этот! P.S Это в админку или в мод?! |
FAMAS | Сообщение # 5 | 10:46:37 12 Июн 2011 |
Фанат Владокса :D
Скриптеры
Сообщений: 84
Репутация: 44
|
Jin, А ты как думаеш куда это ? Я же все росписал |
Jin | Сообщение # 6 | 22:19:49 13 Июн 2011 |
Забаненые
Сообщений: 84
Репутация: -23
|
а скажите ид норм плз |
BJIADOKC | Сообщение # 7 | 02:14:28 14 Июн 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
вот пример на Dini (нужен соответствующий инклуд) начало: Code #include <Dini> #pragma dynamic 150000 #define LOGIN 1 #define REG 2 #define LOGIN_ERROR 3 #define REG_ERROR 4 enum pInfo { Kills, Deaths, bool:LoggedIn } new Player[MAX_PLAYERS][pInfo]; в OnPlayerConnect Code new fileH[64], named[24]; GetPlayerName(playerid,named,24); format(fileH,64,"%s.ini",named); if(!dini_Exists(fileH)) ShowPlayerRegisterDialog(playerid); else ShowPlayerLoginDialog(playerid); в OnDialogResponse Code switch(dialogid) { case REG: { switch(response) { case 0: return ShowPlayerRegisterDialog(playerid); case 1: return CreateAccount(playerid,inputtext); } } case LOGIN: { switch(response) { case 0: return Kick(playerid); case 1: return LoadAccount(playerid,inputtext); } } case LOGIN_ERROR: { switch(response) { default: return ShowPlayerLoginDialog(playerid); } } case REG_ERROR: { switch(response) { default: return ShowPlayerRegisterDialog(playerid); } } } в OnPlayerDisconnect Code SaveAccount(playerid); и в самый конец Code stock CreateAccount(playerid,password[]) { if(!strlen(password) || strlen(password) < 5 || strlen(password) > 20) return ShowPlayerDialog(playerid,REG_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный формат пароля","Ок","Отмена"); new file[64], name[24]; GetPlayerName(playerid,name,24); format(file,64,"%s.ini",name); if(dini_Exists(file)) return ShowPlayerLoginDialog(playerid); dini_Create(file); dini_Set(file,"Password",password); dini_IntSet(file,"Kills",0); dini_IntSet(file,"Deaths",0); Player[playerid][LoggedIn] = true; SendClientMessage(playerid,0xAFAFAFAA,"Вы зарегистрировались и автоиатически залогинелись"); return 1; } stock LoadAccount(playerid,password[]) { new file[64], name[24]; GetPlayerName(playerid,name,24); if(!strlen(password) || strlen(password) < 5 || strlen(password) > 20) return ShowPlayerDialog(playerid,LOGIN_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный формат пароля","Ок","Отмена"); format(file,64,"%s.ini",name); if(!dini_Exists(file)) return ShowPlayerRegisterDialog(playerid); new temp[256]; temp = dini_Get(file,"Password"); if(strcmp(temp,password,false) == -1) return ShowPlayerDialog(playerid,LOGIN_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный пароль","Ок","Отмена"); Player[playerid][Kills] = dini_Int(file,"Kills"); Player[playerid][Deaths] = dini_Int(file,"Deaths"); Player[playerid][LoggedIn] = true; SendClientMessage(playerid,0xAFAFAFAA,"Вы успешно вошли"); return 1; } stock SaveAccount(playerid) { new file[64], name[24]; GetPlayerName(playerid,name,24); format(file,64,"%s.ini",name); if(!dini_Exists(file)) return 1; dini_IntSet(file,"Kills",Player[playerid][Kills]); dini_IntSet(file,"Deaths",Player[playerid][Deaths]); Player[playerid][LoggedIn] = false; return 1; } stock ShowPlayerRegisterDialog(playerid) return ShowPlayerDialog(playerid,REG,DIALOG_STYLE_INPUT,"Регистрация","Введите свой будущий пароль в поле снизу","Ок","Отмена"); stock ShowPlayerLoginDialog(playerid) return ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Логин","Введите пароль от своего аккаунта в поле снизу","Ок","Отмена"); и в OnPlayerDeath, чтобы фраги и смерти прибавлялись в переменные Code Player[killerid][Kills]++; Player[playerid][Deaths]++; SetPlayerScore(killerid,Player[killerid][Kills]); by BJIADOKC тут больше не сижу... открыл свой проект |
Jin | Сообщение # 8 | 13:28:14 14 Июн 2011 |
Забаненые
Сообщений: 84
Репутация: -23
|
а у мя нет этого паблика OnDialogResponse + фраги у мну сохр. уже и мне надо оффать это: Code #define USE_MENUS // Comment to remove all menus. Uncomment to enable menus //#define DISPLAY_CONFIG // displays configuration in console window on filterscript load #define SAVE_LOGS // Comment if your server runs linux (logs wont be saved) #define ENABLE_SPEC // Comment if you are using a spectate system already #define USE_STATS // Comment to disable /stats #define ANTI_MINIGUN // Displays who has a minigun //#define USE_AREGISTER // Changes /register, /login etc to /areister, /alogin etc //#define HIDE_ADMINS // Displays number of admins online instead of level and names #define ENABLE_FAKE_CMDS // Comment to disable /fakechat, /fakedeath, /fakecmd commanads |
FAMAS | Сообщение # 9 | 14:18:23 14 Июн 2011 |
Фанат Владокса :D
Скриптеры
Сообщений: 84
Репутация: 44
|
Jin, Этой темой я привел просто пример регистрации для модов DM TDM Использовать данную тему я никого не заставляю )) |
BJIADOKC | Сообщение # 10 | 14:11:50 19 Июн 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
//Оффтоп удален, Причина: Оффтоп by BJIADOKC тут больше не сижу... открыл свой проект |
[MTA]_MaPeR | Сообщение # 11 | 07:17:12 22 Июл 2011 |
Пользователи
Сообщений: 9
Репутация: 1
|
Странно... Code #include <Dini> #include <a_samp> #pragma dynamic 150000 #define LOGIN 1 #define REG 2 #define LOGIN_ERROR 3 #define REG_ERROR 4 enum pInfo { Kills, Deaths, bool:LoggedIn } new Player[MAX_PLAYERS][pInfo]; public OnPlayerConnect(playerid) { new fileH[64], named[24]; GetPlayerName(playerid,named,24); format(fileH,64,"%s.ini",named); if(!dini_Exists(fileH)) ShowPlayerRegisterDialog(playerid); else ShowPlayerLoginDialog(playerid); } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) switch(dialogid) { case REG: { switch(response) { case 0: return ShowPlayerRegisterDialog(playerid); case 1: return CreateAccount(playerid,inputtext); } } case LOGIN: { switch(response) { case 0: return Kick(playerid); case 1: return LoadAccount(playerid,inputtext); } } case LOGIN_ERROR: { switch(response) { default: return ShowPlayerLoginDialog(playerid); } } case REG_ERROR: { switch(response) { default: return ShowPlayerRegisterDialog(playerid); } } } public OnPlayerDisconnect(playerid, reason) { SaveAccount(playerid); return 1; } stock CreateAccount(playerid,password[]) { if(!strlen(password) || strlen(password) < 5 || strlen(password) > 20) return ShowPlayerDialog(playerid,REG_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный формат пароля","Ок","Отмена"); new file[64], name[24]; GetPlayerName(playerid,name,24); format(file,64,"%s.ini",name); if(dini_Exists(file)) return ShowPlayerLoginDialog(playerid); dini_Create(file); dini_Set(file,"Password",password); dini_IntSet(file,"Kills",0); dini_IntSet(file,"Deaths",0); Player[playerid][LoggedIn] = true; SendClientMessage(playerid,0xAFAFAFAA,"Вы зарегистрировались и автоиатически залогинелись"); return 1; } stock LoadAccount(playerid,password[]) { new file[64], name[24]; GetPlayerName(playerid,name,24); if(!strlen(password) || strlen(password) < 5 || strlen(password) > 20) return ShowPlayerDialog(playerid,LOGIN_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный формат пароля","Ок","Отмена"); format(file,64,"%s.ini",name); if(!dini_Exists(file)) return ShowPlayerRegisterDialog(playerid); new temp[256]; temp = dini_Get(file,"Password"); if(strcmp(temp,password,false) == -1) return ShowPlayerDialog(playerid,LOGIN_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный пароль","Ок","Отмена"); Player[playerid][Kills] = dini_Int(file,"Kills"); Player[playerid][Deaths] = dini_Int(file,"Deaths"); Player[playerid][LoggedIn] = true; SendClientMessage(playerid,0xAFAFAFAA,"Вы успешно вошли"); return 1; } stock SaveAccount(playerid) { new file[64], name[24]; GetPlayerName(playerid,name,24); format(file,64,"%s.ini",name); if(!dini_Exists(file)) return 1; dini_IntSet(file,"Kills",Player[playerid][Kills]); dini_IntSet(file,"Deaths",Player[playerid][Deaths]); Player[playerid][LoggedIn] = false; return 1; } stock ShowPlayerRegisterDialog(playerid) return ShowPlayerDialog(playerid,REG,DIALOG_STYLE_INPUT,"Регистрация","Введите свой будущий пароль в поле снизу","Ок","Отмена"); stock ShowPlayerLoginDialog(playerid) return ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Логин","Введите пароль от своего аккаунта в поле снизу","Ок","Отмена"); public OnPlayerDeath(playerid, killerid, reason) { Player[killerid][Kills]++; Player[playerid][Deaths]++; SetPlayerScore(killerid,Player[killerid][Kills]); return 1; } И вауля C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : error 017: undefined symbol "fexist" C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : warning 215: expression has no effect C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : error 001: expected token: ";", but found ")" C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : error 029: invalid expression, assumed zero C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : fatal error 107: too many error messages on one line |
Demetrius | Сообщение # 12 | 13:01:25 22 Июл 2011 |
VIP-пользователи
Сообщений: 1192
Репутация: 158
|
Quote (|MTA|_MaPeR) public OnPlayerConnect(playerid) { new fileH[64], named[24]; GetPlayerName(playerid,named,24); format(fileH,64,"%s.ini",named); if(!dini_Exists(fileH)) ShowPlayerRegisterDialog(playerid); else ShowPlayerLoginDialog(playerid); } return? Sweet >>> Armin >>> Demetrius SA:MP >> MTA:SA >> IRL |
kol4insergei | Сообщение # 13 | 14:18:13 22 Июл 2011 |
Забаненые
Сообщений: 5
Репутация: 0
|
помогите плиз мне с воротами. у меня вороты воще улетают в даль хд |
[MTA]_MaPeR | Сообщение # 14 | 10:09:26 23 Июл 2011 |
Пользователи
Сообщений: 9
Репутация: 1
|
public OnPlayerConnect(playerid) { new fileH[64], named[24]; GetPlayerName(playerid,named,24); format(fileH,64,"%s.ini",named); if(!dini_Exists(fileH)) ShowPlayerRegisterDialog(playerid); else ShowPlayerLoginDialog(playerid); return 1; } Поставил но все равно тоже самое C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : error 017: undefined symbol "fexist" C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : warning 215: expression has no effect C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : error 001: expected token: ";", but found ")" C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : error 029: invalid expression, assumed zero C:\Documents and Settings\Администратор\Рабочий стол\Новая папка\pawno\include\Dini.inc(32) : fatal error 107: too many error messages on one line |
Demetrius | Сообщение # 15 | 13:25:39 23 Июл 2011 |
VIP-пользователи
Сообщений: 1192
Репутация: 158
|
Quote (|MTA|_MaPeR) pawno\include\Dini.inc наверное что-то с дини, может быть Sweet >>> Armin >>> Demetrius SA:MP >> MTA:SA >> IRL |
[MTA]_MaPeR | Сообщение # 16 | 02:13:34 25 Июл 2011 |
Пользователи
Сообщений: 9
Репутация: 1
|
да не все нормально. Сделал без ошибок все пашет Code #include <a_samp> #include <Dini> #pragma dynamic 150000 #define LOGIN 1 #define REG 2 #define LOGIN_ERROR 3 #define REG_ERROR 4 enum pInfo { Kills, Deaths, bool:LoggedIn } new Player[MAX_PLAYERS][pInfo]; public OnPlayerConnect(playerid) { new fileH[64], named[24]; GetPlayerName(playerid,named,24); format(fileH,64,"%s.ini",named); if(!dini_Exists(fileH)) ShowPlayerRegisterDialog(playerid); else ShowPlayerLoginDialog(playerid); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case REG: { switch(response) { case 0: return ShowPlayerRegisterDialog(playerid); case 1: return CreateAccount(playerid,inputtext); } } case LOGIN: { switch(response) { case 0: return Kick(playerid); case 1: return LoadAccount(playerid,inputtext); } } case LOGIN_ERROR: { switch(response) { default: return ShowPlayerLoginDialog(playerid); } } case REG_ERROR: { switch(response) { default: return ShowPlayerRegisterDialog(playerid); } } } return 1; } public OnPlayerDisconnect(playerid, reason) { SaveAccount(playerid); return 1; } stock CreateAccount(playerid,password[]) { if(!strlen(password) || strlen(password) < 5 || strlen(password) > 20) return ShowPlayerDialog(playerid,REG_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный формат пароля","Ок","Отмена"); new file[64], name[24]; GetPlayerName(playerid,name,24); format(file,64,"%s.ini",name); if(dini_Exists(file)) return ShowPlayerLoginDialog(playerid); dini_Create(file); dini_Set(file,"Password",password); dini_IntSet(file,"Kills",0); dini_IntSet(file,"Deaths",0); Player[playerid][LoggedIn] = true; SendClientMessage(playerid,0xAFAFAFAA,"Вы зарегистрировались и автоиатически залогинелись"); return 1; } stock LoadAccount(playerid,password[]) { new file[64], name[24]; GetPlayerName(playerid,name,24); if(!strlen(password) || strlen(password) < 5 || strlen(password) > 20) return ShowPlayerDialog(playerid,LOGIN_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный формат пароля","Ок","Отмена"); format(file,64,"%s.ini",name); if(!dini_Exists(file)) return ShowPlayerRegisterDialog(playerid); new temp[256]; temp = dini_Get(file,"Password"); if(strcmp(temp,password,false) == -1) return ShowPlayerDialog(playerid,LOGIN_ERROR,DIALOG_STYLE_MSGBOX,"Ошибка","Неверный пароль","Ок","Отмена"); Player[playerid][Kills] = dini_Int(file,"Kills"); Player[playerid][Deaths] = dini_Int(file,"Deaths"); Player[playerid][LoggedIn] = true; SendClientMessage(playerid,0xAFAFAFAA,"Вы успешно вошли"); return 1; } stock SaveAccount(playerid) { new file[64], name[24]; GetPlayerName(playerid,name,24); format(file,64,"%s.ini",name); if(!dini_Exists(file)) return 1; dini_IntSet(file,"Kills",Player[playerid][Kills]); dini_IntSet(file,"Deaths",Player[playerid][Deaths]); Player[playerid][LoggedIn] = false; return 1; } stock ShowPlayerRegisterDialog(playerid) return ShowPlayerDialog(playerid,REG,DIALOG_STYLE_INPUT,"Регистрация","Введите свой будущий пароль в поле снизу","Ок","Отмена"); stock ShowPlayerLoginDialog(playerid) return ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Логин","Введите пароль от своего аккаунта в поле снизу","Ок","Отмена"); public OnPlayerDeath(playerid, killerid, reason) { Player[killerid][Kills]++; Player[playerid][Deaths]++; SetPlayerScore(killerid,Player[killerid][Kills]); return 1; } Редактировано [MTA]_MaPeR - Понедельник, 25 Июл 2011, 02:15:43 |
Demetrius | Сообщение # 17 | 11:17:59 26 Июл 2011 |
VIP-пользователи
Сообщений: 1192
Репутация: 158
|
Quote (BJIADOKC) Вы зарегистрировались и автоиатически залогинелись влад грамотей :DDD Sweet >>> Armin >>> Demetrius SA:MP >> MTA:SA >> IRL |
BJIADOKC | Сообщение # 18 | 16:16:47 26 Июл 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
Quote (Armin) влад грамотей :DDD а хуле Quote (FAMAS) Для начало Quote (Jin) лутше Quote (FAMAS) думаеш Quote (FAMAS) росписал Quote (|MTA|_MaPeR) вауля Quote (kol4insergei) воще Quote (|MTA|_MaPeR) тоже самое тут больше не сижу... открыл свой проект |
FAMAS | Сообщение # 19 | 18:32:23 26 Июл 2011 |
Фанат Владокса :D
Скриптеры
Сообщений: 84
Репутация: 44
|
BJIADOKC, WTF?! |
Jin | Сообщение # 20 | 13:34:16 09 Авг 2011 |
Забаненые
Сообщений: 84
Репутация: -23
|
А как старую регу снести в LAdmin4 и сделать чтоб файл записовался в папку users P.S я делал по уроку Владокса |
| |||
| |||