Προς το περιεχόμενο

oraiustepe

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    714
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

1 ΑΚΟΛΟΥΘΟΣ

Πληροφορίες προφίλ

  • Φύλο
    Δεν το μαρτυρώ
  • Τοποθεσία
    Θεσσαλονίκη

Πρόσφατες Επισκέψεις

4.573 προβολές προφίλ

oraiustepe's Achievements

  1. Καλησπέρα, Τρέχω σε flask ένα anonymization tool. Όπως βλέπετε στην τελευταία εικόνα φορτώνω αρχικά ένα csv, κάνω μετά ενα identification χρησιμοποιώντας nlp (natural language processing), έπειτα εφόσον γίνει το match (csv columns με program columns) μπορώ να επιλέξω τις στήλες που θέλω και το anonymization technique για κάθε στήλη. Όλα καλά μέχρι το τελευταίο βήμα. όταν πατάω anonymize ενώ στο console.log δείχνει Selected Columns: ['post_code'] και Selected Techniques: ['generalization'] μου πεταει ένα undefined error μετά και δε γίνεται το anonymization process Που το κάνω σε άλλη function Και γνωρίζω οτι λειτουργεί σωστά, γιατί πιο πριν το έτρεχα απλά επιλέγοντας μια στήλη και αυτόματα μου έβγαζε το anonymization technique για αυτήν την στήλη και στο τέλος όλα γινόντουσαν. ωστόσο αν έχει 30 στήλες δεν μπορείς να κάνει 30 request κουράζει. Οπότε έκανα το πάνω κομμάτι (select a column for anonymization) Multiple select (για επιλογή όλων των στήλων) και το κάτω (select anonymization technique) πάλι multiple select για να μπορεί να επιλέξει τα technique Που θέλει για το κάθε column οπως βλέπετε στην εικόνα (στο μέλλον θα μπορεί να επιλέξει μόνο ένα technique για κάθε column). Ο κώδικας του frondend και backend φαίνονται παρακάτω. Αυτό που πιστεύω εγώ είναι ότι επειδή πια επιστρέφω ένα Object απο το backend που περιέχει την στήλη και την τεχνική δε γίνεται σωστά handle στο frondend για αυτό και το undefined error. με το chat gpt δεν έβγαλα άκρη. Κάποια βοήθεια; Πρέπει να είναι κάτι πολύ μικρό που δεν το βλέπω. Υ.Γ. αφαιρώντας το results[selected_column1] = result και αλλάζοντας την απο πάνω μεταβλητή από result σε results results = post_anonymization_info(df, target_column_name, selected_techniques, selected_column1) στο console log παιρνω anonymization successful αλλά δεν αλλάζει κάτι στο csv. οπότε το θέμα είναι μάλλον στο results[selected_column1] = result και καπως αλλιως πρεπει να ειπωθεί για να αποφυγω το Undefined error, γιατι δε βρισκω καπου αλλού λάθος. Ευχαριστώ
  2. Καλησπέρα, Όπως βλέπετε στην εικόνα η function επιστρέφει το sensitive_data (column_name, column data, κ.λ.π.) και το sensitive_columns (δηλαδή μόνο το column_name). Αυτές οι στήλες είναι στήλες ευαίσθητων δεδομένων από ένα imported csv Και η επιλογή γίνεται μέσω μιας άλλης function. Αυτό που θέλω είναι να κάνω Parse αυτές τις στήλες (sensitive_columns variable) στο swagger ui μέσω του swagger.json αρχείου και συγκεκριμένα στο section enum. Θέλω συγκεκριμένα στο section enum επείδη θέλω ο χρήστης να επιλέγει από ενα dropdown menu τις ευαίσθητες στήλες που θέλει για να τις κάνω κάτι άλλο μετά. Γενικότερα από ψάξιμο που έκανα γίνεται στο json Να βάλεις ακριβώς τα columns Που θέλεις στο enum section, αλλά εμένα δεν είναι αυτός ο σκοπός μου γιατί ανάλογα το αρχείο που εισάγει ο χρήστης υπάρχουν άλλα column που θεωρούνται ευαίσθητα οπότε δεν είναι στανταρ. οπότε θέλω με κάποιον τρόπο κάθε φορά που κάνει import ενα csv Ο χρήστης και εγώ επιλέγω σε προηγούμενα endpoint ποιες στήλες είναι ευαίσθητες από αυτό το csv, να μπαίνουν σε μια λίστα αυτές οι στήλες και να γίνονται parse στο enum section του json (ή όπου αλλού γίνεται) και να εμφανίζεται ενα dropdown Menu στο swagger ui για να επιλέγει αυτές που θέλει και να πατάει execute. Οποιαδήποτε βοηθεία ευπρόσδεκτη είτε αναφορικά με τον κώδικα που πρέπει να συμπληρώσω στο python αρχείο είτε στο swagger.json αρχείο. υ.γ. ο ήδη υπάρχον κώδικας στο swagger αρχείο είναι αυτός που επιστρέφει ένα object με τα sensitive data και ένα Object με τα column_name). ωστόσο το section που έχω γράψει με το enum δεν επιστρέφει το dropdown list Που είναι και το ζητούμενο. Ευχαριστώ
  3. Υ.Γ. τελος και το Poco m3 δεν ξανα ανοιξε μετά απο τρία χρόνια σχεδόν. προσοχή για όσους θέλετε να κρατήσετε το κινητό για πάνω από 2 χρόνια. πολυ πιθανόν και το x6 pro να βγάλει το ίδιο θέμα. η ιστορία με την Poco αυτό έχει δείξει.
  4. Λογικά το θέμα ήταν εδώ. column_data = pd.to_numeric(df[column].head(6), errors='coerce').tolist() Το άλλαξα λίγο και έφτιαξε. Το έκανα έτσι column_data = df[column].head(6).tolist()
  5. καλημέρα, import pandas as pd #used for data manipulation and analysis from flask import Flask, render_template, request, jsonify #Flask is a web framework for building web applications. render_template, request, and jsonify are specific components of Flask for rendering templates, handling HTTP requests, and formatting JSON responses, respectively. from flask_cors import CORS # CORS is used for enabling Cross-Origin Resource Sharing, allowing the server to handle requests from different origins #from anonymization import AnonymizationHandler from anonymization import get_anonymization_techniques, anonymize_all_columns import numpy as np import json # a Flask application is created, and CORS is enabled for all routes. # This is necessary if you want to make requests to this server from a different domain. app = Flask(__name__) CORS(app) # Enable CORS for all routes # global variable df is initialized as an empty pandas DataFrame. This variable will be used to store the loaded data. df = pd.DataFrame() csv_loaded = False selected_columns = [] sensitive_columns_energy = ["name", "age"] sensitive_columns_telecommunication = [] sensitive_columns_agriculture = [] sensitive_columns_meteo = [] sensitive_columns = sensitive_columns_energy + sensitive_columns_telecommunication + sensitive_columns_agriculture + sensitive_columns_meteo # This route ('/') is the default route that renders the 'index.html' template when someone accesses the root URL of the application. @app.route('/') def index(): return render_template('index.html') # This route ('/load_data') is configured to handle POST requests. It expects a file to be sent in the request, # reads the CSV file using pandas, and filters the DataFrame to include only sensitive columns. # It then returns a JSON response indicating the status of the operation. @app.route('/load_data', methods=['POST']) def load_data(): global df,csv_loaded try: # Assuming the file is sent as form data in a POST request file = request.files['file'] df = pd.read_csv(file) csv_loaded = True #df_filtered = df[sensitive_columns] return jsonify({'status': 'success', 'message': 'Data loaded successfully'}) except pd.errors.EmptyDataError: return jsonify({'status': 'error', 'message': 'Error: The CSV file is empty.'}) except pd.errors.ParserError: return jsonify({'status': 'error', 'message': 'Error: Unable to parse the CSV file. Please check the file format, delimiter, or encoding.'}) except Exception as e: return jsonify({'status': 'error', 'message': f'Error: {str(e)}'}) #@app.route('/anonymize', methods=['GET']) #def show_anonymization_options(): # anonymization_handler.show_anonymization_options() class NpEncoder(json.JSONEncoder): def default(self, obj): dtypes = (np.datetime64, np.complexfloating) if isinstance(obj, dtypes): return str(obj) elif isinstance(obj, np.integer): return int(obj) elif isinstance(obj, np.floating): return float(obj) elif isinstance(obj, np.ndarray): if any([np.issubdtype(obj.dtype, i) for i in dtypes]): return obj.astype(str).tolist() return obj.tolist() return super(NpEncoder, self).default(obj) # This route ('/get_sensitive_columns') is configured to handle GET requests. # It iterates through each sensitive column specified in sensitive_columns. # For each column, it checks if the column exists in the loaded DataFrame (df). # If the column exists, it retrieves the first 6 rows of data, along with metadata such as data type, unique values, and missing values. # This information is then organized into a dictionary called sensitive_data. @app.route('/get_sensitive_columns', methods=['GET']) def get_sensitive_columns(): global csv_loaded try: if not csv_loaded: return jsonify({'status': 'error', 'message': 'Error: No data loaded. Please load a CSV file first.'}) # Return the first 6 rows of every sensitive column sensitive_data = {} for column in sensitive_columns: if column in df.columns: column_data = pd.to_numeric(df[column].head(6), errors='coerce').tolist() #column_data = df[column].head(6).tolist() sensitive_data[column] = { 'data': column_data, 'dtype': str(df[column].dtype), 'unique_values': df[column].nunique(), 'missing_values': df[column].isnull().sum() # Add more information as needed } return json.dumps({'status': 'success', 'sensitive_data': sensitive_data}, cls=NpEncoder) except Exception as e: return jsonify({'status': 'error', 'message': f'Error in get_sensitive_columns: {str(e)}'}) και έχω και αυτόν τον html κώδικα. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Flask Anonymization App</title> </head> <body> <h1>Flask Anonymization App</h1> <!-- Button to load data --> <form action="/load_data" method="post" enctype="multipart/form-data"> <label for="file">Choose a CSV file:</label> <input type="file" name="file" accept=".csv" required> <button type="submit">Load Data</button> </form> <hr> <!-- Button to get sensitive columns --> <button onclick="getSensitiveColumns()">Get Sensitive Columns</button> <!-- Display sensitive column information here --> <div id="sensitiveColumnsInfo"></div> <hr> <script> // JavaScript functions for making AJAX requests function getSensitiveColumns() { fetch('/get_sensitive_columns') .then(response => response.json()) .then(data => { const sensitiveColumnsInfo = document.getElementById('sensitiveColumnsInfo'); sensitiveColumnsInfo.innerHTML = JSON.stringify(data, null, 2); }) .catch(error => console.error('Error:', error)); } </script> </body> </html> Το conccept ειναι ότι ο χρήστης κάνει εισαγωγή ένα csv, εγω σύμφωνα με τα sensitive columns που έχω θέσει, αν υπάρχει στήλη στο csv του και στα sensitive columns του επιστρέφω τη στήλη. π.χ αν το csv περιέχει τις στήλες name, age, postal code και εγώ έχω μονο το name σαν sensitive column στον κώδικα, θα του επιστραφεί μόνο η στήλη name και οι 6 πρώτες εγγραφές της στήλης, πατώντας στο get sensitive columns. Ωστόσο όταν πατάω από το index. html που έχω φτιάξει στο button get sensitive columns δε βγάζει κάποιο μήνυμα και απλά βγάζει στο console (στον chrome) αυτό "SyntaxError: Unexpected token 'N' ". Πριν από αυτό το error έβγαζε αυτό { "message": "Error in get sensitive columns: Object of type int64 is not JSON serializable", "status": "error" } Δοκίμασα μια λύση γράφοντας την class NpEncoder ύστερα απο έρευνα στο νετ και τώρα έχουμε το unexpected token. Επισυνάπτω και το αρχείο csv γιατί κάτι με nan values ισως έχει γίνει και δεν το παρατηρώ. Υπάρχει κάποια λύση στο συγκεκριμενο θέμα; Ευχαριστώ Υπολογιστικό φύλλο χωρίς τίτλο - Φύλλο1 (3).csv
  6. επίτρεψε μου να διαφωνήσω. οταν υπάρχουν συνεχόμενα περιστατικά από μια εταιρεία αυτό δεν είναι τυχαίο. Και τα περιστάτικα έχουν να κάνουν με αρκετά μοντέλα της εταιρείας. Αυτό δείχνει ότι η συγκεκριμένη εταιρεία ακολουθεί μια συκγκεκριμένη πολιτική για τα κινητά. Η πολιτική της poco είναι σου βάζω τρομερά χαρακτηριστικά σε chipaki ram αποθηκευτικό χώρο οθόνες κλπ και σου χαντακώνω ότι βρίσκεται από πίσω (που δε φαίνεται στο χρήστη αλλά θα του φανεί μια και καλή στην πράξη όταν του χαλάσει κάτι). Τα xiaomi απο την άλλη καμια σχέση. Ποτέ δεν είχα σοβαρό πρόβλημα με κινητό της ακόμα και στα φθηνά της. Έχουν τα θεματάκια τους, αλλά όχι κάτι που δεν κάνει το κινητό λειτουργικό ακόμα και μετά από τοσα χρονια. όλα έχουν να κανουν με το quality control της εταιρείας. πχ η poco έχει τραγικό, η xiaomi μέτριο (μεσαία σειρα) προς καλο (μεγάλη σειρά). samsung ας πουμε έχει καλό quality control σε όλες τις σειρές με το ανάλογο τίμημα βέβαια στις τιμές βάσει των χαρακτηριστικών που είναι γελοίες ώρες ώρες. αλλά διαφωνώ με το ότι πληρώνεις παίρνεις στα κινητά. η κάθε εταιρεία εστιάζει σε άλλα πραγματα. ο ένας στα χαρακτηριστικά (poco), ο αλλος στο quality control (samsung), ο άλλος σε λίγο από όλα (xiaomi, oneplus) το θέμα είναι που θες να δώσεις τα λεφτά σου.
  7. Όλα αργά ή γρηγορα θα παρουν το hyper os και μετά κλαφτα. δεν έχει να κανει με τη σειρά redmi και redmi note οι custom roms αλλά με τον επεξεργαστή. η qualcom (με τους snapdragon) έχουν open source τον κωδικά οπότε είναι πιο εύκολο για τους προγραμματιστές να υλοποιήσουν μια custom rom χωρίς bug. αντιθέτως από όσο πιστεύω χωρίς να είμαι σίγουρος σε mediatek παλι έχεις custom rom αλλά επειδή δεν είναι open source ο κώδικας δεν ξέρω τι αλχημείες κάνουν και τα καταφέρνουν, ωστόσο λογικά θα έχει περισσότερα bug. ωστόσο έχω καιρό να ασχοληθώ με mediatek. στο note 2 που είχε έναν mediatek helio οι custom rom ήταν λίγες αλλά παρόλα αυτά νομίζω είχε πάρει και android 12 σε custom rom αν και άργησε. οπότε φαντάζομαι ίσως έχουν βρει τρόπο να προσπερνάνε τον κώδικα ή να είναι πια Open. όπως και να χει πρέπει να ψάξεις τι θα γίνει και με το hyper os και το κλειδωμένο bootloader που έχει δυσκολέψει ή είναι ακόμα και ακατόρθωτο για την ώρα. βέβαια τα τσακαλια κάτι θα βρουν το θέμα ειναι σε πόσο καιρό και σίγουρα υπάρχει και ο unofficial τρόπος ξεκλειδώματος με το όποιο ρίσκο. κακή κίνηση κατεμε από την xiaomi να μην μπορείς να ξεκλειδώσεις. ειχε αυτο το πλεονέκτημα και το έχασε γιατι το miui ειναι κακό λογισμικό κακά τα ψέματα και η υποστήριξη από την xiaomi μετά απο λίγο καιρό κακή (κακά update με τη συσκευή να χάνει πιο γρήγορα μπαταρία να είναι πιο βαριά, να φτιάχνουν κάτι να χαλάει κάτι άλλο (κυρίως παλιά αυτό, τώρα έχει φτιάξει), λίγο customization, δικαιώματα για κάθε τι ξεχωριστά, ειδοποιήσεις να μην ερχονται. τώρα ο καθένας επιλέγει προφανώς. άλλος μπορεί να μην τα βρίσκει αυτά προβλήματα. υ.γ. καλή τύχη με το Poco x3 pro. συνήθως αυτό το κινητό όπως έγινε και σε μένα βγάζει θέμα στην μητρική-επεξεργαστή και θέλει reboil μετά με κολλητηρι κλπ. συνήθως στα 2-3 χρόνια το βγάζει. και το reboil είναι μια προσωρινή λύση που μπορεί να σου πάει το πολύ κανένα χρόνο. εγώ δε θα την ξανα εμπιστευομουν αυτήν την εταιρεία. κάνει τραγικά λάθη στο quality control και όσους δεν τους έχει τύχει κάτι είναι απλά τυχεροι.
  8. Αυτή η εταιρεία ότι και να βγάλει, μόνο και μονο από τις εμπειριες από poco x3 pro (μαυρη οθόνη, λογικά θέλει reboil), poco m3 εμεινε απο μπαταρια και μετα δεν ανοιγε (μετά απο μια μερα στο ρευμα ανοιξε αλλα φοβασαι πως αν ξανακλεισει απο μπαταρια τελειωσες οποτε πρεπει να εχεις το νου σου), poco f2 pro σε φίλο σταμάτησε να φορτίζει, είναι εκτός συζήτησης. Ε δε γίνεται αυτή η δουλειά. Δεν είναι τυχαία όλα αυτά. Η ποιότητα μητρικής συνήθως δημιουργεί τα παραπάνω προβλήματα κάτι που δεν μας λένε εκεί στην poco, αλλά για να πετύχεις τέτοια τιμή πρέπει να κόψεις το κακό είναι αυτοί κόβουν ακόμα και απο το πιο σημαντικό εξάρτημα το οποίο αν το πας για σερβις θα σου ζητήσουν τα μισά λεφτά του κινητού. Σε συνδυασμό ότι με το hyper os τουλάχιστον για την ώρα είναι δύσκολο να ανοίξεις bootloader για custom rom (καλά και με mediatek το ξεχνάς έτσι κι αλλιώς γιατί ο κώδικας από ότι ξέρω δεν ειναι open source, οπότε ακόμα και να ανοίξεις bootloader θα έχεις μόνο ρουτ και άντε και καμιά ρομ με πιθανότητα περισσότερων bug ωστόσο). Όλα αυτά βάζοντας τα σε ένα τσουβάλι είναι deal breaker για μένα. Αντιθέτως σε xiaomi redmi note και mi σειρά τόσα χρόνια ούτε κιχ δεν κάνανε ( αν εξαιρέσεις το Note 2 που έχει τις γνωστές κιτρινίλες στην οθόνη λόγω της κακής τοποθέτησης του τσιπ λογικά και ανύπαρκτου κενού ανάμεσα σε οθόνη και τσιπ). Εγώ πια είμαι της άποψης για άτομα που θέλουν να τους πηγαίνει χρόνια ένα κινητό να πήγαινουν σε ένα πιο all around τηλέφωνο π.χ. στα ίδια λεφτά με το poco αλλά με καλύτερη ποιότητα κατασκευής πιο πετσοκομμένο σε επεξεργαστή ραμ κλπ έτσι ώστε να θεωρείς πως έχουν βάλει καλύτερη ποιότητα στο εσωτερικό του. γιατί το κόστος για αυτό το κινητό που προσφέρει η poco δε βγαίνει αν δεν βάλεις τα πιο φτηνιάρικα πράγματα εσωτερικά του (άσχετα αν είσαι τυχερός και μπορεί ποτέ να μη σου βγάλει θέμα). poco out. καλές αγορές.
  9. oraiustepe

    KTM Life Race Deore XT

    ΗΜΕΡΟΜΗΝΙΑ: 21/01/2024 01:09 πμ

    • Πώληση
    • ΜΕΤΑΧΕΙΡΙΣΜΕΝΟ

    Πωλείται ποδήλατο Ktm life race σε άριστη κατάσταση όπως φαίνεται και από τις φωτογραφίες. Έχει περιφερειακά πίσω σαζμάν deore xt, μπροστά σαζμάν SLX (μια κατηγορία πάνω από το deore), hubs deore, φρένα deore, shifters ταχυτήτων SLX, ανάρτηση 63mm με κλείδωμα στο τιμόνι, λάστιχα 28 ίντσες, μπροστινά δοντάκια δίσκων 26/36/48 και πίσω δοντάκια 11-32, 27 ταχύτητες και υδραυλικά δισκόφρενα 180 και 160 mm (Μπροστά και πίσω αντίστοιχα), αναπαυτική σέλα, σκελετος 7005. Μιλάμε για ένα πολύ γρήγορο ποδήλατο ιδανικό για άσφαλτο και λίγο χωματόδρομο. Μαζί δίνεται πίσω φωτάκι και τσαντάκι. Το ποδήλατο δε χρειάζεται ούτε ευρώ. Μέγεθος 56, ιδανικό για ύψος 1.80-1.90(εγώ είμαι 1.82 και μου είναι όπως πρέπει. Τιμή τελική. Θεσσαλονίκη χέρι με χέρι

    450 €

  10. αν δεν πεσουν οι 27αρες γυρω στο 600αρη δουλεια δε γινεται. Δεν γινεται οι τηλεορασεις (42 και 48) να εχουν ιδια τιμη σχεδον με μια Oled 27αρα οθονη, παροτι την διαφορα στα hz. Χωρια που η samsung g5a που εχω 1440p 165hz οταν την κλεινεις αρχιζει τους θορυβους στα πλαστικα μεχρι να κρυωσει (κανενα 20λεπτο σιγουρα), λογω της διαφορας θερμοκρασιας. Το quality control της samsung ειναι κλαφτα. Ελπίζω στις ακριβές της οθόνες να κάνει καλύτερη δουλειά σε αυτόν τον τομέα. Μόνο απο amazon samsung οθονες για να μπορείς να τις γυρίσεις.
  11. Λογικά άλλη διαταξη πληκτρολογιου, δηλαδή κάποια γράμματα μπορεί να είναι σε άλλα σημεία από ότι έχεις συνηθίσει. Τώρα το ισπανικό συγκεκριμένα δεν ξέρω σε τι διαφέρει από τα συνηθισμένα. Google it ή ας απαντήσει κάποιος που ξέρει.
  12. Καλησπέρα, Θέλω να αγοράσω χωρίς φπα από amazon ένα μεταχειρισμένο προϊόν χωρίς φπα (φυσικά απο ευρωπαϊκό amazon). Σύμφωνα με αυτό το λινκ (https://www.supereverything.gr/2018/12/agores-europaiko-amazon-epagelmatias.html) και συγκεκριμένα με ότι αναφέρει στην εικόνα παρακάτω δεν μπορώ να αγοράσω μεταχειρισμένο προϊόν χωρις φπα. Ωστόσο προχωρόντας στο καλάθι μου αφαιρεί κανονικά το φπα. Θα έχω πρόβλημα αν αγοράσω; Επίσης σχετικά με άλλα προϊόντα που δεν αφαιρείται στην Ελλάδα το φπα (δηλαδή όλα εκτός κινητών, τάμπλετ και λαπτοπ), εκεί μου τα αφαιρεί κανονικά. Π.χ. μπορώ να πάρω καινούργια κάρτα γραφικών κανονικά από amazon χωρίς φπα ή θα έχω θέμα μετά στη δήλωση; αυτές είναι οι δύο μου ερωτήσεις. όποιος γνωρίζει ας με διευκολύνει please. υ.γ. φυσικά οι ενδοκοινοτικές συναλλαγές είναι ανοιχτές και έχω εγκριθεί και από το amazon. Ευχαριστώ
  13. oraiustepe

    Call of Duty: Modern Warfare 2 [PC]

    πολυ αμφιβαλλω. ασχολουμαι τοσο γιατι είναι ενοχλητικό..παθαινεις επιληψια στα μερη που το κανει και ειδικα αν σε εκεινο το μερος εχει ατομο ειναι πιο δυσκολο να τον πετυχεις. αλλα θεωρητικα μπορεις να παιξεις και με αυτο αλλα σου κανει τη ζωη λιγο πιο δυσκολη
  14. oraiustepe

    Call of Duty: Modern Warfare 2 [PC]

    ευκολο ειναι να πειραξω ολα τα γραφικα, αλλα τι εννοει θεμα γραφικων; φανταζομαι τα settings εννοει και οχι προβληματικη γραφικων.
  15. oraiustepe

    Call of Duty: Modern Warfare 2 [PC]

    τι εννοεις θεμα γραφικών; δεν έχω προβλήματα με την κάρτα γραφικών σε άλλα παιχνίδια. ή μήπως εννοείς ρυθμίσεων γραφικών από το παιχνίδι.
  • Δημιουργία νέου...