16.05.2016, 17:09
Hi guys,
so i made a drug system wich a player can plant several plants at a time and it works good at planting. Problem is when i try to harvest them i can only harvest the last one i planted. It just doesnt find others its like if it wasnt even setting their X Y Z pos variables. Could you guys help me? Ill leave the code here:
so i made a drug system wich a player can plant several plants at a time and it works good at planting. Problem is when i try to harvest them i can only harvest the last one i planted. It just doesnt find others its like if it wasnt even setting their X Y Z pos variables. Could you guys help me? Ill leave the code here:
PHP код:
enum drogasinfo
{
semente,
Float:sementeposX,
Float:sementeposY,
Float:sementeposZ,
drogacolher,
sementecrescimento
};
new DrugInfo[200][drogasinfo];
PHP код:
if(strcmp(cmd,"/sementes", true) == 0)
{
new x_nr[256];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_LIGHTRED,"{ADFF2F}[Comando]: {FFFFFF} /sementes [Comandos]");
SendClientMessage(playerid, COLOR_LIGHTRED,"{ADFF2F}[Comando]: {FFFFFF} plantar, colher");
return 1;
}
if(strcmp(x_nr,"plantar",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pFaction] == 7 || PlayerInfo[playerid][pFaction] == 8)
{
if(PlayerInfo[playerid][pSementes] > 0)
{
for(new c = 0;c<sizeof(DrugInfo);c++)
{
if(DrugInfo[c][sementecrescimento] == 0)
{
new Float:x;
new Float:y;
new Float:z;
ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
GetPlayerPos(playerid, x, y, z);
DrugInfo[c][semente] = CreateDynamicObject(809, x, y, z-1.0, 0, 0, 0, 0);
DrugInfo[c][sementeposX] = x;
DrugInfo[c][sementeposY] = y;
DrugInfo[c][sementeposZ] = z-1.0;
DrugInfo[c][drogacolher] = 0;
PlayerInfo[playerid][pSementes] -= 1;
SetTimerEx("crescer", 10000, false, "ii", playerid,c);
SendClientMessage(playerid, COLOR_WHITE, "[Info] Plantas-te uma semente de cocaina. Terбs que esperar algum tempo antes de a colher.");
return 1;
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "[Erro]: Nao tens sementes suficientes!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "[Erro]: Nao pertences а faction que trafica drogas");
return 1;
}
}
}
else if(strcmp(x_nr,"colher",true) == 0)
{
if(PlayerInfo[playerid][pFaction] == 7 || PlayerInfo[playerid][pFaction] == 8)
{
for(new c = 0; c < sizeof(DrugInfo); c++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, DrugInfo[c][sementeposX], DrugInfo[c][sementeposY], DrugInfo[c][sementeposZ]))
{
if(DrugInfo[c][drogacolher] == 1)
{
ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
DrugInfo[c][drogacolher] = 0;
DestroyDynamicObject(DrugInfo[c][semente]);
DrugInfo[c][sementecrescimento] = 0;
DrugsHolding[playerid] += 5;
SendClientMessage(playerid, COLOR_WHITE, "[Info]: Colheste a tua planta. Agora para a transformares tens que a entregar ao teu trabalhador.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "[Erro]: A planta ainda nao cresceu! Espera mais tempo.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "[Erro]: Nao estas perto de nenhuma planta de cocaina!");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "[Erro]: Nao pertences a faction que vende drogas!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"{FF0000}[Erro]: {FFFFFF}Comando Invalido.");
return 1;
}
return 1;
}
PHP код:
forward crescer(playerid,c);
public crescer(playerid,c)
{
DrugInfo[c][drogacolher] = 1;
}