Moin moin,
und zwar arbeite ich zurzeit an ein Drogensystem, aber 1 sache Funktioniert nicht. Wenn ich 1 Drogenpflanze anpflanze funkitoniert alles. Doch wenn ich eine 2 anpflanze steht dann wenn ich /drogeernte eingeben "Du bist an keine Drogepflanze"
Code:
ocmd:drogepflanzen(playerid,params[])
{
if (GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, COLOR_GREY, "Du musst zu Fuß sein!");
if (GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "Du darfst in kein Gebäude sein!");
if (SpielerInfo[playerid][pDrogensamen]<9)
{
SendClientMessage(playerid, COLOR_GREY,"Du hast nicht genug Samen.");
return 1;
}
if (SpielerInfo[playerid][pDrugsplanted]>5)
{
SendClientMessage(playerid,COLOR_RED,"Du kannst nur 6 Drogenpflanzen anpflanzen, ernte zuerst die Anderen!");
return 1;
}
for(new weed = 0; weed < sizeof(WeedInfo); weed++)
{
if(WeedInfo[weed][wPlanted] == 0 && WeedInfo[weed][wTime] == 0)
{
new Float:X,Float:Y,Float:Z,string2[200],ss[200];
ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
GetPlayerPos(playerid, X, Y, Z);
WeedInfo[weed][wObject] = CreateDynamicObject(3409, X, Y, Z-2.0, 0, 0, 0, 0);
WeedInfo[weed][wX] = X;
WeedInfo[weed][wY] = Y;
WeedInfo[weed][wZ] = Z;
WeedInfo[weed][wTime] = 25;
WeedInfo[weed][wPlanted] = 1;
strmid(WeedInfo[weed][WeedPlanter],SpielerName(playerid), 0, strlen(SpielerName(playerid)), 50);
format(ss,sizeof(ss),"Canabis-Droge\nPflanzer: %s\nZeit bis Ernte: %d Minuten",SpielerName(playerid),WeedInfo[weed][wTime]);
WeedInfo[weed][Weedlbl] = Create3DTextLabel(ss,COLOR_WHITE,X,Y,Z,10.0,0,0);
SpielerInfo[playerid][pDrogensamen]-=9;
SpielerInfo[playerid][pDrugsplanted]++;
SetTimerEx("DrogenTime",60000,0,"d",weed);
SendClientMessage(playerid,COLOR_GREEN,"Du hast erfolgreich eine Droge angepflanzt ( Du musst noch 25 Minuten warten! )");
format(string2,sizeof(string2),"INSERT INTO `drogen` (`id`,`Pflanzer`,`Time`,`X`,`Y`,`Z`) VALUES ('%d','%s','%d','%f','%f','%f')",weed,WeedInfo[weed][WeedPlanter],WeedInfo[weed][wTime],WeedInfo[weed][wX],WeedInfo[weed][wY],WeedInfo[weed][wZ]);
mysql_query(string2);
return 1;
}
}
return 1;
}
Drogeernten:
ocmd:drogeernten(playerid,params[])
{
for(new weed = 0; weed < sizeof(WeedInfo); weed++)
{
new string2[120];
if(IsPlayerInRangeOfPoint(playerid,6.0,WeedInfo[weed][wX],WeedInfo[weed][wY],WeedInfo[weed][wZ]))
{
if(WeedInfo[weed][wPlanted] == 1)
{
if(WeedInfo[weed][wTime] <= 0)
{
ApplyAnimation(playerid, "BOMBER","BOM_Plant_In",4.0,0,0,0,0,0);
DestroyDynamicObject(WeedInfo[weed][wObject]);
format(query,sizeof(query),"DELETE FROM drogen WHERE id='%i'",weed);
mysql_query(query);
WeedInfo[weed][wX] = 0.0;
WeedInfo[weed][wY] = 0.0;
WeedInfo[weed][wZ] = 0.0;
WeedInfo[weed][wPlanted] = 0;
SendClientMessage(playerid,COLOR_GREEN,"Du hast die Drogenpflanze erfolgreich abgepflanzt!");
SpielerInfo[playerid][pDrugsplanted]--;
Delete3DTextLabel(WeedInfo[weed][Weedlbl]);
return 1;
}
else
{
format(string2,sizeof(string2),"Deine Pflanze ist noch nicht fertig du musst noch %d Minuten warten.",WeedInfo[weed][wTime]);
SendClientMessage(playerid, COLOR_RED, string2);
return 1;
}
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Hier ist keine Drogepflanze!");
return 1;
}
}
return 1;
}
und der enum:
enum wInfo
{
wPlanted,
WeedPlanter[MAX_PLAYER_NAME],
wTime,
wObject,
Float:wX,
Float:wY,
Float:wZ,
wWeed,
Text3D:Weedlbl
};
new WeedInfo[1000][wInfo];
Wenn ihr mehr braucht sagt bescheid