Jump to content

iSkull

Membru
  • Posts

    422
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by iSkull

  1. Nu are rost sa fac off topic, invata sa faci analiza la codul postat de el dupa sa comentezi prietene, daca tot esti asa de smecher, posteaza ca sa-l ajuti, nu ca sa-ti arati prostia din tine ;) 

    El efectueaza 3 verificari pe acelasi lucru

    Ex: daca skill ul este egal cu 1 => pune "randomVehicles_td1, randomVehicles_td2 etc" cu random 10, nu are rost sa-mi bat capul cu "destepti" ca tine

     

    -- Edit: Am uitat doar de conditii ;) care se pot remedia usor

  2. Pentru inceput optimizeaza codul...

    if (playerVariables[playerid][pCrate10xVehiclesSkill] == 1) randomVehicles_td1 = random(10);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 2) randomVehicles_td1 = random(12);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 3) randomVehicles_td1 = random(15);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 4) randomVehicles_td1 = random(18);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 5) randomVehicles_td1 = random(20);
    
    if (playerVariables[playerid][pCrate10xVehiclesSkill] == 1) randomVehicles_td2 = random(10);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 2) randomVehicles_td2 = random(12);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 3) randomVehicles_td2 = random(15);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 4) randomVehicles_td2 = random(18);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 5) randomVehicles_td2 = random(20);
    
    if (playerVariables[playerid][pCrate10xVehiclesSkill] == 1) randomVehicles_td3 = random(10);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 2) randomVehicles_td3 = random(12);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 3) randomVehicles_td3 = random(15);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 4) randomVehicles_td3 = random(18);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 5) randomVehicles_td3 = random(20);
    
    if (playerVariables[playerid][pCrate10xVehiclesSkill] == 1) randomVehicles_td4 = random(10);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 2) randomVehicles_td4 = random(12);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 3) randomVehicles_td4 = random(15);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 4) randomVehicles_td4 = random(18);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 5) randomVehicles_td4 = random(20);
    
    if (playerVariables[playerid][pCrate10xVehiclesSkill] == 1) randomVehicles_td5 = random(10);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 2) randomVehicles_td5 = random(12);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 3) randomVehicles_td5 = random(15);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 4) randomVehicles_td5 = random(18);
    else if (playerVariables[playerid][pCrate10xVehiclesSkill] == 5) randomVehicles_td5 = random(20);

    cu urmatorul:

    // Versiune modificata
    new values[5] = { 10, 12, 15, 18, 20 };
    for(new i = 0; i < 5; i++)
    {
       if(playerVariables[playerid][pCrate10xVehiclesSkill] == i+1)
       {
          randomVehicles_td1 = random(values[i]);
          randomVehicles_td2 = random(values[i]);
          randomVehicles_td3 = random(values[i]);
          randomVehicles_td4 = random(values[i]);
          randomVehicles_td5 = random(values[i]);
       }
    }

     

    -- Array out of bounds se da atunci cand valoarea setata este mai mare decat matricea/array-ul

    Ex:

    new val = 5; // valorea setata
    new matrice[4];
    
    printf("valoare: %d", matrice[val]); // -> eroare array index out of bounds 
    
    Motivul pentru care apare aceasta eroare este datorat de valoarea "val" pentru ca este 5 iar in variabila "matrice" maximul este de 4, matricea/array-ul pleaca intodeauna de la 0 daca nu sunt conditii in functia "for/while", dar nu poate fi depasit de valoarea matricei

     

    Nu ne-ai dat linia in care apare problema, nu o sa stau sa verific fiecare linie, pe langa ca nu sunt toate datele postate.

  3. 2 hours ago, MihaiT11 said:

    Foloseste MD5.

    Bravo, e greu sa ii spui la om sa foloseasca tmppass

     

    4 hours ago, ixnel1337 said:

    salut, am vrut sa pun wp_hash la register si login
    la register am reusit sa pun si se introduc parolele criptate in baza dar la login habar n am cum sa fac
    am incercat aici la login dar nu reusesc sa mi dau seama unde sa pun wphash uimage.png

    if(strcmp(tmpass, PlayerInfo[playerid][pPassword], false) == 0) {

     

    Desi nu cred ca e functional 100% sistemul de login din cauza ca tu nu folosesti DINI, ar trebui trimis query catre baza de date cu numele si parola, abia apoi restul.

     

  4. On 6/16/2021 at 9:59 AM, Yonut said:

    Salut,

    Numele meu este Ionut si am 14 ani.

    Am o experienta de 3 ani in limbajul de programare PAWN. Pe langa acesta sunt cunoscator si a limbajelor de programare PHP si JS cat si a non limbajelor de programare HTML, CSS (Web Developing).

    Pe plan secundar ma ocup si cu oferirea serviciilor de gazduire (https://onilyhost.online/) (https://discord.gg/37XwGtBbHj)

    Mai multe detalii putem stabili pe discord.

    • ID: Yonut#5972

     

    Multumesc pentru atentia acordata!

     

    -

    On 6/15/2021 at 7:57 AM, Alex Alexandru said:

    Salutare tuturor, numele meu este Alexandru si sunt in cautarea a unui scripter cu o experienta majora in ceea ce priveste limbajul pawn. 
    Pentru inceput vreau sa va spun ca am niste bani pusi de-o parte pe care doresc de mult sa ii investesc in samp
    chit ca va fii sau nu o pierdere de bani si timp, insa, nu am gasit niciodata o persoana in care sa imi
    pot pune total increderea. Caut o persoana de minim 16 ani cu o experienta majora/expert in limbaj-ul pawn, sa fie
    creativ la minte si sa mai arunce si el cateva idei. Caut o persoana pentru o perioada de timp lunga, nu limitata, care
    dupa cateva luni sa NU ma lase balta sau sa posteze proiect-ul pe internet.
    Nu caut numai un numit "scripter", cii si sa fie o persoana onesta si incredere maxima!!
    Nu vreau o persoana moarta de foame sa imi ceara bani pentru orice linie scrisa!
    Dupa cum am spus voi platii tot-ul de la mine, voi platii youtuberi, forum-uri si 
    alte platforme pentru publicitatea server-ului odata cu finalizarea lui.

    Vreau sa clarific de pe acum ca voi putea rasplatii scripter-ul in doua modalitati de plata, si acestea sunt:
    1. Din donatiile pe care server-ul le va acumula, orice donatie va fii 70% eu, 30% scripter-ul.
       (deci daca primesc o donatie de 50Euro 30% echivalent 15 euro se duc automat la scripter)
    2. Plata fixa in fiecare luna, pret-ul ramane de stabilit in functie de disponibilitate si altele, astea le vorbim in privat.

    Astept mesaje in privat de la voi cu experienta voastra, proiectele pe care le-ati mai avut si alte informatii.

    Discord:  AlexCelMic#1337

    Si scripterul face pauza din profit, ala sta 3h sa-ti faca un script si ia 30%, tu stai degeaba si iei 70%, asta inseamna sa fii om cu ganduri proaste, cine crezi ca-si vinde munca aiurea? :)) 

  5. Acum 12 ore, BaDB0y95 a spus:

    Unde trebuie modificat si ce ca atunci cand un utilizator se inregistreaza sa imi arate parola lui de la cont in mysql la players pass ca imi arata o parola random??

    Daca ai un panel, faci sistem de recover password, sa li se genereze un link pe care sa-l primeasca pe email, il acceseaza si ii redirectioneaza pe o pagina de resetare a parolei(new password), poti face pe server comanda de new password care sa trimita catre baza de date noua parola

  6. tine de sistemul de stage, el iti adauga in foreach-ul IsSpeed, altceva nu mai e

    cauta functia 

    function GetVehicleSpeedUp(playerid, carid) {
    	new x, m = CarInfo[carid][cMaxSpeed];
    	x = CarInfo[carid][cLegendary] ? 300 : m;
    	x = CarInfo[carid][cStage] ? StageSpeed[0][CarInfo[carid][cStage]]+x : x;
    	return Carspeed(GetPlayerVehicleID(playerid)) < (m-3) || Carspeed(GetPlayerVehicleID(playerid)) > (x-3) ? (true) : (false);
    }

    si pune astfel

    function GetVehicleSpeedUp(playerid, carid) {
    	new x, m = CarInfo[carid][cMaxSpeed];
    	x = CarInfo[carid][cStage] ? StageSpeed[0][CarInfo[carid][cStage]]+x : x;
    	return Carspeed(GetPlayerVehicleID(playerid)) < (m-3) || Carspeed(GetPlayerVehicleID(playerid)) > (x-3) ? (true) : (false);
    }

     

  7. Ti-am verificat acum gm-ul, am vazut un lucru, nu ai callback-ul OnVehicleSpawn, este posibil ca anumite lucruri sa ramana salvate cand cineva isi despawneaza vehiculul sau orice lucru de genul

    Te duci la InsertDsCars si imediat inainte de saveCar(idd) adaugi:

    CarInfo[idd][cVip] = 0; format(CarInfo[idd][cText], 64, "");

     

    Undeva prin gm, adauga callback-ul:

    public OnVehicleSpawn(vehicleid)
    {
    	if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
    	if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);
    	return 1;
    }
    
    La onvehicledeath:
    
    if(IsValidDynamicObject(NeonObj[0][vehicleid])) DestroyDynamicObject(NeonObj[0][vehicleid]);
    if(IsValidDynamicObject(NeonObj[1][vehicleid])) DestroyDynamicObject(NeonObj[1][vehicleid]);

    Sistemul de vehicule personale este unul vechi, prost facut

×
×
  • 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.