Jump to content

iSkull

Membru
  • Posts

    422
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by iSkull

  1. Acum 53 minute, TheGodfather a spus:

    Imi da aceeasi eroare in logurile serverului doar ca acum nu mai zice ca e index -2 ci e index -1

    Ok, atunci, modifica codul in felul urmator, acum o sa fie in array, array-ul incepe de la 0 pana la numarul maxim - 1

    Nu am de unde sa stiu ce ai in acel gm si cum functioneaza

    new amount, rand = random(100), x;
    
    if(CrateModel[i] > 0) x = CrateModel[i] - 1;
    else x = 0;

     

  2. Acum 1 minut, TheGodfather a spus:

    Ok, o sa incerc. Totusi nu stiu cum pot reproduce eroarea, ca sa vad daca chestia asta o rezolva

    Daca pui ce am scris in edit nu o sa-ti mai dea, pentru ca de fiecare data cand se va apela functia se va reverifica acel x, in ce aveai tu, daca CrateModel era -1 in multe cazuri cum ai de fata, cand se reapela functia iti mai scadea 1 si returna -2, in ce ti-am dat eu, daca CrateModel e -1, x va ramane -1, daca e 0 se va face x -1

    new amount, rand = random(100), x = !CrateModel[i] ? 0 : CrateModel[i]-1;
    
     
    
    Poti face: new amount, rand = random(100), x;
    
    if(CrateModel[i] == -1) x = -1;
    
    else x = CrateModel[i] - 1;

     

  3. Nu m-am uitat la linie, atunci poti face o verificare in felul urmator:

     

    if(x < -1) x = 1;

     

    Edit: 

     

    new amount, rand = random(100), x = !CrateModel[i] ? 0 : CrateModel[i]-1;

     

    Poti face: new amount, rand = random(100), x;

    if(CrateModel[i] == -1) x = -1;

    else x = CrateModel[i] - 1;

  4. [12:20:54] [debug] Run time error 4: "Array index out of bounds"
    [12:20:54] [debug]  Accessing element at negative index -2

     

    Iti iese din array, poti pune niste printf-uri sa vezi care si cum iese, e mare functia, nu putem afla de unde e problema

     

    Ex:

    printf("Player ID: %d", playerid); // la on playerconnect ca si exemplu si iti va scrie in consola la fiecare conectare

  5. Model

    new LockRent[MAX_VEHICLES]; // definesti la inceput de gm dupa include-uri
    
    // la dialogul cu dialog_rent sau ce ai tu pe acolo imediat dupa PlayerInfo[playerid][pRentCar] = CreateVehicle pui
    
    LockRent[PlayerInfo[playerid][pRentCar]] = 0; // descuiat
    SetVehicleParamsEx(PlayerInfo[playerid][pRentCar], VEHICLE_PARAMS_OFF, lights, alarm, 0, bonnet, boot, 0);
    
    YCMD:lock(playerid, params[], help)
    {
    	if(!PlayerInfo[playerid][pRentCar]) return 1;
    	new string[75];
    	LockRent[PlayerInfo[playerid][pRentCar]] = (LockRent[PlayerInfo[playerid][pRentCar]]) ? (0) : (1);
    	SetVehicleParamsEx(PlayerInfo[playerid][pRentCar], VEHICLE_PARAMS_OFF, lights, alarm, LockRent[PlayerInfo[playerid][pRentCar]], bonnet, boot, 0);
    	format(string, sizeof(string), "Vehiculul de tip %s a fost %s cu succes!", getVehicleName(GetVehicleModel(PlayerInfo[playerid][pRentCar])), (LockRent[PlayerInfo[playerid][pRentCar]]) ? ("incuiat") : ("descuiat"));
    	SendClientMessage(playerid, -1, string);
    	return 1;
    }
    
    // la distrugere pui LockRent[vehicleid] = 0;
    • Upvote 1
  6. PlayerInfo[playerid][pRentCar] = 1; nu isi mai are rostul, il poti sterge

    in rest e ok

     

    O problema ar fi aici: getVehicleName(PlayerInfo[playerid][pRentCar]) => getVehicleName(GetVehicleModel(PlayerInfo[playerid][pRentCar]))

    Nu poti genera denumirea vehiculului daca nu iei modelul acestuia

    Inlocuieste si vezi daca primesti mesaj, am vazut ca ai acel SCM nu stiu cum l-ai definit

  7. Tu ai rentcar definit global din ce vad, trebuie sa faci pe jucator

    Poti pune if(PlayerInfo[playerid][pRentCar] > 0) return SendClientMessage(playerid, -1, "Ai deja o masina inchiriata.");

     

    iar la rentcar = CreateVehicle(model, x, y, z, angle, color1, color2, time);

    poti pune PlayerInfo[playerid][pRentCar] = CreateVehicle(model, x, y, z, angle, color1, color2, time); // e ptr fiecare jucator in parte pe o singura variabila

  8. Acum 34 minute, NERS a spus:

    schimba linia cu mysql format in asta:

    mysql_format(handle, string, sizeof(string), "UPDATE `conturi` SET `RespectPoints` = '%d', `Level` = '%d' WHERE `ID` = '%d'", P_Data[playerid][pRespectPoints], P_Data[playerid][pLevel], P_Data[playerid][pID]);

    si dedesubt adauga:

    mysql_tquery(handle, string, "", "");

    @IosifR Ti-a explicat el ca la ####, iti e lene sa citesti?

    Si oricum trebuie marit string-ul la 80-85 ca are 77 de caractere

     

    @IosifR Pune mana si uita-te pe tutoriale intai de mysql, nu ca ai facut si iti da eroare sau ca nu primeste update la baza de date

     

  9. Am uitat sa-ti zic, R41-3

     

    definesti SQL: new MySQL: SQL;

     

    MAX_PLAYERS => este definit de pachetul SA:MP

    MAX_PLAYER_NAME => este definit de pachetul SA:MP

    P_DATA => e de la enum pInfo/pVariable cum ai definit tu in gamemode, poate ai PlayerInfo/PlayerData

    stock-ul ti l-am definit in pastebin, mi se pare normal daca tu iei doar partea de mysql

  10. ai probleme la LoginTimer

     

    Ex:

     

    new login_timer[MAX_PLAYERS];
    
    public OnPlayerConnect(playerid)
    {
    	login_timer[playerid] = -1;
    	login_timer[playerid] = SetTimerEx("LoginTimer", 30000, false, "i", playerid);
    	ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Introdu parola:", "Ok", "Close");
    }
    
    public OnPlayerDisconnect(playerid, reason)
    {
    	if(login_timer[playerid] != -1) { KillTimer(login_timer[playerid]); login_timer[playerid] = -1; }
    }
    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    	switch(dialogid)
    	{
    		case DIALOG_LOGIN:
    		{
    			// daca jucatorul s-a logat cu succes
    			KillTimer(login_timer[playerid]);
              	login_timer[playerid] = -1;
    		}
    	}
    	return 1;
    }
    
    forward LoginTimer(playerid)
    public LoginTimer(playerid)
    {
    	KillTimer(login_timer[playerid]);
      	login_timer[playerid] = -1;
    }

     

  11. Acum 1 oră, matei_ a spus:

    Cum e pusa bine? Ca daca pui si dupa deschizi acolada, primesti warning pentru unreachable code si eroare pentru empty statement. Fa-ma sa inteleg...

    Nu am vazut " ; ", e greseala mea aici, dar eu ma refeream la linia 28216 pentru ca acolo ii dadea eroarea

  12. Acum 4 ore, Yonut a spus:

    Ai compilat gamemode-ul?

    Daca da, inloc de mysql_tquery foloseste mysql_query si fara "".

     

    Acum 2 ore, nQeed a spus:

    adauga   Update(playerid, pCash);    
                   Update(playerid, pLevel);

    daca nu merge Update(playerid, pCashx);
                              Update(playerid, pLevelx);

    sunteti asa de destepti de dati prin gropi, mysql_query e pentru altceva, a folosit bine mysql_tquery, problema e la stocarea numelui sau variabila in baza de date in tabelul respectiv nu exista, data viitoare sa va asigurati ca el are deja anumite lucruri definite, nu toate gm-urile sunt la fel, sau voi va numiti scripteri dupa 3 luni

     

    poti pune o varianta de test in urmatorul fel si vei vedea daca functioneaza sau nu

    stock getName(playerid)
    {
        new name[MAX_PLAYER_NAME] = "Unknown";
        if(IsPlayerConnected(playerid)) GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        return name;
    }
    
    CMD:test(playerid, params[]) // daca folosesti ZCMD
    {
        new string[100];
        mysql_format(SQL, string, sizeof(string), "UPDATE `table` SET `Money` = '%d' WHERE `Name` = '%e'", GetPlayerMoney(playerid), getName(playerid));
        mysql_tquery(SQL, string, "", "");
        return 1;
    }

     

  13. Acum 1 oră, matei_ a spus:

    La linia 21218 ai ; pusă aiurea.

    e pus bine, mai invata putin,

    e posibil din cauza primelor warninguri sa ti se returneze si acolo, trebuiesc rezolvate la rand, eroarea de la lini 28216 e inexistenta, e posibil daca ai copiat mai multe coduri din alte gm-uri, deja ultima eroare iti zice ca sunt prea multe erori, deja depaseste limita impusa de pawno, verifica daca acel pAdmin si PlayerInfo exista in gm-ul tau, pentru PlayerInfo sa fie new PlayerInfo[MAX_PLAYERS][pInfo] ar trebui sa fie definit, iar pAdmin in interiorul enumeratorului

    Nu este prima data cand vad erori pe linii corecte din cauza altora

  14. Acum 22 ore, David2k a spus:

    Daca ai unknown poti baga la ongamemodeinit SetGameModeText("VenoMarius GM"); sau cum vr tu.
    Ori ai o limita marita

    Exemplu:

    new turf[25];

    si tu ai undeva turf[26] sau mai mult de duci la new turf[25] si pui cate ai folosite.

    asta e un exemplu poate ai alta functie.

    Nu are treaba un array cu denumirea modului de joc in cazul in care nu stiai

    Posibil sa nu ai la plugin-uri .so ca si extensie, sau platforma pe care incerci sa urci nu este compatibila cu ceea ce pui tu, daca ei folosesc CENTOS7 tu trebuie sa ai la fel, daca e pe linux trebuie sa ai la fel, aici gasesti ce-ti cer ei(https://github.com/pBlueG/SA-MP-MySQL/releases) ii intrebi ce folosesc ca si sistem si iti descarci versiunea pe care o folosesti la gamemode + sistemul cerut

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