Problem beim ausführen von MySQL in quest

04/15/2013 18:00 NiiceOne#1
hallo, ich habe folgendes problem, jedes mal wenn ich in einer quest ne mysql querry ausführen lasse, downt es den entsprechenden core auf der ich die quest benutze.

Infos:

Aktuellste Questlib von Mijago installiert
MySQL Schnittstelle von Hanashi installiert
Game2089 Rev
Aktuellste DB Core
04/15/2013 18:24 yessiя#2
poste mal deine query rein
04/15/2013 19:27 NiiceOne#3
z.b. die

Code:
quest rangliste begin
	state start begin 
		when letter with begin 
			send_letter("Rangliste") 
        end

        when info or button begin
			local rangliste = mysql_query("SELECT * FROM player.player WHERE player.name NOT LIKE '[%]%' ORDER BY player.level DESC, player.exp DESC","*****","******","player","***.*.***.**")
            say_title("Die Top 10")
            say("Platz 1:     Name: "..rangliste.name[1].."    Level: "..rangliste.level[1].." ")
            say("Platz 2:     Name: "..rangliste.name[2].."    Level: "..rangliste.level[2].." ")
            say("Platz 3:     Name: "..rangliste.name[3].."    Level: "..rangliste.level[3].." ")
            say("Platz 4:     Name: "..rangliste.name[4].."    Level: "..rangliste.level[4].." ")
            say("Platz 5:     Name: "..rangliste.name[5].."    Level: "..rangliste.level[5].." ")
            say("Platz 6:     Name: "..rangliste.name[6].."    Level: "..rangliste.level[6].." ")
            say("Platz 7:     Name: "..rangliste.name[7].."    Level: "..rangliste.level[7].." ")
            say("Platz 8:     Name: "..rangliste.name[8].."    Level: "..rangliste.level[8].." ")
            say("Platz 9:     Name: "..rangliste.name[9].."    Level: "..rangliste.level[9].." ")
            say("Platz 10:     Name: "..rangliste.name[10].."    Level: "..rangliste.level[10].." ")
			send_letter("Rangliste")
		end
	end
end
die entsprechenden mysql daten hab ich bei mir auch eingetragen nur hier jetzt durch "*" ersetzt.

oder die hier

