[SERVICE] Die Questkontrolle

08/26/2013 17:10 german1337#8836
Code:
---------------------------------------
-- Quest made by NexT³ and Remix
--------------------------------------
quest auktions_haus begin
    state start begin
        function attr_list ( bonus )
            local attr = {
                [1] = "Max. TP",
                [2] = "Max. MP",
                [3] = "Vitalität",
                [4] = "Intelligenz",
                [5] = "Stärke",
                [6] = "Beweglichkeit",
                [7] = "Angriffsgeschwindigkeit",
                [8] = "Bewegungsgeschw.",
                [9] = "Zaubergeschwindigkeit",
                [10] = "TP-Regeneration",
                [11] = "MP-Regeneration",
                [12] = "Vergiftungschance ",
                [13] = "Ohnmachtschance ",
                [14] = "Verlangsamungschance ",
                [15] = "Chance auf krit. Treffer +",
                [16] = "Chance auf durchbohrenden Treffer",
                [17] = "Stark gegen Halbmenschen +",
                [18] = "Stark gegen Tiere +",
                [19] = "Stark gegen Orks +",
                [20] = "Stark gegen Esoterische +",
                [21] = "Stark gegen Untote +",
                [22] = "Stark gegen Teufel +",
                [23] = "Schaden wird von TP absorbiert",
                [24] = "Schaden wird von MP absorbiert",
                [25] = "Chance auf Manaraub",
                [27] = "Chance, Nahkampf-Angriff abzublocken ",
                [28] = "Chance, Pfeilangriff auszuweichen",
                [29] = "Schwertverteidigung ",
                [30] = "Zweihänderverteidigung ",
                [31] = "Dolchverteidigung ",
                [32] = "Glockenverteidigung ",
                [33] = "Fächerverteidigung ",
                [34] = "Pfeilwiderstand ",
                [35] = "Feuerwiderstand ",
                [36] = "Blitzwiderstand ",
                [37] = "Magiewiderstand ",
                [38] = "Windwiderstand ",
                [39] = "Chance, Nahkampftreffer zu reflektieren",
                [40] = "Giftwiderstand",
                [41] = "Chance, MP wiederherzustellen",
                [42] = "Chance auf EXP-Bonus",
                [43] = "Chance, eine doppelte Menge Yang fallen zu lassen.",
                [44] = "Chance, eine doppelte Menge von Gegenständen fallen zu lassen.",
                [45] = "Chance, TP wiederherzustellen",
                [46] = "Abwehr gegen Ohnmacht",
                [47] = "Abwehr gegen Verlangsamen",
                [48] = "Angriffswert",
                [49] = "Stark gegen Monster",
                [50] = "Fertigkeitsschaden ",
                [51] = "Durchschn. Schaden ",
                [52] = "Widerstand gegen Fertigkeitsschaden ",
                [53] = "Durchschn. Schadenswiderstand ",
                [71] = "Fertigkeitsschaden",
                [72] = "Durchschn. Schaden",
            }
            return tostring(attr[bonus])
        end
        
        function stones ( vnum )
            local steine = {
                [28030] = "Stein des Durchbruchs+0",
                [28031] = "Stein des Todesstoß+0",
                [28032] = "Stein der Wiederkehr+0",
                [28033] = "Stein gegen Krieger+0",
                [28034] = "Stein gegen Ninja+0",
                [28035] = "Stein gegen Sura+0",
                [28036] = "Stein gegen Schamanen+0",
                [28037] = "Stein der Monster+0",
                [28038] = "Stein des Ausweichens+0",
                [28039] = "Stein des Duckens+0",
                [28040] = "Stein der Magie+0",
                [28041] = "Stein der Vitalität+0",
                [28042] = "Stein des Schutzes+0",
                [28043] = "Stein der Hast+0",
                [28130] = "Stein des Durchbruchs+1",
                [28131] = "Stein des Todesstoß+1",
                [28132] = "Stein der Wiederkehr+1",
                [28133] = "Stein gegen Krieger+1",
                [28134] = "Stein gegen Ninja+1",
                [28135] = "Stein gegen Sura+1",
                [28136] = "Stein gegen Schamanen+1",
                [28137] = "Stein der Monster+1",
                [28138] = "Stein des Ausweichens+1",
                [28139] = "Stein des Duckens+1",
                [28140] = "Stein der Magie+1",
                [28141] = "Stein der Vitalität+1",
                [28142] = "Stein des Schutzes+1",
                [28143] = "Stein der Hast+1",
                [28230] = "Stein des Durchbruchs+2",
                [28231] = "Stein des Todesstoß+2",
                [28232] = "Stein der Wiederkehr+2",
                [28233] = "Stein gegen Krieger+2",
                [28234] = "Stein gegen Ninja+2",
                [28235] = "Stein gegen Sura+2",
                [28236] = "Stein gegen Schamanen+2",
                [28237] = "Stein der Monster+2",
                [28238] = "Stein des Ausweichens+2",
                [28239] = "Stein des Duckens+2",
                [28240] = "Stein der Magie+2",
                [28241] = "Stein der Vitalität+2",
                [28242] = "Stein des Schutzes+2",
                [28243] = "Stein der Hast+2",
                [28330] = "Stein des Durchbruchs+3",
                [28331] = "Stein des Todesstoß+3",
                [28332] = "Stein der Wiederkehr+3",
                [28333] = "Stein gegen Krieger+3",
                [28334] = "Stein gegen Ninja+3",
                [28335] = "Stein gegen Sura+3",
                [28336] = "Stein gegen Schamanen+3",
                [28337] = "Stein der Monster+3",
                [28338] = "Stein des Ausweichens+3",
                [28339] = "Stein des Duckens+3",
                [28340] = "Stein der Magie+3",
                [28341] = "Stein der Vitalität+3",
                [28342] = "Stein des Schutzes+3",
                [28343] = "Stein der Hast+3",    
                [28430] = "Stein des Durchbruchs+4",
                [28431] = "Stein des Todesstoß+4",
                [28432] = "Stein der Wiederkehr+4",
                [28433] = "Stein gegen Krieger+4",
                [28434] = "Stein gegen Ninja+4",
                [28435] = "Stein gegen Sura+4",
                [28436] = "Stein gegen Schamanen+4",
                [28437] = "Stein der Monster+4",
                [28438] = "Stein des Ausweichens+4",
                [28439] = "Stein des Duckens+4",
                [28440] = "Stein der Magie+4",
                [28441] = "Stein der Vitalität+4",
                [28442] = "Stein des Schutzes+4",
                [28443] = "Stein der Hast+4",
                [28960] = "Steinsplitterstück",
            }
            return tostring(steine[vnum])
        end
        
        function insert_item ( vnum, name, preis, verkaufer , socket1, socket2, socket3, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3)
            mysql_query("INSERT INTO player.auktionshaus (vnum,name,preis,verkaufer,offen,verkauft,socket1,socket2,socket3, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3) VALUES ('"..vnum.."', '"..name.."', '"..preis.."', '"..verkaufer.."', '1', '0', '"..socket1.."', '"..socket2.."', '"..socket3.."', '"..attrtype0.."', '"..attrvalue0.."', '"..attrtype1.."', '"..attrvalue1.."', '"..attrtype2.."', '"..attrvalue2.."', '"..attrtype3.."', '"..attrvalue3.."');")
            say_title("Auktionshaus:")
            say("Dein Item : "..name.." steht nun zum Verkauf für "..preis)
            item.remove()
        end
        
        function buy_item ( vnum, name, preis, verkaufer )
            local sockets = mysql_query("SELECT socket1, socket2, socket3 FROM player.auktionshaus WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
            local tabelle = {
                [1] = sockets.socket1[1],
                [2] = sockets.socket2[1],
                [3] = sockets.socket3[1],
            }
            if verkaufer == pc.get_name() then
                return chat("Du kannst nicht deine eigenen Items kaufen")
            end
            say_size(350, 425)
            say_title("Auktionshaus:")
            say_item_vnum(vnum)
            say("Steine:")
            say("")
            for i = 1, 3, 1 do
                if tabelle[i] > 1 then
                    say_reward(auktions_haus.stones(tabelle[i]))
                else
                    say("Leer")
                end
            end
            say("")
            say("Bonis:")
            local bonis = mysql_query("SELECT attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3 FROM player.auktionshaus WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
            if tonumber(bonis.attrtype0[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype0[1])).." : "..bonis.attrvalue0[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype1[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype1[1])).." : "..bonis.attrvalue1[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype2[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype2[1])).." : "..bonis.attrvalue2[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype3[1]) > 0  then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype3[1])).." : "..bonis.attrvalue3[1])
            else
                say("Leer")
            end
            say("Möchtest du das Item Kaufen ?")
            say_reward("Es kostet dich "..preis.." yang.")
            say("")
            say("")
            local a = select("Kaufen", "Zurück")
            if a == 1 then
                if auktions_haus.get_money(pc.get_name()) >= preis then
                    tabelle = {}
                    for i = 0, 39, 1 do
                        table.insert(tabelle, i)
                    end
                    table.insert(tabelle, "zurück")
                    say_size(350, 375)
                    say_title("Lager Slot aussuchen:")
                    say("Hier kannst du aussuchen wo das Item im Lager")
                    say("liegen soll")
                    c = select_table(tabelle)
                    if c == table.getn(tabelle) then 
                        auktions_haus.menu()
                    end
                    local check = mysql_query("SELECT COUNT(*) as count FROM player.item WHERE window = 'SAFEBOX' and owner_id = '"..pc.get_player_id().."' and pos = '"..c.."';")
                    if tonumber(check[1][1]) == 0 then
                        mysql_query("UPDATE player.auktionshaus SET offen = '0' WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
                        local pc_name_33 = pc.get_name()
                        mysql_query("UPDATE player.auktionshaus SET verkauft = '"..pc_name_33.."' WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
                        pc.change_money(-preis)
                        mysql_query("UPDATE player.auktionshaus_benutzer SET gold = gold + "..preis.." WHERE name = '"..verkaufer.."'")
                        mysql_query("update player.auktionshaus_benutzer set gold = gold - "..preis.." where name = '"..pc.get_name().."'")
                        mysql_query("INSERT INTO player.item (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2) VALUES  ('"..pc.get_account_id().."', 'SAFEBOX', '"..c.."', '1', '"..vnum.."', '"..bonis.attrtype0[1].."', '"..bonis.attrvalue0[1].."', '"..bonis.attrtype1[1].."', '"..bonis.attrvalue1[1].."', '"..bonis.attrtype2[1].."', '"..bonis.attrvalue2[1].."', '"..bonis.attrtype3[1].."', '"..bonis.attrvalue3[1].."', '0', '0', '0', '0', '0', '0', '"..sockets.socket1[1].."', '"..sockets.socket2[1].."', '"..sockets.socket3[1].."');")
                        say_title("Auktionshaus:")
                        say("Deine neue Waffe befindet sich nun in deinem Lager.")
                    elseif tonumber(check[1][1]) > 0 then
                        say_title("Auktionshaus:")
                        say_reward("Der ausgewählte Slot ist nichtmehr frei !")
                        if select("zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                else
                    say_title("Auktionshaus:")
                    say_reward("Du hast nicht genug Geld bei dir um")
                    say_reward("das Item zukaufen")
                    if select("zurück") == 1 then
                        auktions_haus.menu()
                    end
                end
            elseif a == 2 then
                auktions_haus.menu()
            end
        end
        
        function search_item ( Type, sinput )
            if tostring(Type) == "String" then
                local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE name = '"..sinput.."' and offen = '1'")
                if tonumber(count[1][1]) > 0 then
                    local auktion = mysql_query("SELECT name,preis,vnum,verkaufer FROM player.auktionshaus WHERE name = '"..sinput.."' and offen = '1'")
                    local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE name = '"..sinput.."' and offen = '1'")
                    local i = 1
                    while tonumber(count[1][1]) >= i do
                        say_title("Auktionshaus:")
                        say_item_vnum(tonumber(auktion.vnum[1]))
                        say("")
                        say("")
                        say("Item : "..auktion.name[i])
                        say("Preis : "..auktion.preis[i])
                        say("")
                        say("")
                        if select("Kaufen", "Weiter") == 1 then
                            auktions_haus.buy_item(auktion.vnum[i], auktion.name[i], auktion.preis[i], auktion.verkaufer[i])
                            i = count[1][1] + 1
                            break
                        else
                            if auktion[i + 1][3] == nil then
                                i = count[1][1] + 1
                                say_title("Auktionshaus:")
                                say("Keine weiteren Items gefunden")
                                if select("zurück") == 1 then
                                    auktions_haus.menu()
                                    break
                                end
                            else
                                i = i + 1
                            end
                        end
                    end
                else
                    say_title("Auktionshaus:")
                    say_reward("Kein Suchergebnis für "..sinput..".")
                    if select("zurück") == 1 then
                        auktions_haus.menu()
                    end
                end
            elseif tostring(Type) == "Number" then
                local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE vnum = '"..sinput.."' and offen = '1'")
                if tonumber(count[1][1]) > 0 then
                    local auktion = mysql_query("SELECT name,preis,vnum,verkaufer FROM player.auktionshaus WHERE vnum = '"..sinput.."' and offen = '1'")
                    local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE vnum = '"..sinput.."' and offen = '1'")
                    local i = 1
                    while tonumber(count[1][1]) >= i do
                        say_title("Auktionshaus:")
                        say_item_vnum(tonumber(auktion.vnum[1]))
                        say("")
                        say("")
                        say("Item : "..auktion.name[i])
                        say("Preis : "..auktion.preis[i])
                        say("")
                        say("")
                        if select("Kaufen", "Weiter") == 1 then
                            auktions_haus.buy_item(auktion.vnum[i], auktion.name[i], auktion.preis[i], auktion.verkaufer[i])
                            i = count[1][1] + 1
                            break
                        else
                            if auktion[i + 1][3] == nil then
                                i = count[1][1] + 1
                                say_title("Auktionshaus:")
                                say("Keine weiteren Items gefunden")
                                if select("zurück") == 1 then
                                    auktions_haus.menu()
                                    break
                                end
                            else
                                i = i + 1
                            end
                        end
                    end
                else
                    say_title("Auktionshaus:")
                    say_reward("Kein Suchergebnis für "..sinput..".")
                    if select("zurück") == 1 then
                        auktions_haus.menu()
                    end
                end
            end
        end
        
        function get_money ( name )
            local guthaben = mysql_query("SELECT gold FROM player.auktionshaus_benutzer WHERE name = '"..name.."'")
            return tostring(guthaben[1][1])
        end
        
        function money_back( name )
            say_title("Auktionshaus:")
            say("Dein Guthaben beträgt : "..auktions_haus.get_money(pc.get_name()))
            say_reward("Wie viel Möchtest du abheben ?")
            local abheben = tonumber(input())
            if abheben < 1 or abheben > 1999999999 or type(abheben) ~= "number" then 
                say_title("Auktionshaus:")
                say_reward("Fehler bei der Eingabe.")
                if select("Zurück") == 1 then 
                    auktions_haus.menu()
                    return
                end
            end
            local check = mysql_query("SELECT gold FROM player.auktionshaus_benutzer WHERE name = '"..name.."'")
            if tonumber(check[1][1]) >= abheben then
                pc.change_money(abheben)
                say_title("Auktionshaus:")
                say("Du hast "..abheben.." Yang abgehoben.")
                mysql_query("UPDATE player.auktionshaus_benutzer SET gold = gold - "..abheben.." WHERE name = '"..name.."'")
                if select("Zurück") == 1 then auktions_haus.menu() end
            else
                say_title("Auktionshaus:")
                say_reward("Du hast nicht genug Geld auf deinem Konto.")
                if select("Zurück") == 1 then auktions_haus.menu() end
            end            
        end
        
        function last_auktionen ( name )
            local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE verkaufer = '"..name.."' and offen = '0'")
            local infos = mysql_query("SELECT name,preis,verkauft FROM player.auktionshaus WHERE verkaufer = '"..name.."' and offen = '0'")
            local i = 1
            if tonumber(count[1][1]) > 0 then
                say_title("Auktionshaus:")
                say("Hier kannst du die Letzen 8 Auktionen sehen")
                say("wer es gekauft hat und was du verkaufst hast")
                say_gold("~~~~~~~~~~~~~~~~~~~~~~")
                while tonumber(count[1][1]) >= i and i <= 8 do
                    say_reward(""..i..". Item: "..infos.name[i].." // Preis "..infos.preis[i])
                    i = i +1
                end
                say_gold("~~~~~~~~~~~~~~~~~~~~~~")
                if select("Zurück") == 1 then 
                    auktions_haus.menu() 
                end
            else
                say_title("Auktionshaus:")
                say("Du hast noch nix Verkauft.")
                if select("Zurück") == 1 then 
                    auktions_haus.menu() 
                end
            end
        end
        
        function cancel_auktion()
            local count = mysql_query("SELECT count(*) FROM player.auktionshaus WHERE offen = '1' and verkaufer = '"..pc.get_name().."'")
            if tonumber(count[1][1]) < 1 then
                say_title("Auktion Beende:")
                say("Zurzeit hast du keine Laufende Auktionen.")
                if select("Zurück") == 1 then 
                    auktions_haus.menu() 
                end
            else
                local count = mysql_query("SELECT count(*) FROM player.auktionshaus WHERE offen = '1' and verkaufer = '"..pc.get_name().."'")
                local s = mysql_query("SELECT vnum,name,preis,verkaufer,offen,verkauft,socket1,socket2,socket3,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3 FROM player.auktionshaus WHERE verkaufer = '"..pc.get_name().."' and offen = '1'")
                say_title("Auktion Beenden:")
                say("Hier kannst deine Aktuellen Auktionen")
                say("Angucken und jeder zeit Abbrechen")
                say("")
                local i = 1
                local c = select_table(s.name)
                say_size(350, 425)
                say_title(string.format("Auktion Beenden von %s", s.name[c]))
                say_item_vnum(s.vnum[c])
                say("")
                say("Steine:")
                if s.socket1[c] > 1 then 
                    say_reward(auktions_haus.stones(s.socket1[c]))
                else
                    say_reward("Leer")
                end
                if s.socket2[c] > 1 then
                    say_reward(auktions_haus.stones(s.socket2[c]))
                else
                    say_reward("Leer")
                end
                if s.socket3[c] > 1 then
                    say_reward(auktions_haus.stones(s.socket3[c]))
                else
                    say_reward("Leer")
                end
                say("")
                say("Bonis:")
                if tonumber(s.attrtype0[c]) > 0 then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype0[c])).." : "..s.attrvalue0[c])
                else
                    say("Leer")
                end
                if tonumber(s.attrtype1[c]) > 0 then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype1[c])).." : "..s.attrvalue1[c])
                else
                    say("Leer")
                end
                if tonumber(s.attrtype2[c]) > 0 then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype2[c])).." : "..s.attrvalue2[c])
                else
                    say("Leer")
                end
                if tonumber(s.attrtype3[c]) > 0  then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype3[c])).." : "..s.attrvalue3[c])
                else
                    say("Leer")
                end
                say("")
                say("")
                say("")
                if select("Auktion Beenden", "zurück") == 1 then
                    say_size(350, 375)
                    say_title("Lager-Slot:")
                    say("Du musst noch einen Lager Slot auswählen")
                    tabelle = {}
                    for i = 0, 39, 1 do
                        table.insert(tabelle, i)
                    end
                    d = select_table(tabelle)
                    local check = mysql_query("SELECT COUNT(*) as count FROM player.item WHERE window = 'SAFEBOX' and owner_id = '"..pc.get_player_id().."' and pos = '"..d.."';")
                    if tonumber(check[1][1]) == 0 then
                        mysql_query("INSERT INTO player.item (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2) VALUES  ('"..pc.get_account_id().."', 'SAFEBOX', '"..d.."', '1', '"..s.vnum[c].."', '"..s.attrtype0[c].."', '"..s.attrvalue0[c].."', '"..s.attrtype1[c].."', '"..s.attrvalue1[c].."', '"..s.attrtype2[c].."', '"..s.attrvalue2[c].."', '"..s.attrtype3[c].."', '"..s.attrvalue3[c].."', '0', '0', '0', '0', '0', '0', '"..s.socket1[c].."', '"..s.socket2[c].."', '"..s.socket3[c].."');")
                        mysql_query("UPDATE player.auktionshaus SET offen = '0' and verkauft = '"..pc.get_name().."' WHERE vnum = '"..s.vnum[c].."' and name = '"..s.name[c].."' and preis = '"..s.preis[c].."' and verkaufer = '"..pc.get_name().."' and offen = '1' and verkauft = '"..s.verkauft[c].."' and socket1 = '"..s.socket1[c].."' and socket2 = '"..s.socket2[c].."' and socket3 = '"..s.socket3[c].."' and attrtype0 = '"..s.attrtype0[c].."' and attrvalue0 = '"..s.attrvalue0[c].."' and attrtype1 = '"..s.attrtype1[c].."' and attrvalue1 = '"..s.attrvalue1[c].."' and attrtype2 = '"..s.attrtype2[c].."' and attrvalue2 = '"..s.attrvalue2[c].."' and attrtype3 = '"..s.attrtype3[c].."' and attrvalue3 = '"..s.attrvalue3[c].."';")
                        say_title("Auktion erfolgreich beendet")
                        say("Das Item liegt nun wieder in deinem Lager.")
                    elseif tonumber(check[1][1]) > 0 then
                        say_reward("Der ausgewählte Slot ist nichtmehr frei !")
                        if select("zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                else
                    auktions_haus.menu() 
                end
            end
        end    
        
        function menu()
            say_title("Auktionshaus:")
            say("Wie kann ich dir helfen ?")
            local s = select("Item Suchen", "Item Verkaufen", "Mein Guthaben", "Meine letzen Verkäufe", "Geld abheben" , "Auktion Beenden", "Raus hier")
            if s == 1 then
                say_title("Auktionshaus:")
                say("Bitte wähle aus womit du Suchen magst.")
                if select("Mit Name suchen", "Mit Vnum suchen") == 1 then
                    say_title("Auktionshaus:")
                    say("Bitte achte darauf das der Namen richtig geschrieben ist.")
                    local vnum = tostring(input())
                    if vnum == nil then
                        say_title("Auktionshaus:")
                        say_reward("Falsche Eingabe.")
                        if select("Zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                    auktions_haus.search_item("String", vnum)
                else
                    say_title("Auktionshaus:")
                    say("Bitte gib nun das Vnum von dem gesuchten Item ein.")
                    local vnum = tonumber(input())
                    if vnum < 1 or type(vnum) ~= "number" then
                        say_title("Auktionshaus:")
                        say_reward("Falsche Eingabe.")
                        if select("Zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                    auktions_haus.search_item("Number", vnum)
                end
            elseif s == 2 then
                say_title("Auktionshaus:")
                say("Zieh einfach ein Item auf mich um es zu")
                say("Verkaufen")
                if select("Zurück") == 1 then
                    auktions_haus.menu()
                end
            elseif s == 3 then
                say_title("Auktionshaus:")
                say("Dein Guthaben beträgt : "..auktions_haus.get_money(pc.get_name()))
                if select("Zurück") == 1 then
                    auktions_haus.menu()
                end    
            elseif s == 4 then
                auktions_haus.last_auktionen(pc.get_name())
            elseif s == 5 then
                auktions_haus.money_back(pc.get_name())
            elseif s == 6 then
                auktions_haus.cancel_auktion()
            else
                chat("<Auktionshaus>: Einen schönen Tag/Abend noch.")
            end
        end
        
        when 20092.chat."Auktionshaus" begin
            if pc.getqf("benutzer_in_auktionshaus") == 0 then
                mysql_query("INSERT INTO player.auktionshaus_benutzer (name,gold) VALUES ('"..pc.get_name().."', '0')") 
                pc.setqf("benutzer_in_auktionshaus", 1)
            end
            auktions_haus.menu()
        end
        
        when 20092.take begin
            local ex = mysql_query("select exists from player.item where id = '"..item.get_id().."';")
            if ex == "0" then
                return chat("Es ist ein Fehler aufgetreten")
            end
            local item_right = item.get_vnum()
            local itemname = item.get_name()
            local itemid = item.get_id()
            local sockets = {
                [1] = item.get_socket(0),
                [2] = item.get_socket(1), 
                [3] = item.get_socket(2),
            }
            say_size(350, 400)
            say_title("Auktionshaus:")
            say_item_vnum(item_right)
            say("Steine:")
            say("")
            for i = 1, 3, 1 do
                if sockets[i] > 1 then
                    say_reward(auktions_haus.stones(sockets[i]))
                else
                    say("Leer")
                end
            end
            say("")
            say("Bonis:")
            local bonis = mysql_query("SELECT attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3 FROM player.item WHERE id = '"..itemid.."'")
            if tonumber(bonis.attrtype0[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype0[1])).." : "..bonis.attrvalue0[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype1[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype1[1])).." : "..bonis.attrvalue1[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype2[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype2[1])).." : "..bonis.attrvalue2[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype3[1]) > 0  then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype3[1])).." : "..bonis.attrvalue3[1])
            else
                say("Leer")
            end
            say("")
            say("")
            if select("Verkaufen", "Nein") == 1 then
                say_title("Auktionshaus:")
                say("Bitte gibt den Preis für das Item ein")
                say_reward("Minimal 1 Yang ; Maximal 2KKK Yang")
                local preis = tonumber(input())
                if preis < 1 or preis > 1999999999 or type(preis) ~= "number" then
                    say_title("Auktionshaus:")
                    say("Fehler bei der Eingabe !")
                    if select("Zurück") == 1 then auktions_haus.menu() end
                end
                say_title("Auktionshaus:")
                say_item_vnum(item_right)
                say("")
                say("")
                say_reward("Bist du dir Sicher dieses Item")
                say_reward("wirklich zuverkaufen ?")
                say("")
                say("")
                if select("Ja", "Nein") == 1 then
                    auktions_haus.insert_item(item_right, itemname, preis, pc.get_name(), sockets[1], sockets[2], sockets[3], bonis.attrtype0[1], bonis.attrvalue0[1], bonis.attrtype1[1], bonis.attrvalue1[1], bonis.attrtype2[1], bonis.attrvalue2[1], bonis.attrtype3[1], bonis.attrvalue3[1])
                end
            end
        end
    end
