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: gergo107 - 2012. május 19. - 23:27:25

Cím: 0-ás id
Írta: gergo107 - 2012. május 19. - 23:27:25
Heló, van egy alvás scriptem ami elindul egy timerrel a mod elindulásával együtt, de az a gáz hogy csak 0-ás id-vel mûküdik tehát úgy van a script, hogy van 1 public alatta a dolgok hogy vegye le az alvás értékét stb... de csak akkor mûküdik hogyha 0-ás id vok ha 3-as vagyok mondjuk akkor meg se moccan a public (Scriptel nincs semmi, átnéztem)
Cím: 0-ás id
Írta: kurta999 - 2012. május 19. - 23:59:27
Esetleg ha bemásolnád ide, többet tudnánk segíteni.
Cím: 0-ás id
Írta: gergo107 - 2012. május 20. - 00:24:31
[pawn]public Alvastimer(playerid)
{
if(!IsDoaNPC(playerid))
{
   if(Alszik[playerid] == 0)
   {
      if(PlayerInfo[playerid][pAlvas] >= 20 && PlayerInfo[playerid][pAlvas] <= 100)
      {
         SetProgressBarColor(AlvasBar[playerid],COLOR_GREEN);
         PlayerInfo[playerid][pAlvas] --;
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else if(PlayerInfo[playerid][pAlvas] >= 10 && PlayerInfo[playerid][pAlvas] <= 19)
      {
         if(PlayerInfo[playerid][pAlvas] == 10 || PlayerInfo[playerid][pAlvas] == 15)
         {
            TextDrawShowForPlayer(playerid, FeketesegTD);
            SetPlayerDrunkLevel(playerid, 1000);
            SetTimerEx (\"Lass\", 2000 ,0,\"i\",playerid);
            Msg(playerid,\"Az álmosságtól egy kicsit lecsuktad a szemeid. Sürgõsen menj el aludni!\");
         }
         PlayerInfo[playerid][pAlvas] --;
         SetProgressBarColor(AlvasBar[playerid], COLOR_YELLOW);
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else if(PlayerInfo[playerid][pAlvas] >= 1 && PlayerInfo[playerid][pAlvas] <= 9)
      {
         SetProgressBarColor(AlvasBar[playerid],COLOR_RED);
         PlayerInfo[playerid][pAlvas] --;
         SetPlayerDrunkLevel(playerid, 5999);
         if(PlayerInfo[playerid][pAlvas] == 6 || PlayerInfo[playerid][pAlvas] == 2)
         Msg(playerid,\"Már nagyon émelyegsz az álmosságtól! Gyorsan menj haza aludni!\");
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else if(PlayerInfo[playerid][pAlvas] < 1)
      {
         Cselekves(playerid,\"összeesett a fáradtságtól\", 1);
         Msg(playerid,\"Az álmosságtól Összeestél, és ott aludtál el, ahol vagy!\");
         Alszik[playerid] = 1;
      }
      SetProgressBarValue(AlvasBar[playerid], PlayerInfo[playerid][pAlvas]);
      ShowProgressBarForPlayer(playerid, AlvasBar[playerid]);
      UpdateProgressBar(AlvasBar[playerid], playerid);
   }
   else
   {
      if(PlayerInfo[playerid][pAlvas] < 100)
      {
         AlvasLabel[playerid] = Create3DTextLabel(\"ZzZzZzZzZzZz\",COLOR_GREEN,0,0,0,50,-1,1);
         Attach3DTextLabelToPlayer(AlvasLabel[playerid], playerid, 0,0,0);
         GameTextForPlayer(playerid,\"~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Alszol...\", 2000, 3);
         PlayerInfo[playerid][pAlvas] += 35;
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else
      {
         Alszik[playerid] = 0;
         PlayerInfo[playerid][pAlvas] = 100;
         Msg(playerid,\"Kialudtad magad, és felébredtél!\");
         Lass(playerid);
         Delete3DTextLabel(AlvasLabel[playerid]);
         Cselekves(playerid,\"felébredt álmából.\", 0);
         SetPlayerDrunkLevel(playerid, 0);
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
   }
   UpdateProgressBar(AlvasBar[playerid], playerid);
}
return 1;
}[/pawn]
Cím: 0-ás id
Írta: TengeriMalac - 2012. május 20. - 07:08:47
Ez az a bizonyos eset, amikor leírják neked \'jól\', hogy hogy kéne kinéznie, és változós függvényeknél SetTimerEx(..) helyett SetTimer(..) függvényt használnak, amirõl tudni kell, hogyha paraméter nélkül használod egy paraméteres függvénynél, akkor minden értéke 0-t vesz föl.. (mint nálad a playerid)
Cím: 0-ás id
Írta: gergo107 - 2012. május 20. - 10:02:59
Tehát akkor Ex-el indítsam?

Dupla hozzászólás automatikusan összefûzve. ( 2012. május 20. - 10:11:30 )

Köszi, megoldódott :), zárok
Cím: 0-ás id
Írta: gergo107 - 2012. május 19. - 23:27:25
Heló, van egy alvás scriptem ami elindul egy timerrel a mod elindulásával együtt, de az a gáz hogy csak 0-ás id-vel mûküdik tehát úgy van a script, hogy van 1 public alatta a dolgok hogy vegye le az alvás értékét stb... de csak akkor mûküdik hogyha 0-ás id vok ha 3-as vagyok mondjuk akkor meg se moccan a public (Scriptel nincs semmi, átnéztem)
Cím: 0-ás id
Írta: kurta999 - 2012. május 19. - 23:59:27
Esetleg ha bemásolnád ide, többet tudnánk segíteni.
Cím: 0-ás id
Írta: gergo107 - 2012. május 20. - 00:24:31
[pawn]public Alvastimer(playerid)
{
if(!IsDoaNPC(playerid))
{
   if(Alszik[playerid] == 0)
   {
      if(PlayerInfo[playerid][pAlvas] >= 20 && PlayerInfo[playerid][pAlvas] <= 100)
      {
         SetProgressBarColor(AlvasBar[playerid],COLOR_GREEN);
         PlayerInfo[playerid][pAlvas] --;
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else if(PlayerInfo[playerid][pAlvas] >= 10 && PlayerInfo[playerid][pAlvas] <= 19)
      {
         if(PlayerInfo[playerid][pAlvas] == 10 || PlayerInfo[playerid][pAlvas] == 15)
         {
            TextDrawShowForPlayer(playerid, FeketesegTD);
            SetPlayerDrunkLevel(playerid, 1000);
            SetTimerEx (\"Lass\", 2000 ,0,\"i\",playerid);
            Msg(playerid,\"Az álmosságtól egy kicsit lecsuktad a szemeid. Sürgõsen menj el aludni!\");
         }
         PlayerInfo[playerid][pAlvas] --;
         SetProgressBarColor(AlvasBar[playerid], COLOR_YELLOW);
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else if(PlayerInfo[playerid][pAlvas] >= 1 && PlayerInfo[playerid][pAlvas] <= 9)
      {
         SetProgressBarColor(AlvasBar[playerid],COLOR_RED);
         PlayerInfo[playerid][pAlvas] --;
         SetPlayerDrunkLevel(playerid, 5999);
         if(PlayerInfo[playerid][pAlvas] == 6 || PlayerInfo[playerid][pAlvas] == 2)
         Msg(playerid,\"Már nagyon émelyegsz az álmosságtól! Gyorsan menj haza aludni!\");
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else if(PlayerInfo[playerid][pAlvas] < 1)
      {
         Cselekves(playerid,\"összeesett a fáradtságtól\", 1);
         Msg(playerid,\"Az álmosságtól Összeestél, és ott aludtál el, ahol vagy!\");
         Alszik[playerid] = 1;
      }
      SetProgressBarValue(AlvasBar[playerid], PlayerInfo[playerid][pAlvas]);
      ShowProgressBarForPlayer(playerid, AlvasBar[playerid]);
      UpdateProgressBar(AlvasBar[playerid], playerid);
   }
   else
   {
      if(PlayerInfo[playerid][pAlvas] < 100)
      {
         AlvasLabel[playerid] = Create3DTextLabel(\"ZzZzZzZzZzZz\",COLOR_GREEN,0,0,0,50,-1,1);
         Attach3DTextLabelToPlayer(AlvasLabel[playerid], playerid, 0,0,0);
         GameTextForPlayer(playerid,\"~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Alszol...\", 2000, 3);
         PlayerInfo[playerid][pAlvas] += 35;
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
      else
      {
         Alszik[playerid] = 0;
         PlayerInfo[playerid][pAlvas] = 100;
         Msg(playerid,\"Kialudtad magad, és felébredtél!\");
         Lass(playerid);
         Delete3DTextLabel(AlvasLabel[playerid]);
         Cselekves(playerid,\"felébredt álmából.\", 0);
         SetPlayerDrunkLevel(playerid, 0);
         UpdateProgressBar(AlvasBar[playerid], playerid);
      }
   }
   UpdateProgressBar(AlvasBar[playerid], playerid);
}
return 1;
}[/pawn]
Cím: 0-ás id
Írta: TengeriMalac - 2012. május 20. - 07:08:47
Ez az a bizonyos eset, amikor leírják neked \'jól\', hogy hogy kéne kinéznie, és változós függvényeknél SetTimerEx(..) helyett SetTimer(..) függvényt használnak, amirõl tudni kell, hogyha paraméter nélkül használod egy paraméteres függvénynél, akkor minden értéke 0-t vesz föl.. (mint nálad a playerid)
Cím: 0-ás id
Írta: gergo107 - 2012. május 20. - 10:02:59
Tehát akkor Ex-el indítsam?

Dupla hozzászólás automatikusan összefûzve. ( 2012. május 20. - 10:11:30 )

Köszi, megoldódott :), zárok