SkyLeAs Posted September 19, 2014 Posted September 19, 2014 (edited) Problemă întâlnită (descriere):Pai cand intru pe server si dau login sau register imi da spawn adica nici sa aleg skin-u nu pot | Adica dialog-ul nu dispare si sa aleg skin-ul si dupa sa dau spawn Ero(area / rile) / warning-(ul / urile):~~~~ Liniile de cod / sursa / script-ul: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response == 1) { Limba[playerid] = 0; } else if(response == 0) { Limba[playerid] = 1; } } switch(dialogid) { case THREAD_DIALOG_REGISTER: { if(!response) return SetTimerEx("KickRegister",500,false,"i",playerid); if(response) { new string[256]; gQuery[0] = EOS; format(gQuery, 256, ""W"Nu ai introdus nici o parola!n"W"Te rugam introdu parola cu care vrei sa te inregistrezi!"); if(!strlen(inputtext)) return SPD(playerid,THREAD_DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,""GR"Inregistrare",gQuery,"Register","Kick"); format(string, sizeof(string),"INSERT INTO `Users`(Name,Password,Kills,Deaths,Money) VALUES('%s','%s','0','0','0')",GetName(playerid),inputtext); mysql_function_query(1,string,false,"",""); format(gQuery, 256,""W"Bine ai venit inapoi, "LB"%s!nPoti sa te loghezi.",GetName(playerid)); SPD(playerid,THREAD_DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""GR"Logare",gQuery,"Login","Cancel"); } } case THREAD_DIALOG_LOGIN: { if(!response) return SetTimerEx("KickRegister",500,false,"i",playerid); if(response) { gQuery[0] = EOS; new q_str[256]; format(q_str,sizeof(q_str),"SELECT `Name` FROM `Users` WHERE `Name` = '%s' AND `Password` = '%s'", GetName(playerid),inputtext); mysql_function_query(1,q_str,true,"Query_LoadP_DATA","is",playerid,GetName(playerid)); Logged[playerid] = true; SpawnPlayer(playerid); } } } return 1; } //============================================================================== // Server Function | Stock //============================================================================== Function:: Query_LoadP_DATA(playerid,q_acc[]) { new q_rows, q_fields, q_str[150]; cache_get_data(q_rows,q_fields); if(!q_rows) { new str[300]; format(str,sizeof(str),""W"Hey "LB"%s !nAi introdus parola gresitanTe rugam rescrieti parola mai jos pentru a te loga .",GetName(playerid)); SPD(playerid,THREAD_DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""GR"Login",str,"Login","exit"); } else { format(q_str, sizeof(q_str),"SELECT * FROM `Users` WHERE Name = '%s'",q_acc); mysql_function_query(1, q_str,true,"OnPlayerCheckedLogin","ds",playerid,q_acc); } return 1; } Function:: OnPlayerCheckedLogin(playerid) { P_DATA[playerid][ID] = cache_get_field_content_int(0, "ID"); P_DATA[playerid][pKills] = cache_get_field_content_int(0, "Kills"); P_DATA[playerid][pDeaths] = cache_get_field_content_int(0, "Deaths"); P_DATA[playerid][pMoney] = cache_get_field_content_int(0, "Money"); return 1; } Function:: AccountLoad(playerid,q_acc[]) { new q_rows, q_fields; cache_get_data(q_rows,q_fields); if(q_rows) { gQuery[0] = EOS; format(gQuery,256,""W"Bine ai venit inapoi, "LB"%s!nPoti sa te loghezi.",q_acc); SPD(playerid,THREAD_DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""GR"Logare",gQuery,"Login","Cancel"); } else { gQuery[0] = EOS; format(gQuery, 256,""W"Bun Venit, "LB"%s!nPoti sa te inregistrezi!",q_acc); SPD(playerid,THREAD_DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,""GR"Inregistrare",gQuery,"Register","Kick"); } return 1; } Function:: SavePlayerData(playerid) { new ks = P_DATA[playerid][pKills], dth = P_DATA[playerid][pDeaths], mn = P_DATA[playerid][pMoney]; gQuery[0] = EOS; format(gQuery, 256,"UPDATE `Users` SET `Kills`='%d',`Deaths`='%d',`Money`='%d'WHERE `Name`='%s'",ks,dth,mn,GetName(playerid)); mysql_function_query(1,gQuery,false,"",""); SendClientMessageToAll(-1,""LB"Conturi:"O"Conturile au fost salvate in baza de date."); return 1; } Function:: DeletePlayerAccount(q_acc[]) { new rows, fields; cache_get_data(rows, fields); if(rows) { gQuery[0] = EOS; format(gQuery, 256, "DELETE FROM `Users` WHERE `Name` = '%s'", q_acc); mysql_function_query(1, gQuery, false, "", ""); } return 1; } stock GetName(playerid) { new AlEx[24]; GetPlayerName(playerid,AlEx,sizeof(AlEx)); return AlEx; } Function:: KickRegister(playerid) { Kick(playerid); SCMF(playerid,-1,""SRV"%s ai primit kick!",GetName(playerid)); return 1; } Imagini / Video (optional):~~~ Aţi încercat să rezolvaţi singur?:Pai nu stiu ce are:| Edited September 19, 2014 by Gotze
Stark.sys Posted September 19, 2014 Posted September 19, 2014 change line : if(dialogid == 1) { if(response == 1) { Limba[playerid] = 0; } else if(response == 0) { Limba[playerid] = 1; } } with #define limba_sw 1000 // place after #include <your functions> if(dialogid == limba_sw) { if(response) { Limba[playerid] = 0; } else { Limba[playerid] = 0; } } "Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds
Stark.sys Posted September 19, 2014 Posted September 19, 2014 (edited) Try again #define D_Login 1 #define D_Register 2 static Name[MAX_PLAYERS][32]; new rows, fields; public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case D_Login: { if(response) { new query[124]; if(!strcmp(inputtext, P_DATA[playerid][Pass], true)) { mysql_format(sql, query, sizeof(query), "SELECT * FROM `Users` WHERE `Name`='%e'", Name[playerid]); mysql_tquery(sql, query, "OnAccountLoad", "i", playerid); SpawnPlayer(playerid); SendClientMessage(playerid, -1, "Welcome back. You have been logged."); } else { new str[256]; format(str, sizeof(str), "{D12900}Wrong password, enter the password again more carefully !"); ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_PASSWORD, "SERVER: Login", str, "Login", "Quit"); } }else return Kick(playerid); } case D_Register: { if(response) { new query[500]; if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, D_Register, DIALOG_STYLE_PASSWORD, "SERVER: Register", "You have insert a short password, plase enter a long password.", "Register", "Quit"); strcat(query, "INSERT INTO `Users`(Name,Password,Kills,Deaths,Money) VALUES('%e','%s','0','0','0')"); mysql_format(sql, query, sizeof(query), query, Name[playerid], inputtext); mysql_tquery(sql, query, "OnAccountRegister", "i", playerid); SpawnPlayer(playerid); } else return Kick(playerid); } } return 1; } public OnAccountRegister() { P_DATA[playerid][gID] = cache_insert_id(); return 1; } public OnAccountLoad() { P_DATA[playerid][ID] = cache_get_field_content_int(0, "ID"); P_DATA[playerid][pKills] = cache_get_field_content_int(0, "Kills"); P_DATA[playerid][pDeaths] = cache_get_field_content_int(0, "Deaths"); P_DATA[playerid][pMoney] = cache_get_field_content_int(0, "Money"); return 1; } public OnAccountCheck(playerid) { cache_get_data(rows, fields, 1); if(rows) { new str[256]; cache_get_field_content(0, "Password", P_DATA[playerid][Pass], 1, 129); P_DATA[playerid][ID] = cache_get_field_content_int(0, "ID"); format(str, 256, "Welcome back %snPlease enter your password to balow to login", Name[playerid]); ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_PASSWORD, "WOG: Login", str, "Login", "Quit"); } else return ShowPlayerDialog(playerid, D_Register, DIALOG_STYLE_PASSWORD, "WOG: Register", "Welcome.nIn order to play, you need to register.", "Register", "Quit"); return 1; } Iar la OnPlayerConnect: mysql_format(sql, query, sizeof(query),"SELECT `Password`, `ID` FROM `Users` WHERE `Name`='%e' LIMIT 1", Name[playerid]); mysql_tquery(sql, query, "OnAccountCheck", "i", playerid); Edited September 19, 2014 by sRk7 "Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds
SkyLeAs Posted September 20, 2014 Author Posted September 20, 2014 Try again #define D_Login 1 #define D_Register 2 static Name[MAX_PLAYERS][32]; new rows, fields; public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case D_Login: { if(response) { new query[124]; if(!strcmp(inputtext, P_DATA[playerid][Pass], true)) { mysql_format(sql, query, sizeof(query), "SELECT * FROM `Users` WHERE `Name`='%e'", Name[playerid]); mysql_tquery(sql, query, "OnAccountLoad", "i", playerid); SpawnPlayer(playerid); SendClientMessage(playerid, -1, "Welcome back. You have been logged."); } else { new str[256]; format(str, sizeof(str), "{D12900}Wrong password, enter the password again more carefully !"); ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_PASSWORD, "SERVER: Login", str, "Login", "Quit"); } }else return Kick(playerid); } case D_Register: { if(response) { new query[500]; if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, D_Register, DIALOG_STYLE_PASSWORD, "SERVER: Register", "You have insert a short password, plase enter a long password.", "Register", "Quit"); strcat(query, "INSERT INTO `Users`(Name,Password,Kills,Deaths,Money) VALUES('%e','%s','0','0','0')"); mysql_format(sql, query, sizeof(query), query, Name[playerid], inputtext); mysql_tquery(sql, query, "OnAccountRegister", "i", playerid); SpawnPlayer(playerid); } else return Kick(playerid); } } return 1; } public OnAccountRegister() { P_DATA[playerid][gID] = cache_insert_id(); return 1; } public OnAccountLoad() { P_DATA[playerid][ID] = cache_get_field_content_int(0, "ID"); P_DATA[playerid][pKills] = cache_get_field_content_int(0, "Kills"); P_DATA[playerid][pDeaths] = cache_get_field_content_int(0, "Deaths"); P_DATA[playerid][pMoney] = cache_get_field_content_int(0, "Money"); return 1; } public OnAccountCheck(playerid) { cache_get_data(rows, fields, 1); if(rows) { new str[256]; cache_get_field_content(0, "Password", P_DATA[playerid][Pass], 1, 129); P_DATA[playerid][ID] = cache_get_field_content_int(0, "ID"); format(str, 256, "Welcome back %snPlease enter your password to balow to login", Name[playerid]); ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_PASSWORD, "WOG: Login", str, "Login", "Quit"); } else return ShowPlayerDialog(playerid, D_Register, DIALOG_STYLE_PASSWORD, "WOG: Register", "Welcome.nIn order to play, you need to register.", "Register", "Quit"); return 1; } Iar la OnPlayerConnect: mysql_format(sql, query, sizeof(query),"SELECT `Password`, `ID` FROM `Users` WHERE `Name`='%e' LIMIT 1", Name[playerid]); mysql_tquery(sql, query, "OnAccountCheck", "i", playerid); La fel ...........
Stark.sys Posted September 21, 2014 Posted September 21, 2014 Ce versiune mysql folosesti ? Ce phpmyadmin ai ? Ce plugin mysql pe samp ai ? "Mulţi programatori buni fac programare nu pentru că se aşteaptă să câştige bani sau să fie lăudaţi de public, ci pentru că e amuzant să programezi." - Linus Torvalds
SkyLeAs Posted September 22, 2014 Author Posted September 22, 2014 Ce versiune mysql folosesti ? Ce phpmyadmin ai ? Ce plugin mysql pe samp ai ? Ce treaba are asta cu ce problema am eu ? mysql r20 daca ai tu unu in care sa nu imi dea error Kerner32.dll e bine.
Administrator WopsS Posted September 27, 2014 Administrator Posted September 27, 2014 Nu s-a postat un raspuns in 48 de ore. Topic inchis!
Question
SkyLeAs
Problemă întâlnită (descriere):Pai cand intru pe server si dau login sau register imi da spawn adica nici sa aleg skin-u nu pot | Adica dialog-ul nu dispare si sa aleg skin-ul si dupa sa dau spawn
Ero(area / rile) / warning-(ul / urile):~~~~
Liniile de cod / sursa / script-ul:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { if(response == 1) { Limba[playerid] = 0; } else if(response == 0) { Limba[playerid] = 1; } } switch(dialogid) { case THREAD_DIALOG_REGISTER: { if(!response) return SetTimerEx("KickRegister",500,false,"i",playerid); if(response) { new string[256]; gQuery[0] = EOS; format(gQuery, 256, ""W"Nu ai introdus nici o parola!n"W"Te rugam introdu parola cu care vrei sa te inregistrezi!"); if(!strlen(inputtext)) return SPD(playerid,THREAD_DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,""GR"Inregistrare",gQuery,"Register","Kick"); format(string, sizeof(string),"INSERT INTO `Users`(Name,Password,Kills,Deaths,Money) VALUES('%s','%s','0','0','0')",GetName(playerid),inputtext); mysql_function_query(1,string,false,"",""); format(gQuery, 256,""W"Bine ai venit inapoi, "LB"%s!nPoti sa te loghezi.",GetName(playerid)); SPD(playerid,THREAD_DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""GR"Logare",gQuery,"Login","Cancel"); } } case THREAD_DIALOG_LOGIN: { if(!response) return SetTimerEx("KickRegister",500,false,"i",playerid); if(response) { gQuery[0] = EOS; new q_str[256]; format(q_str,sizeof(q_str),"SELECT `Name` FROM `Users` WHERE `Name` = '%s' AND `Password` = '%s'", GetName(playerid),inputtext); mysql_function_query(1,q_str,true,"Query_LoadP_DATA","is",playerid,GetName(playerid)); Logged[playerid] = true; SpawnPlayer(playerid); } } } return 1; } //============================================================================== // Server Function | Stock //============================================================================== Function:: Query_LoadP_DATA(playerid,q_acc[]) { new q_rows, q_fields, q_str[150]; cache_get_data(q_rows,q_fields); if(!q_rows) { new str[300]; format(str,sizeof(str),""W"Hey "LB"%s !nAi introdus parola gresitanTe rugam rescrieti parola mai jos pentru a te loga .",GetName(playerid)); SPD(playerid,THREAD_DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""GR"Login",str,"Login","exit"); } else { format(q_str, sizeof(q_str),"SELECT * FROM `Users` WHERE Name = '%s'",q_acc); mysql_function_query(1, q_str,true,"OnPlayerCheckedLogin","ds",playerid,q_acc); } return 1; } Function:: OnPlayerCheckedLogin(playerid) { P_DATA[playerid][ID] = cache_get_field_content_int(0, "ID"); P_DATA[playerid][pKills] = cache_get_field_content_int(0, "Kills"); P_DATA[playerid][pDeaths] = cache_get_field_content_int(0, "Deaths"); P_DATA[playerid][pMoney] = cache_get_field_content_int(0, "Money"); return 1; } Function:: AccountLoad(playerid,q_acc[]) { new q_rows, q_fields; cache_get_data(q_rows,q_fields); if(q_rows) { gQuery[0] = EOS; format(gQuery,256,""W"Bine ai venit inapoi, "LB"%s!nPoti sa te loghezi.",q_acc); SPD(playerid,THREAD_DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""GR"Logare",gQuery,"Login","Cancel"); } else { gQuery[0] = EOS; format(gQuery, 256,""W"Bun Venit, "LB"%s!nPoti sa te inregistrezi!",q_acc); SPD(playerid,THREAD_DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,""GR"Inregistrare",gQuery,"Register","Kick"); } return 1; } Function:: SavePlayerData(playerid) { new ks = P_DATA[playerid][pKills], dth = P_DATA[playerid][pDeaths], mn = P_DATA[playerid][pMoney]; gQuery[0] = EOS; format(gQuery, 256,"UPDATE `Users` SET `Kills`='%d',`Deaths`='%d',`Money`='%d'WHERE `Name`='%s'",ks,dth,mn,GetName(playerid)); mysql_function_query(1,gQuery,false,"",""); SendClientMessageToAll(-1,""LB"Conturi:"O"Conturile au fost salvate in baza de date."); return 1; } Function:: DeletePlayerAccount(q_acc[]) { new rows, fields; cache_get_data(rows, fields); if(rows) { gQuery[0] = EOS; format(gQuery, 256, "DELETE FROM `Users` WHERE `Name` = '%s'", q_acc); mysql_function_query(1, gQuery, false, "", ""); } return 1; } stock GetName(playerid) { new AlEx[24]; GetPlayerName(playerid,AlEx,sizeof(AlEx)); return AlEx; } Function:: KickRegister(playerid) { Kick(playerid); SCMF(playerid,-1,""SRV"%s ai primit kick!",GetName(playerid)); return 1; }Imagini / Video (optional):~~~
Edited by GotzeAţi încercat să rezolvaţi singur?:Pai nu stiu ce are:|
7 answers to this question
Recommended Posts