Drogensystem

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
  • Hallo, undzwar habe ich gerade ein Drogesystem fehler. Und zwar wenn man eine Droge angepflanzt hat soll man 25 Minuten warten, aber man kann sie schon von anfang an ernten. Aber im 3DText steht du musst noch 25 Minuten warten die Zeit geht auch runder. 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 5 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,ss[200];
    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! )");


    return 1;
    }
    }
    return 1;
    }


    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)
    {
    DestroyDynamicObject(WeedInfo[weed][wObject]);


    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;
    }


    TIMER:

    public DrogenTime(weed)
    {
    new ss[300];
    if(WeedInfo[weed][wTime] > 0)
    {
    WeedInfo[weed][wTime] --;
    format(ss,sizeof(ss),"Canabis-Droge\nPflanzer: %s\nZeit bis Ernte: %d Minuten",WeedInfo[weed][WeedPlanter],WeedInfo[weed][wTime]);
    Update3DTextLabelText(WeedInfo[weed][Weedlbl],COLOR_WHITE,ss);
    SetTimerEx("DrogenTime",60000,0,"d",weed);
    return 1;
    }
    else
    {
    format(ss,sizeof(ss),"Canabis-Droge\nPflanzer: %s\nfertig zum /drogeernten",WeedInfo[weed][WeedPlanter]);
    Update3DTextLabelText(WeedInfo[weed][Weedlbl],COLOR_WHITE,ss);
    }
    return 1;
    }