GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: kos - 2014. Március 04. - 12:13:05

Cím: Timer gond
Írta: kos - 2014. Március 04. - 12:13:05
Ü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..
Cím: Timer gond
Írta: Dfoglalo - 2014. Március 04. - 12:17:31
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!\");
Cím: Timer gond
Írta: kos - 2014. Március 04. - 12:21:26
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:
Cím: Timer gond
Írta: Dfoglalo - 2014. Március 04. - 12:32:41
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.
Cím: Timer gond
Írta: kos - 2014. Március 04. - 12:36:08
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.