Jump to content

Yeed

Member
  • Posts

    110
  • Joined

  • Last visited

Posts posted by Yeed

  1. PlayerInfo[playerid][pCash] += suma de bani;
    
    new query[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    mysql_format(SQL, query, 256, "UPDATE `tabela_pentru_conturi` SET `coloana_pentru_bani`=%d WHERE `coloana_pentru_nume`='%s'", PlayerInfo[playerid][pCash], name);
    mysql_query(SQL, query); 

    Asta ca sa actualizezi banii. In momentul in care s-a conectat, din query-ul:

    SELECT * FROM `tabela_pentru_conturi` WHERE `coloana_pentru_nume`='numele jucatorului'

    Selectezi variabila din coloana care stocheaza banii si PlayerInfo[playerid][pCash] va fi egal cu valoarea acelei variabile.

     

    Cred ca nu ai inteles, eu vreau in baza de date sa am coloana Cash si sa imi apara banii acolo, deci cand se inregistreaza un player sa ii dea niste bani si daca cheltuie sau castiga la job sa i se puna sau scade.

  2. Salutare, vreau sa va intreb cum pot sa fac sa se salveze banii in baza de date? Sa ii pot schimba de acolo, etc. Ca daca imi dau bani si intru inapoi pe server nu ii am, stiu ca trebuie la enum p Info sa bag p Cash dar mai departe nu stiu. Poate ma ajuta cineva va rog frumos.

  3.  

    Daca te referi doar pentru un anumit model de masina:

    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 411) return SCM(playerid, -1, "Poti folosi aceasta comanda doar intr-un Infernus.");

    Am incercat cum ai zis tu, tot nu merge, pot folosi comanda in toate masinile.

  4. Salutare, incerc sa fac un sistem de tuning pe dialog, am incercat sa folosesc if(isPlayerInVehicle(playerid, model), si am facut un return cu un mesaj cum ca nu este intr-o masina. Chiar daca este in masina si dau /tuningcar imi zice ca nu sunt intr-o masina, cum pot rezolva?

  5. Tu nu vrei tot sistemul? cand ai acolo toti pasii pe care i-a facut Edison, fa dupa el.. Daca nici sa faceti dupa 'dictare' nu sunteti in stare.. lasati-va.. si eu am invatat cu greu si nu m-a ajutat nimeni.

    Atunci de ce mai exista acest topic pentru intrebari ? Este interzis sa intrebi sau care-i treaba?

  6. Vezi daca in acea functie ai ceva legat de pMoney sau pCash.

    Daca ai, poti incerca Update(playerid, pMoney respectiv pCash);

    Am incercat si Update(playerid, pMoney), dar tot nu merge, il pun la checkpoint la onPlayerEnterCheckpoint cand intra in Checkpoint ii da banii, dar nu se salveaza in baza de date.

  7. Trebuie sa trimiti un query in baza de date (cum ti s-a explicat mai sus):

    UPDATE `users` SET `VariabilaDeBaniDinBaza`=%d WHERE `Name`='NumeleJucatorului'

    Poti folosi acel cod si sa adaugi deasupra:

    new var[256];

    @@Leonard ti-a facut un intreg sistem de bani, dar presupun ca deja aveai unul in GM.

    Nope, tot nu merge, am in gamemode un public numic Update. Oare ma poate ajuta ? Am vazut prin gamemode Update(playerid, pLanguage); si toate astea. Oare ma ajuta ? Adica am incercat si tot nu merge sa salveze banii in baza de date, poate gamemode-ul este de vina. 

  8.  

    ** Pasul 1
     
    Adaugi la ENUM-ul care stocheaza datele unui jucator, de obicei acesta este denumit 'pInfo', variabila pCash:
     
    Exemplu:
    enum pInfo {
    
    	// celelalte variabile
    	pCash
    
    }
    
    ** Pasul 2
     
    Creezi o functie care te va ajuta atunci cand vrei sa updatezi banii unui jucator in baza de date:
    function updatePlayerCash( playerid, cash ) {
    	new gQuery[ 128 ]; // Variabila care o sa ne ajute sa formatam interogarea.
    
    	PlayerInfo[ playerid ][ pCash ] = cash;
    	mysql_format( SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `coloanaCash` = '%d' WHERE `coloanaSQLID` = '%d'", cash, PlayerInfo[ playerid ][ pSQLID ] ); // Interogarea formatata cu variabila de mai sus.
    	mysql_tquery( SQL, gQuery, "", "" ); // Trimitem catre baza de date interogarea pe care tocmai am formatat-o mai sus.
    
    	return true; // returnam 1
    }
    
    ** Pasul 3
     
    Pentru a putea folosi functia 'updatePlayerCash( playerid, cash )' trebuie sa faci urmatorul lucru:
     
    Exemplu:
    YCMD:vreubani( playerid, params[], help ) {
    
    	new 
    		sumaRandom = random( 5000 ) + 1000, // variabila care ia o valoare 5000 + random de 1000.
    		string[ 64 ] // variabila care o sa ne ajute sa formatam un mesaj
    	;
    
    	updatePlayerCash( playerid, sumaRandom ); // functia pe care tocmai am creat-o putin mai sus pentru a salva banii unui jucator in baza de date.
    
    	format( string, sizeof string, "Ai primit suma de $%d.", sumaRandom ); // formatam mesajul cu variabila pe care am declarat-o mai sus putin.
    	SendClientMessage( playerid, -1, string ); // trimitem mesajul catre jucatorul care a folosit comanda.
    
    	return true; // returnam 1
    }
    

    Eu ti-am facut decat o metoda cum poti salva banii mai usor, sper ca ai inteles!

     

    In loc de function nu trebuie public si forward? Tot nu imi merge..

×
×
  • Create New...