Code:
quest energy_sys begin 
    state start begin 
        when 20001.chat."Eine neue Technik" begin 
            say_title("Alchemist") 
            say("Ich habe es geschafft!") 
            say("Endlich konnte ich eine vollkommen neue Technik") 
            say("entwickeln.") 
            say("Ich habe es möglich gemacht, Gegenstände") 
            say("weiterzuverarbeiten und pure Energie aus ihnen zu") 
            say("ziehen. Absolut brillant!") 
            wait() 
            say_title("Alchemist") 
            say("Zerstört man einen Gegenstand mithilfe meiner") 
            say("Technik, erhält man Energiesplitter. Fügt man 30") 
            say("dieser Splitter zusammen, erhält man einen") 
            say("machtvollen Energiekristall! Reine, ungefilterte") 
            say("Energie, gebündelt in einem Edelstein. Diese") 
            say("Kraft fließt in deine gesamte Ausrüstung.") 
            say("Hast du Interesse daran?") 
            wait() 
            say_title("Alchemist") 
            say("Bring Ausrüstungsgegenstände wie Waffen, Schmuck") 
            say("und Kleidung, die du auf deiner") 
            say("Jagt findest, zu mir. Ich werde sie zu") 
            say("Energiesplittern verarbeiten.") 
            say("Zukunft und Hoffnung unseres Reiches liegen in") 
            say("dieser Technik. Wir werden unbesiegbar!") 
            set_state("make") 
        end 
    end 
    state make begin 
        when 20001.chat."Energiesplitter extrahieren" begin 
            say_title("Alchemist") 
            say("Hat es funktioniert? Hast du Energiesplitter") 
            say("bekommen?") 
            say("Bring mir mehr Gegenstände und ich werde ") 
            say("sie mithilfe der Alchemie zerbrechen.") 
            say("Meine Technik ist noch nicht ganz ausgefeilt.") 
            say("Deswegen kann ich dir nicht garantieren, wie") 
            say("viele Splitter du erhälst.") 
            wait() 
            say_title("Alchemist") 
            say("Es gibt eine Bedingung: Sowohl dein eigener als") 
            say("auch der Level des Gegenstandes muss") 
            say("mindestens 35 sein.") 
            say("Hm, schauen wir einfach mal...") 
            wait() 
            if pc.get_level() < 35 then 
                say_title("Alchemist") 
                say("Du bist noch nicht stark genug! Komm wieder,") 
                say("wenn du mindestens Level 35 erreicht hast.") 
            else -- NICHT DE 
                say_title("Alchemist") 
                say("Ok du bist Stark genug für meine neue") 
                say("Entdeckung.")         
            end 
             
        end 
         
        when 20001.chat."Energiekristall herstellen" begin 
            say_title("Alchemist") 
            say("Hast du deine Kraftreserven etwa schon") 
            say("aufgebraucht? Du solltest nicht so hart arbeiten") 
            say("und dein Leben leichtsinnig aufs Spiel setzen.") 
            say("Um einen Energiekristall herzustellen, benötige") 
            say("ich 30 Energiesplitter.") 
            wait() 
            if pc.get_level() < 35 then 
                say_title("Alchemist") 
                say("Du bist noch nicht stark genug! Komm wieder,") 
                say("wenn du mindestens Level 35 erreicht hast.") 
            else 
                if pc.count_item(51001) >= 30 then 
                    say_title("Alchemist") 
                    say("Sehr schön du hast alle benötigten 30") 
                    say("Energiesplitter. Daraus kann ich einen") 
                    say("Energiekristall herstellen.") 
                    say("Warte bitte einen Moment. Ich werde es") 
                    say("versuchen, aber ich kann nicht garantieren,") 
                    say("dass es funktioniert.") 
                    wait() 
                    say_title("Alchemist") 
                    say("Alles ist bereit, um die Splitter zu einem") 
                    say("Energiekristall zu verschmelzen.") 
                    say("Doch von irgendwas muss ich leben und") 
                    say("meine Werkzeuge fallen nicht einfach so vom") 
                    say("Himmel. Ich verlange einen kleinen") 
                    say("Unkostenbeitrag von 1000 Yang. Bist du bereit, zu") 
                    say("bezahlen?") 
                    if select("Selbstverständlich!","Nein, jetzt nicht") == 2 then 
                        return 
                    end 
                     
                    pc.change_money(-1000) 
                    pc.remove_item(51001,30) 
                     
                    if number(0,1) == 1 then 
                        say_title("Alchemist") 
                        say("Ich wusste meine Technik ist brilliant!") 
                        say("Hier ist dein Energiekristall.") 
                        say("Ein Prachtexemplar! Spürst du die Kraft?") 
                        pc.give_item2(51002,1) 
                    else -- NICHT DE 
                        say_title("Alchemist") 
                        say("Leider hat es nicht geklappt") 
                        say("einen Energiekristall herzustellen!") 
                        return 
                    end 
                     
                else -- NICHT DE 
                    say_title("Alchemist") 
                    say("Du hast leider nicht alle benötigten 30") 
                    say("Energiesplitter. Daraus kann ich nichts") 
                    say("herstellen.") 
                    return 
                end 
                 
            end 
        end 

        when 20001.take begin 
            if pc.get_level() < 35 then 
                say_title("Alchemist") 
                say("Du bist noch nicht stark genug, um die Kraft, die") 
                say("den Energiesplittern innewohnt, zu beherrschen.") 
                say("Komm wieder wenn du mindestens Level 35") 
                say("erreicht hast.") 
                return 
            end 
             
            if item.get_type() == 1 or item.get_type() == 2 then 
             
