-
Posts
422 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
News
Documentation
Everything posted by iSkull
-
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
-
Pentru inculti ca tine, care apar peste noapte pe comunitate, tine o pentru tine
-
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.
-
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.
-
Caut scripter pentru un proiect mare.
iSkull replied to Alex Alexandru's topic in Caut servicii / partener / etc.
- -
Caut scripter pentru un proiect mare.
iSkull replied to Alex Alexandru's topic in Caut servicii / partener / etc.
- 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? -
Cum pot seta o raza in care poate da click pe un textdraw?
iSkull replied to Serban's question in Ajutor Scripting
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 -
Trebuie stocat in baza de date
-
foloseste un criptor(md5, whirlpool)
-
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
-
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
-
strcmp tine de string.inc, actualizeaza includeurile si aranjeaza-le cum trebuie
-
derapajul acela e din cauza vitezei
-
ai deja asa ceva new StageSpeed[1][4] = { {0, 10, 35, 85} };
-
am explicat mai sus ce face
-
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); }
-
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
-
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?
-
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
-
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
-
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)
-
Nu ai trecut bine datele de la baza de date sau ai lag imens după un anumit timp și îți pică conexiunea
-
server.log? datele sunt corecte?
-
nu ai include-urile pentru centos7
-
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