PDA

Просмотр полной версии : [Вопрос] Таймер



BaBuIIIkaDrifteR
22.01.2015, 14:08
Сделал таймер поидеи должно работать так. Нажал на мышку машина прыгнула. если еще раз нажал должно писать "раз в 2 секунды можно использовать" и через 2 сек опять можно пользоваться. В чем косяк?


////////////////////////////
if(IsPlayerInAnyVehicle(playerid) && (newkeys & KEY_FIRE))
{
if(IsMessageSent[playerid] == 1)
{
new Float:Velocity[3], car = GetPlayerVehicleID(playerid);
GetVehicleVelocity(car, Velocity[0], Velocity[1], Velocity[2]);
SetVehicleVelocity(car, Velocity[0], Velocity[1], Velocity[2]+0.2);
SCM(playerid, -1, "Жди 2 секунды и повтори");
IsMessageSent[playerid] = 1;
SetTimerEx("UnMutedX",interval*1000,0,"d",playerid);
return false;
}
}
////////////////

L0ndl3m
22.01.2015, 16:36
if((newkeys & KEY_FIRE) != 0)
{
new
vehicleid = GetPlayerVehicleID(playerid);

if(vehicleid != 0)
{
new
server_tick = GetTickCount();

if(server_tick - GetPVarInt(playerid, "last_click") > 2000)
{
new
Float: x,
Float: y,
Float: z;

GetVehicleVelocity(vehicleid, x, y, z);
SetVehicleVelocity(vehicleid, x, y, z + 0.2);
SetPVarInt(playerid, "last_tick", server_tick);
}
else
SendClientMessage(playerid, -1, "Жди две секунды и повтори.");
}
return 1;
}

BaBuIIIkaDrifteR
23.01.2015, 15:39
if((newkeys & KEY_FIRE) != 0)
{
new
vehicleid = GetPlayerVehicleID(playerid);

if(vehicleid != 0)
{
new
server_tick = GetTickCount();

if(server_tick - GetPVarInt(playerid, "last_click") > 2000)
{
new
Float: x,
Float: y,
Float: z;

GetVehicleVelocity(vehicleid, x, y, z);
SetVehicleVelocity(vehicleid, x, y, z + 0.2);
SetPVarInt(playerid, "last_tick", server_tick);
}
else
SendClientMessage(playerid, -1, "Жди две секунды и повтори.");
}
return 1;
}


Cпасибо твой код работает но у тебя в нем маленький косяк был.
SetPVarInt(playerid, "last_tick", server_tick);

L0ndl3m
23.01.2015, 18:16
Да, спасибо, бывает. Проблема решена?

BaBuIIIkaDrifteR
23.01.2015, 22:53
Да, спасибо, бывает. Проблема решена?

Yes =)