Drogensystem spinnt

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
  • 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

  • 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;
    }
    }
    }
    }
    SendClientMessage(playerid,COLOR_RED,"Hier ist keine Drogepflanze!");
    return 1;
    }


    Du hast nur die erste Pflanze geprüft, wenn er dort nicht war, kam sofort die Nachricht und der Return.