Peršokti į turinį

Pagalbos dėl rodomo laiko komandos metu


Recommended Posts

Sveiki, kuriu picerijos sistemą ir noriu padaryti, kad darant picą rodytų laiką (20s) timerį jau esu padaręs, tiesiog reikia komandos, kad rodytų laiką(jau esu padaręs, bet neveikia ji)

Laiko pavyzdys(koks turėtų būti)

bcde5bc330142e2f8d90e3b4ca36b7cc537.png

 

O komanda tokia (laikui)

new msg[128], valz, minz, sekz;
      valz=floatround(playerDB[playerid][Psaldymas_laikas]/3600,floatround_floor);
      minz=floatround(playerDB[playerid][Psaldymas_laikas]/60,floatround_floor);
      sekz=playerDB[playerid][Psaldymas_laikas];
      if(valz < 0) valz=0;
      if(minz < 0) minz=0;
      if(sekz < 0) sekz=0;
      while(minz>=60)minz-=60;
      while(sekz>=60)sekz-=60;
      if(valz>0)
  {
          if(minz<10)
{
            if(sekz<10)
{
                format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i:0%i:0%i",valz,minz,sekz);
}
            else
{
                format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i:0%i:%i",valz,minz,sekz);
            }
          }
          else
{
            if(sekz<10)
{
                format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i:%i:0%i",valz,minz,sekz);
            }
            else
{
                format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i:%i:%i",valz,minz,sekz);
            }
          }
      }
      else if(valz==0 && minz>0)
{
  if(sekz<10)
  {
            format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i:0%i",minz,sekz);
          }
          else format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i:%i",minz,sekz);
    }
    else
  {
    format(msg,128,"~n~~n~~n~~n~~n~~n~~y~Gaminti liko: ~r~%i s.",sekz);
      }
  GameTextForPlayer(playerid,msg,3000,5);
}
Nuoroda į komentarą
Dalintis per kitą puslapį


as tai esu paprastai pasidares

new skaiciavimas = 60;

tada pasileidziu taimeri

SetTimerEx("test", 1000, 1, "d", playerid);


ir taimerio funkcija

forward test(playerid);
public test(playerid)
{
    skaiciavimas--;
    new string[24];
    format(string, sizeof(string), "Liko Laukti: %d", skaiciavimas); 
    return GameTextForPlayer(playerid, string, 1000, 5);
}

gal to norejai gal ne to nelabai supratau :D , pagal si koda eis skaiciai nuo 60 iki 0 ir tada dings

Redaguota , nario dzeronimo
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

as tai esu paprastai pasidares

new skaiciavimas = 60;

tada pasileidziu taimeri

SetTimerEx("test", 1000, 1, "d", playerid);


ir taimerio funkcija

forward test(playerid);
public test(playerid)
{
    skaiciavimas--;
    new string[24];
    format(string, sizeof(string), "Liko Laukti: %d", skaiciavimas); 
    return GameTextForPlayer(playerid, string, 1000, 5);
}

gal to norejai gal ne to nelabai supratau :D , pagal si koda eis skaiciai nuo 60 iki 0 ir tada dings

Meta erorra  225: unreachable code

Redaguota , nario Justas_Malboro
Nuoroda į komentarą
Dalintis per kitą puslapį


 

viršuje new StopDealCount[MAX_PLAYERS];

 

 

kažkur kai nori paleisti timeri savo

 

StopDealCount[playerid] = 60;//šiuo atvėju bus 60sec/1minutė

StopDealt[playerid] = SetTimerEx("StopDeal", 1000, 1, "d", playerid);

 

 

modo gale ar kažkur kur tau patogiau

 

 

forward StopDeal(playerid);

public StopDeal(playerid)

{

    if(StopDealCount[playerid] == 0)

    {

        KillTimer(StopDealt[playerid]);

        SendClientMessage(playerid, -1, "{339900}* Veiksmas kai baigiasi timeris.");

   

    }

    else

    {

        StopDealCount[playerid] --;

        new String[40];

        format(String, sizeof String, "~n~~n~~n~~n~~n~~n~~y~Liko krauti: %i", StopDealCount[playerid]);

        GameTextForPlayer(playerid,String,3000,5);

    }

    return true;

}

 

Redaguota , nario Matas_Sel
Nuoroda į komentarą
Dalintis per kitą puslapį

 
viršuje new StopDealCount[MAX_PLAYERS];
 
 
kažkur kai nori paleisti timeri savo
 
StopDealCount[playerid] = 60;//šiuo atvėju bus 60sec/1minutė
StopDealt[playerid] = SetTimerEx("StopDeal", 1000, 1, "d", playerid);
 
 
modo gale ar kažkur kur tau patogiau
 
 
forward StopDeal(playerid);
public StopDeal(playerid)
{
    if(StopDealCount[playerid] == 0)
    {
        KillTimer(StopDealt[playerid]);
        SendClientMessage(playerid, -1, "{339900}* Veiksmas kai baigiasi timeris.");
   
    }
    else
    {
        StopDealCount[playerid] --;
        new String[40];
        format(String, sizeof String, "~n~~n~~n~~n~~n~~n~~y~Liko krauti: %i", StopDealCount[playerid]);
        GameTextForPlayer(playerid,String,3000,5);
    }
    return true;
}
 

Viskas gerai, tik nesunaikina timerio (laiko neberodo, bet kartoja tekstą "{339900}* Veiksmas kai baigiasi timeris."

Nuoroda į komentarą
Dalintis per kitą puslapį

Tikriausiai tavo 'Timer' yra paleidžiamas kelis kartus. Pabandyk pakeisi savo timerio paleidimą:

if ( StopDealCount [ playerid ] >= 1 ) // Jeigu timeris jau veikia, dar kartą jį paleisti tam pačiam žaidėjui nėra tikslo
{
	SendClientMessage ( playerid, 0xFFFFFFFF, "Veiksmas jau pradėtas.." );
}
else
{
	StopDealCount[playerid] = 60;//šiuo atvėju bus 60sec/1minutė
	StopDealt[playerid] = SetTimerEx("StopDeal", 1000, 1, "d", playerid);
}
Redaguota , nario Friskius
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Tikriausiai tavo 'Timer' yra paleidžiamas kelis kartus. Pabandyk pakeisi savo timerio paleidimą:

if ( StopDealCount [ playerid ] >= 1 ) // Jeigu timeris jau veikia, dar kartą jį paleisti tam pačiam žaidėjui nėra tikslo
{
	SendClientMessage ( playerid, 0xFFFFFFFF, "Veiksmas jau pradėtas.." );
}
else
{
	StopDealCount[playerid] = 60;//šiuo atvėju bus 60sec/1minutė
	StopDealt[playerid] = SetTimerEx("StopDeal", 1000, 1, "d", playerid);
}

if ( StopDealCount [ playerid ] >= 1 ) cia siap daugiau uz 1 tai is karto meta. Bet nepadejo :(

Nuoroda į komentarą
Dalintis per kitą puslapį

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.


×
×
  • Sukurti naują...