+MaXxX Postat Noiembrie 25, 2016 Raport Postat Noiembrie 25, 2016 Bun deci, acest system nu este facut de mine, stiu ca a mai postat si David o modalitate, dar vreau sa va arat si altfel cum se poate face, este cat de cat asemanator. Pentru inceput trebuie sa adaugati mai sus in gamemode urmatorul cod: static const antisqlinjection[][] ={ "'", "#", "`", "%s", "%d", "%f"}; function CheckCharacters(string[]);public CheckCharacters(string[]){ for(new i; i < sizeof(antisqlinjection); i++) { if(strfind(string, antisqlinjection, true) != -1) { return 1; } } return 0;} Bun, acum in orice comanda vom adauga urmatorul cod: if(CheckCharacters(string)) return SendClientMessage(playerid, COLOR_WHITE, "* Te rugam sa nu folosesti charactere speciale."); Exemplu: CMD:changepassword(playerid, params[]){ new parola[256]; if(sscanf(params, "s[256]", parola)) return SCM(blabla); if(CheckCharacters(parola)) return SCM(playerid, COLOR_FADE1, "* Te rugam sa nu folosesti caractere interzise."); return 1;} Daca folositi exemplul dat mai sus aveti toate comenzile protejate asupra injectiilor, acum hai sa ajutam si dialog-urile. Adaugam mai sus in gamemode: * Acum trebuie sa schimbati peste tot prin gamemode din ShowPlayerDialog in ShowPlayerDialogEx * new dDialogID[MAX_PLAYERS];new dDialogStyle[MAX_PLAYERS];new dDialogCaption[MAX_PLAYERS][256];new dDialogInfo[MAX_PLAYERS][256];new dDialogButton1[MAX_PLAYERS][256];new dDialogButton2[MAX_PLAYERS][256];forward ShowPlayerDialogEx(playerid, dialogid, style, caption[], info[], button1[], button2[]);public ShowPlayerDialogEx(playerid, dialogid, style, caption[], info[], button1[], button2[]){ dDialogID[playerid] = dialogid; dDialogStyle[playerid] = style; format(dDialogCaption[playerid], 256, caption); format(dDialogInfo[playerid], 256, info); format(dDialogButton1[playerid], 256, button1); format(dDialogButton2[playerid], 256, button2); ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2); return 1;} Acum ultimul pas ramas este sa adaugam urmatoarea verificare la inceputul OnDialogResponse public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dDialogStyle[playerid] == DIALOG_STYLE_INPUT) { for(new i; i < sizeof(antisqlinjection); i++) { if(strfind(inputtext, antisqlinjection, true) != -1) { SendClientMessage(playerid, COLOR_WHITE, "* Te rugam sa nu folosesti charactere speciale in dialog."); ShowPlayerDialogEx(playerid, dDialogID[playerid], dDialogStyle[playerid], dDialogCaption[playerid], dDialogInfo[playerid], dDialogButton1[playerid], dDialogButton2[playerid]); return 1; } } }return 0;} Sper ca a fost de folos ceea ce am postat aici . Daviid și deno 2
m0untain Postat Noiembrie 26, 2016 Raport Postat Noiembrie 26, 2016 Frumos +1 Felicitari pentru munca depusa!
Daviid Postat Noiembrie 26, 2016 Raport Postat Noiembrie 26, 2016 Bun tutorial, +1. Foarte folositor!
Postări Recomandate