Jump to content

iSkull

Membru
  • Posts

    422
  • Joined

  • Last visited

  • Days Won

    2

Everything 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 inculti ca tine, care apar peste noapte pe comunitate, tine o pentru tine
  3. 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.
  4. Bravo, e greu sa ii spui la om sa foloseasca tmppass 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.
  5. - 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?
  6. Faci un textdraw selectabil, ii activezi usebox, dupa te duci pe text size, sa nu fie aliniat pe centru ci pe left e mai ok
  7. Trebuie stocat in baza de date
  8. foloseste un criptor(md5, whirlpool)
  9. 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
  10. SetPlayerWorldBounds e functia, incearca sa vezi daca ai un text in gm cu "stay within the", restul e cu galben, deobicei de la functie apare cu rosu din ce imi amintesc, daca nu gastesti nimic, cauta functia
  11. strcmp tine de string.inc, actualizeaza includeurile si aranjeaza-le cum trebuie
  12. derapajul acela e din cauza vitezei
  13. ai deja asa ceva new StageSpeed[1][4] = { {0, 10, 35, 85} };
  14. 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); }
  15. presupun ca e cVip pentru sistemul premium, acolo am gasit doar pentru acel text si vehicle health, doar stage-ul e cel mai probabil de vina, e singurul pe velocity mai e comanda /speed pentru admini 6, in rest nimic
  16. AMX_ReadString, IsPlayerConnected, strcmp & strfind, prea multe apelari ai pe functiile astea, ai timer de 500ms in care le folosesti, sau onplayerupdate? cat timp ai stat cu profiler-ul pornit?
  17. altceva nu ti-am gasit, aici depinde si ce masina folosesti, daca ai elegy e ceva normal, depinde mult si de roti, altceva nu ti-am gasit in gm
  18. Cauta task OneTimer si ai "foreach(new i : IsSpeed) GiveVehicleSpeed(i);" ii pui inainte // Ar trebui sa dezactiveze acea derapare, e singurul lucru pe care l-am gasit la vehiculele personale, restul e pentru altceva
  19. Compileaza gm-ul cu pawno, dupa reporneste-l, ar trebui sa-ti zica de unde vine problema mai exact, daca nu incearca profiler si vezi care e cea mai apelata functie, posibil sa ai un loop ce nu se termina(while, deobicei for & foreach nu ar trebui sa aibe probleme)
  20. Nu ai trecut bine datele de la baza de date sau ai lag imens după un anumit timp și îți pică conexiunea
  21. server.log? datele sunt corecte?
  22. nu ai include-urile pentru centos7
  23. 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.