Problema con timers y objetos.
#1

Que tal, estoy creando un sistema que le de realismo a granjas, con pastos y demбs, que al ser pasados por encima estos se destruyan(Y al rato se creen nuevamente, obvio).

Y bueno, estoy teniendo un problema a la hora de testearlo InGame.

El timer "TimerPasto" lo estoy llamando desde OnPlayerConnect.
("function" es una forma que tengo de definir un callback con rapidez en mi GameMode).

Код:
function TimerPasto(playerid)
{
	new string[128];
	if(IsPlayerConnected(playerid))
	{
		for(new i = 0; i < sizeof(PastoInfo); i++)//Aca crearia el ciclo for para obtener el ID del objeto en donde el jugador esta.
                {
			if(IsPlayerInRangeOfPoint(playerid,3,PastoInfo[i][hpastoX], PastoInfo[i][hpastoY], PastoInfo[i][hpastoZ]))//Aca detectaria si esta cerca del objeto y sus floats asignados.
			{
		 		DestroyObject(PastoInfo[i][hObjID]);//Destruyo el objeto.
				CosechaActual[playerid] += 1;//Todo esto de la cosecha lo hize a modo debug, para ver en que sentido andaba bien y mal el codigo. Esto anda "bien".
				format(string, sizeof(string), "%d/%d COSECHA",CosechaActual[playerid],CosechaMaxima[playerid]);
				SetTimerEx("ArribaPasto", 15000, false, "i", PastoInfo[i][hObjID]);//Llamo al timer con el parametro de la ID del objeto.
			}
		}
		GameTextForPlayer(playerid,string,500,1);
	}
}

function ArribaPasto(objectid)//Objectid seria mi ID del pasto.
{
		new pastoobjeto, randompasto = random(2);//Simplemente creo un random para que no sea el mismo objeto siempre.
		switch(randompasto)
		{
			case 0:
			{
				pastoobjeto = 819;//PastoInfo[iIndex][pastoID] = CreateObject(819, PastoInfo[iIndex][pastoX], PastoInfo[iIndex][pastoY], PastoInfo[iIndex][pastoZ], 0.00, 0.00, 0.00);
			}
			case 1:
			{
				pastoobjeto = 824;//PastoInfo[iIndex][pastoID] = CreateObject(824, PastoInfo[iIndex][pastoX], PastoInfo[iIndex][pastoY], PastoInfo[iIndex][pastoZ], 0.00, 0.00, 0.00);
			}
		}
		PastoInfo[objectid][hObjID] = CreateObject(pastoobjeto, PastoInfo[objectid][hpastoX], PastoInfo[objectid][hpastoY], PastoInfo[objectid][hpastoZ], 0.00, 0.00, 0.00);//Esta parte no tiene acciуn. El codigo no llega hasta aca o no se que onda, pero el objeto no se crea.
}
En el codigo deje la mayoria de las aclaraciones, solo me falta decir que el GameTextForPlayer que puse a modo debug, cada vez que un jugador se conecta, este aparece(Y con numeros extremadamente altos, como 7000 o 8000, teniendo en cuenta que yo en OnPlayerConnect puse que el jugador aparezca con la variable de CosechaActual a 0, al igual que CosechaMaxima, y tecnicamente no deberia aparecer el GameText alli ;V)


Muchas gracias de antemano.


EDIT: Algo que olbide mencionar, tambien recibo estos warnings.
Код:
[warning] client exceeded 'ackslimit' 127.0.0.1:56980 (6481) Limit: 3000/sec
Reply


Messages In This Thread
Problema con timers y objetos. - by ByMatt20030 - 13.12.2016, 20:25
Re: Problema con timers y objetos. - by Unrea1 - 13.12.2016, 20:38
Re: Problema con timers y objetos. - by ByMatt20030 - 14.12.2016, 01:37
Re: Problema con timers y objetos. - by Unrea1 - 14.12.2016, 02:38

Forum Jump:


Users browsing this thread: 1 Guest(s)