end

Mein Problem ich kann die Items nicht kaufen.
08/26/2013 18:06 Noa_#8837
Quote:
Originally Posted by german1337 View Post
Code:
---------------------------------------
-- Quest made by NexT³ and Remix
--------------------------------------
quest auktions_haus begin
    state start begin
        function attr_list ( bonus )
            local attr = {
                [1] = "Max. TP",
                [2] = "Max. MP",
                [3] = "Vitalität",
                [4] = "Intelligenz",
                [5] = "Stärke",
                [6] = "Beweglichkeit",
                [7] = "Angriffsgeschwindigkeit",
                [8] = "Bewegungsgeschw.",
                [9] = "Zaubergeschwindigkeit",
                [10] = "TP-Regeneration",
                [11] = "MP-Regeneration",
                [12] = "Vergiftungschance ",
                [13] = "Ohnmachtschance ",
                [14] = "Verlangsamungschance ",
                [15] = "Chance auf krit. Treffer +",
                [16] = "Chance auf durchbohrenden Treffer",
                [17] = "Stark gegen Halbmenschen +",
                [18] = "Stark gegen Tiere +",
                [19] = "Stark gegen Orks +",
                [20] = "Stark gegen Esoterische +",
                [21] = "Stark gegen Untote +",
                [22] = "Stark gegen Teufel +",
                [23] = "Schaden wird von TP absorbiert",
                [24] = "Schaden wird von MP absorbiert",
                [25] = "Chance auf Manaraub",
                [27] = "Chance, Nahkampf-Angriff abzublocken ",
                [28] = "Chance, Pfeilangriff auszuweichen",
                [29] = "Schwertverteidigung ",
                [30] = "Zweihänderverteidigung ",
                [31] = "Dolchverteidigung ",
                [32] = "Glockenverteidigung ",
                [33] = "Fächerverteidigung ",
                [34] = "Pfeilwiderstand ",
                [35] = "Feuerwiderstand ",
                [36] = "Blitzwiderstand ",
                [37] = "Magiewiderstand ",
                [38] = "Windwiderstand ",
                [39] = "Chance, Nahkampftreffer zu reflektieren",
                [40] = "Giftwiderstand",
                [41] = "Chance, MP wiederherzustellen",
                [42] = "Chance auf EXP-Bonus",
                [43] = "Chance, eine doppelte Menge Yang fallen zu lassen.",
                [44] = "Chance, eine doppelte Menge von Gegenständen fallen zu lassen.",
                [45] = "Chance, TP wiederherzustellen",
                [46] = "Abwehr gegen Ohnmacht",
                [47] = "Abwehr gegen Verlangsamen",
                [48] = "Angriffswert",
                [49] = "Stark gegen Monster",
                [50] = "Fertigkeitsschaden ",
                [51] = "Durchschn. Schaden ",
                [52] = "Widerstand gegen Fertigkeitsschaden ",
                [53] = "Durchschn. Schadenswiderstand ",
                [71] = "Fertigkeitsschaden",
                [72] = "Durchschn. Schaden",
            }
            return tostring(attr[bonus])
        end
        
        function stones ( vnum )
            local steine = {
                [28030] = "Stein des Durchbruchs+0",
                [28031] = "Stein des Todesstoß+0",
                [28032] = "Stein der Wiederkehr+0",
                [28033] = "Stein gegen Krieger+0",
                [28034] = "Stein gegen Ninja+0",
                [28035] = "Stein gegen Sura+0",
                [28036] = "Stein gegen Schamanen+0",
                [28037] = "Stein der Monster+0",
                [28038] = "Stein des Ausweichens+0",
                [28039] = "Stein des Duckens+0",
                [28040] = "Stein der Magie+0",
                [28041] = "Stein der Vitalität+0",
                [28042] = "Stein des Schutzes+0",
                [28043] = "Stein der Hast+0",
                [28130] = "Stein des Durchbruchs+1",
                [28131] = "Stein des Todesstoß+1",
                [28132] = "Stein der Wiederkehr+1",
                [28133] = "Stein gegen Krieger+1",
                [28134] = "Stein gegen Ninja+1",
                [28135] = "Stein gegen Sura+1",
                [28136] = "Stein gegen Schamanen+1",
                [28137] = "Stein der Monster+1",
                [28138] = "Stein des Ausweichens+1",
                [28139] = "Stein des Duckens+1",
                [28140] = "Stein der Magie+1",
                [28141] = "Stein der Vitalität+1",
                [28142] = "Stein des Schutzes+1",
                [28143] = "Stein der Hast+1",
                [28230] = "Stein des Durchbruchs+2",
                [28231] = "Stein des Todesstoß+2",
                [28232] = "Stein der Wiederkehr+2",
                [28233] = "Stein gegen Krieger+2",
                [28234] = "Stein gegen Ninja+2",
                [28235] = "Stein gegen Sura+2",
                [28236] = "Stein gegen Schamanen+2",
                [28237] = "Stein der Monster+2",
                [28238] = "Stein des Ausweichens+2",
                [28239] = "Stein des Duckens+2",
                [28240] = "Stein der Magie+2",
                [28241] = "Stein der Vitalität+2",
                [28242] = "Stein des Schutzes+2",
                [28243] = "Stein der Hast+2",
                [28330] = "Stein des Durchbruchs+3",
                [28331] = "Stein des Todesstoß+3",
                [28332] = "Stein der Wiederkehr+3",
                [28333] = "Stein gegen Krieger+3",
                [28334] = "Stein gegen Ninja+3",
                [28335] = "Stein gegen Sura+3",
                [28336] = "Stein gegen Schamanen+3",
                [28337] = "Stein der Monster+3",
                [28338] = "Stein des Ausweichens+3",
                [28339] = "Stein des Duckens+3",
                [28340] = "Stein der Magie+3",
                [28341] = "Stein der Vitalität+3",
                [28342] = "Stein des Schutzes+3",
                [28343] = "Stein der Hast+3",    
                [28430] = "Stein des Durchbruchs+4",
                [28431] = "Stein des Todesstoß+4",
                [28432] = "Stein der Wiederkehr+4",
                [28433] = "Stein gegen Krieger+4",
                [28434] = "Stein gegen Ninja+4",
                [28435] = "Stein gegen Sura+4",
                [28436] = "Stein gegen Schamanen+4",
                [28437] = "Stein der Monster+4",
                [28438] = "Stein des Ausweichens+4",
                [28439] = "Stein des Duckens+4",
                [28440] = "Stein der Magie+4",
                [28441] = "Stein der Vitalität+4",
                [28442] = "Stein des Schutzes+4",
                [28443] = "Stein der Hast+4",
                [28960] = "Steinsplitterstück",
            }
            return tostring(steine[vnum])
        end
        
        function insert_item ( vnum, name, preis, verkaufer , socket1, socket2, socket3, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3)
            mysql_query("INSERT INTO player.auktionshaus (vnum,name,preis,verkaufer,offen,verkauft,socket1,socket2,socket3, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3) VALUES ('"..vnum.."', '"..name.."', '"..preis.."', '"..verkaufer.."', '1', '0', '"..socket1.."', '"..socket2.."', '"..socket3.."', '"..attrtype0.."', '"..attrvalue0.."', '"..attrtype1.."', '"..attrvalue1.."', '"..attrtype2.."', '"..attrvalue2.."', '"..attrtype3.."', '"..attrvalue3.."');")
            say_title("Auktionshaus:")
            say("Dein Item : "..name.." steht nun zum Verkauf für "..preis)
            item.remove()
        end
        
        function buy_item ( vnum, name, preis, verkaufer )
            local sockets = mysql_query("SELECT socket1, socket2, socket3 FROM player.auktionshaus WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
            local tabelle = {
                [1] = sockets.socket1[1],
                [2] = sockets.socket2[1],
                [3] = sockets.socket3[1],
            }
            if verkaufer == pc.get_name() then
                return chat("Du kannst nicht deine eigenen Items kaufen")
            end
            say_size(350, 425)
            say_title("Auktionshaus:")
            say_item_vnum(vnum)
            say("Steine:")
            say("")
            for i = 1, 3, 1 do
                if tabelle[i] > 1 then
                    say_reward(auktions_haus.stones(tabelle[i]))
                else
                    say("Leer")
                end
            end
            say("")
            say("Bonis:")
            local bonis = mysql_query("SELECT attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3 FROM player.auktionshaus WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
            if tonumber(bonis.attrtype0[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype0[1])).." : "..bonis.attrvalue0[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype1[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype1[1])).." : "..bonis.attrvalue1[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype2[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype2[1])).." : "..bonis.attrvalue2[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype3[1]) > 0  then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype3[1])).." : "..bonis.attrvalue3[1])
            else
                say("Leer")
            end
            say("Möchtest du das Item Kaufen ?")
            say_reward("Es kostet dich "..preis.." yang.")
            say("")
            say("")
            local a = select("Kaufen", "Zurück")
            if a == 1 then
                if auktions_haus.get_money(pc.get_name()) >= preis then
                    tabelle = {}
                    for i = 0, 39, 1 do
                        table.insert(tabelle, i)
                    end
                    table.insert(tabelle, "zurück")
                    say_size(350, 375)
                    say_title("Lager Slot aussuchen:")
                    say("Hier kannst du aussuchen wo das Item im Lager")
                    say("liegen soll")
                    c = select_table(tabelle)
                    if c == table.getn(tabelle) then 
                        auktions_haus.menu()
                    end
                    local check = mysql_query("SELECT COUNT(*) as count FROM player.item WHERE window = 'SAFEBOX' and owner_id = '"..pc.get_player_id().."' and pos = '"..c.."';")
                    if tonumber(check[1][1]) == 0 then
                        mysql_query("UPDATE player.auktionshaus SET offen = '0' WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
                        local pc_name_33 = pc.get_name()
                        mysql_query("UPDATE player.auktionshaus SET verkauft = '"..pc_name_33.."' WHERE name = '"..name.."' and vnum = '"..vnum.."' and preis = '"..preis.."' and verkaufer = '"..verkaufer.."'")
                        pc.change_money(-preis)
                        mysql_query("UPDATE player.auktionshaus_benutzer SET gold = gold + "..preis.." WHERE name = '"..verkaufer.."'")
                        mysql_query("update player.auktionshaus_benutzer set gold = gold - "..preis.." where name = '"..pc.get_name().."'")
                        mysql_query("INSERT INTO player.item (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2) VALUES  ('"..pc.get_account_id().."', 'SAFEBOX', '"..c.."', '1', '"..vnum.."', '"..bonis.attrtype0[1].."', '"..bonis.attrvalue0[1].."', '"..bonis.attrtype1[1].."', '"..bonis.attrvalue1[1].."', '"..bonis.attrtype2[1].."', '"..bonis.attrvalue2[1].."', '"..bonis.attrtype3[1].."', '"..bonis.attrvalue3[1].."', '0', '0', '0', '0', '0', '0', '"..sockets.socket1[1].."', '"..sockets.socket2[1].."', '"..sockets.socket3[1].."');")
                        say_title("Auktionshaus:")
                        say("Deine neue Waffe befindet sich nun in deinem Lager.")
                    elseif tonumber(check[1][1]) > 0 then
                        say_title("Auktionshaus:")
                        say_reward("Der ausgewählte Slot ist nichtmehr frei !")
                        if select("zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                else
                    say_title("Auktionshaus:")
                    say_reward("Du hast nicht genug Geld bei dir um")
                    say_reward("das Item zukaufen")
                    if select("zurück") == 1 then
                        auktions_haus.menu()
                    end
                end
            elseif a == 2 then
                auktions_haus.menu()
            end
        end
        
        function search_item ( Type, sinput )
            if tostring(Type) == "String" then
                local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE name = '"..sinput.."' and offen = '1'")
                if tonumber(count[1][1]) > 0 then
                    local auktion = mysql_query("SELECT name,preis,vnum,verkaufer FROM player.auktionshaus WHERE name = '"..sinput.."' and offen = '1'")
                    local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE name = '"..sinput.."' and offen = '1'")
                    local i = 1
                    while tonumber(count[1][1]) >= i do
                        say_title("Auktionshaus:")
                        say_item_vnum(tonumber(auktion.vnum[1]))
                        say("")
                        say("")
                        say("Item : "..auktion.name[i])
                        say("Preis : "..auktion.preis[i])
                        say("")
                        say("")
                        if select("Kaufen", "Weiter") == 1 then
                            auktions_haus.buy_item(auktion.vnum[i], auktion.name[i], auktion.preis[i], auktion.verkaufer[i])
                            i = count[1][1] + 1
                            break
                        else
                            if auktion[i + 1][3] == nil then
                                i = count[1][1] + 1
                                say_title("Auktionshaus:")
                                say("Keine weiteren Items gefunden")
                                if select("zurück") == 1 then
                                    auktions_haus.menu()
                                    break
                                end
                            else
                                i = i + 1
                            end
                        end
                    end
                else
                    say_title("Auktionshaus:")
                    say_reward("Kein Suchergebnis für "..sinput..".")
                    if select("zurück") == 1 then
                        auktions_haus.menu()
                    end
                end
            elseif tostring(Type) == "Number" then
                local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE vnum = '"..sinput.."' and offen = '1'")
                if tonumber(count[1][1]) > 0 then
                    local auktion = mysql_query("SELECT name,preis,vnum,verkaufer FROM player.auktionshaus WHERE vnum = '"..sinput.."' and offen = '1'")
                    local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE vnum = '"..sinput.."' and offen = '1'")
                    local i = 1
                    while tonumber(count[1][1]) >= i do
                        say_title("Auktionshaus:")
                        say_item_vnum(tonumber(auktion.vnum[1]))
                        say("")
                        say("")
                        say("Item : "..auktion.name[i])
                        say("Preis : "..auktion.preis[i])
                        say("")
                        say("")
                        if select("Kaufen", "Weiter") == 1 then
                            auktions_haus.buy_item(auktion.vnum[i], auktion.name[i], auktion.preis[i], auktion.verkaufer[i])
                            i = count[1][1] + 1
                            break
                        else
                            if auktion[i + 1][3] == nil then
                                i = count[1][1] + 1
                                say_title("Auktionshaus:")
                                say("Keine weiteren Items gefunden")
                                if select("zurück") == 1 then
                                    auktions_haus.menu()
                                    break
                                end
                            else
                                i = i + 1
                            end
                        end
                    end
                else
                    say_title("Auktionshaus:")
                    say_reward("Kein Suchergebnis für "..sinput..".")
                    if select("zurück") == 1 then
                        auktions_haus.menu()
                    end
                end
            end
        end
        
        function get_money ( name )
            local guthaben = mysql_query("SELECT gold FROM player.auktionshaus_benutzer WHERE name = '"..name.."'")
            return tostring(guthaben[1][1])
        end
        
        function money_back( name )
            say_title("Auktionshaus:")
            say("Dein Guthaben beträgt : "..auktions_haus.get_money(pc.get_name()))
            say_reward("Wie viel Möchtest du abheben ?")
            local abheben = tonumber(input())
            if abheben < 1 or abheben > 1999999999 or type(abheben) ~= "number" then 
                say_title("Auktionshaus:")
                say_reward("Fehler bei der Eingabe.")
                if select("Zurück") == 1 then 
                    auktions_haus.menu()
                    return
                end
            end
            local check = mysql_query("SELECT gold FROM player.auktionshaus_benutzer WHERE name = '"..name.."'")
            if tonumber(check[1][1]) >= abheben then
                pc.change_money(abheben)
                say_title("Auktionshaus:")
                say("Du hast "..abheben.." Yang abgehoben.")
                mysql_query("UPDATE player.auktionshaus_benutzer SET gold = gold - "..abheben.." WHERE name = '"..name.."'")
                if select("Zurück") == 1 then auktions_haus.menu() end
            else
                say_title("Auktionshaus:")
                say_reward("Du hast nicht genug Geld auf deinem Konto.")
                if select("Zurück") == 1 then auktions_haus.menu() end
            end            
        end
        
        function last_auktionen ( name )
            local count = mysql_query("SELECT COUNT(*) as count FROM player.auktionshaus WHERE verkaufer = '"..name.."' and offen = '0'")
            local infos = mysql_query("SELECT name,preis,verkauft FROM player.auktionshaus WHERE verkaufer = '"..name.."' and offen = '0'")
            local i = 1
            if tonumber(count[1][1]) > 0 then
                say_title("Auktionshaus:")
                say("Hier kannst du die Letzen 8 Auktionen sehen")
                say("wer es gekauft hat und was du verkaufst hast")
                say_gold("~~~~~~~~~~~~~~~~~~~~~~")
                while tonumber(count[1][1]) >= i and i <= 8 do
                    say_reward(""..i..". Item: "..infos.name[i].." // Preis "..infos.preis[i])
                    i = i +1
                end
                say_gold("~~~~~~~~~~~~~~~~~~~~~~")
                if select("Zurück") == 1 then 
                    auktions_haus.menu() 
                end
            else
                say_title("Auktionshaus:")
                say("Du hast noch nix Verkauft.")
                if select("Zurück") == 1 then 
                    auktions_haus.menu() 
                end
            end
        end
        
        function cancel_auktion()
            local count = mysql_query("SELECT count(*) FROM player.auktionshaus WHERE offen = '1' and verkaufer = '"..pc.get_name().."'")
            if tonumber(count[1][1]) < 1 then
                say_title("Auktion Beende:")
                say("Zurzeit hast du keine Laufende Auktionen.")
                if select("Zurück") == 1 then 
                    auktions_haus.menu() 
                end
            else
                local count = mysql_query("SELECT count(*) FROM player.auktionshaus WHERE offen = '1' and verkaufer = '"..pc.get_name().."'")
                local s = mysql_query("SELECT vnum,name,preis,verkaufer,offen,verkauft,socket1,socket2,socket3,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3 FROM player.auktionshaus WHERE verkaufer = '"..pc.get_name().."' and offen = '1'")
                say_title("Auktion Beenden:")
                say("Hier kannst deine Aktuellen Auktionen")
                say("Angucken und jeder zeit Abbrechen")
                say("")
                local i = 1
                local c = select_table(s.name)
                say_size(350, 425)
                say_title(string.format("Auktion Beenden von %s", s.name[c]))
                say_item_vnum(s.vnum[c])
                say("")
                say("Steine:")
                if s.socket1[c] > 1 then 
                    say_reward(auktions_haus.stones(s.socket1[c]))
                else
                    say_reward("Leer")
                end
                if s.socket2[c] > 1 then
                    say_reward(auktions_haus.stones(s.socket2[c]))
                else
                    say_reward("Leer")
                end
                if s.socket3[c] > 1 then
                    say_reward(auktions_haus.stones(s.socket3[c]))
                else
                    say_reward("Leer")
                end
                say("")
                say("Bonis:")
                if tonumber(s.attrtype0[c]) > 0 then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype0[c])).." : "..s.attrvalue0[c])
                else
                    say("Leer")
                end
                if tonumber(s.attrtype1[c]) > 0 then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype1[c])).." : "..s.attrvalue1[c])
                else
                    say("Leer")
                end
                if tonumber(s.attrtype2[c]) > 0 then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype2[c])).." : "..s.attrvalue2[c])
                else
                    say("Leer")
                end
                if tonumber(s.attrtype3[c]) > 0  then
                    say_reward(auktions_haus.attr_list(tonumber(s.attrtype3[c])).." : "..s.attrvalue3[c])
                else
                    say("Leer")
                end
                say("")
                say("")
                say("")
                if select("Auktion Beenden", "zurück") == 1 then
                    say_size(350, 375)
                    say_title("Lager-Slot:")
                    say("Du musst noch einen Lager Slot auswählen")
                    tabelle = {}
                    for i = 0, 39, 1 do
                        table.insert(tabelle, i)
                    end
                    d = select_table(tabelle)
                    local check = mysql_query("SELECT COUNT(*) as count FROM player.item WHERE window = 'SAFEBOX' and owner_id = '"..pc.get_player_id().."' and pos = '"..d.."';")
                    if tonumber(check[1][1]) == 0 then
                        mysql_query("INSERT INTO player.item (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2) VALUES  ('"..pc.get_account_id().."', 'SAFEBOX', '"..d.."', '1', '"..s.vnum[c].."', '"..s.attrtype0[c].."', '"..s.attrvalue0[c].."', '"..s.attrtype1[c].."', '"..s.attrvalue1[c].."', '"..s.attrtype2[c].."', '"..s.attrvalue2[c].."', '"..s.attrtype3[c].."', '"..s.attrvalue3[c].."', '0', '0', '0', '0', '0', '0', '"..s.socket1[c].."', '"..s.socket2[c].."', '"..s.socket3[c].."');")
                        mysql_query("UPDATE player.auktionshaus SET offen = '0' and verkauft = '"..pc.get_name().."' WHERE vnum = '"..s.vnum[c].."' and name = '"..s.name[c].."' and preis = '"..s.preis[c].."' and verkaufer = '"..pc.get_name().."' and offen = '1' and verkauft = '"..s.verkauft[c].."' and socket1 = '"..s.socket1[c].."' and socket2 = '"..s.socket2[c].."' and socket3 = '"..s.socket3[c].."' and attrtype0 = '"..s.attrtype0[c].."' and attrvalue0 = '"..s.attrvalue0[c].."' and attrtype1 = '"..s.attrtype1[c].."' and attrvalue1 = '"..s.attrvalue1[c].."' and attrtype2 = '"..s.attrtype2[c].."' and attrvalue2 = '"..s.attrvalue2[c].."' and attrtype3 = '"..s.attrtype3[c].."' and attrvalue3 = '"..s.attrvalue3[c].."';")
                        say_title("Auktion erfolgreich beendet")
                        say("Das Item liegt nun wieder in deinem Lager.")
                    elseif tonumber(check[1][1]) > 0 then
                        say_reward("Der ausgewählte Slot ist nichtmehr frei !")
                        if select("zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                else
                    auktions_haus.menu() 
                end
            end
        end    
        
        function menu()
            say_title("Auktionshaus:")
            say("Wie kann ich dir helfen ?")
            local s = select("Item Suchen", "Item Verkaufen", "Mein Guthaben", "Meine letzen Verkäufe", "Geld abheben" , "Auktion Beenden", "Raus hier")
            if s == 1 then
                say_title("Auktionshaus:")
                say("Bitte wähle aus womit du Suchen magst.")
                if select("Mit Name suchen", "Mit Vnum suchen") == 1 then
                    say_title("Auktionshaus:")
                    say("Bitte achte darauf das der Namen richtig geschrieben ist.")
                    local vnum = tostring(input())
                    if vnum == nil then
                        say_title("Auktionshaus:")
                        say_reward("Falsche Eingabe.")
                        if select("Zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                    auktions_haus.search_item("String", vnum)
                else
                    say_title("Auktionshaus:")
                    say("Bitte gib nun das Vnum von dem gesuchten Item ein.")
                    local vnum = tonumber(input())
                    if vnum < 1 or type(vnum) ~= "number" then
                        say_title("Auktionshaus:")
                        say_reward("Falsche Eingabe.")
                        if select("Zurück") == 1 then
                            auktions_haus.menu()
                        end
                    end
                    auktions_haus.search_item("Number", vnum)
                end
            elseif s == 2 then
                say_title("Auktionshaus:")
                say("Zieh einfach ein Item auf mich um es zu")
                say("Verkaufen")
                if select("Zurück") == 1 then
                    auktions_haus.menu()
                end
            elseif s == 3 then
                say_title("Auktionshaus:")
                say("Dein Guthaben beträgt : "..auktions_haus.get_money(pc.get_name()))
                if select("Zurück") == 1 then
                    auktions_haus.menu()
                end    
            elseif s == 4 then
                auktions_haus.last_auktionen(pc.get_name())
            elseif s == 5 then
                auktions_haus.money_back(pc.get_name())
            elseif s == 6 then
                auktions_haus.cancel_auktion()
            else
                chat("<Auktionshaus>: Einen schönen Tag/Abend noch.")
            end
        end
        
        when 20092.chat."Auktionshaus" begin
            if pc.getqf("benutzer_in_auktionshaus") == 0 then
                mysql_query("INSERT INTO player.auktionshaus_benutzer (name,gold) VALUES ('"..pc.get_name().."', '0')") 
                pc.setqf("benutzer_in_auktionshaus", 1)
            end
            auktions_haus.menu()
        end
        
        when 20092.take begin
            local ex = mysql_query("select exists from player.item where id = '"..item.get_id().."';")
            if ex == "0" then
                return chat("Es ist ein Fehler aufgetreten")
            end
            local item_right = item.get_vnum()
            local itemname = item.get_name()
            local itemid = item.get_id()
            local sockets = {
                [1] = item.get_socket(0),
                [2] = item.get_socket(1), 
                [3] = item.get_socket(2),
            }
            say_size(350, 400)
            say_title("Auktionshaus:")
            say_item_vnum(item_right)
            say("Steine:")
            say("")
            for i = 1, 3, 1 do
                if sockets[i] > 1 then
                    say_reward(auktions_haus.stones(sockets[i]))
                else
                    say("Leer")
                end
            end
            say("")
            say("Bonis:")
            local bonis = mysql_query("SELECT attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3 FROM player.item WHERE id = '"..itemid.."'")
            if tonumber(bonis.attrtype0[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype0[1])).." : "..bonis.attrvalue0[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype1[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype1[1])).." : "..bonis.attrvalue1[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype2[1]) > 0 then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype2[1])).." : "..bonis.attrvalue2[1])
            else
                say("Leer")
            end
            if tonumber(bonis.attrtype3[1]) > 0  then
                say_reward(auktions_haus.attr_list(tonumber(bonis.attrtype3[1])).." : "..bonis.attrvalue3[1])
            else
                say("Leer")
            end
            say("")
            say("")
            if select("Verkaufen", "Nein") == 1 then
                say_title("Auktionshaus:")
                say("Bitte gibt den Preis für das Item ein")
                say_reward("Minimal 1 Yang ; Maximal 2KKK Yang")
                local preis = tonumber(input())
                if preis < 1 or preis > 1999999999 or type(preis) ~= "number" then
                    say_title("Auktionshaus:")
                    say("Fehler bei der Eingabe !")
                    if select("Zurück") == 1 then auktions_haus.menu() end
                end
                say_title("Auktionshaus:")
                say_item_vnum(item_right)
                say("")
                say("")
                say_reward("Bist du dir Sicher dieses Item")
                say_reward("wirklich zuverkaufen ?")
                say("")
                say("")
                if select("Ja", "Nein") == 1 then
                    auktions_haus.insert_item(item_right, itemname, preis, pc.get_name(), sockets[1], sockets[2], sockets[3], bonis.attrtype0[1], bonis.attrvalue0[1], bonis.attrtype1[1], bonis.attrvalue1[1], bonis.attrtype2[1], bonis.attrvalue2[1], bonis.attrtype3[1], bonis.attrvalue3[1])
                end
            end
        end
    end
