RaZ | Дата: Среда, 01.09.2010, 12:36 | Сообщение # 1 |
.::Offline::.
Новичок
Сообщений: 6
[ 4 ]
Награды: 0
Статус
отсутствует
| Помогите сделать систему регистрации в диалог окне для SimpleDM 0.3 , ФС системы не работают, т.к. сервер, из-за мода считает их не залогениными Нужно чтобы сохранялись фраги, деньги и скин, и окно не пропадало пока пароль верный не впишут, и при реге нельзя было чтобы без регистрации играть Код регистрации из мода: Code dcmd_register(playerid,params[]) { new str[MAX_STRING]; if (dini_Exists(PlayerFile(PlayerInfo[playerid][Name]))) { format(str,sizeof(str),"This nickname already registered (%s)",PlayerInfo[playerid][Name]); WriteEcho(str,playerid,ErrorMsgColor); return 1; } new tmp[MAX_STRING],idx; tmp = strtok(params,idx); if (!strlen(tmp)) { WriteEcho("Syntax: /register <password>",playerid,HelpMsgColor); return 1; } if (strlen(tmp) < 5) { WriteEcho("Password length must be at least 5 symbols",playerid,ErrorMsgColor); return 1; } dini_Create(PlayerFile(PlayerInfo[playerid][Name])); PlayerInfo[playerid][Password] = num_hash(tmp); PlayerInfo[playerid][Logged] = true; SavePlayer(playerid); format(str,sizeof(str),"%s (id: %d) registered an account",PlayerInfo[playerid][Name],playerid); WriteToLog(str); format(str,sizeof(str),"You are successfully registered your nickname (%s)! Next time you connect, type /login %s to identify yourself",PlayerInfo[playerid][Name],tmp); WriteEcho(str,playerid); return 1; }
dcmd_login(playerid,params[]) { new str[MAX_STRING]; if (!dini_Exists(PlayerFile(PlayerInfo[playerid][Name]))) { format(str,sizeof(str),"This nickname is not registered (%s). Register it by using /register command",PlayerInfo[playerid][Name]); WriteEcho(str,playerid,ErrorMsgColor); return 1; } new tmp[MAX_STRING],idx; tmp = strtok(params,idx); if (!strlen(tmp)) { WriteEcho("Syntax: /login <password>",playerid,HelpMsgColor); return 1; } if (PlayerInfo[playerid][Logged]) { WriteEcho("You already logged in",playerid,ErrorMsgColor); return 1; } if (PlayerInfo[playerid][Password] != num_hash(tmp)) { PlayerInfo[playerid][WrongPasswords]++; if (PlayerInfo[playerid][WrongPasswords] > 5) { KickPlayer(playerid,"Too many invalid passwords"); return 1; } format(str,sizeof(str),"%s (id: %d) typed wrong password",PlayerInfo[playerid][Name],playerid); WriteToLog(str); for (new i=0;i<MAX_PLAYERS;i++) if (IsPlayerConnected(i) && (IsPlayerAdmin(i) || PlayerInfo[i][Admin] > 0) && i != playerid) WriteEcho(str,i,AdminChatColor); format(str,sizeof(str),"You typed wrong password (%s)",tmp,PlayerInfo[playerid][WrongPasswords]); WriteEcho(str,playerid,ErrorMsgColor); return 1; } PlayerInfo[playerid][Logged] = true; format(str,sizeof(str),"%s (id: %d) logged in",PlayerInfo[playerid][Name],playerid); WriteToLog(str); WriteEcho("You are successfully logged in",playerid); PlayerInfo[playerid][SafeDeath] = true; SetSpawnInfo(playerid,0,0,0,0,5,0,0,0,0,0,0,0); SpawnPlayer(playerid); SetPlayerCameraPos(playerid,1481.4418,-1795.4611,156.7533); SetPlayerCameraLookAt(playerid,1481.4418,-1790.4611,156.7533); SetPlayerHealth(playerid,0); SetPlayerColor(playerid,DefaultPlayerColors[playerid]-0xFF); SendDeathMessage(INVALID_PLAYER_ID,playerid,201); return 1; }
Сообщение отредактировал
RaZ - Среда, 01.09.2010, 12:36 |
|
| |
RaZ | Дата: Среда, 01.09.2010, 13:16 | Сообщение # 2 |
.::Offline::.
Новичок
Сообщений: 6
[ 4 ]
Награды: 0
Статус
отсутствует
| На ГФ, я пробовал засунуть в SimpleDm не получилось ;(
|
|
| |
RaZ | Дата: Среда, 01.09.2010, 18:01 | Сообщение # 3 |
.::Offline::.
Новичок
Сообщений: 6
[ 4 ]
Награды: 0
Статус
отсутствует
| В том то и дело не могу в мод засунуть, не знаю как просто перевести все в OnDialogResponse, сколько не пробовал
|
|
| |
RaZ | Дата: Воскресенье, 05.09.2010, 00:40 | Сообщение # 4 |
.::Offline::.
Новичок
Сообщений: 6
[ 4 ]
Награды: 0
Статус
отсутствует
| 26_RUSSS, Смотрел, сделали систему на OnDialogResponse только баг, логиниться при любом пассе=( Новый пишем мод... Тему можно закрывать..
Сообщение отредактировал
RaZ - Воскресенье, 05.09.2010, 00:49 |
|
| |