Author Topic: Timer with seconds and minutes  (Read 1389 times)

SM999pgrz

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-1
    • View Profile
Timer with seconds and minutes
« on: December 21, 2015, 06:22:32 pm »
 :o I want to create timers like 'you have 50 seconds to return to vehicle' and a way to make it stop when i want, can some one help me to do it?  ::)?

SM999pgrz

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-1
    • View Profile
Re: Timer with seconds and minutes
« Reply #1 on: December 21, 2015, 06:24:51 pm »
now u known why i need this timer LOL  :P
function OverMission(player) {
          ClearMessages(player);
          aa.Delete();
          bb.Delete();
          cc.Delete();
          dd.Delete();
          ee.Delete();
          ff.Delete();
          gg.Delete();
          hh.Delete();
          ii.Delete();
          jj.Delete();
          kk.Delete();
          ll.Delete();
          mm.Delete();
          nn.Delete();
          oo.Delete();
          pp.Delete();
          qq.Delete();
          rr.Delete();
          ss.Delete();
          tt.Delete();
          uu.Delete();
}         
function TimeOver(player) {

function a() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~20~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function b() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~19~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function c() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~18~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function d() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~17~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function e() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~16~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function f() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~15~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function g() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~14~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function h() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~13~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function i() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~12~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function j() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~11~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function k() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~10~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function l() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~9~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function m() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~8~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function n() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~7~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function o() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~6~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function p() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~5~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function q() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~4~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function r() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~3~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function s() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~2~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function t() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~ 1 ~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function u() {
local PC = DatosHash.Get( player.Name + "PC" );
  ClearMessages(player);
  if (PC == 0) BigMessage(player, "~r~Mission Over", 4000, 3);
  DatosHash.Add( player.Name + "PC", 0 );
  DatosHash.Save("AccHashes/Datos.sav");
  return true;
}
   local PC = DatosHash.Get( player.Name + "PC" );
   ClearMessages(player);
   if (PC == 0) SmallMessage(player, "You have ~r~20~h~ seconds to return to vehicle.", 20000, 3);
   aa <- NewTimer("a", 1000, 1);
   bb <- NewTimer("b", 2000, 1);
   cc <- NewTimer("c", 3000, 1);
   dd <- NewTimer("d", 4000, 1);
   ee <- NewTimer("e", 5000, 1);
   ff <- NewTimer("f", 6000, 1);
   gg <- NewTimer("g", 7000, 1);
   hh <- NewTimer("h", 8000, 1);
   ii <- NewTimer("i", 9000, 1);
   jj <- NewTimer("j", 10000, 1);
   kk <- NewTimer("k", 11000, 1);
   ll <- NewTimer("l", 12000, 1);
   mm <- NewTimer("m", 13000, 1);
   nn <- NewTimer("n", 14000, 1);
   oo <- NewTimer("o", 15000, 1);
   pp <- NewTimer("p", 16000, 1);
   qq <- NewTimer("q", 17000, 1);
   rr <- NewTimer("r", 18000, 1);
   ss <- NewTimer("s", 19000, 1);
   tt <- NewTimer("t", 20000, 1);
   uu <- NewTimer("u", 21000, 1); 
 
   return true;
}
function TimeReturnPolice(player) {
   local PC = DatosHash.Get( player.Name + "PC" );
   if (PC == 0) TimeOver(player);
   return true;
}

Theremin

  • Full Member
  • ***
  • Posts: 154
  • Karma: +48/-18
  • Worst Server Owner
    • View Profile
    • Visit my YouTube channel
Re: Timer with seconds and minutes
« Reply #2 on: December 21, 2015, 07:11:37 pm »
Ok I'm not sure exactly how to do it but, in my opinion a cleaner idea would using always the same timer (repeating it how many times you want, 20 in this case) and then just increase the number of seconds in SmallMessage

P.s embed the code inside [ code] [ /code] tags, it will look a lot better and more readable as well

rwwpl

  • Full Member
  • ***
  • Posts: 126
  • Karma: +18/-6
  • LU-DM Team
    • View Profile
    • LU-DM Team