end

Mein Problem ich kann die Items nicht kaufen.
hab eine alternative zu den bonis gefunden, somit sieht man auch die Sonderzeichen
PHP Code:
a={
    {
"%d%c Chance auf EXP Bonus",2},
    {
"Max TP %c%d",1},
}
function 
translate_b(str,int,val)
    
local b=int==and string.format(str,43,val) or string.format(str,val,37)
    return 
b
end

for i=1,#a do
    
print(translate_b(a[i][1],a[i][2],40))
end 
output kommt

>> 40% Chance auf EXP Bonus
>> Max TP +40

ist nur eine Verbesserung
08/26/2013 18:24 J3igStar13#8838
PHP Code:
quest warpring begin
    state start begin
        when 70007.
use with pc.get_level() >= 10 begin 
            
            say_title
("Ring:")
            
say("Dies ist eine faszinierende Gegend. Aber")
            
say("passiert hier denn auch mal etwas")
            
say("Außergewöhnliches? Eher wohl nicht. In anderen")
            
say("Teilen des Landes sieht es mitunter ganz anders.")
            
say("aus! Es gibt daher sicher einen intressanten")
            
say("Ort, an den ich dich teleportieren könnte. Da")
            
say("jedoch die Kräfte des Bösen wieder stärker")
            
