doch wird es da ich ein extra Befehl gemacht habe mit /ernten wo der Timer gestartet wird
Farmer Weizen
- reaL.
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Kannst du den Befehl bitte mal posten?
-
Code
ocmd:ernten(playerid) { //hier sind abfragen die ich aber erstmal ausgeklammert habe SetTimerEx("farmtimer",1500,false,"i",playerid); return 1; }
da ist der Befehl
Der Timer wird gestartet und ausgeführt aber die Pflanzen werden nicht erkannt sprich in der Funktion IsPlayerInRangeOfPflanze wird nichts geprintet -
Versuche es so:
stock IsPlayerInRangeOfPflanzen(playerid)
{
for(new i = 0; i < sizeof(Weizen); i++)
{
if(Weizen[i][w_Objekt] != -1)
{
printf("%d",Weizen[i][w_Objekt]);
if(IsPlayerInRangeOfPoint(playerid,4.0,Weizen[i][w_X],Weizen[i][w_Y],Weizen[i][w_Z]))
{
return i;
}
}
}
return -1;
} -
Hey Es funktioniert jetzt alles Danke schön aber ich habe noch eine Kleine Frage wie kann ich abfragen ob er nicht schon in einer anderen Pflanze steht ?
Sprich das er 2 Meter weiter ist ? -
Was meinst du?
Dass er immer die nächste Pflanze ausgibt im Umkreis, oder wie? -
nene ich will nicht das jemand dann z.b alle Pflanzen auf 1 Punkt macht ( buguse ) sprich das man an einer Stelle nur eine Pflanze machen kann
-
Dann kannst du beim Erstellen der Pflanzen abfragen ob IsPlayerInRangeOfPflanzen(playerid) == -1 ist, und nur dann die Pflanze erstellen.
-
breadfish.de
Hat das Thema geschlossen.