Jump to content

Leonard

Administrator
  • Posts

    1,303
  • Joined

  • Last visited

  • Days Won

    53

Everything posted by Leonard

  1. Gandim la fel inseamna :)) N-o sa-ti mearga metoda aia nici in vecii vecilor.
  2. eeee, multe mai vrei :))) Am eu o metoda mult mai simpla decat asta, cu Float. ?
  3. Nu cred ca a inteles ce are de facut :))) Hai sa-ti explic. 1. Adaugi la pInfo, variabila pPaydayTime 2. Cand se inregistreaza un jucator, ii setezi o valoare si o salvezi in baza de date. // bla bla bla PlayerInfo[playerid][pPaydayTime] = 60 * 60; new gQuery[128]; mysql_format(SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `PaydayTime` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pPaydayTime], PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, gQuery, "", ""); 3. Creezi un timer cu y_timers pentru o optimizare mai buna ptask oneSecondTimer[1000](playerid) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pPaydayTime] > 0) { -- PlayerInfo[playerid][pPaydayTime]; // aici faci un textdraw pe care-l formatezi if(PlayerInfo[playerid][pPaydayTime] <= 0) { PlayerInfo[playerid][pPaydayTime] = 60 * 60; // salvezi new gQuery[128]; mysql_format(SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `PaydayTime` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pPaydayTime], PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, gQuery, "", ""); // aici ii dai paydayul } } } return 1; } 4. Faci o functie ca sa salvezi paydaytime-ul in caz ca se deconecteaza: function savePaydayTime(playerid) { new gQuery[128]; mysql_format(SQL, gQuery, sizeof gQuery, "UPDATE `tabelUsers` SET `PaydayTime` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pPaydayTime], PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, gQuery, "", ""); return 1; } 5. Aplici functia creata mai sus la public-ul OnPlayerDisconect public OnPlayerDisconnect(playerid, reason) { // codurile tale if(IsPlayerConnected(playerid)) { savePaydayTime(playerid); } return 1; } 6. Incarci paydaytime la functia care extrage datele unui jucator din baza de date la conectare PlayerInfo[playerid][pPaydaytime] = cache_get_field_content_int(0, "PaydayTime"); Si la final, adaugi in baza ta de date, "PaydayTime de INT" ?
  4. Arata fain tema ipb, panel-ul imi place cum e lucrat de catre Sinner, banuiesc ca si gamemode-ul tot al lui Sinner e. Succes cu comunitatea.
  5. if(PlayerInfo[i][pRob] < 20) { PlayerInfo[i][pRob] ++; UpdateVar(i, "Rob", PlayerInfo[i][pRob]); } else { SendClientMessage(i, COLOR_WHITE, "Nu ai primit niciun rob/free point pentru ca ai deja 20 rob/free points."); }
  6. Problema a fost rezolvată. Topic închis!
  7. E cam naspa ca n-ai facut cu iteratori.. CMD:resetoplace(playerid, params[]) { if(!PlayerInfo[playerid][pAdmin]) return 1; for(new i; i < sizeof(objectevent); ++i) { DestroyPickup(objectevent[i]); eventprizeobj[i] = 0; } SCM(playerid, -1, "Ai sters toate oplace-urile plasate."); return 1; }
  8. Incearca: ++ PlayerInfo[i][pRob]; UpdateVar(i, "Rob", PlayerInfo[i][pRob]);
  9. Problema a fost rezolvată. Topic închis!
  10. if(PlayerInfo[i][pRob] < 20) { PlayerInfo[i][pRob]++; } else { SendClientMessage(i, COLOR_WHITE, "Nu ai primit niciun rob/free point pentru ca ai deja 20 rob/free points."); } Probabil ai peste 20 de puncte de rob si de asta nu iti da.
  11. Arata codul de la quest, sa vedem cum l-ai facut.
  12. Pentru OPLACE ai nevoie de Pickup-uri, nu Obiecte. http://wiki.sa-mp.com/wiki/CreatePickup http://wiki.sa-mp.com/wiki/DestroyPickup http://wiki.sa-mp.com/wiki/OnPlayerPickUpPickup
  13. http://www.girlshare.ro/3490148717
  14. Problema a fost rezolvată. Topic închis!
×
×
  • Create New...