say("geworden sind, wurden Raum und Zeit ins Chaos")
            
say("gestürzt. Dadurch kann es passieren, dass deine")
            
say("Rückkehr nicht immer augenblicklich funktioniert.")
            
say("Möchtest du dennoch teleportiert werden?")

            
local main_set select("Ja","Nein")
            if 
main_set == 2 then
                
return
            
end
            
            
if pc.get_level() <= 10 then
                say_title
("Ring:")
                
say("Hm… Mit deinem derzeitigen Level bist du noch")
                
say("zu schwach für die Reise durch Zeit und Raum.")
                
say("Komm wieder, wenn du höher als Level 10 bist.")
                return
            
end

            local map 
pc.get_map_index()
            
local empire pc.get_empire()
            
local level pc.get_level()

            
say_title("Ring:")
            
say("Wohin möchtest du teleportiert werden?")

            -- ?? ?? ???? ?? ?? (? ?? 
1,??)
            if 
map == or map == or map == 21 or map == 23 or map == 41 or map == 43 then

                local guild_map_names 
= {
                    
"Gildenzone",
                    
"Gildenzone",
                    
"Gildenzone",
                }

                
guild_map_name guild_map_names[empire]
                
local empire_castle={
                    
"Burgschlacht",
                    
"Burgschlacht",
                    
"Burgschlacht",
                }
                
