Beiträge von Woozie

    Wenn euer System für den Spieler einfach zu benutzen ist, reicht ein Name wie 'Einfach Roleplay', 'Einfach Reallife' oder 'Simple Reallife' usw.

    Bei GTA San Andreas ist das ein spielbedingtes Problem. Dies kannst du auch gern googlen. Die Schattentechnik in SA sind fürn Hintern und verbraucht mehr Leistung als sie nutzt. Gibt auch genug Themen in GTAForums.com.


    Zu GTA V kann ich dir nichts sagen, da ich bei deinem Video kein Flackern erkennen konnte. Wenn du mal die Kamera ruhig halten würdest?! ;) Ich weiss nur, man kann in den erweiterten Grafikeinstellungen die Schatten noch weiter optimieren bzw. verbessern. Ach ja, ich benutz eine Geforce GT730 und spiele mit 1920x1080 und normalen Einstellungen ohne Probleme; mit aktuellem Nvidia Treiber!

    Tritt der Lagg überall auf oder nur an bestimmten Stellen? Ich hab das Problem nämlich auch, aber dies passiert nur, wenn ein Interior in der Nähe ist. Soll übrigens am GTALauncher und an einem Update liegen.
    Übrigens, prüf mal, während das Spiel läuft, im Taskmanager, ob dort ein Programm überdurchschnittlich hohe CPU Auslastung hat. Auch da gibt es bei einigen Leuten Probleme mit dem GTALauncher.

    Wie heissen die Tabellenfelder, die du abfragen möchtest (bei beiden Tabellen) und wie heisst das ID Feld bei beiden?
    Warum ich frage, man kann mit aliases arbeiten. Beispiel:


    SQL
    SELECT table1.id, table1.name, table1.level, table2.id from tabelle_top_10 as table1, tabelle_accounts as table2 WHERE table1.id = table2.id ORDER BY table1.name ASC LIMIT 10;

    Dieser Query bewirkt folgendes:

    • es werden nur die Felder ID, NAME, LEVEL aus der Tabelle tabelle_top_10 ausgegeben (das as table1 ist eine Art Verlinkung)
    • weiterhin wird das Feld ID aus der Tabelle tabelle_accounts ausgegeben
    • die WHERE Klausel bestimmt nun, daß die Ausgabe ID aus Tabelle tabelle_top_10 gleich mit der ID aus der zweiten Tabelle tabelle_accounts ist
    • ORDER BY sortiert die Ausgabe nun nach NAME aus der Tabelle tabelle_accounts aufsteigend (also A-Z)
    • LIMIT 10 begrenzt die Ausgabe auf max. 10 Ergebnisse

    Fertig, alles in einem Query-String und nur ein DB Zugriff für das, was du machen möchtest.

    An was das dann liegt kann ich dir nicht sagen, das kann ziemlich viele Gründe haben, die nicht alle offensichtlich erscheinen.
    Ich kann es leider selbst nicht ausprobieren, da ich keine externe Datenbank habe, die einen freien Zugriff hat.


    Wie aber bereits gesagt ist es ohnehin nicht zu empfehlen, die Datenbank extern laufen zu haben.
    Daher, unabhängig davon, ob es geht oder nicht, würde ich dir empfehlen, das ganze dort zu hosten, wo du die Datenbank lokal hast, alles andere macht keinen Sinn.

    Schließe mich Jeffry da kommentarlos an!

    Keine Ahnung ob es am Plugin liegt. Das Plugin, welches ich nutze, wird nicht mehr aktualisiert und ist veraltet. Tut aber dennoch treu seinen Dienst ohne Probleme. Sowas sollte jeder für sich entscheiden.


    @Problem
    sieh dir mal das Beispiel im SA-MP Wiki an: http://wiki.sa-mp.com/wiki/MySQL#mysql_fetch_row_format
    und benutz SSCANF, somit geht die Ausführung schneller, sauberer und verbrauch auch weniger Speicher (Code wie auch Ausführung).


    Nachtrag:
    okay, scheinbar benutzt du nicht dieses Plugin. Aber der MySQL Befehl mysql_fetch_row sollte eigentlich identisch sein und dieser gibt das gesamte Ergebnis deines Querys aus. Daher kannst du das Beispiel aus dem SA-MP Wiki auch benutzen.


    Übrigens, welches MySQL Plugin benutzt du überhaupt. Ich habe nach self_mysql_get_field in Google gesucht, aber nichts passendes dazu gefunden.

    Zu #2:
    Müßtest du selber sehen, daß er nicht ein Feld ausliest, sondern das komplette Ergebnis in VAL speichert. Natürlich crasht der Server, wenn du 196 Zeichen in eine Zahl umwandeln möchtest.


    Zu #3:
    val ist keine Zahlvariable, sondern ein Array/String. wenn du das mit print ausgeben möchtest, entweder print(val); oder (was d*mm wäre) printf("%s",val);

    Ich bin grad bei HK-Hosting drauf, da du diesen als Beispiel angegeben hast. Auch die bieten SAMP in Verbindung mit einer MySQL DB an. Auch dort sollte es per localhost gehen. Da ich selber z.B. das Plugin von Adrenaline benutze, funktioniert localhost bei mir komischerweise nicht. Daher benutz ich die IP Adresse meines vServers. Und wie schon geschrieben wurde von @Jeffry sollten beide System (SAMP Server und MySQL DB) auf dem selben System liegen. Um nun zu testen, ob die DB auch ansprechbar ist, kann man dies auch per Konsole (Google bitte benutzen dafür) oder per PHPMyAdmin (sofern PHP und Webserver installiert sind) nutzen.

    Vorschlag #1:
    klammer mal die Zeilen 8 und 10 (mit den Befehlen self_mysql_get_field) aus + teste dann, wie weit er durchläuft


    Vorschlag #2:
    Gib doch mal das Ergebnis deiner MySQL Abfrage in einem String aus. Beispiel



    Code
    new row[1024]; while (row = mysql_fetch_row_format(string,"|"))
    {
    print(row);
    ... dein Code ...
    }


    Nachtrag:
    Hatte eine PM mit der Log bekommen!
    Gib doch mal per PRINT aus, was in den Zeile 8 und 10 rauskommt.


    Code
    self_mysql_get_field("KriminalLevel", val); print(val); // PlayerInfo[playerid][pKriminalLevel] = strval( val );
    Debug("vars");
    self_mysql_get_field("PolizeiLevel", val); print(val); // PlayerInfo[playerid][pPolizeiLevel] = strval( val );

    Ich habe jetzt nicht alles gelesen, aber man kann auf eine MySQL DB auch von außerhalb zugreifen. Dafür müssen die Rechte für diese DB aber entsprechend gesetzt sein. Localhost bedeutet ja nur, daß sich die MySQL DB auf dem selben System befindet wie z.B. PHP oder eben auch der SA-MP Server. Wenn Localhost nicht geht, gib anstelle 127.0.0.1 oder eben Localhost mal die IP des Servers ein, auf dem die MySQL DB läuft. Funktioniert die Verbindung nicht, liegt es eventuell an den Rechten (Serveradmin bescheid geben oder selber ändern, wenn möglich).


    Auf meinem vServer kann ich dies unter PLESK selber einstellen.