Re: Timer with seconds and minutes
« Reply #3 on: December 21, 2015, 07:53:53 pm »
now u known why i need this timer LOL  :P
function OverMission(player) {
          ClearMessages(player);
          aa.Delete();
          bb.Delete();
          cc.Delete();
          dd.Delete();
          ee.Delete();
          ff.Delete();
          gg.Delete();
          hh.Delete();
          ii.Delete();
          jj.Delete();
          kk.Delete();
          ll.Delete();
          mm.Delete();
          nn.Delete();
          oo.Delete();
          pp.Delete();
          qq.Delete();
          rr.Delete();
          ss.Delete();
          tt.Delete();
          uu.Delete();
}         
function TimeOver(player) {

function a() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~20~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function b() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~19~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function c() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~18~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function d() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~17~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function e() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~16~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function f() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~15~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function g() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~14~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function h() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~13~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function i() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~12~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function j() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~11~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function k() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~10~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function l() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~9~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function m() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~8~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function n() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~7~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function o() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~6~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function p() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~5~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function q() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~4~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function r() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~3~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function s() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~2~h~ seconds to return to vehicle.", 1000, 3);
 else OverMission(player);
  return true;
}
function t() {
local PC = DatosHash.Get( player.Name + "PC" );
ClearMessages(player);
  if (PC == 0) SmallMessage(player, "You have ~r~ 1 ~h~ seconds to return to vehicle.", 1000, 3);
  else OverMission(player);
  return true;
}
function u() {
local PC = DatosHash.Get( player.Name + "PC" );
  ClearMessages(player);
  if (PC == 0) BigMessage(player, "~r~Mission Over", 4000, 3);
  DatosHash.Add( player.Name + "PC", 0 );
  DatosHash.Save("AccHashes/Datos.sav");
  return true;
}
   local PC = DatosHash.Get( player.Name + "PC" );
   ClearMessages(player);
   if (PC == 0) SmallMessage(player, "You have ~r~20~h~ seconds to return to vehicle.", 20000, 3);
   aa <- NewTimer("a", 1000, 1);
   bb <- NewTimer("b", 2000, 1);
   cc <- NewTimer("c", 3000, 1);
   dd <- NewTimer("d", 4000, 1);
   ee <- NewTimer("e", 5000, 1);
   ff <- NewTimer("f", 6000, 1);
   gg <- NewTimer("g", 7000, 1);
   hh <- NewTimer("h", 8000, 1);
   ii <- NewTimer("i", 9000, 1);
   jj <- NewTimer("j", 10000, 1);
   kk <- NewTimer("k", 11000, 1);
   ll <- NewTimer("l", 12000, 1);
   mm <- NewTimer("m", 13000, 1);
   nn <- NewTimer("n", 14000, 1);
   oo <- NewTimer("o", 15000, 1);
   pp <- NewTimer("p", 16000, 1);
   qq <- NewTimer("q", 17000, 1);
   rr <- NewTimer("r", 18000, 1);
   ss <- NewTimer("s", 19000, 1);
   tt <- NewTimer("t", 20000, 1);
   uu <- NewTimer("u", 21000, 1); 
 
   return true;
}
function TimeReturnPolice(player) {
   local PC = DatosHash.Get( player.Name + "PC" );
   if (PC == 0) TimeOver(player);
   return true;
}

LOOOOL

Fast example:

Code: [Select]
Count <- array(GetMaxPlayers(),0);

function onServerStart()
{
NewTimer("CountDown",1000,0);
return 1;
}

function CountDown()
{
for (local i = 0; i <= GetMaxPlayers(); i++)
{
local p = FindPlayer(i);
if (p)
{
if (p.Vehicle) Count[p.ID] ++;
else Count[p.ID] --;
MessagePlayer("Count: "+Count[p.ID],p);
}
}
}
« Last Edit: December 21, 2015, 08:00:14 pm by rwwpl »

SM999pgrz

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-1
    • View Profile
Re: Timer with seconds and minutes
« Reply #4 on: December 23, 2015, 02:16:41 pm »
 ??? Okay. nice example but i need an timer then i can stop when i want and start when i want too
 

  :
function onPlayerEnteredVehicle(player, vehicle, seat) {
   if (vehicle.Model == 116) {
    if (seat == 0) {
    BigMessage(player, "~y~Police Oficcer", 4000, 3);
    ///// OverMission(player); /////// function to remove the timer, if have some timer running.
    }
   }
  }
  return true;
}

and the same on player exited vehicle to start the timer

Ankris

  • Full Member
  • ***
  • Posts: 110
  • Karma: +29/-44
    • View Profile
Re: Timer with seconds and minutes
« Reply #5 on: December 26, 2015, 02:00:07 am »
u meant this?

Code: [Select]
police_timeout <- array(GetMaxPlayers(), 0);

function onPlayerExitedVehicle(player, vehicle) {
switch(vehicle.Model) {
case VEH_POLICECAR: {
police_timeout[player.ID] = 60;

break;
}
}
}

function DecTimeout() {
for(local i=0;i<police_timeout.len();i++) {
if (police_timeout[i] > 0) {
SmallMessage(FindPlayer(i), "You have ~r~"+police_timeout[i]+" ~h~seconds to return to the vehicle.", 3000, 1);
}
}
}

function onPlayerPart(player, reason) { police_timeout[player.ID] = 0; }

 

© Liberty Unleashed Team.