empire_castle =empire_castle[empire]
                
local sub_set 0
                
if level 60 then -- 60?? : ?????, ???, ????, ???
                    
sub_set select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan"empire_castle,"Andere Gebiete")
                    if 
sub_set == 6 then -- ??
                        return
                    
end

                
else -- 61?? : ????, ???, ????, ????
                    
sub_set select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan",  empire_castle,"Andere Gebiete")
                    if 
sub_set == 6 then -- ??
                        
say_title("Teleporter:")
                        
say("Wohin möchtest du teleportiert werden?")
                        
sub_set select("Doyyumhwaji""Dämonenturm""Zurück""Abbrechen") + 5
                        
if sub_set == 9 then -- ??
                            return
                        
end
                        
if sub_set == 8 then -- ??
                            
say_title("Teleporter:")
                            
say("Wohin möchtest du teleportiert werden?")
                                                 ---                                                   
l
                            sub_set 
select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan",  empire_castle,"Andere Gebiete")
                            if 
sub_set == 6 then -- ??
                                
say_title("Teleporter:")
                                
say("Wohin möchtest du teleportiert werden?")
                                
sub_set select("Doyyumhwaji""Dämonenturm""Abbrechen") + 5
                                
if sub_set == 8 then -- ??
                                    return
                                
end
                            end
                        end
                    end
                end


                local warp 
= {
                    -- 
guild_map
                    
{
                        { 
1285001000 },
                        { 
1795001000 },
                        { 
27180013000 },
                    },
                    -- 
64 map_n_threeway
                    
{
                        { 
402100673900 },
                        { 
270400739900 },
                        { 
321300808000 },
                    },
                    -- 
63 metin2_map_n_desert_01
                    
{
                        { 
217800627200 },
                        { 
221900502700 },
                        { 
344000502500 },
                    },
                    -- 
61 map_n_snowm_01
                    
{
                        { 
434200290600 },
                        { 
375200174900 },
                        { 
491800173600 },
                    },
                    --
empire_castle
                    
{
                        {
975200133000},
                        {
977200185000},
                        {
923900183600},
                    
                    } ,
                    -- 
62 metin2_map_n_flame_01
                    
{
                        { 
599400756300 },
                        { 
597800622200 },
                        { 
730700689800 },
                    },
                    -- 
devil_tower
                    
{
                        { 
590500110500 },
                        { 
590500110500 },
                        { 
590500110500 },
                    },
                }
                
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                
say_title("Ring:")
                
say("Achtung, ich teleportiere dich jetzt. Du wirst")
                
say("an einem gefährlichen Ort landen, also pass auf")
                
say("dich auf. Viel Glück!")
                
wait()
                
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
            

            else -- ? ?? 
1,? ??? ?????? ? ?? 1,? ??? ?? ??    
                
local sub_set2 3

                
--sub_set2 select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
                if 
