Liberty Unleashed
Scripting => Script Help => Topic started 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? ::)?
-
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;
}
-
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
-
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:
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);
}
}
}
-
??? 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
-
u meant this?
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; }