[POMOC]Textdraw timer

Započeo Vuzimir
14. Jul 2013. Zaključano
778
pregleda
10
postova
Vuzimir
5
Kingpin
14. Jul 2013.
Skripta koju koristim: Moja
Detaljan opis problema: E ovako pravim textdraw da bude kao timer, i sada sve sam napravio i kada pokrenem derby pocne timer koji odbrojava svake 1 sec da updatuje textdraw i da se vrijeme smanjuje i sada ja se join derby-u i kada pocne ono smanjuje svake sekunde po dvije sekunde nezz sta je :S i isto kada se derby zavrsi ono treba da killtimer i stavim to i ono ga uopste neugasi..

I sada kao kada killuje taj timer i ja pokrenem derby o5 ono tajmer tece normalno i cim derby pocne i ono startuje timer opet oduzima po 2 sec
Dio skripte:
new:
new Timed, TimeM, TimeS;


callback:
forward UpdateTime();
public UpdateTime()
{
  new Str;
  TimeS --;
  if(TimeM == 0 && TimeS == 0)
  {
    KillTimer(Timed);
  }
  if(TimeS == -1)
  {
    TimeM--;
    TimeS = 59;
  }
  format(Str, sizeof(Str), "%02d:%02d", TimeM, TimeS);
  TextDrawSetString(Derbydole2, Str);
  return 1;
}


textdraw
Derbydole2 = TextDrawCreate(180.000000, 435.750000, "05:00");
TextDrawLetterSize(Derbydole2, 0.358000, 1.075000);
TextDrawAlignment(Derbydole2, 1);
TextDrawColor(Derbydole2, -1);
TextDrawSetShadow(Derbydole2, 0);
TextDrawSetOutline(Derbydole2, 1);
TextDrawBackgroundColor(Derbydole2, 51);
TextDrawFont(Derbydole2, 2);
TextDrawSetProportional(Derbydole2, 1);

timer:
Timed = SetTimer("UpdateTime", 1000, true);

Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Master1
4
Made Man
14. Jul 2013.
ako je tako smanji timer na pola sekunde
Timed = SetTimer("UpdateTime", 500, true);
pa vidi kako ce biti 😄
Vuzimir
5
Kingpin
14. Jul 2013.
Master.amx wrote on July 14, 2013, 1:10 pm:
ako je tako smanji timer na pola sekunde
Timed = SetTimer("UpdateTime", 500, true);
pa vidi kako ce biti 😄


Isti Kur** opet oduzima po -2 sekunde -.-"

nesto nije u redu sa callbackom...

gledao sam po samp forumu i nasao ovo:

Gotta love how everyone always seems to do that.
You can get rid of that if structure completely by using the right format values.
format(Str, sizeof(Str) "%02d:%02d", TimeM, TimeS);

Will always output two digits, no matter the values.

to je napisao nekom liku Vince
Blaeks_Biofor
5
Forum Don
14. Jul 2013.
pa malo je cudno to, jer gledaj, ja sam isto nesto radio pre preko gametexta i nije bilo problema, sumnjam da moze textdraw stvarati probleme, tacnije ne razumem kako moze smanjivati za 2 sekunde. pojasni malo kodiranje, tacnije pojasni koja varijabla ti za sta sluzi, mozda ti mogu pomoci
Vuzimir
5
Kingpin
14. Jul 2013.
Blaeks wrote on July 14, 2013, 2:22 pm:
pa malo je cudno to, jer gledaj, ja sam isto nesto radio pre preko gametexta i nije bilo problema, sumnjam da moze textdraw stvarati probleme, tacnije ne razumem kako moze smanjivati za 2 sekunde. pojasni malo kodiranje, tacnije pojasni koja varijabla ti za sta sluzi, mozda ti mogu pomoci


e ovako:
new Time, TimeM, TimeS;


time za timer, TimeM je za minute i TimeS za sekunde

i evo ovdje textdraw:
Textdraw0 = TextDrawCreate(17.000000, 429.000000, "20:00");
TextDrawBackgroundColor(Textdraw0, 65535);
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
TextDrawColor(Textdraw0, 16777215);
TextDrawSetOutline(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
TimeM = 20;
TimeS = 0;


na komadni timer:
Time = SetTimer("UpdateTime", 1000, true);


callback:
forward UpdateTime();
public UpdateTime()
{
  new Str;
  TimeS --; //ovo ovdje skida -1 sec
  if(TimeM == 0 && TimeS == 0) // ovo kada minute i sekunde budu 0 da ugasi timer
  {
    KillTimer(Time);
  }
  if(TimeS == -1) // ovo ovdje ako sekunde budu -1 da smanji minutu tamo i da stavi 59 sec
  {
    TimeM--;
    TimeS = 59;
  }
  format(Str, sizeof(Str), "%02d:%02d", TimeM, TimeS); //ovo ovdje string
  TextDrawSetString(Textdraw0, Str);
  return 1;
}


i isto ima da killtimer kada zavrsi derby i kada zavrsi derby nece da zaustavi timer onda krene teci normalno...i onda kada se vent pokrene i startuje timer onda opet skida po 2 za 1 sec
Blaeks_Biofor
5
Forum Don
14. Jul 2013.
vidi, na pocetku ti vec samo skida -1 varijablu
public UpdateTime()
{
  new Str;
  TimeS --; //ovo ovdje skida -1 sec
a ovde skida jos jednu
if(TimeS == -1) // ovo ovdje ako sekunde budu -1 da smanji minutu tamo i da stavi 59 sec
  {
    TimeM--;
    TimeS = 59;
  }
znaci to mu dodje - 2 ako sam lepo shvatio taj sistem
Vuzimir
5
Kingpin
14. Jul 2013.
Blaeks wrote on July 14, 2013, 3:31 pm:
vidi, na pocetku ti vec samo skida -1 varijablu
public UpdateTime()
{
  new Str;
  TimeS --; //ovo ovdje skida -1 sec
a ovde skida jos jednu
if(TimeS == -1) // ovo ovdje ako sekunde budu -1 da smanji minutu tamo i da stavi 59 sec
  {
    TimeM--;
    TimeS = 59;
  }
znaci to mu dodje - 2 ako sam lepo shvatio taj sistem


hmm proobao sam to da izmjenim, iskljucim if(TimeS == -1) i ono mi onda ide opet po-2 samo sto nesavlja kada dodje do -1 opet 59 nego samo ide u minus, logicno zato sto sam izbacio if(TimeS == -1)

Sada cu probati odvijiti minute i sekunde u razlicite callbackove pa ti javim...A ako ti imas neku ideju reci...
~William~
4
Enforcer
14. Jul 2013.
  if(TimeS == -1) // ovo ovdje ako sekunde budu -1 da smanji minutu tamo i da stavi 59 sec
  {
    // TimeM--;
    TimeS = 59;
  }

Ako sam te skontao..
Vuzimir
5
Kingpin
14. Jul 2013.
Mark a.k.a. Marko(TM) wrote on July 14, 2013, 4:38 pm:
  if(TimeS == -1) // ovo ovdje ako sekunde budu -1 da smanji minutu tamo i da stavi 59 sec
  {
    // TimeM--;
    TimeS = 59;
  }

Ako sam te skontao..


pa to sto si iskljucio samo radi da nesmanji tamo minut kada dodju sekunde na -1

opet ide po -2
Vuzimir
5
Kingpin
14. Jul 2013.
*BUMP*

POPRAVLJENO MOZE LOCK!

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha