Liberty Unleashed

Scripting => Script Help => Topic started by: SM999pgrz on December 21, 2015, 05:22:32 pm

Title: Timer with seconds and minutes
Post by: SM999pgrz on December 21, 2015, 05: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?  ::)?
Title: Re: Timer with seconds and minutes
Post by: SM999pgrz on December 21, 2015, 05: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;
}
Title: Re: Timer with seconds and minutes
Post by: Theremin on December 21, 2015, 06: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
Title: Re: Timer with seconds and minutes
Post by: rwwpl on December 21, 2015, 06: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);
}
}
}
Title: Re: Timer with seconds and minutes
Post by: SM999pgrz on December 23, 2015, 01: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
Title: Re: Timer with seconds and minutes
Post by: Ankris on December 26, 2015, 01: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; }