Skripta koju koristim: Vaka Script
Detaljan opis problema: Paa uzeo sam onu Raplayovu fs kao kosac i sad kad ocu da kosim travu ne moze da mi kida te objekte tj. samo prolazim kroz nju nece da je pokosi ...
Dio skripte: YCMD:kositravu(playerid, params[], help)
{
#pragma unused help
#pragma unused params
new vehicleID = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pPosao] != POSAO_KOSACTRAVE) return SCM(playerid, -1, ""GLAVNA"(BH) "BELA": Nemas posao kosaca trave!");
if (strcmp(params, "start", true) == 0)
{
if(!KosenjeVozila(GetPlayerVehicleID(playerid))) return SCM(playerid, -1, ""GLAVNA"(BH) "BELA": Niste u kosilici!");
if( PlayerInfo[ playerid ][ pWorkedTimes ] == 3 ) return SCM(playerid, -1, "ne mos vise radit ");
if(PlayerInfo[playerid][pWorking] == true) return SCM(playerid, -1, "vec radis");
PlayerInfo[playerid][pWorking] = true;
PlayerInfo[playerid][pMowed] = 0;
PlayerInfo[playerid][MowerTimer] = SetTimerEx("GrassTimer", 250, true, "i", playerid);
CreateGrass(playerid);
SCM(playerid, -1, ""GLAVNA"(BH) "BELA": Poceli ste sa poslom !");
}
else if (strcmp(params, "stop", true) == 0)
{
if(!KosenjeVozila(GetPlayerVehicleID(playerid))) return SCM(playerid, -1, ""GLAVNA"(BH) "BELA": Niste u kosilici!");
if(PlayerInfo[playerid][pWorking] == false) return SCM(playerid, -1, "niste poceli s poslom");
PlayerInfo[playerid][pWorking] = false;
PlayerInfo[playerid][pMowed] = 0;
KillTimer(PlayerInfo[playerid][MowerTimer]);
SetVehicleToRespawn( vehicleID );
SCM(playerid, -1, ""GLAVNA"(BH) "BELA": Zaustavili ste posao !");
PlayerInfo[playerid][pWorkedTimes] --;
for(new i = 0; i < 37; i++)
{
DestroyDynamicObject(PlayerInfo[playerid][pGrassObject][i]);
}
}
else
{
SendClientMessage(playerid, 0xc0c0c0FF, "/work [start/stop]" );
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): http://prntscr.com/4dhae6
Da li si ti ubacio proveru kada igrac stane na tu poziciju da nestane objekat ?
Ovo da? :)
forward GrassTimer(playerid);
public GrassTimer(playerid)
{
new vehicleID = GetPlayerVehicleID(playerid);
if(!KosenjeVozila(GetPlayerVehicleID(playerid)))
{
if(PlayerInfo[playerid][pPosao] == POSAO_KOSACTRAVE)
{
if(PlayerInfo[playerid][pWorking] == true)
{
new Float:grPos[3],
cpid = -1;
for(new t = 0; t < 37; t++)
{
GetDynamicObjectPos(PlayerInfo[playerid][pGrassObject][t], grPos[0], grPos[1], grPos[2]);
if(IsPlayerInRangeOfPoint(playerid, 2.0, grPos[0], grPos[1], grPos[2]))
{
cpid = t;
break;
}
}
if( cpid == -1 ) return 1;
DestroyDynamicObject(PlayerInfo[playerid][pGrassObject][cpid]);
GameTextForPlayer(playerid, "~g~+10$", 1000, 1);
GivePlayerMoney(playerid, PAYMENT);
PlayerInfo[playerid][pMowed]++;
if(PlayerInfo[playerid][pMowed] == 37)
{
SendClientMessage(playerid, 0x008000FF, "Pokosili ste svu travu i zavrsili sa poslom!");
PlayerInfo[playerid][pWorkedTimes] --;
PlayerInfo[playerid][pWorking] = false;
PlayerInfo[playerid][pMowed] = 0;
KillTimer(PlayerInfo[playerid][MowerTimer]);
SetVehicleToRespawn( vehicleID );
SetVehicleToRespawn( vehicleID );
for(new i = 0; i < 37; i++)
{
DestroyDynamicObject(PlayerInfo[playerid][pGrassObject][i]);
}
}
}
}
}
return 1;
}
Ovde pise DestroyDynamicObject pogledaj da se objekti ne stvaraju pod CreateObject
Ne sve je u dynamic :/
Proveri opet sve da li je lepo ubaceno.
Po meni ubacio sam sve kako treba ako ti zelis slucajno pogledati da ti dam ovu fs pa da vidis sta fali ? :)
Jednostavno ovako mozda fs nije napravljena lepo ubaci fs i pogledaj da li radi ako ne radi onda je do nje.
Vidit cemo dal neko zna odgovor .. >:(
Ipak sam skonto problem .. Moze lock ;) !