|
You last visited: Today at 14:05
Advertisement
MySQL Quest Schnittstelle
Discussion on MySQL Quest Schnittstelle within the Metin2 Private Server forum part of the Metin2 category.
09/15/2015, 14:38
|
#1
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
MySQL Quest Schnittstelle
Hallo,
ich habe versucht dieses Tutorial auszuführen:
Das problem ist ich kann Git nicht installieren.
Liegt das vielleicht daran das FreeBSD 8.3 nicht mehr unterstützt wird?
Gibt es eine andere Möglichkeit auf die Datenbank innerhalb einer Quest zu zugreifen?
Vielen Dank schon mal
|
|
|
09/15/2015, 15:05
|
#2
|
elite*gold: 90
Join Date: Apr 2010
Posts: 1,887
Received Thanks: 1,793
|
Quote:
Das problem ist ich kann Git nicht installieren.
Liegt das vielleicht daran das FreeBSD 8.3 nicht mehr unterstützt wird?
|
Ja
Quote:
|
Gibt es eine andere Möglichkeit auf die Datenbank innerhalb einer Quest zu zugreifen?
|
Es gibt noch diese hier:
|
|
|
09/15/2015, 16:24
|
#3
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
Damit hast du mir schon mal sehr geholfen
Wie füge ich das ganze jetzt richtig ein?
Wenn man die Dateien runterlädt sind dort einige .lua aber keine questing.lua
|
|
|
09/15/2015, 16:28
|
#4
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by AlphaGenY
Damit hast du mir schon mal sehr geholfen
Wie füge ich das ganze jetzt richtig ein?
Wenn man die Dateien runterlädt sind dort einige .lua aber keine questing.lua
|
Du brauchst eigentlich nur die mysql_query.lua
Entweder den Inhalt der mysql_query.lua in die questlib.lua einfügen oder die mysql_query.lua in den questordner legen und in die questlib.lua reinschreiben:
Code:
dofile("mysql_query.lua")
Anschließend musst du noch mysql_query in die quest_functions eintragen und dann kannst du es auch schon nutzen.
|
|
|
09/15/2015, 20:54
|
#5
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
Könnt ihr mir Beispiele bauen bzw. meine korrigieren?
PHP Code:
if mysql_query(SELECT account FROM coins WHERE name = '.."\\'"..pc.get_account_id().." ) =/= 0 then
Es soll in der tabelle account der Wert der Spalte coins vergleichen werden von der Account der eingeloggt ist
PHP Code:
os.execute('mysql account --execute=\\"UPDATE account SET coins = coins + 50 WHERE\\'"..'\\"')
Das hab ich aus ner anderen Quest. Hoffe es erhöht den wert von coins um 
Aber woher weiß er in welcher zeile?
ich würde gerne wissen wie ich daten vom benutzen account aus lese und vergleiche und wie ich andere daten ändere
Hoffe ihr könnt mir helfen
|
|
|
09/15/2015, 21:00
|
#6
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by AlphaGenY
Aber woher weiß er in welcher zeile?
ich würde gerne wissen wie ich daten vom benutzen account aus lese und vergleiche und wie ich andere daten ändere
|
Die Query wird an die Funktion als String übergeben
|
|
|
09/15/2015, 21:21
|
#7
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
Ein Beispiel jeweils zum modifizieren bitte, bin nicht so fit im questen und vor allem nicht in MySQL  Lehre mich :P
|
|
|
09/15/2015, 21:53
|
#8
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Code:
local coinsAmount = 1
mysql_query("UPDATE account.account SET coins = coins + " .. coinsAmount .. " WHERE id = " .. pc.get_player_id() .. " LIMIT 1;")
|
|
|
09/15/2015, 22:21
|
#9
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
Das ist sehr nett 
Was macht das Limit am Ende ?
Müssen nicht noch iwie die Daten vom MySQL Server übermittelt werden?
Sprich Ip, Login und Passwort?
|
|
|
09/15/2015, 22:33
|
#10
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by AlphaGenY
Das ist sehr nett 
Was macht das Limit am Ende ?
Müssen nicht noch iwie die Daten vom MySQL Server übermittelt werden?
Sprich Ip, Login und Passwort?
|
Das Limit sagt, dass nur ein Datensatz geändert werden soll.
IP etc liest die funktion aus den CONFIGs aus
|
|
|
09/15/2015, 22:44
|
#11
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
PHP Code:
if mysql_query("SELECT account.account FROM coins WHERE id = " .. pc.get_player_id() .. " LIMIT 1;") =/= 0 then
Wenn coins ungleich 0 sind dann ...
Macht das Sinn ?
|
|
|
09/15/2015, 22:57
|
#12
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Mysql_query gibt bei einem select einen lua table mit allen vom select zurückgegebenen Datensätzen zurück. Jeder Datensatz ist ein lua table mit den Werten zu jeder selektierten spalte.
Du hast in der query select und from vertauscht (select columns from table)
Ungleich schreibt man anders, allerdings sind ohne Veränderung alle Werte in den Datensätzen strings
|
|
|
09/15/2015, 23:28
|
#13
|
elite*gold: 0
Join Date: Sep 2015
Posts: 23
Received Thanks: 0
|
Da kommt ja einiges hoch was ich die letzten Semester versucht habe in Uni zu verdrängen 
Studiere Maschinenbau und muss deshalb Informatik belegen (c++)
Ist nicht soo viel hängengeblieben
Okay String ist Text. Auch wenn der Text eine Zahl ist 
Aber man kann den String in eine andere Variable umwandeln glaube ich :P
PHP Code:
a = tonumber("mysql_query("FROM account.account SELECT coins WHERE id = " .. pc.get_player_id() .. " LIMIT 1;")")
|
|
|
09/16/2015, 02:02
|
#14
|
elite*gold: 0
Join Date: Apr 2015
Posts: 428
Received Thanks: 361
|
Also ich würde dir empfehlen dass ganze in SQL zumachen, dabei geht der Datentyp nciht verloren und du rufst die DB meistens nur 2 bis 3 mal auf. Guck' mal nach IF und ELSE in SQL von MySQL
|
|
|
09/16/2015, 07:30
|
#15
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Die mysql query muss schon noch als Funktion aufgerufen werden
Wie gesagt, die funktion gibt einen table mit allen Datensätzen zurück
Wenn du genau sagst was du vor hast können wir auch vielleicht helfen eine bessere Lösung zu finden (zb die if abfrage innerhalb der datenbank zu machen, wie Metho sagte)
|
|
|
 |
|
Similar Threads
|
MySQL Schnittstelle
07/15/2014 - Metin2 Private Server - 18 Replies
Heyho,
ich wollte mal fragen ob es sein kann das eineige quests nicht funktionieren
(Daroo Files) die eine MySQL-Schnittstelle benötigen, da diese eventuell zu alt ist oder nicht einmal exestieren?
LG
Sully
|
Mysql Schnittstelle
08/22/2013 - Metin2 Private Server - 8 Replies
hallo epvp com,
Hab derzeit probleme mit meiner Mysql Schnittstelle
hab die von Hanashi benutzt und auch die von mijago
nur will er mir meine quests nicht in die DB tables übertragen..
könnte mal einer mit mehr ahnung als ich drüber schauen??
mfg
|
Quest - Welche MySQL-Schnittstelle benutzen?
03/02/2013 - Metin2 Private Server - 2 Replies
Hallo liebe Community,
welche MySQL-Schnittstelle für Quests empfehlt ihr mir?
http://www.elitepvpers.com/forum/metin2-pserver-g uides-strategies/2059867-r-mysql-function.html
http://www.elitepvpers.com/forum/metin2-pserver-g uides-strategies/1562959-release-mysql-schnittstel le-f-r-quests.html
Kennt ihr noch andere?
MfG
|
[PROBLEM]Hanashi's Quest-MySQL schnittstelle
09/06/2012 - Metin2 Private Server - 1 Replies
http://s7.directupload.net/images/120902/lthgyliq. png
Hoffe ihr könnt helfen.. :S
|
[MYSQL SCHNITTSTELLE] by miajago
12/16/2011 - Metin2 Private Server - 0 Replies
Tach,
ich wollte mal die MYSQL_Schnittstelle von miajago testen, aber komischerweise funzt es bei mir nicht -.-.
Ich hab die questing.lua in den queset ordner + 777 rechte gegeben
desweiteren hab ich in der ERSTEN zeile von der questlib.lua das hier rein geschrieben...
dofile('locale/germany/quest/questing.lua')
Danach make aufgehührt und mal rebootet<<<<
Jetzt kommt zwar keine Fehlermeldung in der Console, aber die Quest funzt nicht...
Es kommt nur der anfangs text, dann drück ich ja...
|
All times are GMT +1. The time now is 14:09.
|
|