Alsooo, es ist eine sehr Umständliche Lösung, ein Server hatte bei mir angefragt ob ich es ihm machen könnte, da io.popen nicht funktioniert musste eine andere Lösung her, zuerst dachte ich an Perl (Wegen der Leistung) doch dann habe ich mich einfach für Shell PHP entschieden, na nächstes Problem ohne io.popen kann ich auch dies nicht auslesen - nungut - ich habe nun doch eine Lösung gefunden - SEHR UMSTÄNDLICH aber es funktioniert.
Wir erstellen zuerst eine neue Quest Funktion
in die Questlib.lua schreiben wir
Diese Funktion schreiben wir auch am Ende der folgenden Datei: quest_functions
nun erstellen wir im Channel Ordner eine Datei Namens: test.php
In diese Datei schreibt ihr:
nun noch fix eine Quest erstellen, die wie folgt heißt test.quest
die Quest sieht wie folgt aus:
sh make.sh ausführen, fertig.
-> Ich sagte ja, sehr umständlich doch es erfüllt seinen Zweck ;)
(Nicht zu empfehlen bei login quests - da die Festplatte sehr belastet werden kann!)
-> So wie das Beispiel ist, solltet ihr es nicht einfügen. Es sollte nach euren Wünschen angepasst werden.
Ich kann Quests, Scripte euren Wünschen entsprechend erstellen, gegen eine gerige Zeitaufwands Entschädigung.
Wir erstellen zuerst eine neue Quest Funktion
in die Questlib.lua schreiben wir
Code:
function pit_mysql()
os.execute("/usr/local/bin/php test.php")
for line in io.lines("test.txt") do say(line) end
end
Code:
pit_mysql
In diese Datei schreibt ihr:
PHP Code:
<?php
$dbhost = 'localhost'; //mySQL IP
$dbuser = 'root'; //mySQL Username
$dbpassword = ''; //mySQL Passwort
$database = 'account'; //mySQL Datenbank
$conn = mysql_connect($dbhost, $dbuser, $dbpassword) or die ('mySQL Connecting Error');
mysql_select_db($database);
$sqlIProto = "SELECT account, status from account.account LIMIT 10";
$qryIProto = mysql_query($sqlIProto);
$ipOut = NULL;
while($getIProto = mysql_fetch_object($qryIProto))
{
$ipOut .= $getIProto->account . "|" . $getIProto->status . "\n";
}
$datei = fopen("test.txt","w+");
fwrite($datei, $ipOut);
fclose($datei);
?>
nun noch fix eine Quest erstellen, die wie folgt heißt test.quest
die Quest sieht wie folgt aus:
Code:
quest test2 begin state start begin when 30121.chat."Test 2" begin say(pit_mysql()) end end end
-> Ich sagte ja, sehr umständlich doch es erfüllt seinen Zweck ;)
(Nicht zu empfehlen bei login quests - da die Festplatte sehr belastet werden kann!)
-> So wie das Beispiel ist, solltet ihr es nicht einfügen. Es sollte nach euren Wünschen angepasst werden.
Ich kann Quests, Scripte euren Wünschen entsprechend erstellen, gegen eine gerige Zeitaufwands Entschädigung.