Jump to content

TheBetaFox

Membru
  • Posts

    4
  • Joined

  • Last visited

    Never

TheBetaFox's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. new HPWarn[MAX_PLAYERS]; // La inceputul modului forward HealthPlayer(); public HealthPlayer() { for(new i;i<MAX_PLAYERS;i++) { if(PlayerInfo[i][pHealth] < 20 && HPWarn[i] == 0) { SendClientMessage(i, COLOR_WHITE,"Aproape esti pe moarte, mergi si mananca."); HPWarn[i] = 1; } } return 1; } Acum iti va arata numai o data. Pune timer in OnGameModeInit, si fa-l la 5000 ms (5 secunde). Daca vrei, la 10 secunde ar fi mai bine, ca nu se mai pune asa 'presiune' pe server. :)
  2. Salut! Am nevoie de cativa testeri pentru un textdraw GUI pe care l-am facut pe serverul meu. PM me pentru detalii, preferabil in urmatoarele 5-10 minute. (maxim 2, va rog.) (nevermind, too late. Stergeti topicul.)
  3. Am fixat, explicatiile ar trebui sa fie in cod. Zi daca mai sunt probleme.
  4. Cum sa afli timpul si data adevarata si sa o folosesti in gamemode Inainte de a incepe, se presupune ca aveti deja experienta in Pawno, si acceptati faptul ca nu explic mai detaliat de atat. NOTE: Data obtinuta este, din cate stiu, cea a computerului pe care este hostat serverul. SUMAR: Acest tutorial arata un exemplu al folosirii functiilor 'gettime' si 'getdate' si cum ai putea arata jucatorului cat este ceasul si in ce data suntem. Am observat ca multi nu stiu cum sa obtina data si timpul in SA-MP, asa ca am decis sa scriu un tutorial despre getdate si gettime. Intai, declaram variabile pentru zi, luna, an si secunda, minut, ora. new zi, luna, an, secunda, minut, ora; Folosim gettime(ora, minut, secunda) si getdate(an, luna, zi). Astfel, ora se stocheaza in variabla 'ora', anul in variabila 'an' s.a.m.d. new zi, luna, an, secunda, minut, ora; gettime(ora, minut, secunda); getdate(an, luna, zi); Bun.. acum, sa zicem ca dorim sa scriem textul 'SERVER: Este ora **:**:**, iar data este **.**.****.' De asemenea, dorim sa 'activam' aceasta cu ajutorul unei comenzi. COMMAND:timp(playerid, params[]) { new zi, luna, an, secunda, minut, ora; gettime(ora, minut, secunda); getdate(an, luna, zi); return 1; } Bun, avem variabilele intr-o comanda, dar ce facem acum? Nu putem trimite SendClientMessage direct, asa ca va trebui sa formatam un string! La lista variabilelor pe care le 'detinem' deja, adauga 'string', cu marimea 128, asa: COMMAND:timp(playerid, params[]) { new zi, luna, an, secunda, minut, ora, string[128]; gettime(ora, minut, secunda); getdate(an, luna, zi); format(string, sizeof(string), "SERVER: Este ora %02d:%02d:%02d, iar data este %02d.%02d.%04d.", ora, minut, secunda, zi, luna, an); return 1; } Multi dintre voi probabil au intrat in ceata, caz in care v-as recomanda sa cititi http://wiki.sa-mp.com/wiki/Format pentru a intelege functia 'format' mai bine. Pentru cei care au o idee si stiu ca %d este folosit pentru integer se vor intreba ce-i cu '02' sau '04' intre % si d. Ei, bine, acel '02' se asigura ca numarul va avea intotdeauna doua cifre; ca exemplu: daca sunt si doua secunde, nu o sa vezi '2', ci '02'. Fara acest '02', timpul ar putea aparea asa: '2:4:8'. Cu, va fi '02:04:08'. Diferenta la an este, desigur, deoarece anul are 4 cifre. Nu ar fi nevoie, vazand ca nu prea cred ca vom trece in anul 10,000 prea curand... Dar, asa imi place. Ziceti-mi voi, ala arata a timp? Mie nu-mi arata, sigur. Dar stai! Daca incerci comanda, vei vedea ca nu primesti nici un mesaj! Asta e din cauza ca nici nu l-am trimis! Adauga SendClientMessage(playerid, -1, string), iar astfel stringul va fi trimis jucatorului ca un mesaj. (NOTITA: -1 poate fi inlocuit cu orice culoare.) COMMAND:timp(playerid, params[]) { new zi, luna, an, secunda, minut, ora, string[128]; gettime(ora, minut, secunda); getdate(an, luna, zi); format(string, sizeof(string), "SERVER: Este ora %02d:%02d:%02d, iar data este %02d.%02d.%04d.", ora, minut, secunda, zi, luna, an); SendClientMessage(playerid, -1, string); return 1; } Provocari: 1. Incearca sa pui data si timpul intr-un textdraw, si cu ajutorul timerilor sa il updatezi la fiecare secunda. 2. Incearca sa faci lucrurile in serverul tau mai 'dinamice', cu evenimente unice, care se vor intampla doar de zile cum ar fi de Martisor, de ziua indragostitilor, de Craciun, de Revelion, sau fa comenzile sa reactioneze intr-un mod ciudat daca zi = 1 si luna = 4 (1 Aprilie)
×
×
  • 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.