Hey
Ich bastel zur zeit an ein Farmer System habe aber das Problem das beim 2 durchlauf ( also nach 2 Sekunden meine varriable von farmtrucker -996879983 ist aber wieso ?
//=====================================================================================================================================================
//=====================================================================================================================================================
// Bauer
new Trailerid[MAX_VEHICLES];
new Tractorid[MAX_VEHICLES];
enum enum_Weizen
{
w_ID,
w_Objekt,
Float:w_X,
Float:w_Y,
Float:w_Z,
w_Zustand
}
new Weizen[][enum_Weizen];
enum playerfarminfo
{
bool:farm_aktiv,
farmteil,
farmtruck,
farmtrucki,
farmtruckinhalt[MAX_VEHICLES],
farmsaehen,
farmernten,
w_weizenzahl
}
new farminfo[MAX_PLAYERS][playerfarminfo];
//OnPlayerStateChange
if(vModel == 531)
{
if(Jobc[i][Playerid] != -1)
{
SendClientMessage(playerid,ROT,"Das Fahrzeug wird schon benutzt.");
return RemovePlayerFromVehicle(playerid);
}
farminfo[playerid][farm_aktiv] = true;
Jobc[i][Playerid] = playerid;
farminfo[playerid][farmtruck] = Veh;
farminfo[playerid][farmtrucki] = i;
farminfo[playerid][farmteil] = 1;
farminfo[playerid][w_weizenzahl] = 0;
PlayerTextDrawShow(playerid, Job[playerid]);
PlayerTextDrawShow(playerid, Job1[playerid]);
TextDrawShowForPlayer(playerid,Jobh);
TextDrawShowForPlayer(playerid,Jobh1);
TextDrawShowForPlayer(playerid,Jobh2);
format(string,sizeof(string),"Farmer");
PlayerTextDrawSetString(playerid,Job[playerid], string);
format(string,sizeof(string),"S\154hen~n~%d/%d Angepflanzt~n~Jobcarid %d",farminfo[playerid][w_weizenzahl],GetBauernMaxWeizen(playerid),farminfo[playerid][farmtruck]);
PlayerTextDrawSetString(playerid,Job1[playerid], string);
return 1;
}
else
{
if(Jobc[i][Playerid] != -1 && Jobc[i][Playerid] != playerid)
{
SendClientMessage(playerid,ROT,"Das Fahrzeug wird schon benutzt.");
return RemovePlayerFromVehicle(playerid);
}
}
ocmd:saehen(playerid)
{
if(sInfo[playerid][pJob] != 4) return SendClientMessage(playerid,ROT,"Du bist kein Farmer.");
if(farminfo[playerid][farm_aktiv] == false) return SendClientMessage(playerid,ROT,"Du hast kein Schl�ssel daf�r.");
if(farminfo[playerid][farmteil] != 1) return SendClientMessage(playerid,ROT,"Du brauchst gerade nicht S�hen.");
if(farminfo[playerid][farmsaehen] == 1) return SendClientMessage(playerid,ROT,"Du S�hst gerade schon.");
farminfo[playerid][farmsaehen] = 1;
return 1;
}
public SekundenTimer()
{
for(new i = 0; i <= GetPlayerPoolSize(); i++)
{
if(!IsPlayerConnected(i)) continue;
if(sInfo[i][pJob] == 4)
{
if(farminfo[i][farm_aktiv] != true) continue;
for(new w = 0; w {
if(Weizen[w][w_Z] != 127.59)
{
Weizen[w][w_Z] += 0.5;
if(Weizen[w][w_Z] == 126.200) Weizen[w][w_Z] = 127.59;
MovePlayerObject(i,Weizen[w][w_Objekt], Weizen[w][w_X], Weizen[w][w_Y], Weizen[w][w_Z],0.35,0.0, 0.0, 0.0);
}
}
if(!IsPlayerInArea(i,-1191.2891,-1060.6648,-1007.6477,-930.9543)) continue;
if(farminfo[i][farmsaehen] == 1)
{
if(!IsPlayerInAnyVehicle(i)) return SendClientMessage(i,ROT,"Du musst dich in einem Fahrzeug befinden!"),farminfo[i][farmsaehen] = 0;
if(GetPlayerVehicleID(i) != farminfo[i][farmtruck]) return SendClientMessage(i,ROT,"Du bist nichtmehr in dein Jobfahrzeug."),farminfo[i][farmsaehen] = 0;
if(IsPlayerZuNahAnPflanze(i)) return SendClientMessage(i,ROT,"Du kannst die Pflanzen nicht so dicht an einander Pflanzen!");
new Float:z,w = farminfo[i][w_weizenzahl],string[128];
GetPlayerPos(i,Weizen[w][w_X],Weizen[w][w_Y],z);
Weizen[w][w_Z] = 123.200;
Weizen[w][w_Objekt] = CreatePlayerObject(i,855,Weizen[w][w_X],Weizen[w][w_Y],123.200,0.0, 0.0, 0.0);
farminfo[i][w_weizenzahl] ++;
format(string,sizeof(string),"S\154hen~n~%d/%d Angepflanzt~n~Jobcarid %d",farminfo[i][w_weizenzahl],GetBauernMaxWeizen(i),farminfo[i][farmtruck]);
PlayerTextDrawSetString(i,Job1[i], string);
if(farminfo[i][w_weizenzahl] == GetBauernMaxWeizen(i))
{
farminfo[i][farmsaehen] = 0;
SendClientMessage(i,GR�N,"Du kannst nun das geseete Weizen ernten.");
farminfo[i][farmteil] = 2;
format(string,sizeof(string),"Ernten~n~%d/%d Geerntet~n~Jobcarid %d",GetBauernMaxWeizen(i)-farminfo[i][w_weizenzahl],GetBauernMaxWeizen(i),farminfo[i][farmtruck]);
PlayerTextDrawSetString(i,Job1[i], string);
}
}
if(farminfo[i][farmernten] == 1)
{
if(!IsPlayerInAnyVehicle(i)) return SendClientMessage(i,ROT,"Du musst dich in einem Fahrzeug befinden!"),farminfo[i][farmernten] = 0;
if(GetPlayerVehicleID(i) != farminfo[i][farmtruck]) return SendClientMessage(i,ROT,"Du bist nichtmehr in dein Jobfahrzeug."),farminfo[i][farmernten] = 0;
}
}
}
return 1;
}