Szerző Téma: Timer Probléma  (Megtekintve 965 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Timer Probléma
« Dátum: 2012. március 09. - 11:52:44 »
0 Show voters
Van a motor parancsom,sikerült elintéznem,hogy végig fusson a parancs,el is éri a timeres részt,csak maga a timer nem megy valamiért.
[pawn]CMD:motor(playerid,vehicleid)
{
    if(IsPlayerConnected(playerid))
    {
        SendClientMessage(playerid, NARANCS, \"Csatlakozva van\");
      if(Belepve[playerid] != 0)
      {
          new kocsi = GetPlayerVehicleID(playerid);
          SendClientMessage(playerid, NARANCS, \"Be van lépve\");
          if(IsPlayerInAnyVehicle(playerid))
          {
              SendClientMessage(playerid, NARANCS, \"Jármûben van\");
              if(JarmuInfo[kocsi][Motor] == 0)
              {
                  SendClientMessage(playerid, NARANCS, \"Motor = 0\");
                     
                        if(JarmuInfo[kocsi][Tulaj] != 0)
               {
                   SendClientMessage(playerid, NARANCS, \"Tulaja nem egyenlõ 0\");
                   if(JatekosInfo[playerid][Jarmu] != kocsi)
                   {
                       SendClientMessage(playerid, NARANCS, \"player kocsija nem egyenlõ kocsi id-vel\");
                       SendClientMessage(playerid, HIBA, \"Nincs kulcsod a jármûhöz! (/ellop)\");
                  }
                  else SendClientMessage(playerid, HIBA, \"Ez a te kocsid /motor\");
               }
               else
               {
                   SendClientMessage(playerid, NARANCS, \"tulaj = 0\");
                   SetTimerEx(\"JarmuInditas\", 4000, false,\"dd\",kocsi,playerid);
                  
               }
            }
            else SendClientMessage(playerid, HIBA, \"A motor már be van indítva!\");
         }
                else SendClientMessage(playerid, HIBA, \"Nem vagy jármûben!\");
      }
            else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
   }
return 1;
}[/pawn]
[pawn]
public JarmuInditas(playerid,kocsi)
{
kocsi = GetPlayerVehicleID(playerid);
    SendClientMessage(playerid, NARANCS, \"Timer elérve\");
TogglePlayerControllable(playerid,1);
    JarmuInfo[kocsi][Motor] = 1;
GetVehicleParamsEx(kocsi,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(kocsi,1,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, SIKERES, \"Sikeresen beindítottad a jármû motorját.\");
ProxDetector(20.0, playerid, \"Valaki beindította egy jármû motorját!\", LILA, LILA, LILA, LILA, LILA);
GetPlayerName(playerid,nev,sizeof(nev));
new string[256];
format(string,sizeof(string),\"%s beindított egy jármûvet.\",nev);
printf(string);
}
[/pawn]
A SetTimerEx funkcióval van a baj valószínûleg,de nem tudom,hogy mi,és a másik témám már közel van a 2. oldalhoz,ezért nyitottam új témát.

Timer Probléma
« Válasz #1 Dátum: 2012. március 09. - 12:01:56 »
+1 Show voters
Ezmiez? :O
 

CMD:motor(playerid,vehicleid)

 
Ezt felcserélted, nem \"kocsi,playerid\", hanem \"playerid,kocsi\".
 

SetTimerEx(\"JarmuInditas\", 4000, false,\"dd\",playerid,kocsi);
« Utoljára szerkesztve: 2012. március 09. - 12:14:24 írta 1ST_Chr »

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Timer Probléma
« Válasz #2 Dátum: 2012. március 09. - 12:16:43 »
0 Show voters
Köszönöm szépen a segítséget. +1
Ui.:
Most meg azért nem megy,mert nem tölti be a kocsi információt az ini-bõl,ahol jó adatok vannak megadva.
[pawn]
new vehicleid;
new betoltes[ 64 ];
    for( new x = 1; x < 100; ++x )
{
   format( betoltes, sizeof betoltes, \"/Adatbazis/Jarmuvek/%d.ini\", x );
   AddStaticVehicle(dini_Int(betoltes,\"Model\"),dini_Float(betoltes,\"X\"),dini_Float(betoltes,\"Y\"),dini_Float(betoltes,\"Z\"),dini_Float(betoltes,\"Forgatás\"),dini_Int(betoltes,\"Szín1\"),dini_Int(betoltes,\"Szín2\"));
   JarmuInfo[vehicleid][szin1] = dini_Int(betoltes,\"Szín1\");
   JarmuInfo[vehicleid][szin2] = dini_Int(betoltes,\"Szín2\");
   JarmuInfo[vehicleid][Eladva] = dini_Int(betoltes,\"Eladva\");
   JarmuInfo[vehicleid][iD] = dini_Int(betoltes,\"ID\");
   format(JarmuInfo[vehicleid][Tulaj], MAX_PLAYER_NAME, \"%s\", dini_Get(betoltes, \"Tulaj\"));
}
[/pawn]
« Utoljára szerkesztve: 2012. március 09. - 12:44:27 írta tudvari »

Timer Probléma
« Válasz #3 Dátum: 2012. március 09. - 13:03:10 »
+1 Show voters
A vehicleid változó helyett használd az x-et.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Timer Probléma
« Válasz #4 Dátum: 2012. március 09. - 13:14:14 »
0 Show voters
Köszi,most már jó,csak 1 a baj,a tulaj hosszúsága MAX_PLAYER_NAME,mégis csak az elsõ karaktert érzékeli.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Timer Probléma
« Válasz #5 Dátum: 2012. március 09. - 14:31:42 »
0 Show voters

format(JarmuInfo[vehicleid][Tulaj], 22, \"%s\", dini_Get(betoltes, \"Tulaj\"));

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Timer Probléma
« Válasz #6 Dátum: 2012. március 09. - 16:13:51 »
0 Show voters
Még mindig nem jó,de közben új kérdésem támadt.
Hogy lehetne azt megcsinálni,hogy van egy változó ami minden jármûnek van,de a változó értéke attól függ hogy melyik csoportba van.
Ez alatt azt értem,hogy a jármû típusok be vannak csoportosítva és pl.:
A csoportban van a és b jármû aminél x = 100
B csoportban van c és b jármû aminél x = 172
Remélem érthetõ voltam :D

Timer Probléma
« Válasz #7 Dátum: 2012. március 09. - 17:00:13 »
0 Show voters
Ilyenre gondolsz?
 
enum vinfo
{
Float:x,
Float:y,
Float:z,
};
enum vs
{
a,
b,
};
new A[vs][vinfo], B[vs][vinfo];

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Timer Probléma
« Válasz #8 Dátum: 2012. március 09. - 18:56:49 »
0 Show voters
Nem nem ezekre.De ugyan így enummal kell megoldani.
Konkrét példát mondok:
60 Literes jármûvek: Sentinel,Bullet
40 literes: robogó
200 literes: Tanker
stb

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal