- 0
Sign in to follow this
Followers
0
[закрыто] ERROR
Asked by
Woternos
,
Question
Лучший ответ
{
switch(dialogid)
{
//case 1 ýòî ðåãèñòðàöèÿ
case 1:
{
if(!response) return Kick(playerid); // åñëè èãðîê îòêàçûâàåòñÿ îò ðåãèñòðàöèè êèêàåì åãî.
if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ", "Äëèíà ïàðîëÿ îò 4 äî 32 ñèìâîëîâ.\n Âû òàêæå íå ìîæåòå ïðîäîëæèòü íå óêàçàâ ïàðîëü", "Äàëåå", "");
//ýòî áûëà ïðîâåðêà íà äëèíó ïàðîëÿ
for(new i; i < strlen(inputtext); i++)
{
switch(inputtext[i])
{
case 'A'..'Z','a'..'z','0'..'9':continue;
default: return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ðåãèñòðàöèÿ", "Ïàðîëü ìîæåò áûòü òîëüêî: a-z, A-Z,0-9", "Äàëåå", "");
}
}
new query[120 + MAX_PLAYER_NAME];//òàêæå ñîçäàëè çàïðîñ
format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')",Player[playerid][pNick],inputtext);
mysql_query(dbHandle,query);
new query1[100];
format(query1,sizeof(query1),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//îòôàðìàòèðîâààëè íîâûé çàïðîñ
mysql_function_query(dbHandle,query1,true,"LoadAcc","i",playerid);
}
case 2:
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ", "Íåâåðíûé ïàðîëü", "Äàëåå", "");//?????? ???????? ?? ????? ??????, ?.? ??? ??????????? ? ??? ?????? ??? ?? 4 ?? 32, ??? ???? ????? ?????? ????
for(new i; i < strlen(inputtext); i++)
{
switch(inputtext[i])
{
case 'A'..'Z','a'..'z','0'..'9': continue;//åñëè îí òàêæå ââîäèò ïðàâèëüíûå ñèìâîëû ïðîäîëæàåì âûïîëíåíèå êîäà äëÿ èãðîêà.
default: return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Àâòîðèçàöèÿ", "Íå âåðíûé ïàðîëü!", "Äàëåå", "");// ïðè ââîäå ñïåö.ñèìâîëîâ åìó áóäåò âîçâðàùàòü äèàëîã àâòîðèçàöèè
}
}
new query[120];
format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s' AND `pPassword` = '%s'",Player[playerid][pNick],inputtext)//Çàãðóçèòü èíôîðìàöèþ î èãðîêå,è ïðîâåðèòü ñîâïàäàåò ââåäåíûé ïàðîëü èãðîêîì,ñ òåì êîòîðûé â ÁÄ.
mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);
}
}
This topic is now closed to further replies.
Sign in to follow this
Followers
0
-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By Chopick
Всем здравствуйте! Делаю систему домов/бизнесов по туториалу knox know с плагином GoodArea. Есть проблема, если заходишь в интерьер бизнеса, то когда выходишь спавнит почему-то на пикап дома.
Вот енумы:
#define MAX_HOUSES 1000 #define MAX_BIZS 1000 enum house { hID, STREAMER_TAG_PICKUP:hPICKUP, STREAMER_TAG_AREA:hAREA, hOWNER[MAX_PLAYER_NAME], STREAMER_TAG_3D_TEXT_LABEL:hTEXT[256], STREAMER_TAG_MAP_ICON:hICON, hPRICE, hCLASS, hINTERIOR, Float:hX, Float:hY, Float:hZ, Float:hA, hCONDITION // Закрыт/Открыт } new House[MAX_HOUSES][house]; new Houses; new HouseGroup; enum biz { bID, STREAMER_TAG_PICKUP:bPICKUP, STREAMER_TAG_AREA:bAREA, bOWNER[MAX_PLAYER_NAME], STREAMER_TAG_3D_TEXT_LABEL:bTEXT[256], STREAMER_TAG_MAP_ICON:bICON, bNAME[25], bPRICE, bTYPE, bINTERIOR, Float:bX, Float:bY, Float:bZ, Float:bA } new Biz[MAX_BIZS][biz]; new Bizs; new BizGroup; enum interior_info { intID, intNAME[41], intINTERIOR, Float:intX, Float:intY, Float:intZ, Float:intA, STREAMER_TAG_AREA:intAREA } new Interior[MAX_INTERIORS][interior_info]; new Interiors; new InteriorGroup; Вот что у меня в OnGameModeInit:
HouseGroup = CreateGroupGoodAreas(GoodArea:HouseEnter); InteriorGroup = CreateGroupGoodAreas(GoodArea:InteriorExit); BizGroup = CreateGroupGoodAreas(GoodArea:BizArea);
Вот стоки:
GAResponse:HouseEnter(playerid, response, key, index) { switch(response) { case GA_RESPONSE_PRESS_KEY: { if(key & KEY_WALK) { if(House[index][hCONDITION] > 0 && House[index][hOWNER] == player_info[playerid][NAME] || House[index][hCONDITION] == 0) { GoToInterior(playerid, House[index][hINTERIOR]); SetPlayerVirtualWorld(playerid, index); } else if(House[index][hCONDITION] > 0 && House[index][hOWNER] != player_info[playerid][NAME]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Этот дом закрыт на ключ!"); } } case GA_RESPONSE_ENTER: { if(House[index][hOWNER] == 0) { CreateNoOwnerHouseTD(playerid); for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++) { PlayerTextDrawShow(playerid, NoOwnerTextDraw_PTD[playerid][i]); } new price[8]; format(price, sizeof(price), "%d$", House[index][hPRICE]); PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][2], price); new id[9]; format(id, sizeof(id), "%d", House[index][hID]); PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][0], id); switch(House[index][hCLASS]) { case 1: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "A"); case 2: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "B"); case 3: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "C"); } for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++) { TextDrawShowForPlayer(playerid, NoOwnerTextDraw_TD[i]); } } } case GA_RESPONSE_LEAVE: { for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++) { PlayerTextDrawHide(playerid, NoOwnerTextDraw_PTD[playerid][i]); } for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++) { TextDrawHideForPlayer(playerid, NoOwnerTextDraw_TD[i]); } } } return 1; } GAResponse:BizArea(playerid, response, key, index) { switch(response) { case GA_RESPONSE_PRESS_KEY: { if(key & KEY_WALK) { GoToInteriorBiz(playerid, Biz[index][bINTERIOR]); SetPlayerVirtualWorld(playerid, index); } } } return 1; } GAResponse:InteriorExit(playerid, response, key, index) { switch(response) { case GA_RESPONSE_PRESS_KEY: { new world = GetPlayerVirtualWorld(playerid); if(key & KEY_WALK) { if(world < MAX_HOUSES) { SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, House[world][hX], House[world][hY], House[world][hZ]); SetPlayerFacingAngle(playerid, House[world][hA]); } else if(world < MAX_HOUSES + MAX_BIZS) { world -= MAX_HOUSES; printf("%d index world", world); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, Biz[world][bX], Biz[world][bY], Biz[world][bZ]); SetPlayerFacingAngle(playerid, Biz[world][bA]); } } if(key & KEY_CTRL_BACK) { if(player_info[playerid][HOUSE] != House[world][hID]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Вы не владелец данного дома!"); new dialog[256]; format(dialog, sizeof(dialog), "{ffd900}[1]{ffffff}Информация о доме\n\ {ffd900}[2]{ffffff}%s дом", (House[world][hCONDITION] == 1) ? ("{00ff00}Открыть") : ("{ff0000}Закрыть")); SPD(playerid, DLG_HMENU, DIALOG_STYLE_LIST, "{ffd900}Меню дома", dialog, "Выбрать", "Закрыть"); return 1; } } } return 1; } stock GoToInterior(playerid, interior) { for(new i = 0; i < Interiors; i++) { if(Interior[i][intID] != interior) continue; SetPlayerInterior(playerid, Interior[i][intINTERIOR]); SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]); SetPlayerFacingAngle(playerid, Interior[i][intA]); SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0); new str[128]; format(str, sizeof(str), "Нажмите \"ALT\" для выхода\n\ Нажмите \"H\", чтобы открыть меню дома"); Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1); return 1; } return 0; } stock GoToInteriorBiz(playerid, interior) { for(new i = 0; i < Interiors; i++) { if(Interior[i][intID] != interior) continue; SetPlayerInterior(playerid, Interior[i][intINTERIOR]); SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]); SetPlayerFacingAngle(playerid, Interior[i][intA]); SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0); new str[128]; format(str, sizeof(str), "Нажмите \"ALT\" для выхода"); Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1); return 1; } return 0; }
Что мне делать, подскажите пожалуйста?
-
Posted (edited) · Report post
Edited by _bogdan_
Заметка от _bogdan_ , создано
3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".
Устное предупреждение.
Share this post
Link to post