Farmer Weizen

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
  • Ich bin auf dem Feld aber es wird immer gesagt ich muss auf dem Feld bleiben


  • Ja, nur musst du schauen, welche Werte die großen sind, und welche die kleinen.


    IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)


    Dazu dann:
    AddPlayerClass(26,-1191.2891,-930.9543,129.2188,186.3133,0,0,0,0,0,0); //
    AddPlayerClass(26,-1007.6477,-1060.6648,129.2188,1.9405,0,0,0,0,0,0); //


    Die können auch bei anderen saves anderherum sein, das kommt drauf an, in welchen beiden Ecken du die save's machst.

  • Ich habe jetze das Weizen Gesäht aber wenn ich in den Mähdrescher einsteige kommt die Ganze zeit ich muss auf dem Feld bleiben

  • Irgendwie ist der Code ziemlich durcheinander und gibt für mich keinen Sinn, vor allem mit der Schleife, da immer nur der Index 0 ausgeführt werden kann.
    Teste es mal so:
    new Weizenzahl[MAX_PLAYERS];
    public farmtimer(playerid)
    {
    if(IsPlayerInArea(playerid,-1191.2891,-1060.6648,-1007.6477,-930.9543))
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SetTimerEx("farmtimer",1500,false,"i",playerid);
    if(GetVehicleSpeed(GetPlayerVehicleID(playerid)) == 0) return SetTimerEx("farmtimer",1500,false,"i",playerid);
    if(farminfo[playerid][farmteil] == 1)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 531) return SetTimerEx("farmtimer",1500,false,"i",playerid);
    if(Weizenzahl[playerid] != sizeof(Weizen))
    {
    new Float:z, w = Weizenzahl[playerid];
    GetPlayerPos(playerid,Weizen[w][w_X],Weizen[w][w_Y],z);
    Weizen[w][w_Z] = 123.200;
    Weizen[w][w_Objekt] = CreatePlayerObject(playerid,855,Weizen[w][w_X],Weizen[w][w_Y],123.200,0.0, 0.0, 0.0);
    Weizen[w][w_besitzer] = playerid;
    Weizenzahl[playerid] ++;
    SetTimerEx("UpdateWeizen", 1000, false,"ii",playerid,w);
    SetTimerEx("farmtimer",1500,false,"i",playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du kannst jetze das Weizen ernten!");
    farminfo[playerid][farmteil] = 2;
    Jobc[GetPlayerVehicleID(playerid)][Playerid] = -1;
    farmtruck[playerid] = -1;
    new string[50];
    format(string,sizeof(string),"Ernte das Weizen~n~Farmteil 2");
    PlayerTextDrawSetString(playerid,Job1[playerid], string);
    Weizenzahl[playerid] = 0;
    return SetTimerEx("farmtimer",1500,false,"i",playerid);
    }
    }
    if(farminfo[playerid][farmteil] == 2)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 532) return SetTimerEx("farmtimer",1500,false,"i",playerid);
    new w = IsPlayerInRangeOfPflanzen(playerid);
    if(w == -1) SetTimerEx("farmtimer",1500,false,"i",playerid);
    if(IsValidPlayerObject(playerid,Weizen[w][w_Objekt]))
    {
    if(fahrweizen[GetPlayerVehicleID(playerid)] >= 5000) return SetTimerEx("farmtimer",1500,false,"i",playerid);
    if(GetVehicleSpeed(GetPlayerVehicleID(playerid)) > 25)
    {
    SendClientMessage(playerid,ROT,"Du bist zu Schnell! Max: 25 Km/h");
    return SetTimerEx("farmtimer",1500,false,"i",playerid);
    }
    }
    DestroyPlayerObject(playerid,Weizen[w][w_Objekt]);
    Weizen[w][w_Objekt] = -1;
    new kg = RandomEx(10,60);
    fahrweizen[GetPlayerVehicleID(playerid)] += kg;
    new string[50];
    format(string,sizeof(string),"Ernte das Getreide~n~%d/5000 Kg",fahrweizen[GetPlayerVehicleID(playerid)]);
    PlayerTextDrawSetString(playerid,Job1[playerid], string);
    if(fahrweizen[GetPlayerVehicleID(playerid)] >= 5000)
    {
    fahrweizen[GetPlayerVehicleID(playerid)] = 5000;
    format(string,sizeof(string),"Leere dein M\145;hdrescher~n~%d/5000 Kg",fahrweizen[GetPlayerVehicleID(playerid)]);
    PlayerTextDrawSetString(playerid,Job1[playerid], string);
    }
    if(alleweizenweg())
    {
    format(string,sizeof(string),"Leere dein M\145;hdrescher~n~%d/5000 Kg",fahrweizen[GetPlayerVehicleID(playerid)]);
    PlayerTextDrawSetString(playerid,Job1[playerid], string);
    farminfo[playerid][farmteil] = 3;
    }
    return SetTimerEx("farmtimer",1500,false,"i",playerid);
    }
    }
    SetTimerEx("farmtimer",1500,false,"i",playerid);
    return SendClientMessage(playerid,ROT,"Du musst auf dem Feld bleiben!");
    }

  • Siehst du diese Nachricht noch?
    SendClientMessage(playerid,ROT,"Du kannst jetze das Weizen ernten!");


    Wenn ja, dann füge danach das hier ein:
    SetTimerEx("farmtimer",1500,false,"i",playerid);


    Es scheint mir nämlich so, dass da der Timer nicht mehr gestartet wird, wenn du mit dem sähen fertig bist.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen