[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Hier erstmal den Log, deine anderen Vorschläge versuche ich möglichst bald. Evtl. reicht dir das auch schon:


    [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'posZ = '34.7430', posA = '87.0143', color1 = '0', color2 = '0' WHERE ID = '90' A' at line 1


    Ist zwar kein Pawn Code, aber so vielleicht etwas übersichtlicher.


    Hier sieht es jetzt so aus als würde die zweite Abfrage Probleme machen, obwohl diese richtig funktioniert. Sonst steht nichts im Log.


    MfG

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löscher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.


  • Ist das jetzt die Version von dir oder mir?
    Falls du meine schon kopiert hast, ich habe die noch ausgebessert, so ist es korrekt:
    new query2[256];
    format(query2, sizeof(query2), "UPDATE vehicleData SET modelID = '560', posX = '-1984.3469', posY = '304.3110', ");
    format(query2, sizeof(query2), "%sposZ = '34.7430', posA = '87.0143', color1 = '0', color2 = '0' WHERE ID = '%i' AND uVID = '%i'", query2, pInfo[playerid][id], amount+1);
    mysql_function_query(dbhandle, query2, false, "", "");


    Falls es die von dir ist, versuche mal meine Variante.

  • Mit deiner Version versucht, leider keine Besserung.
    Der print gibt
    UPDATE vehicleData SET modelID = '560', posX = '-1984.3469', posY = '304.3110', posZ = '34.7430', posA = '87.0143', color1 = '0', color2 = '0' WHERE ID = '90' AND uVID = '7'
    aus. ID sowie uVID stimmen, ein Eintrag mit allen Werten 0, bis auf ID(90) und uVID(7) besteht.


    Ich habe keine Ahnung wo das Problem liegen könnte. Im Log gibt es nun keine Fehler mehr.


    MfG


    EDIT: Habs jetzt in eine Abfrage verpackt, dann gehts! Auch wenn es für mich noch immer ein Mysterium ist warum es vorher nicht ging.


    new query[256];
    format(query, sizeof(query), "INSERT INTO vehicleData (uVID, ID, modelID, posX, posY, posZ, posA, color1, color2) VALUES ('%i', '%i', '560', '-1984.3469', '304.3110', '34.7430', '87.0143', '0', '0')", amount+1, pInfo[playerid][id]);
    mysql_function_query(dbhandle, query, false, "", "");


    Vielen Dank Jeffry :)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löscher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.


    2 Mal editiert, zuletzt von Merlin13 ()

  • Beitrag von AirM4X ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Hey, ich möchte mich in Zukunft auch mit MySQL beschäftigen und habe mir deshalb erstmals eine kostenlose MySQL Datenbank angelegt. Tutorials hier und in anderen Foren habe ich mir angeschaut, doch folgendes verstehe ich immer noch nicht. Das verbinden mit dem MySQL Server.


    Ich habe folgende E-Mail erhalten, doch weiß nicht wie ich das zu Ordnen soll.


    Daten (Aus Sicherheitsgründen Passwörter etc umgeändert):


    Host: sql2.freemysqlhosting.net
    Database name: sql288212
    Database user: sql288212
    Database password: fH1!pH3*
    Port number: 3306


    Im Script sieht das so aus:


    #define Host "sql2.freemysqlhosting.net"
    #define User "jsql288212"
    #define DB "sql288212"
    #define Password "fH1!pH3*"


    Ist das so richtig? Denn die Server_Log zeigt mir Probleme an mit dem verbinden des MySQL Server..


    Mit freundlichen Grüßen
    JustMe.77 8)

  • #define User "jsql288212"
    #define DB "sql288212"
    Soll das "j" da stehen, oder nicht?
    Denn oben in den Daten ist das nicht.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Achso, dachte du hättest nur das Passwort geändert :P
    Kannst du mal das Problem in der server.log zeigen?

  • Spoiler anzeigen
    ----------
    Loaded log file: "server_log.txt".
    ----------

    Spoiler anzeigen
    SA-MP Dedicated Server
    ----------------------
    v0.3.7-R2, (C)2005-2015 SA-MP Team

    Spoiler anzeigen
    [22:04:55]
    [22:04:55] Server Plugins
    [22:04:55] --------------
    [22:04:55] Loading plugin: crashdetect
    [22:04:55] CrashDetect v4.15.1 is OK.
    [22:04:55] Loaded.
    [22:04:55] Loading plugin: streamer
    [22:04:55]

    Spoiler anzeigen
    *** Streamer Plugin v2.7.2 by Incognito loaded ***

    Spoiler anzeigen
    [22:04:55] Loaded.
    [22:04:55] Loading plugin: filemanager
    [22:04:55] ******************
    [22:04:55] ** FILE MANAGER **
    [22:04:55] ** Loaded **
    [22:04:55] ** Version 1.5 **
    [22:04:55] ******************
    [22:04:55] Loaded.
    [22:04:55] Loading plugin: sscanf
    [22:04:55]

    Spoiler anzeigen
    [22:04:55] ===============================

    Spoiler anzeigen
    [22:04:55] sscanf plugin loaded.

    Spoiler anzeigen
    [22:04:55] Version: 2.8.1

    Spoiler anzeigen
    [22:04:55] (c) 2012 Alex "Y_Less" Cole

    Spoiler anzeigen
    [22:04:55] ===============================

    Spoiler anzeigen
    [22:04:55] Loaded.
    [22:04:55] Loaded 4 plugins.

    Spoiler anzeigen
    [22:04:55]
    [22:04:55] Filterscripts
    [22:04:55] ---------------
    [22:04:55] Loading filterscript 'tstudio.amx'...
    [22:04:55]
    [22:04:55]
    [22:04:55]
    [22:04:55] =======================================
    [22:04:55] | |
    [22:04:55] | YSI version 3.09.0684 |
    [22:04:55] | By Alex "Y_Less" Cole |
    [22:04:55] | |
    [22:04:55] =======================================
    [22:04:55]
    [22:04:55]
    [22:04:55]
    [22:04:55] LOADED 9064 texture definitions
    [22:04:55] ----------------------------------------------
    [22:04:55] ---------Texture Studio By [uL]Pottus---------
    [22:04:55] -------------------------------------Loaded---
    [22:04:55] Loading filterscript 'fsdebug.amx'...
    [22:04:56]
    *********************
    * SA:MP DEBUG 0.2 *
    [22:04:56] * By Simon Campbell *
    *********************
    [22:04:56] * Version: 0.5d *
    *********************
    [22:04:56] * -- LOADED *
    *********************

    Spoiler anzeigen
    [22:04:56] Loaded 2 filterscripts.

    Spoiler anzeigen
    [22:04:56] [debug] Run time error 19: "File or function is not found"
    [22:04:56] [debug] mysql_connect
    [22:04:56] [debug] mysql_query
    [22:04:56] [debug] mysql_errno
    [22:04:56] [debug] mysql_close
    [22:04:56] [debug] mysql_format
    [22:04:56] [debug] mysql_tquery
    [22:04:56] [debug] cache_get_row_count
    [22:04:56] [debug] cache_get_field_content
    [22:04:56] [debug] cache_get_field_content_int
    [22:04:56] [debug] cache_insert_id
    [22:04:56] LOADED 9064 texture definitions
    [22:04:56] [debug] Run time error 19: "File or function is not found"
    [22:04:56] [debug] mysql_connect
    [22:04:56] [debug] mysql_query
    [22:04:56] [debug] mysql_errno
    [22:04:56] [debug] mysql_close
    [22:04:56] [debug] mysql_format
    [22:04:56] [debug] mysql_tquery
    [22:04:56] [debug] cache_get_row_count
    [22:04:56] [debug] cache_get_field_content
    [22:04:56] [debug] cache_get_field_content_int
    [22:04:56] [debug] cache_insert_id
    [22:04:56] Script[gamemodes/LnD-77.amx]: Run time error 19: "File or function is not found"
    [22:04:56] Number of vehicle models: 0


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Das liegt aber nicht an den Daten.
    Lässt du das MySQL Plugin gar nicht mitladen, oder habe ich das einfach nur in der Log übersehen? Du lässt 4 Plugins laden, das sind:
    crashdetect, streamer, filemanager und sscanf.
    MySQL sehe ich dort nirgends.

  • Ja, so sollte das richtig sein. Damit hast du die Daten allerdings nur "defined", heißt, jedes Mal wenn du im Script "User" nutzt liest der Compiler dies als "jsql288212".


    Jetzt musst du einen "handle" festlegen, dieser speichert deine Verbindungs-ID.


    Wenn du z.B. jedem User eine Verbindung zur Datenbank ermöglichen willst, müsstest du bei "OnPlayerConnect"
    dbhandle = mysql_connect(Host, User, DB, Password);
    einfügen. Jeder User hat nun seine eigene Verbindung mit der Datenbank, die ID der Verbindung ist in "dbhandle" gespeichert.
    Außerdem muss "dbhandle" dann auch noch als globale Variable deklariert werden. (Name ist variabel, muss nicht unbedingt dbhandle sein).


    Bei OnPlayerDisconnect würde ich dann noch "mysql_close(dbhandle);" einfügen, damit die Verbindung auch wieder getrennt wird.


    Wenn du den runtime error 19 hast stimmt übrigens glaube ich etwas mit einem deiner Plugins nicht, da bin ich mir aber nicht sicher.


    Ich bin selber noch Anfänger, versuche aber möglichst gut zu helfen. Bei Fehlern lasse ich mich gerne korrigieren :)


    MfG

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löscher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.


  • Wenn du z.B. jedem User eine Verbindung zur Datenbank ermöglichen willst, müsstest du bei "OnPlayerConnect"


    Nein, besser nicht. :bad:
    Das reicht, bzw. ist besser, wenn du die MySQL Verbindung einmal in OnGameModeInit herstellst, das reicht vollkommen. ^^


    Sprich, diesen Code einfach in OnGameModeInit:
    dbhandle = mysql_connect(Host, User, DB, Password);


    => EDIT:

    Bei OnPlayerDisconnect würde ich dann noch "mysql_close(dbhandle);" einfügen, damit die Verbindung auch wieder getrennt wird.


    Das dann auch nicht machen, sondern einfach mysql_close(dbhandle); bei OnGameModeExit ^^

    Einmal editiert, zuletzt von AirM4X ()

  • Oh, dann wurde mir das mal falsch erklärt :huh:
    Nach meinem Wissen wird somit jedem Spieler eine Verbindungs-ID zugewiesen und beim Disconnect wird die Verbindung wieder beendet.
    Anscheinend ist das nicht so, vielen Dank für die Aufklärung ^^


    MfG

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löscher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.


  • Hi ich Starte meinen Server un der geht aber gleich wieder aus hier die Server.Log

    Spoiler anzeigen
    ---------
    Loaded log file: "server_log.txt".
    ----------

    Spoiler anzeigen
    SA-MP Dedicated Server
    ----------------------
    v0.3.7-R2, (C)2005-2015 SA-MP Team

    Spoiler anzeigen
    [23:27:53]
    [23:27:53] Server Plugins
    [23:27:53] --------------
    [23:27:53] Loading plugin: streamer_03z.so
    [23:27:53]

    Spoiler anzeigen
    *** Streamer Plugin v2.7 by Incognito loaded ***

    Spoiler anzeigen
    [23:27:53] Loaded.
    [23:27:53] Loaded 1 plugins.

    Spoiler anzeigen
    [23:27:54]
    [23:27:54] Ban list
    [23:27:54] --------
    [23:27:54] Loaded: samp.ban
    [23:27:54]
    [23:27:54]
    [23:27:54] Filterscripts
    [23:27:54] ---------------
    [23:27:54] Loading filterscript 'map.amx'...
    [23:27:54] *** Streamer Plugin: Warning: Include file version (0x278001) does not match plugin version (0x27002) (script might need to be recompiled with the latest include file)
    [23:27:54] *** Streamer_SetVisibleItems: Expecting 2 parameter(s), but found 3
    [23:27:54] Loaded 1 filterscripts.