empire==1 then    
                    sub_set2 
select("Yongan","Jayang" locale.cancel)
                elseif  
empire ==2 then  
                    sub_set2 
select("Joan","Bokjung" locale.cancel)
                elseif  
empire ==3 then 
                    sub_set2 
select("Pyungmoo","Bakra" locale.cancel)
                
end    
                
if sub_set2 != 3 then
                    
if sub_set2 == 1 then
                        say_title
("Ring:")
                        
say("Ich teleportiere dich dorthin.")
                        
wait()

                        if 
empire == 1 then
                            pc
.warp(474300,954800)
                        elseif 
empire == 2 then
                            pc
.warp(63800,166400)
                        elseif 
empire == 3 then
                            pc
.warp(959900,269200)
                        
end    
                    
elseif sub_set2 == 2 then
                        say_title
("Ring:")
                        
say("Ich teleportiere dich dorthin.")

                        
wait()
                        if 
empire == 1 then
                            pc
.warp(353100,882900)
                        elseif 
empire == 2 then
                            pc
.warp(145500,240000)
                        elseif 
empire == 3 then
                            pc
.warp(863900,246000)
                        
end    
                    end 
-- end sub set check2 if
                
end -- end sub set check1 if
            
end    -- end map check if
        
end -- end when use item
    end 
-- end state start
end 
-- end quest warpring 
Problem:Es ist nicht anklickbar.
08/26/2013 18:51 Wython#8839
Moin, habe diese Quest hier:
PHP Code:
quest leveln begin
    state start begin
        when login 
or levelup with pc.level >= 1 begin
            set_state
(information)
        
end
    end
    state information begin 
        when letter begin 
            send_letter
("Der Wython Guide!")
        
end
        when button 
or info begin
set_text_color
("white")
            
say("Hallo tapferer Krieger , dies ist")
            
say("der Wython Begleiterguide. Er gibt dir Tipps")
            
say(",wo du Leveln und Erfahrung sammeln kannst.")
            
say_reward("Mit deinem Level solltest du bei den")
            
say_reward("Wildhunden leveln bis ca. Level 20.")
            
say_reward("")
set_text_color("red")
            
say("ACHTUNG!")
            
say("Wenn du keine Icons ingame siehst, benutze eine andere")
            
say(".exe (Alternative)")
            
