Вообщем,когда человек регистрируется на сервере,то мне надо записать этот пароль в перемуную(енум) password,но когда я пишу вместо inputtext p_info[playerid][pass], в базе данных либо ничего в той колонке, либо восклицательный знак.
Спойлер
//Enumenum player_info{id,pNick[MAX_PLAYER_NAME],pass[24]};new p_info[MAX_PLAYERS][player_info];enum dialog{D_REGD_LOG,D_EXIT};//-------------------------------------public OnPlayerConnect(playerid){ GetPlayerName(playerid,p_info[playerid][pNick],MAX_PLAYER_NAME);new query[41-2+24]; format(query,sizeof(query),"SELECT * FROM `users` WHERE `name` = '%s'",p_info[playerid][pNick]); mysql_function_query(dbHandle,query,true,"check","i",playerid);return1;}////паблик на проверку игрока в БДforward check(playerid);public check(playerid){new rows,fields; cache_get_data(rows,fields,dbHandle);if(!rows) { ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ àêêàóíòà", "Ïðèâåòñòâóåì íà ñåðâåðå Urok RP.\n Âàø àêêàóíò íå çàðåãèñòðèðîâàí,ââåäèòå ïàðîëü íèæå.", "Äàëåå", "Âûõîä"); }else { ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ", "Ìû ðàäû ÷òî âû âåðíóëèñü íà Urok RP. Àâòîðèçóéòåñü", "Äàëåå", "Âûõîä"); cache_get_field_content(rows,"password",p_info[playerid][pass],dbHandle); }return1;}//----public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){switch(dialogid) {case D_REG:{if(!response) return SendClientMessage(playerid,-1,"Âû îòêàçàëèñü îò ðåãèñòðàöèè!") & Kick(playerid);if(strlen(inputtext)) {new query[250]; format(query,sizeof(query),"INSERT INTO `users` (`name`,`password`) VALUES ('%s','%s')",p_info[playerid][pNick],inputtext); //Если тут написать не "inputtext" а p_info[playerid][pass]; то в БД будет в колонке пароля пусто. Я пытался обнулять p_info[playerid][pass],смысла нет mysql_function_query(dbHandle,query,true,"spawn_player","i",playerid); p_info[playerid][pass] = EOS;//ее я пытался обнулять } }//------спавн игрока после регистрации-----------------forward spawn_player(playerid);public spawn_player(playerid){ SpawnPlayer(playerid); SetPlayerPos(playerid,1874.1333,2239.7324,15.0305); SetPlayerSkin(playerid,15); GivePlayerMoney(playerid,500);return1;}
Так же я пытался сделать авторизацию, но тоже не вышло
Всем привет, помогите кто разбирается, так как я можно сказать начинающий сделать свой КРМП, буду благодарен. Напишите либо тут либо @evreI_sigma (Мой Telegram)
Вы видите это сообщение, так как вы не вошли или не зарегистрировались. Чтобы получить более расширенные возможности войдите или зарегистрируйтесь.
Однако без регистрации Вы также сможете пользоваться форумом.
Antoxa39 Dance 80-90, mmm Nice) 22
Вообщем,когда человек регистрируется на сервере,то мне надо записать этот пароль в перемуную(енум) password,но когда я пишу вместо inputtext p_info[playerid][pass], в базе данных либо ничего в той колонке, либо восклицательный знак.
Так же я пытался сделать авторизацию, но тоже не вышло
case D_LOG:{
if(!response) return SendClientMessage(playerid,-1,"Вы отказались от регистрации!") & Kick(playerid);
if(strlen(inputtext))
{
if(!strcmp(inputtext, p_info[playerid][pass], false))
{
return ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT, "Авторизация", "Неверный пароль", "Далее", "Выход");
}
else if(strcmp(inputtext, p_info[playerid][pass], false))
{
SetTimer("spawn_player",50,false);
}
}
Edited by Antoxa39
Share this post
Link to post