--				2070 - 2239 
--				80 - 369 
--				1040 - 1189 
--				3070 - 3249 
--				5040 - 5359 
--				4030 - 4069 
--				7070 - 7219 
--				11250 - 11299 
--				11450 - 11499 
--				11650 - 11699 
--				11850 - 11899 
--				12240 - 12699 

                local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;") 
                test_chat(maxlvl[1][1]) 
                if tonumber(maxlvl[1][1]) < 35 then  
                    -- NICHT DE 
                    say_title("Alchemist") 
                    say("Dieses Item ist nicht geeignet!") 
                    return 
                end 
             
                say_title("Alchemist") 
                say(string.trim(item.get_name())) 
                say("Soll ich diesen Gegenstand zerstören?") 
                if select("Ja!","Nein, noch nicht!") == 2 then 
                    return 
                else 
                    local anzahl = number(0,15) 
                    if anzahl > 0 then 
                        say_title("Alchemist") 
                        say("Sagenhaft! Ich konnte "..anzahl.." Energiesplitter finden.") 
                        say("Bitte sehr.") 
                        pc.give_item2(51001, anzahl) 
                    else 
                        say_title("Alchemist") 
                        say("Ich habe versagt - leider konnte ich keinen") 
                        say("Energiesplitter extrahieren. Vielleicht klappt es") 
                        say("beim nächsten Versuch.") 
                        return 
                    end 
                    item.remove() 
                end 
                 
            else -- NICHT DE 
                say_title("Alchemist") 
                say("Dieses Item ist nicht geeignet!") 
            end 
        end 
         
        when login begin 
            if getenergytime() < 50000 then 
                test_chat("[Energy]Restzeit: "..getenergytime()) 
                setenergytime(getenergytime() + get_time()) 
                cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime()) 
            end 
        end 
        when logout begin 
            if getenergytime() > get_time() then 
                local energy = getenergytime() - get_time() 
                if energy > 0 then 
                    setenergytime(energy) 
                end 
            end 
        end 
         
        when 51002.use begin 
            if getenergytime() > get_time() then 
                chat("Du benutzst schon die Energie eines Energiekristalls!") 
                return 
            end 
             
            local anz = number(1,10) 
            boni_list = {} 
            boni_list [1] = {apply.ATTBONUS_HUMAN,    15} 
            boni_list [2] = {apply.ATTBONUS_MONSTER,    10} 
            boni_list [3] = {apply.CRITICAL_PCT,    10} 
            boni_list [4] = {apply.PENETRATE_PCT,    10} 
            boni_list [5] = {apply.MAX_HP,    1000} 
            boni_list [6] = {apply.MAX_SP,    2000} 
            boni_list [7] = {apply.HP_REGEN,    30} 
            boni_list [8] = {apply.STEAL_HP,    10} 
            boni_list [9] = {apply.ATT_GRADE_BONUS,    75} 
            boni_list [10] = {apply.ATT_GRADE_BONUS,    50} 
             
            test_chat(anz) 
            test_chat(boni_list[anz][1]) 
            test_chat(boni_list[anz][2]) 

            affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200) 
            setenergy(anz,boni_list[anz][2],get_time() + 7200) 

            cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200)) 
             
            setenergytime(get_time() + 7200) 
             
            item.remove() 
            chat("Du spürst die Energie des Kristalls, die sich auf deinen Körper überträgt..") 
             
        end 
    end 
end
04/15/2013 20:05 $treet#4
Syserrs
04/15/2013 20:22 NiiceOne#5
steht nichts drin
04/15/2013 22:13 $treet#6
Die Schnittstelle an sich hat auch eine Syserr bzw. Log. Schau mal im Quest-MySQL Ordner und poste den Inhalt
04/15/2013 22:24 NiiceOne#7
keine drin
04/15/2013 23:36 ©by Noa#8
Quelle: Mijago
PHP Code:
quest ingamerank15 begin
    state start begin
        when 11000.chat
."Rangliste" or 11002.chat."Rangliste" or 11004.chat."Rangliste" begin
            say_title
("Top 15 Rangliste")
            
local sel select("Global","Rotes Reich","Gelbes Reich","Blaues Reich","Abbruch")
            
local pp
            
if sel == 5 then
                
return
            elseif 
sel == 1 then
                pp 
mysql_query("select name,level from player.player ORDER BY level desc,exp desc,name asc LIMIT 15")
            else
                
pp mysql_query("select name,level from player.player where (SELECT empire from player.player_index where player.account_id =id) = "..(sel-1).." ORDER BY level desc,exp desc,name asc LIMIT 15")
            
end
            
if pp == nil or (pp[1] or {})[1] == nil then
                say
("Es gab einen Fehler.")
                return
            
end
            say
("Rang - Name - Level")
            
table.foreachi(pp,function(i,l)
                
say(i.." - "..l[1].." - "..l[2])
            
end)
        
end
    end
end 
04/16/2013 10:42 NiiceOne#9
ich teste es mal aus