10.05.2016, 13:14
Hi guys,
I have a little problem here. I made some sort of planting drugs and harvesting system. Problem is it doesnt store the coordinates of the plants in its ID. What i wanted is when the player planted the drug it gave the drug the lowest ID avaiable and stored its position on that id. I tried to do it but what really is happening is when i plant a new drug its almost like if the last one was deleted but the object is still there, but position is not detected after that. Here's the code:
Please help me guys. i would apreciate if someone could help me +REP
I have a little problem here. I made some sort of planting drugs and harvesting system. Problem is it doesnt store the coordinates of the plants in its ID. What i wanted is when the player planted the drug it gave the drug the lowest ID avaiable and stored its position on that id. I tried to do it but what really is happening is when i plant a new drug its almost like if the last one was deleted but the object is still there, but position is not detected after that. Here's the code:
PHP код:
enum drogasinfo
{
drogasbush,
Float:drogasx,
Float:drogasy,
Float:drogasz,
drogasid,
drogascolher,
};
new DrugInfo[50][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 b = 0; b < sizeof(DrugInfo); b++)
{
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[b][drogasbush] = CreateDynamicObject(809, x, y, z-1.0, 0, 0, 0, 0);
DrugInfo[b][drogasx] = x;
DrugInfo[b][drogasy] = y;
DrugInfo[b][drogasz] = z;
DrugInfo[b][drogascolher] = 0;
PlayerInfo[playerid][pSementes] -= 1;
SetTimerEx("crescer", 10000, false, "ii", playerid, b);
SendClientMessage(playerid, COLOR_WHITE, "[Info] Plantas-te uma semente de cocaina. Terбs que esperar algum tempo antes de a colher.");
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 b = 0; b < sizeof(DrugInfo); b++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, DrugInfo[b][drogasx], DrugInfo[b][drogasy], DrugInfo[b][drogasz]))
{
if(DrugInfo[b][drogascolher] == 1)
{
ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
DrugInfo[b][drogascolher] = 0;
DestroyDynamicObject(DrugInfo[b][drogasbush]);
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][drogascolher] = 1;
}