21.07.2014, 00:15
Hola estoy haciendo un sistema de casas utiliazando pickups.
Mi problema es que cuando estoy encima del pickup este se repite cada 2 segundos, es decir cada 2 segundos se ejecuta todo el codigo, quisiera saber como podria ponerle un timer.
Tambien quiero optimizar un poco el codigo, quisiera detectar si el icono es 1272 o 1273 (casa azul y casa verde) se ejecute un bucle que recorra las casa, no se como obtener el ID del icono. Lo que quiero con esto es evitar recorrer todas las casas si un usuario no esta en el pickup 1272 o 1273.
Mi problema es que cuando estoy encima del pickup este se repite cada 2 segundos, es decir cada 2 segundos se ejecuta todo el codigo, quisiera saber como podria ponerle un timer.
Tambien quiero optimizar un poco el codigo, quisiera detectar si el icono es 1272 o 1273 (casa azul y casa verde) se ejecute un bucle que recorra las casa, no se como obtener el ID del icono. Lo que quiero con esto es evitar recorrer todas las casas si un usuario no esta en el pickup 1272 o 1273.
pawn Код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
new string[64];
for (new idx = 0; idx < TotalCasas; idx ++)
{
if(pickupid == CasaInfo[idx][Icono])
{
if (strcmp(CasaInfo[idx][Propietario], "0")) // Si Propietario 0, la casa estara en venta. Si no es 0 traera el nombre del dueсo.
{
format(string, sizeof(string), "Estas en la casa ID %i y su dueсo es %s.", CasaInfo[idx][ID], CasaInfo[idx][Propietario]);
SendClientMessage(playerid, COLOR_BLANCO, string);
}
else
{
format(string, sizeof(string), "Estas en la casa ID %i y esta en venta por ($) %i.", CasaInfo[idx][ID], CasaInfo[idx][Precio]);
SendClientMessage(playerid, COLOR_BLANCO, string);
}
}
}
return 1;
}
public CargarCasasInfo()
{
new fila, campo, vendida;
cache_get_data(fila, campo, MySQL);
if (fila)
{
for (new idx = 0; idx < fila; idx ++)
{
/* Aqui cargo las variables */
/* ..... */
if (strcmp(CasaInfo[idx][Propietario], "0")) vendida = 1272; else vendida = 1273;
CasaInfo[idx][Icono] = CreatePickup(vendida, 1, CasaInfo[idx][Exterior_X], CasaInfo[idx][Exterior_Y], CasaInfo[idx][Exterior_Z]);
TotalCasas++;
}
printf("Total de casas cargadas: %d (MAXIMO: %d)", TotalCasas, MAX_CASAS);
}
return 1;
}