Register for your free account! | Forgot your password?
Rust Cheats
Rust Cheats

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 14:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MySQL Quest Schnittstelle

Discussion on MySQL Quest Schnittstelle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #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
AlphaGenY is offline  
Old 09/15/2015, 15:05   #2

 
Avulsed's Avatar
 
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:
Avulsed is offline  
Thanks
1 User
Old 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
AlphaGenY is offline  
Old 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 View Post
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.
rollback is offline  
Thanks
1 User
Old 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
AlphaGenY is offline  
Old 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 View Post
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
rollback is offline  
Thanks
1 User
Old 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
AlphaGenY is offline  
Old 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;")
rollback is offline  
Thanks
1 User
Old 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?
AlphaGenY is offline  
Old 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 View Post
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
rollback is offline  
Thanks
1 User
Old 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 ?
AlphaGenY is offline  
Old 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
rollback is offline  
Old 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:
tonumber("mysql_query("FROM account.account SELECT coins WHERE id " .. pc.get_player_id() .. " LIMIT 1;")"
PHP Code:
if ~= 0 then 
AlphaGenY is offline  
Old 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
#Metho is offline  
Thanks
1 User
Old 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)
rollback is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.