Beiträge von typedef

    Mache ich ebenfalls selbst & deswegen bekomme ich auch nicht alle 75sek eine Kiste was wiederum dafür sorgt das ich nicht sehr weit bin bis bzw. eigentlich kaum eine Chance habe in die Toplist zu kommen :rolleyes:


    Ist bloß ein JavaScript, welches 17 Zeilen lang ist.
    Ich finde es noch legitim sowas. Schlimmer finde ich es, wenn Leute über vServer botten, das ist richtig hart unfair dann.
    Da macht man garnichts mehr selber, warum spielt man das Spiel dann noch? Kisten automatisch annehmen finde ich persönlich
    noch legitim, da man (im Moment) sowieso keinen Gewinn aus Items machen kann. Aber einige Leute botten schon hart, daher
    möchte ich zumindest automatisch die Kisten annehmen, denn das nervt mich. Meistens schaue ich nebenbei irgendwelche Videos,
    da möchte ich nicht alle 75 Sekunden pausieren, um mal eben eine weitere Kiste anzunehmen.
    Ist Ansichtssache, ob das was mit "fairness" zu tun hat. Mir ist die Topliste recht egal, was Items angeht. Ich stehe lieber weiter oben
    mit dem Geld, und das kann man nicht botten :whistling: (zum Glück)

    Schau dir doch mal die Toplist an das kann man doch ohne Bot nicht schaffen :pinch:

    Also, ja gut.
    Ich botte beispielweise nicht, und bin trotzdem weit oben. Einfach aktiv Verbesserungen kaufen, und den PC anlassen, um Geld zu farmen.
    Ok, ich habe ein Script, um nicht dauernd diese Kisten anzunehmen, da das auf Dauer mega nervt. Wer hat denn bitte Lust alle 75 Sekunden auf ein Button zu drücken?


    Freue mich übrigens, dass neue Kisten nun raus sind :whistling:


    Und ja Black_Air, kenne Leute, die das mit vServer machen. Das finde ich dann schon zu hart "unfair". Da macht man ja nichts mehr selbst. Wo bleibt da der Spielspaß :/

    Sollte aber nicht der Fall sein, wenn du es richtig verwendet hast. Hast du auch die nötige Header-File inkludiert?


    Ich habe den Code getestet, und ich bekomme keine Fehler-Meldungen:

    C
    #include <Shlobj.h>
    
    
    int main()
    {
    	TCHAR path[MAX_PATH];
    	HRESULT hr = SHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path);
    	return 0;
    }

    Ich finde das Design ein wenig langweilig.
    Der Content-Bereich ist mir zu grau. Ich finde, wenn man schon ein Flat-Design entwirft, sollte es schon farbenfroher sein. Aber das ist wohl Geschmackssache. Für meinen Geschmack ist es aber zu farblos. Mir gefällt die Idee mit der Navigation, wie sie von dem Userpanel (heißt das Ding so?) getrennt wurde. Das Bild im Header finde ich optisch in Ordnung, da das ein wenig Farbe in das Design bringt. Aber sonst eben zu grau, wie gesagt. Und zum Footer gibt's nicht viel zu sagen - Standard-Footer.


    Ich wüsste jetzt nicht was für eine if abfrage ich machen muss damit das Normal funktioniert könntest du mir dabei helfen?


    Habe meinen Beitrag oben editiert.
    Dort habe ich die einen Beispiel-Lösungsweg gezeigt.


    Was du tun müsstest:
    * In deinem enum einen boolean erstellen mit dem Namen "isset"
    * Die Funktion "PlantExists" einfügen
    * Die Änderungen des Commands "farmer" übernehmen



    Ist nur eine Lösung, wie ich es tun würde. Ist natürlich auch ungetestet. Könnte (sollte) funktionieren, muss aber nicht ;)

    Die Funktion "IsPlayerAtFarmerPflanze" sieht richtig aus.
    Was eher das Problem ist, ist deine for-Schleife beim Erstellen der Pflanze. Du erstellst die Pflanze immer drei mal, dadurch werden immer alle 3 Pflanzen mit dem selben Wert überschrieben.


    Das Script muss dann ungefähr so aussehen:


    /*
    * In deinem Enum von FarmPflanzenInfo bitte hinzufügen:
    * bool isset
    */


    COMMAND:farmer(playerid,params[])
    {
    for(new fp=0;fp<MAX_FPFLANZEN;fp++)
    {
    if(PlantExists(i)) continue; // --------------------- Existiert die Pflanze bereits, welche die Schleife gerade erstellen möchte? ---------------------
    new query[128];
    GetPlayerPos(playerid,FarmPflanzenInfo[fp][fpXpos],FarmPflanzenInfo[fp][fpYpos],FarmPflanzenInfo[fp][fpZpos]);
    FarmPflanzenInfo[fp][fpvirtualworld] = GetPlayerVirtualWorld(playerid);
    // FarmPflanzenInfo[fp][fpOwner] = Spieler[playerid][pName]);
    format(FarmPflanzenInfo[fp][fpOwner],24,"%s",Spieler[playerid][pName]);
    format(query,sizeof(query),"Pflanzen-ID %i\nVon: %s",fp,FarmPflanzenInfo[fp][fpOwner]);
    FarmPflanzenLabel[fp] = CreateDynamic3DTextLabel(query,GRUEN,FarmPflanzenInfo[fp][fpXpos],FarmPflanzenInfo[fp][fpYpos],FarmPflanzenInfo[fp][fpZpos],7.5,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,FarmPflanzenInfo[fp][fpvirtualworld]);
    FarmPflanzenInfo[fp][fpobject] = CreateDynamicObject(802,FarmPflanzenInfo[fp][fpXpos],FarmPflanzenInfo[fp][fpYpos],FarmPflanzenInfo[fp][fpZpos],0.0,0.0,0.0,FarmPflanzenInfo[fp][fpvirtualworld]);
    FarmPflanzenInfo[fp][isset] = true; // --------------------- Dem Script mitteilen, dass diese Pflanze nun existiert! ---------------------
    SendClientMessage(playerid,0x0069FFFF,"PFLANZE ERSTELLT!");
    break;
    }
    return 1;
    }


    stock PlantExists(plant_id) {
    return FarmPflanzenInfo[plant_id][isset] ? true : false;
    // return (wenn isset == true) true (ansonsten) false
    }