say(")
set_text_color("
dark orange")
            say("
Supporter:")
            say_reward("
[SGM]xDean")
            say_reward("
[GM]Nexxo")
            say_reward("
[GM]Speznas")
            end
            if pc.get_level() > 20 then
            set_state(information2)
            end
        end
    end
    state information2 begin
        when letter begin
            send_letter("
Der Begleiterguide LVL 20-35") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython BegleiterguideEr gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du im")
            say_reward("
2. Dorf Level dort kannst du bist")
            say_reward("
Level 35 leveln.")
            say_reward("
TIPPBenutze dein Reittier und Tapferkeitsumhaenge.")
            say("")
            say("")
            say_reward("
Weiter so!")
            wait()
            say("")
            say_reward("
Moechtest du zum 2. Dorf?")
            local b= select("
Ja!","Nein")
            if 1==b then
                say("
Du wirst nun teleportiert!")
                say("
Viel Spass auf:")
                say_reward("
Wython")
                if empire == 1 then
                pc . warp ( 353100 , 882900 )
                elseif empire == 2 then
                pc . warp ( 145500 , 240000 )
                elseif empire == 3 then
                pc . warp ( 863900 , 246000 )
                elseif 2==b then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
            end
            if pc.get_level() > 36 then
            set_state(information3)
            end
        end
    end
    state information3 begin
        when letter begin
            send_letter("
Der Begleiterguide LVL 35-50") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython Begleiterguide.Er gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du im")
            say_reward("
Orktal levelnDort ist es am besten")
            say_reward("
Dort kannst du bist Level 50 leveln.")
            say_reward("
TIPPBenutze dein Kampfgaul und deine Tapferkeitsumhaenge.")
            say("")
            say("")
            say_reward("
Weiter so!")
            wait()
            say("")
            say_reward("
Moechtest du zum Orktal?")
            local a= select("
Ja!","Nein")
            if 1==a then
                say("
Du wirst nun teleportiert!")
                say("
Viel Spass auf:")
                say_reward("
Wython")
                pc . warp ( 333000 , 745000 )
                elseif 2==a then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
            end
            if pc.get_level() > 50 then
            set_state(information4)
            end
        end
    end
    state information4 begin
        when letter begin
            send_letter("
Der Begleiterguide LVL 50-70") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython BegleiterguideEr gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du im")
            say_reward("
Spinnendungeon 2 levelnDort ist es am besten fuer dich.")
            say_reward("
Dort kannst du bist Level 65 leveln.")
            say_reward("
TIPPBenutze dein Reittier!")
            say("")
            say("")
            say_reward("
Du wirst immer besser")
            wait()
            say("")
            say_reward("
Moechtest du zur Spinnendungeon2?")
            local f= select("
Ja!","Nein")
            if 1==f then
                say("
Du wirst nun teleportiert!")
                say("
Viel Spass auf:")
                say_reward("
Wython")
                pc . warp ( 705000 , 465000 )
                elseif 2==f then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
        end
        if pc.get_level() > 70 then
            set_state(information5)
        end
        end
    end
    state information5 begin
        when letter begin
        send_letter("
Der Begleiterguide LVL 70-80") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython BegleiterguideEr gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du bei den")
            say_reward("
neuen Maps levelnDort geht es gut!")
            say_reward("
Dort kannst du bis Level 130 leveln.")
            say_reward("
TIPPBenutze 7 Bonis!")
            say("")
            say("")
            say_reward("
..Du entwickelst dich zum Gladiator")
            wait()
            say("")
            say_reward("
Moechtest du zu den neuen Maps?")
            local d= select("
Ok","Ok")
            if 1==d then
                say("
Ok")
                return
                clear_letter()
                elseif 2==d then
                say("
Ok")
                return
                clear_letter()
            end
            if pc.get_level() > 80 then
            set_state(information6)
        end
    end
    state information6 begin
        when letter begin
        send_letter("
Der Begleiterguide LVL 80") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython Begleiterguide.Er gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du immernoch bei den")
            say_reward("
neuen Maps levelnDort geht es gut!")
            say_reward("
TIPPBenutze Neue Items aus dem Itemshop,")
            say_reward("
und Blaustahl Ruestungen!")
            say("")
            say_reward("
Dies war dein letzter Tipp vom Guide!")
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 2!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
                end
                if pc.get_level() > 120 then
            set_state(information7)
        end
    end
    state information7 begin
        when letter begin
        send_letter("
Der Gladiatoren Status") 
        end
        when button or info begin
set_text_color("
white")
            say("
Du hast das Level 120 erreicht!")
            say("")
            say_reward("
Du erhaelst ein besonderes Item!")
            pc.give_item2(39001, 1)
            pc.give_item2(30185, 1)
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 3!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
                end
                if pc.get_level() > 125 then
            set_state(information8)
        end
    end
    state information8 begin
        when letter begin
        send_letter("
Der Gladiatoren Status") 
        end
        when button or info begin
set_text_color("
white")
            say("
Du hast das Level 125 erreicht!")
            say("")
            say_reward("
Du erhaelst besondere Items!")
            pc.give_item2(71129, 5)
            pc.give_item2(71123, 5)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 4!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
                end
                if pc.get_level() > 130 then
            set_state(information8)
        end
    end
    state information8 begin
        when letter begin
        send_letter("
Der Gladiatoren Status") 
        end
        when button or info begin
set_text_color("
white")
            say("
Du hast das Level 130 erreicht!")
            say("")
            say_reward("
Du erhaelst besondere Items!")
            pc.give_item2(71129, 5)
            pc.give_item2(71123, 5)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(30185, 1)
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 5!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
    end
end
end
end    
end 
Allerdings wenn ich die make.python ausführe, kommt ein Error..
Könnte mir jemand helfen?
08/26/2013 19:04 G.I Duke#8840
Quote:
Originally Posted by J3igStar13 View Post
PHP Code:
quest warpring begin
    state start begin
        when 70007.
use with pc.get_level() >= 10 begin 
            
            say_title
("Ring:")
            
say("Dies ist eine faszinierende Gegend. Aber")
            
say("passiert hier denn auch mal etwas")
            
say("Außergewöhnliches? Eher wohl nicht. In anderen")
            
say("Teilen des Landes sieht es mitunter ganz anders.")
            
say("aus! Es gibt daher sicher einen intressanten")
            
say("Ort, an den ich dich teleportieren könnte. Da")
            
say("jedoch die Kräfte des Bösen wieder stärker")
            
say("geworden sind, wurden Raum und Zeit ins Chaos")
            
say("gestürzt. Dadurch kann es passieren, dass deine")
            
say("Rückkehr nicht immer augenblicklich funktioniert.")
            
say("Möchtest du dennoch teleportiert werden?")

            
local main_set select("Ja","Nein")
            if 
main_set == 2 then
                
return
            
end
            
            
if pc.get_level() <= 10 then
                say_title
("Ring:")
                
say("Hm… Mit deinem derzeitigen Level bist du noch")
                
say("zu schwach für die Reise durch Zeit und Raum.")
                
say("Komm wieder, wenn du höher als Level 10 bist.")
                return
            
end

            local map 
pc.get_map_index()
            
local empire pc.get_empire()
            
local level pc.get_level()

            
say_title("Ring:")
            
say("Wohin möchtest du teleportiert werden?")

            -- ?? ?? ???? ?? ?? (? ?? 
1,??)
            if 
map == or map == or map == 21 or map == 23 or map == 41 or map == 43 then

                local guild_map_names 
= {
                    
"Gildenzone",
                    
"Gildenzone",
                    
"Gildenzone",
                }

                
guild_map_name guild_map_names[empire]
                
local empire_castle={
                    
"Burgschlacht",
                    
"Burgschlacht",
                    
"Burgschlacht",
                }
                
empire_castle =empire_castle[empire]
                
local sub_set 0
                
if level 60 then -- 60?? : ?????, ???, ????, ???
                    
sub_set select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan"empire_castle,"Andere Gebiete")
                    if 
sub_set == 6 then -- ??
                        return
                    
end

                
else -- 61?? : ????, ???, ????, ????
                    
sub_set select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan",  empire_castle,"Andere Gebiete")
                    if 
sub_set == 6 then -- ??
                        
say_title("Teleporter:")
                        
say("Wohin möchtest du teleportiert werden?")
                        
sub_set select("Doyyumhwaji""Dämonenturm""Zurück""Abbrechen") + 5
                        
if sub_set == 9 then -- ??
                            return
                        
end
                        
if sub_set == 8 then -- ??
                            
say_title("Teleporter:")
                            
say("Wohin möchtest du teleportiert werden?")
                                                 ---                                                   
l
                            sub_set 
select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan",  empire_castle,"Andere Gebiete")
                            if 
sub_set == 6 then -- ??
                                
say_title("Teleporter:")
                                
say("Wohin möchtest du teleportiert werden?")
                                
sub_set select("Doyyumhwaji""Dämonenturm""Abbrechen") + 5
                                
if sub_set == 8 then -- ??
                                    return
                                
end
                            end
                        end
                    end
                end


                local warp 
= {
                    -- 
guild_map
                    
{
                        { 
1285001000 },
                        { 
1795001000 },
                        { 
27180013000 },
                    },
                    -- 
64 map_n_threeway
                    
{
                        { 
402100673900 },
                        { 
270400739900 },
                        { 
321300808000 },
                    },
                    -- 
63 metin2_map_n_desert_01
                    
{
                        { 
217800627200 },
                        { 
221900502700 },
                        { 
344000502500 },
                    },
                    -- 
61 map_n_snowm_01
                    
{
                        { 
434200290600 },
                        { 
375200174900 },
                        { 
491800173600 },
                    },
                    --
empire_castle
                    
{
                        {
975200133000},
                        {
977200185000},
                        {
923900183600},
                    
                    } ,
                    -- 
62 metin2_map_n_flame_01
                    
{
                        { 
599400756300 },
                        { 
597800622200 },
                        { 
730700689800 },
                    },
                    -- 
devil_tower
                    
{
                        { 
590500110500 },
                        { 
590500110500 },
                        { 
590500110500 },
                    },
                }
                
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                
say_title("Ring:")
                
say("Achtung, ich teleportiere dich jetzt. Du wirst")
                
say("an einem gefährlichen Ort landen, also pass auf")
                
say("dich auf. Viel Glück!")
                
wait()
                
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
            

            else -- ? ?? 
1,? ??? ?????? ? ?? 1,? ??? ?? ??    
                
local sub_set2 3

                
--sub_set2 select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
                if 
empire==1 then    
                    sub_set2 
select("Yongan","Jayang" locale.cancel)
                elseif  
empire ==2 then  
                    sub_set2 
select("Joan","Bokjung" locale.cancel)
                elseif  
empire ==3 then 
                    sub_set2 
select("Pyungmoo","Bakra" locale.cancel)
                
end    
                
if sub_set2 != 3 then
                    
if sub_set2 == 1 then
                        say_title
("Ring:")
                        
say("Ich teleportiere dich dorthin.")
                        
wait()

                        if 
empire == 1 then
                            pc
.warp(474300,954800)
                        elseif 
empire == 2 then
                            pc
.warp(63800,166400)
                        elseif 
empire == 3 then
                            pc
.warp(959900,269200)
                        
end    
                    
elseif sub_set2 == 2 then
                        say_title
("Ring:")
                        
say("Ich teleportiere dich dorthin.")

                        
wait()
                        if 
empire == 1 then
                            pc
.warp(353100,882900)
                        elseif 
empire == 2 then
                            pc
.warp(145500,240000)
                        elseif 
empire == 3 then
                            pc
.warp(863900,246000)
                        
end    
                    end 
-- end sub set check2 if
                
end -- end sub set check1 if
            
end    -- end map check if
        
end -- end when use item
    end 
-- end state start
end 
-- end quest warpring 
Problem:Es ist nicht anklickbar.
PHP Code:
quest warpring begin
    state start begin
        when 70007.
use with pc.get_level() >= 10 begin 
            
            say_title
("Ring:")
            
say("Dies ist eine faszinierende Gegend. Aber")
            
say("passiert hier denn auch mal etwas")
            
say("Außergewöhnliches? Eher wohl nicht. In anderen")
            
say("Teilen des Landes sieht es mitunter ganz anders.")
            
say("aus! Es gibt daher sicher einen intressanten")
            
say("Ort, an den ich dich teleportieren könnte. Da")
            
say("jedoch die Kräfte des Bösen wieder stärker")
            
say("geworden sind, wurden Raum und Zeit ins Chaos")
            
say("gestürzt. Dadurch kann es passieren, dass deine")
            
say("Rückkehr nicht immer augenblicklich funktioniert.")
            
say("Möchtest du dennoch teleportiert werden?")

            
local main_set select("Ja","Nein")
            if 
main_set == 2 then
                
return
            
end
            
            
if pc.get_level() < 10 then
                say_title
("Ring:")
                
say("Hm… Mit deinem derzeitigen Level bist du noch")
                
say("zu schwach für die Reise durch Zeit und Raum.")
                
say("Komm wieder, wenn du höher als Level 10 bist.")
                return
            
end

            local map 
pc.get_map_index()
            
local empire pc.get_empire()
            
local level pc.get_level()

            
say_title("Ring:")
            
say("Wohin möchtest du teleportiert werden?")

            -- ?? ?? ???? ?? ?? (? ?? 
1,??)
            if 
map == or map == or map == 21 or map == 23 or map == 41 or map == 43 then

                local guild_map_names 
= {
                    
"Gildenzone",
                    
"Gildenzone",
                    
"Gildenzone",
                }

                
guild_map_name guild_map_names[empire]
                
local empire_castle={
                    
"Burgschlacht",
                    
"Burgschlacht",
                    
"Burgschlacht",
                }
                
empire_castle =empire_castle[empire]
                
local sub_set 0
                
if level 60 then -- 60?? : ?????, ???, ????, ???
                    
sub_set select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan"empire_castle,"Andere Gebiete")
                    if 
sub_set == 6 then -- ??
                        return
                    
end

                
else -- 61?? : ????, ???, ????, ????
                    
sub_set select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan",  empire_castle,"Andere Gebiete")
                    if 
sub_set == 6 then -- ??
                        
say_title("Teleporter:")
                        
say("Wohin möchtest du teleportiert werden?")
                        
sub_set select("Doyyumhwaji""Dämonenturm""Zurück""Abbrechen") + 5
                        
if sub_set == 9 then -- ??
                            return
                        
end
                        
if sub_set == 8 then -- ??
                            
say_title("Teleporter:")
                            
say("Wohin möchtest du teleportiert werden?")
                                                 ---                                                   
l
                            sub_set 
select(guild_map_name"Tal von Seungryong""Yongbi-Wüste""Berg Sohan",  empire_castle,"Andere Gebiete")
                            if 
sub_set == 6 then -- ??
                                
say_title("Teleporter:")
                                
say("Wohin möchtest du teleportiert werden?")
                                
sub_set select("Doyyumhwaji""Dämonenturm""Abbrechen") + 5
                                
if sub_set == 8 then -- ??
                                    return
                                
end
                            end
                        end
                    end
                end


                local warp 
= {
                    -- 
guild_map
                    
{
                        { 
1285001000 },
                        { 
1795001000 },
                        { 
27180013000 },
                    },
                    -- 
64 map_n_threeway
                    
{
                        { 
402100673900 },
                        { 
270400739900 },
                        { 
321300808000 },
                    },
                    -- 
63 metin2_map_n_desert_01
                    
{
                        { 
217800627200 },
                        { 
221900502700 },
                        { 
344000502500 },
                    },
                    -- 
61 map_n_snowm_01
                    
{
                        { 
434200290600 },
                        { 
375200174900 },
                        { 
491800173600 },
                    },
                    --
empire_castle
                    
{
                        {
975200133000},
                        {
977200185000},
                        {
923900183600},
                    
                    } ,
                    -- 
62 metin2_map_n_flame_01
                    
{
                        { 
599400756300 },
                        { 
597800622200 },
                        { 
730700689800 },
                    },
                    -- 
devil_tower
                    
{
                        { 
590500110500 },
                        { 
590500110500 },
                        { 
590500110500 },
                    },
                }
                
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
                
say_title("Ring:")
                
say("Achtung, ich teleportiere dich jetzt. Du wirst")
                
say("an einem gefährlichen Ort landen, also pass auf")
                
say("dich auf. Viel Glück!")
                
wait()
                
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
            

            else -- ? ?? 
1,? ??? ?????? ? ?? 1,? ??? ?? ??    
                
local sub_set2 3

                
--sub_set2 select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
                if 
empire==1 then    
                    sub_set2 
select("Yongan","Jayang" locale.cancel)
                elseif  
empire ==2 then  
                    sub_set2 
select("Joan","Bokjung" locale.cancel)
                elseif  
empire ==3 then 
                    sub_set2 
select("Pyungmoo","Bakra" locale.cancel)
                
end    
                
if sub_set2 != 3 then
                    
if sub_set2 == 1 then
                        say_title
("Ring:")
                        
say("Ich teleportiere dich dorthin.")
                        
wait()

                        if 
empire == 1 then
                            pc
.warp(474300,954800)
                        elseif 
empire == 2 then
                            pc
.warp(63800,166400)
                        elseif 
empire == 3 then
                            pc
.warp(959900,269200)
                        
end    
                    
elseif sub_set2 == 2 then
                        say_title
("Ring:")
                        
say("Ich teleportiere dich dorthin.")

                        
wait()
                        if 
empire == 1 then
                            pc
.warp(353100,882900)
                        elseif 
empire == 2 then
                            pc
.warp(145500,240000)
                        elseif 
empire == 3 then
                            pc
.warp(863900,246000)
                        
end    
                    end 
-- end sub set check2 if
                
end -- end sub set check1 if
            
end    -- end map check if
        
end -- end when use item
    end 
-- end state start
end 
-- end quest warpring 
MfG
08/26/2013 19:18 Noa_#8841
Quote:
Originally Posted by Wython View Post
Moin, habe diese Quest hier:
PHP Code:
quest leveln begin
    state start begin
        when login 
or levelup with pc.level >= 1 begin
            set_state
(information)
        
end
    end
    state information begin 
        when letter begin 
            send_letter
("Der Wython Guide!")
        
end
        when button 
or info begin
set_text_color
("white")
            
say("Hallo tapferer Krieger , dies ist")
            
say("der Wython Begleiterguide. Er gibt dir Tipps")
            
say(",wo du Leveln und Erfahrung sammeln kannst.")
            
say_reward("Mit deinem Level solltest du bei den")
            
say_reward("Wildhunden leveln bis ca. Level 20.")
            
say_reward("")
set_text_color("red")
            
say("ACHTUNG!")
            
say("Wenn du keine Icons ingame siehst, benutze eine andere")
            
say(".exe (Alternative)")
            
say(")
set_text_color("
dark orange")
            say("
Supporter:")
            say_reward("
[SGM]xDean")
            say_reward("
[GM]Nexxo")
            say_reward("
[GM]Speznas")
            end
            if pc.get_level() > 20 then
            set_state(information2)
            end
        end
    end
    state information2 begin
        when letter begin
            send_letter("
Der Begleiterguide LVL 20-35") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython BegleiterguideEr gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du im")
            say_reward("
2. Dorf Level dort kannst du bist")
            say_reward("
Level 35 leveln.")
            say_reward("
TIPPBenutze dein Reittier und Tapferkeitsumhaenge.")
            say("")
            say("")
            say_reward("
Weiter so!")
            wait()
            say("")
            say_reward("
Moechtest du zum 2. Dorf?")
            local b= select("
Ja!","Nein")
            if 1==b then
                say("
Du wirst nun teleportiert!")
                say("
Viel Spass auf:")
                say_reward("
Wython")
                if empire == 1 then
                pc . warp ( 353100 , 882900 )
                elseif empire == 2 then
                pc . warp ( 145500 , 240000 )
                elseif empire == 3 then
                pc . warp ( 863900 , 246000 )
                elseif 2==b then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
            end
            if pc.get_level() > 36 then
            set_state(information3)
            end
        end
    end
    state information3 begin
        when letter begin
            send_letter("
Der Begleiterguide LVL 35-50") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython Begleiterguide.Er gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du im")
            say_reward("
Orktal levelnDort ist es am besten")
            say_reward("
Dort kannst du bist Level 50 leveln.")
            say_reward("
TIPPBenutze dein Kampfgaul und deine Tapferkeitsumhaenge.")
            say("")
            say("")
            say_reward("
Weiter so!")
            wait()
            say("")
            say_reward("
Moechtest du zum Orktal?")
            local a= select("
Ja!","Nein")
            if 1==a then
                say("
Du wirst nun teleportiert!")
                say("
Viel Spass auf:")
                say_reward("
Wython")
                pc . warp ( 333000 , 745000 )
                elseif 2==a then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
            end
            if pc.get_level() > 50 then
            set_state(information4)
            end
        end
    end
    state information4 begin
        when letter begin
            send_letter("
Der Begleiterguide LVL 50-70") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython BegleiterguideEr gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du im")
            say_reward("
Spinnendungeon 2 levelnDort ist es am besten fuer dich.")
            say_reward("
Dort kannst du bist Level 65 leveln.")
            say_reward("
TIPPBenutze dein Reittier!")
            say("")
            say("")
            say_reward("
Du wirst immer besser")
            wait()
            say("")
            say_reward("
Moechtest du zur Spinnendungeon2?")
            local f= select("
Ja!","Nein")
            if 1==f then
                say("
Du wirst nun teleportiert!")
                say("
Viel Spass auf:")
                say_reward("
Wython")
                pc . warp ( 705000 , 465000 )
                elseif 2==f then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
        end
        if pc.get_level() > 70 then
            set_state(information5)
        end
        end
    end
    state information5 begin
        when letter begin
        send_letter("
Der Begleiterguide LVL 70-80") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython BegleiterguideEr gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du bei den")
            say_reward("
neuen Maps levelnDort geht es gut!")
            say_reward("
Dort kannst du bis Level 130 leveln.")
            say_reward("
TIPPBenutze 7 Bonis!")
            say("")
            say("")
            say_reward("
..Du entwickelst dich zum Gladiator")
            wait()
            say("")
            say_reward("
Moechtest du zu den neuen Maps?")
            local d= select("
Ok","Ok")
            if 1==d then
                say("
Ok")
                return
                clear_letter()
                elseif 2==d then
                say("
Ok")
                return
                clear_letter()
            end
            if pc.get_level() > 80 then
            set_state(information6)
        end
    end
    state information6 begin
        when letter begin
        send_letter("
Der Begleiterguide LVL 80") 
        end
        when button or info begin
set_text_color("
white")
            say("
Hallo tapferer Krieger dies ist")
            say("
der Wython Begleiterguide.Er gibt dir Tipps")
            say("
,wo du Leveln und Erfahrung sammeln kannst.")
            say_reward("
Mit deinem Level solltest du immernoch bei den")
            say_reward("
neuen Maps levelnDort geht es gut!")
            say_reward("
TIPPBenutze Neue Items aus dem Itemshop,")
            say_reward("
und Blaustahl Ruestungen!")
            say("")
            say_reward("
Dies war dein letzter Tipp vom Guide!")
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 2!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
                end
                if pc.get_level() > 120 then
            set_state(information7)
        end
    end
    state information7 begin
        when letter begin
        send_letter("
Der Gladiatoren Status") 
        end
        when button or info begin
set_text_color("
white")
            say("
Du hast das Level 120 erreicht!")
            say("")
            say_reward("
Du erhaelst ein besonderes Item!")
            pc.give_item2(39001, 1)
            pc.give_item2(30185, 1)
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 3!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
                end
                if pc.get_level() > 125 then
            set_state(information8)
        end
    end
    state information8 begin
        when letter begin
        send_letter("
Der Gladiatoren Status") 
        end
        when button or info begin
set_text_color("
white")
            say("
Du hast das Level 125 erreicht!")
            say("")
            say_reward("
Du erhaelst besondere Items!")
            pc.give_item2(71129, 5)
            pc.give_item2(71123, 5)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 4!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
                end
                if pc.get_level() > 130 then
            set_state(information8)
        end
    end
    state information8 begin
        when letter begin
        send_letter("
Der Gladiatoren Status") 
        end
        when button or info begin
set_text_color("
white")
            say("
Du hast das Level 130 erreicht!")
            say("")
            say_reward("
Du erhaelst besondere Items!")
            pc.give_item2(71129, 5)
            pc.give_item2(71123, 5)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(39001, 1)
            pc.give_item2(30185, 1)
            wait()
            say("")
            say_reward("
.. Dein Gladiatoren Status waechst auf 5!")
            local e= select("
Ok","Ok")
            if 1==e then
                say("
Ok")
                return
                clear_letter()
                elseif 2==e then
                say("
Ok")
                say("
Ist auch besser so...")
                return
                clear_letter()
    end
end
end
end    
end 
Allerdings wenn ich die make.python ausführe, kommt ein Error..
Könnte mir jemand helfen?
say(".exe (Alternative)")
say(")
beim letzten say fehlt was
08/26/2013 19:26 .CHJonas#8842
Bin gerade zu inkompetent und kriege diese Funktion einfach nicht zum laufen:

PHP Code:
say_title(string.format("%s:"mob_name(string.format("%d"npc.get_race()))))
                
say()
                
say_reward("Bitte gib einen Benutzernamen ein.")
                
say_reward("min. 4 Zeichen")
                
say()
                
            
local inp input(); inp mysql_escape(inp
            
            if 
inp == "" or inp == pc.get_name() then
            say_title
(string.format("%s:"mob_name(string.format("%d"npc.get_race()))))
            
say()
            
say_reward(locale.ban_panel.say_wrong2)
            
say()
                return 
            
end 
            
            local q 
mysql_query("SELECT username FROM player.bank WHERE username = '"..inp.."'")
            
            
            if 
table.getn(q) == ""..inp.."" then
                say_title
(string.format("%s:"mob_name(string.format("%d"npc.get_race()))))
                
say()
                
say("Dieser Name exestiert bereits!")
                
say()
                return
            
end 
Hoffe mir kann jemand Helfen.

#Edit:

Also es kommt kein Error sondern er nimmt die if abfrage einfach nicht falls der Name existiert.
08/26/2013 19:36 Noa_#8843
Quote:
Originally Posted by .CHJonas View Post
Bin gerade zu inkompetent und kriege diese Funktion einfach nicht zum laufen:

PHP Code:
say_title(string.format("%s:"mob_name(string.format("%d"npc.get_race()))))
                
say()
                
say_reward("Bitte gib einen Benutzernamen ein.")
                
say_reward("min. 4 Zeichen")
                
say()
                
            
local inp input(); inp mysql_escape(inp
            
            if 
inp == "" or inp == pc.get_name() then
            say_title
(string.format("%s:"mob_name(string.format("%d"npc.get_race()))))
            
say()
            
say_reward(locale.ban_panel.say_wrong2)
            
say()
                return 
            
end 
            
            local q 
mysql_query("SELECT username FROM player.bank WHERE username = '"..inp.."'")
            
            
            if 
table.getn(q) == ""..inp.."" then
                say_title
(string.format("%s:"mob_name(string.format("%d"npc.get_race()))))
                
say()
                
say("Dieser Name exestiert bereits!")
                
say()
                return
            
end 
Hoffe mir kann jemand Helfen.

#Edit:

Also es kommt kein Error sondern er nimmt die if abfrage einfach nicht falls der Name existiert.
local q = mysql_query("SELECT username FROM player.bank WHERE username = '"..inp.."'")[1][1]
if type(q) == "string" then
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Dieser Name exestiert bereits!")
say()
return
end
08/26/2013 20:01 .CHJonas#8844
Quote:
Originally Posted by ΞΠ∪Μ View Post
local q = mysql_query("SELECT username FROM player.bank WHERE username = '"..inp.."'")[1][1]
if type(q) == "string" then
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Dieser Name exestiert bereits!")
say()
return
end
Währe es möglich das du mir erklärst was die [1] und alles was du geändert hast zu bedeuten haben? :)
08/26/2013 20:33 Yiv#8845
@.CHJonas:
PHP Code:
local q mysql_query("SELECT username FROM player.bank WHERE username = '"..inp.."'")[1][1
Die Funktion "mysql_query" gibt immer eine Tabelle zurück. Also wählt man Zeile1, Spalte1 [1][1] aus.

PHP Code:
if type(q) == "string" then 
Überprüft ob die Variable [q] im Format String vorliegt.

MfG
08/26/2013 20:48 .CHJonas#8846
Quote:
Originally Posted by DaJuBi View Post
@.CHJonas:
PHP Code:
local q mysql_query("SELECT username FROM player.bank WHERE username = '"..inp.."'")[1][1
Die Funktion "mysql_query" gibt immer eine Tabelle zurück. Also wählt man Zeile1, Spalte1 [1][1] aus.

PHP Code:
if type(q) == "string" then 
Überprüft ob die Variable [q] im Format String vorliegt.

MfG
Danke, fange grad erst an Mysql in Lua mit einzubinden.
Ist es auch möglich das der text der in der Tabele steht ausgelesen wird?
Also das ich es Z.b. so benutzen kann:

PHP Code:
say(""..q[1]..""
Und wenn ich das jetzt richtig verstehe überprüft er ja nur die 1 Spalte in der 1 Zeile oder nicht? Heißt wenn jetzt der Name schon existiert in Spalte 1 aber dafür Zeile 2 wird er nicht mehr geblockt oder versteh ich das falsch?
08/26/2013 20:54 Yiv#8847
Mit der Abfrage wird exakt nach diesem Namen gesucht. Wenn er nicht in Zeile 1, Spalte 1 ist, dann existiert er auch nicht.
Ansonsten kannst du table.foreach() benutzen.

Desweiteren ist das mit say() auch möglich.
Um es allerdings schöner zu coden, würde ich dir das empfehlen:
PHP Code:
say(string.format("%s"q[1])) 
MfG
08/26/2013 22:39 Noa_#8848
Quote:
Überprüft ob die Variable [q] im Format String vorliegt.
diese abfrage überprüft ob die variable eine Zeichenkette ist bzw String, type(var) gibt nur number, function, string, table und auch nil zurück
das mit string.format ist eher länger und überflüssig, %s repräsentiert die unveränderte Zeichenkette, das wäre genau das selbe->
PHP Code:
str="das ist meine Zeichenkette"
str2=str 
da q[1] schon die Zeichenkette beinhaltet muss man sie nicht mit string.format nochmal formatieren es sei denn man will sie noch bearbeiten.
08/26/2013 23:20 Yiv#8849
Zum formatieren: Ich weiss nicht, aber ich benutze es immer ^^

Zum Uberprüfen:
Code:
if type(q) == "string" then
Das überprüft, ob die Variable [q] ein String ist. Ist doch richtig, oder nicht?
Allgemein type checkt natürlich alles, aber du frägst ab, ob type == string und das ist das, was ich beschrieben habe...

MfG
08/27/2013 00:21 Wython#8850
PHP Code:
quest byincredible begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begruessen einen neuen Gladiator namens "..pc.get_name().."!")
            
say_title("Willkommen auf Wython, "..pc.get_name().." .")
            
say("")
set_text_color("dark brown")
            
say("Schon seid langer langer Zeit herrscht Krieg zwischen den 3 Reichen!")
            
say("Das Chunjo-Reich, steht zwischen den beiden Maechten, Jinno und Shinsoo")
            
say("Die Fuehrer des Jinno Reiches geben dem Meister der Shinsoo Sprache die Schuld dafuer,")
            
say("das der Gott aller Monster sein Zorn ueber die drei Reiche bringt.")
            
say("Da der Lehrer der Shinsoo Sprache versucht hat,")
            
say("den Gott der Monster mit seinem Wissen und Weisheit zu bendigen,")
            
say("dies erzornte den maechtigen Azrael nur nochmehr.")
            
say("Das Shinsoo Reich bestreitet dies jedoch.")
            
say("Die starken Meinungsverschiedenheiten,")
            
say("fuehren zu starkem Krieg zwischen den Welten. Das Chunjo Reich,")
            
say("das friedlichste der Drei Maechte, versucht den Fuehrern der anderen Reiche,")
            
say("zu erklaeren, das sie nur gemeinsam eine Chance haben...")
            
say("Nun liegt es am Volk! Es liegt an dir!")
            
say("Kannst du frieden ueber das Land bringen? Beweis es!")
set_text_color("red")
            
say("ACHTUNG! Wenn du deine Lehrlingstruhe I nicht siehst, benutze")
            
say("die andere .exe in deinem Clienten!")
            
say("")
            
chat("Beweise dich, und werde zum ultimativen Gladiator!")
        
end
    end
end 
Könnte mir jemand sagen, was daran falsch ist ? (quest war länger, habe sie kürzer gemacht, da ich nur einen anfangstext brauche..)

EDIT: Error at Line 27 ist weg, geht aber trotzdme nicht warum ?