Crazy_M_Fix
Умник
Приветствую, ув форумчане!
Вопрос № 1
Не так давно, на проекте Advance Role Play, поставили защиту "ключ безопасности", и уникальность в том, что при заходе на сервер, выходит не диалог (case) ввода, а что-то вроде текстдрава. При кликании на цифры, вводится сам ключ (а и да, цифры генерируются в случайном порядке). Те кто играл - поймут о чем я. Так ввот как такое-же реализовать? Вот case авторизации
вот сам case регистрации:
Вопрос № 2
И второй вопрос: без командного процессора команды вызываются следующим образом:
Каково строение команды на Z_CMD?
---------- Post added at 17:39 ---------- Previous post was at 16:49 ----------
UUPP!!!
---------- Post added at 17:47 ---------- Previous post was at 17:39 ----------
UP!!!
---------- Post added at 17:51 ---------- Previous post was at 17:47 ----------
Кто поможет, правда нужна помощь
Вопрос № 1
Не так давно, на проекте Advance Role Play, поставили защиту "ключ безопасности", и уникальность в том, что при заходе на сервер, выходит не диалог (case) ввода, а что-то вроде текстдрава. При кликании на цифры, вводится сам ключ (а и да, цифры генерируются в случайном порядке). Те кто играл - поймут о чем я. Так ввот как такое-же реализовать? Вот case авторизации
PHP:
NextLoadAccount(playerid, password[]){ mysql_real_escape_string(password, sqlpass[playerid]); format(query, sizeof(query), "SELECT EndIp, SuperKey, GuardKey FROM "TABLE_ACCOUNT" WHERE `Password` = '%s' AND `ID` = '%i'", sqlpass[playerid], PlayerInfo[playerid][pID]); mysql_query(query); mysql_store_result(); if(mysql_fetch_row(query) == 1) { new ip[16],endip[16],guardkey; mysql_fetch_row_format(query, "|"); sscanf(query, "p<|>s[16]s[32]i",endip,sqlsuperkey[playerid],guardkey); mysql_free_result(); // GetPlayerIp(playerid, ip, sizeof(ip)); if(strcmp(ip,endip,false) && guardkey) return SPD(playerid,184,DIALOG_STYLE_INPUT,"Секретный ключ","{ffffff}› Уважаемый игрок, Ваш Ip не совпадает с последним\n {ffffff}Введите ключ доступа в графу ниже:","Войти","Выход"); LoadAccount(playerid); return true; } else { if(gPlayerLogTries[playerid] < 1) { SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Неверный пароль","› Вы исчерпали все попытки входа на сервер.\n› Вы были отсоединены от сервера.\n\nДля выхода используйте {ffffff}(/q)uit.","Выйти",""); Kicked(playerid); return true; } SPD(playerid,8,DIALOG_STYLE_MSGBOX,"Неверный пароль","Не удается войти на сервер. Неверный пароль.\n\n› Возможно, нажата клавиша CAPS-lock?\n› Возможно у Вас включена неправильная раскладка? (русская)\n› Попробуйте набрать свой пароль в текстовом редакторе и скопировать в графу ниже.","Повтор","Выйти"); gPlayerLogTries[playerid] --; } return true;}
PHP:
case 184: { if(response) { if(strcmp(inputtext,sqlsuperkey[playerid],false) || strlen(inputtext) < 10) { SCM(playerid, 0xFF6347AA, "Вы ввели неверный ключ доступа!"); SCM(playerid, 0xFF6347AA, "Для выхода используйте {ffffff}(/q)uit"); Kicked(playerid); return true; } else LoadAccount(playerid); return true; } else { SCM(playerid, 0xFF6347AA, "Для выхода используйте {ffffff}(/q)uit"); Kicked(playerid); return true; } }
И второй вопрос: без командного процессора команды вызываются следующим образом:
PHP:
OnPlayerCommandText(playerid,"/command");
---------- Post added at 17:39 ---------- Previous post was at 16:49 ----------
UUPP!!!
---------- Post added at 17:47 ---------- Previous post was at 17:39 ----------
UP!!!
---------- Post added at 17:51 ---------- Previous post was at 17:47 ----------
Кто поможет, правда нужна помощь
Последнее редактирование:
