Szerző Téma: Timer hiba!  (Megtekintve 834 alkalommal)

Timer hiba!
« Dátum: 2015. szeptember 21. - 17:45:12 »
0 Show voters
Az lenne a problemam hogy a imer nem szamol vissza...Hogyan lehet megoldani ?Egy /lecsuk parancsrol van szo! Script:
CMD:lecsuk(playerid,params[])
{
       new ora,perc,mperc;
      gettime(ora,perc,mperc);
       new pId;
      if(sscanf(params, \"dddds\", pId,ora, perc,mperc, params[3])) return SendClientMessage(playerid, 0xFF0000AA, \"Hasznalat: /lecsuk [iD] [ora,perc,mperc][indok]\");
      else if(!IsPlayerConnected(pId)) return SendClientMessage(playerid, 0xFF0000AA, \"Nincs ilyen ID-ju jatekos.\");
      else
      {
          new pnamme[MAX_PLAYER_NAME], jnamme[MAX_PLAYER_NAME], string1[250];
          GetPlayerName(playerid, pnamme, sizeof(pnamme));
          GetPlayerName(pId, jnamme, sizeof(jnamme));
         SetPlayerInterior(pId, 3);
         new rand = random(sizeof(JailCellSpawns));
         SetPlayerPos(pId, JailCellSpawns[rand][0], JailCellSpawns[rand][1], JailCellSpawns[rand][2]);
         borton[playerid] = SetTimerEx(\"UnJail\",ora*perc*mperc*1000*60,false,\"i\",pId);
         mennyi[playerid] = ora*perc*mperc;
         mennyi[playerid]--;
         new string[128];
         format(string,sizeof(string),\"Borton:{00FF00} %d ora,%d perc,%d masodperc\",ora,perc,mperc);
         SendClientMessage(pId,narancs,string);
 

          InJail[pId] = 1;
          SetPlayerWantedLevel(pId, 0);
          format(string1, sizeof(string1), \"%s(%d) Börtönbe zárta: %s(%d) Indok: %s\", jnamme, pId, pnamme, playerid, params[3]);
          SendClientMessageToAll(0xFF0000AA, string1);
          new str1[128];
         format(str1,sizeof(str1),\"Börtön idõ: %d ora,%d perc,%d maperc\",ora,perc,mperc);
         TextDrawSetString(Text:borton1,str1);
         TextDrawShowForPlayer(pId,Text:borton1);
         bor[playerid] = SetTimerEx(\"Ido\",1000,true,\"i\",pId);
         mperc--;
         if(mperc == 0)
         {
             perc--;
             mperc = 60;
         }
         if(perc == 0)
         {
             ora--;
             perc = 60;
         }
          return 1;
      }
            
}
forward Ido(playerid);
public Ido(playerid)
{
new ora,perc,mperc = mennyi[playerid];
    new str1[128];
mperc--;
if(mperc == 0)
{
    perc--;
    mperc = 60;
}
if(perc == 0)
{
    ora--;
    perc = 60;
}
if(ora == 0)
{
perc--;
perc = 60;
}
format(str1,sizeof(str1),\"Börtön idõ:%d ora,%d perc,%d mperc\",ora,perc,mperc);
TextDrawSetString(Text:borton1,str1);
TextDrawShowForPlayer(playerid,Text:borton1);
}

Timer hiba!
« Válasz #1 Dátum: 2015. szeptember 21. - 18:00:26 »
0 Show voters
EDIT: Mégse.
EDIT: Így se jó.
EDIT: Az egész így, ahogy van, sehogy se jó.
EDIT: Megírom az angol házit, és átnézem megint.
EDIT: Kedves Naplóm! A kódot újra górcső alá veszem, meglátjuk mi lesz belőle.
EDIT: Kedves Naplóm! Elmegyek tusolni, és folytatom a munkát!
« Utoljára szerkesztve: 2015. szeptember 21. - 20:26:22 írta Hawkz »

Timer hiba!
« Válasz #2 Dátum: 2015. szeptember 21. - 18:19:07 »
0 Show voters
Oke megkoszonnem .

Timer hiba!
« Válasz #3 Dátum: 2015. szeptember 21. - 20:57:25 »
0 Show voters
// Globális változók (Tehát ne parancson belül hozd létre őket)
// Próbáld ezekre átírni a /lecsuk-ban lévő változókat
new bOra[MAX_PLAYERS], bPerc[MAX_PLAYERS], bMperc[MAX_PLAYERS];
// És itt az Ido public
forward Ido(playerid);
public Ido(playerid)
{
if(bMperc[playerid] > 0) bMperc[playerid]--;
else
{
bMperc[playerid] = 59;
if(bPerc[playerid] > 0) bPerc[playerid]--;
else
{
   bPerc[playerid] = 59;
   if(bOra[playerid] > 0) bOra[playerid]--;
}
}
 
format(str1, sizeof(str1), \"Börtön idõ: %d ora, %d perc, %d mperc\", bOra[playerid], bPerc[playerid], bMperc[playerid]);
TextDrawSetString(Text:borton1, str1);
TextDrawShowForPlayer(playerid, Text:borton1);
}

Timer hiba!
« Válasz #4 Dátum: 2015. szeptember 23. - 17:52:48 »
0 Show voters
Nem jo..

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal