Jump to content

Sancky

Membru
  • Posts

    535
  • Joined

  • Last visited

  • Days Won

    57

Everything posted by Sancky

  1. pai ce ai 'optimizat' tu difera de codul pe care l-a postat omu', ai schimbat complet logica lui, daca nu stii nimic nu te mai baga la creatie dle.
  2. ai optimizat ce-i drept... te-a ajutat AI-ul?
  3. n ai stiut sa l folosesti cum trb.
  4. Iter_SafeRemove e solutia frt pt versiuni mai vechi de YSI
  5. ce oferi la developer?
  6. nu mai trimiteti poze cu codul, trimiteti direct textul trebuie sa reformulezi query-ul, in felul urmator: SELECT `id`, `password` FROM `users` WHERE `name` = ? la $login->execute stergi $_POST['password'], lasi doar username deoarece doar username avem de trimis ca argument la query dupa linia cu $sesion = $login->fetch(etc...), faci o verificare, si anume: if(!password_verify($_POST['password'], $sesion->password)) return Config::csSN('Date de logare incorecte', 'danger'); cam atat cred, nu prea am scris php dar dupa logica mea ar tb sa mearga.
  7. nu e neaparat optimizare, doar ca s-a schimbat modul in care se fac update-urile la server fata de cum era pe SA:MP, pe open.mp tickrate-ul este dinamic.
  8. e ca si cum ai pune parolele plain in db, nicio diferenta, cel mai bun este bcrypt. whirlpool nu este bun pt securitatea parolelor, incearca pe viitor sa folosesti bcrypt trebuie sa hashurezi cu WP_Hash ce introduce playerul in dialog, adica inputtext, dupa cum vad ai facut deja asta, si trebuie sa iei parola din baza criptata sa o compari cu ce a introdus playerul, dupa cum vezi este acolo `if(strcmp(inputtext, PlayerInfo[playerid][pPassword] ...` , acolo trebuie sa compari hashurarea, nu ce a introdus playerul in dialog, adica trebuie sa inlocuiesti inputtext cu tmppass, iar liniile alea 2 pe care le-ai marcat tu, adauga-le inainte de verificarea cu if(strcmp
  9. cea mai buna solutie e sus pentru ce are el, nu mai trimiteti tot felu de variante daca nu-s mai bune fata de p.s: GetPlayerDistanceFromPoint are lipsa niste argumente, also exista IsPlayerStreamedIn pt vw/int, si declararea array-ului msg ca constanta deoarece nu si schimba valoarea
  10. unde i optimizarea, ca n-o vad
  11. CMD:me(playerid, text[]) { if(!strlen(text)) return 1; new playerName[MAX_PLAYER_NAME], message[144]; GetPlayerName(playerid, playerName, MAX_PLAYER_NAME); format(message, sizeof message, "> %s %s", playerName, text); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); for(new i = 0; i < MAX_PLAYERS; ++i) { if(IsPlayerStreamedIn(i, playerid) && IsPlayerInRangeOfPoint(i, 6.0, x, y, z)) SendClientMessage(i, COLOR_PURPLE, message); } return 1; }
  12. ai luat de aici, dar interactivitatea cu telefonul nu prea exista, mai mult dialoguri & shit
  13. disponibil.
  14. uita-te la cei de la OVH, e o firma cunoscuta si serioasa. https://www.ovhcloud.com/en/vps/
  15. prea over enginereed, se poate itera doar prin vehiculele streamed ale playerului si verifici distanta dintre vehicul si player, iar daca distanta este mai mica decat ultima stocata in 'range', acela este cel mai apropiat vehicul de player, iar la final dupa ce se termina loop-ul, se returneaza vehiculul cel mai apropiat respectiv INVALID_VEHICLE_ID daca nu s-au gasit vehicule in apropiere. GetClosestVehicle(const playerid, Float:range) { if(!Iter_Count(StreamedVehicles[playerid])) return INVALID_VEHICLE_ID; new Float: vX, Float: vY, Float: vZ, Float: distance, vehid = INVALID_VEHICLE_ID; foreach(new vehicleid : StreamedVehicles[playerid]) { GetVehiclePos(vehicleid, vX, vY, vZ); distance = GetPlayerDistanceFromPoint(playerid, vX, vY, vZ); if(distance < range) { range = distance; vehid = vehicleid; } } return vehid; }
  16. ai gasit cel mai potrivit loc unde sa cauti investitori.. du-te pe forumul de rage sau pe discordul lor
  17. disponibil.
  18. Sancky

    Golf

    bump
  19. disponibil
  20. "banii din donatii" plecati ma.
  21. nada
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.