Kill timer help.
#1

Hello i have a system that make you can buy weapons only for some time.
I want to make if the user death or when is changing map, to kill this timer.
Code:
public OnPlayerSpawn(playerid)
{
    SetTimerEx("TiempoCompra", 20000, false, "i", playerid); //Time to buy weapons.
    SendClientMessage(playerid,Verde,"[Informaciуn] {FFFFFF}Tienes un periodo de tiempo para equiparte, usa la tecla (H) para desplegar el menъ.");
}
forward TiempoCompra(playerid);
public TiempoCompra(playerid)
{
    TextDrawHideForPlayer(playerid, Carrito[0]); //Textdraws
    TextDrawHideForPlayer(playerid, Carrito[1]); // ""
    TextDrawHideForPlayer(playerid, Carrito[2]); // ""
    TextDrawHideForPlayer(playerid, Carrito[3]); // ""
    TextDrawHideForPlayer(playerid, Carrito[4]); // ""
    PuedeComprar[playerid] = 0; //Make the player cannot buy anything.
    SendClientMessage(playerid,Rojo,"[Informaciуn] {FFFFFF}El periodo de tiempo para equiparte ha expirado.");
    return 1;
}
Reply
#2

Code:
new Timer[MAX_PLAYERS];

public OnPlayerSpawn(playerid)
{
    Timer[playerid] = SetTimerEx("TiempoCompra", 20000, false, "i", playerid); //Time to buy weapons.
    SendClientMessage(playerid,Verde,"[Informaciуn] {FFFFFF}Tienes un periodo de tiempo para equiparte, usa la tecla (H) para desplegar el menъ.");
}
public OnPlayerDeath(playerid, killerid, reason)
{
	KillTimer(Timer[playerid]);
	return 1;
}
forward TiempoCompra(playerid);
public TiempoCompra(playerid)
{
    TextDrawHideForPlayer(playerid, Carrito[0]); //Textdraws
    TextDrawHideForPlayer(playerid, Carrito[1]); // ""
    TextDrawHideForPlayer(playerid, Carrito[2]); // ""
    TextDrawHideForPlayer(playerid, Carrito[3]); // ""
    TextDrawHideForPlayer(playerid, Carrito[4]); // ""
    PuedeComprar[playerid] = 0; //Make the player cannot buy anything.
    SendClientMessage(playerid,Rojo,"[Informaciуn] {FFFFFF}El periodo de tiempo para equiparte ha expirado.");
    return 1;
}
@EDIT

This timer does not need KillTimer!
Reply
#3

Cuando cambia de ronda o cuando mueres, a veces hay mбs de un timer en marcha...
Reply
#4

ЎEs correcto!
Code:
new Timer[MAX_PLAYERS];
new bool:PuedeComprar[MAX_PLAYERS];

public OnPlayerSpawn(playerid)
{
	PuedeComprar[playerid] = true;
    Timer[playerid] = SetTimerEx("TiempoCompra", 20000, false, "i", playerid); //Time to buy weapons.
    SendClientMessage(playerid,Verde,"[Informaciуn] {FFFFFF}Tienes un periodo de tiempo para equiparte, usa la tecla (H) para desplegar el menъ.");
}
public OnPlayerDeath(playerid, killerid, reason)
{
	if(PuedeComprar[player] == true)
	{
		KillTimer(Timer[playerid]);
		TiempoCompra(playerid);
	}
	
	return 1;
}
forward TiempoCompra(playerid);
public TiempoCompra(playerid)
{
    TextDrawHideForPlayer(playerid, Carrito[0]); //Textdraws
    TextDrawHideForPlayer(playerid, Carrito[1]); // ""
    TextDrawHideForPlayer(playerid, Carrito[2]); // ""
    TextDrawHideForPlayer(playerid, Carrito[3]); // ""
    TextDrawHideForPlayer(playerid, Carrito[4]); // ""
    PuedeComprar[playerid] = false; //Make the player cannot buy anything.
    SendClientMessage(playerid,Rojo,"[Informaciуn] {FFFFFF}El periodo de tiempo para equiparte ha expirado.");
    return 1;
}
Reply
#5

El primer post me sirviу, Ўmuchas gracias!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)