13.12.2016, 20:25
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).
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.
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. }
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