Szerző Téma: Timer gond  (Megtekintve 538 alkalommal)

Nem elérhető kos

  • 292
    • Profil megtekintése
Timer gond
« Dátum: 2014. március 04. - 12:13:05 »
0 Show voters
Üdv.
Van ez a kocsiresim timerrel megoldva, parancsal normálisan mûködik is, de ha timer indítja be a timert, akkor buggol :/
Mit rontottam el? :hmmm:
Képek:
\"kocsiresi1_www.kepfeltoltes.hu_.png\"
ha már lefutott a 90ms
\"kocsiresi2_www.kepfeltoltes.hu_.png\"
 :question:
 

new Text:Resi;
new time = 90;
new counter;
public OnGameModeInit()
{
SetTimer(\"KocsiResi\",120*1000,true);
Resi = TextDrawCreate(95.000000, 321.000000, \" \");
TextDrawAlignment(Resi, 2);
TextDrawBackgroundColor(Resi, 255);
TextDrawFont(Resi, 1);
TextDrawLetterSize(Resi, 0.480000, 1.799999);
TextDrawColor(Resi, 0xFF0000FF);
TextDrawSetOutline(Resi, 1);
TextDrawSetProportional(Resi, 1);
return 1;
}
forward KocsiResi();
public KocsiResi()
{
    counter = SetTimer(\"countdown\",1000,true);
    TextDrawShowForAll(Resi);
    return 1;
}
forward countdown();
public countdown()
{
new temp[128];
time--;
format(temp,sizeof(temp),\"KocsiResi: %i\",time);
TextDrawSetString(Resi,temp);
if(time == 0)
{
for( new kocsi = 1; kocsi < MAX_VEHICLES; kocsi++ )
{
                    if(!ValakiAKocsiban(kocsi))
   {
                            SetVehicleToRespawn(kocsi);
                            SendClientMessageToAll(Orange,\"[AC] Használaton kívüli jármûvek respawnolva!\");
   }
}
time = 90;
KillTimer(counter);
TextDrawHideForAll(Resi);
}
return 0;
}

 
Tehát, ha parancsal indítom be akkor mûködik, de ha a kocsiresi timer indítja be, akkor bugol mint a képen látni, hogy rengetegszer kiírja, meg befagy kicsit..
« Utoljára szerkesztve: 2014. március 04. - 12:37:15 írta kos »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Timer gond
« Válasz #1 Dátum: 2014. március 04. - 12:17:31 »
0 Show voters
Nem bugol, nem is hibás, hiszen így írtad meg a kódban. Tehát azt csinálja, mellesleg helyesen, ami a forráskódban meg lett adva, le lett írva. Szóval ne hívd bugnak. Inkább írd meg helyesen a forráskódot.
 
for( new kocsi = 1; kocsi < MAX_VEHICLES; kocsi++ )
  {
                  if(!ValakiAKocsiban(kocsi))
   {
                          SetVehicleToRespawn(kocsi);
                          SendClientMessageToAll(Orange,\"[AC] Használaton kívüli jármûvek respawnolva!\");
   }
  }

 
-->
 
for(new kocsi = 1; kocsi < MAX_VEHICLES; kocsi++)
{
    if(!ValakiAKocsiban(kocsi))
    {
        SetVehicleToRespawn(kocsi);
    }
}
SendClientMessageToAll(Orange,\"[AC] Használaton kívüli jármûvek respawnolva!\");

Nem elérhető kos

  • 292
    • Profil megtekintése
Timer gond
« Válasz #2 Dátum: 2014. március 04. - 12:21:26 »
0 Show voters
Rendben, meg nézem úgy, de parancsnál nem csinál ilyet....

Dupla hozzászólás automatikusan összefûzve. ( 2014. március 04. - 12:27:04 )

Nem, még így is ki floodolja.... :wall:
« Utoljára szerkesztve: 2014. március 04. - 12:27:04 írta kos »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Timer gond
« Válasz #3 Dátum: 2014. március 04. - 12:32:41 »
0 Show voters
Pedig ebben a kódban, amit ide kiírtál, ezért floodol. Ha megfelelõen kicserélted, akkor nem kéne ezt tennie. Viszont ha biztosan kicserélted, de mégis rossz, akkor máshol lesz a hiba. Egy olyan kódrészletben, amelyet nem mutattál meg nekünk. De valamit elronthattál, mert ha kiteszed a SendClientMessageToAll függvényt a for ciklus alá, akkor bizony - akárhogy is nézem - mûködnie kell a dolognak.

Nem elérhető kos

  • 292
    • Profil megtekintése
Timer gond
« Válasz #4 Dátum: 2014. március 04. - 12:36:08 »
0 Show voters
Hm most már mûködik, az is baja volt, hogy másik timerrel gubancolódot fs-ben. De már jó.  :smokin:
Köszi a segítséget.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal