Yardım Boss Sıralama Syserr

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

MCB

Üye
Üye
Mesaj
206
Çözümler
16
Beğeni
49
Puan
89
Ticaret Puanı
0
boss Sıralama sistemi ekledim
1709112095983.png


Pencereyi açtığımda ve boss simgesine tıkladığımda bu aratma penceresi geliyor boss kestiğimde sıralama yapmıyor
channel1 syserr:
Kod:
SYSERR: Feb 28 12:19:32 :: RunState: LUA_ERROR: locale/germany/quest/object/state/bossranksystem:36: attempt to concatenate field `?' (a nil value)
SYSERR: Feb 28 12:19:32 :: WriteRunningStateToSyserr: LUA_ERROR: quest bossranksystem.start click
SYSERR: Feb 28 12:19:33 :: Input: no quest running for pc, cannot process input : 2
 
questin 36. satırında ne var onu boş döndürüyor? questi de konuya ekler misin? mümkünse kod editörüne
Kod:
bossranksystem={["start"]=0,liste_olustur= function (list,sayfa)cmdchat ( "recordquest yeniliste/" )
if list == nil or table . getn ( list ) == 0 then
cmdchat ( "recordwarning bilgiyok" )
return
end
local toplam = table . getn ( list )
cmdchat ( "recordquest sayfa/" .. sayfa )
bossranksystem . send_list_to_client ( list , sayfa , toplam )
end ,oyuncu_ara= function (list,name)cmdchat ( "recordquest yeniliste/" )
if list == nil or table . getn ( list ) == 0 then
cmdchat ( "recordwarning bilgiyok" )
return
end
local pos , count , sayfa , toplam = 0 , 0 , 0 , table . getn ( list )
for i = 1 , toplam , 1 begin
if list [ i ] [ 1 ] == name then
pos = i
break
end
end
if pos == 0 then cmdchat ( "recordwarning oyuncuyok" ) return end
for i = 0 , toplam , 1 begin
if count > pos then
sayfa = i
break
else
count = count + 10
end
end
cmdchat ( "recordquest sayfa/" .. sayfa )
bossranksystem . send_list_to_client ( list , sayfa , toplam )
end ,send_list_to_client= function (list,sayfa,toplam)local ende = 0
for a = tonumber ( sayfa ) , tonumber ( toplam ) , 1 begin
for b = 1 , 10 , 1 begin
local c = 10 * ( a - 1 ) + b
cmdchat ( "recordquest liste/" .. c .. "|" .. list [ c ] [ 1 ] .. "|" .. list [ c ] [ 2 ] .. "|" .. list [ c ] [ 3 ] .. "|" .. list [ c ] [ 4 ] )
if c == toplam then ende = 1 break end
end
if a == 1 and ende == 1 then cmdchat ( "recordquest blok/0" ) break
elseif a == 1 then cmdchat ( "recordquest blok/1" ) break
elseif ende == 1 then cmdchat ( "recordquest blok/2" ) break
else cmdchat ( "recordquest blok/3" ) break
end
end
end }
 
Kod:
bossranksystem={["start"]=0,liste_olustur= function (list,sayfa)cmdchat ( "recordquest yeniliste/" )
if list == nil or table . getn ( list ) == 0 then
cmdchat ( "recordwarning bilgiyok" )
return
end
local toplam = table . getn ( list )
cmdchat ( "recordquest sayfa/" .. sayfa )
bossranksystem . send_list_to_client ( list , sayfa , toplam )
end ,oyuncu_ara= function (list,name)cmdchat ( "recordquest yeniliste/" )
if list == nil or table . getn ( list ) == 0 then
cmdchat ( "recordwarning bilgiyok" )
return
end
local pos , count , sayfa , toplam = 0 , 0 , 0 , table . getn ( list )
for i = 1 , toplam , 1 begin
if list [ i ] [ 1 ] == name then
pos = i
break
end
end
if pos == 0 then cmdchat ( "recordwarning oyuncuyok" ) return end
for i = 0 , toplam , 1 begin
if count > pos then
sayfa = i
break
else
count = count + 10
end
end
cmdchat ( "recordquest sayfa/" .. sayfa )
bossranksystem . send_list_to_client ( list , sayfa , toplam )
end ,send_list_to_client= function (list,sayfa,toplam)local ende = 0
for a = tonumber ( sayfa ) , tonumber ( toplam ) , 1 begin
for b = 1 , 10 , 1 begin
local c = 10 * ( a - 1 ) + b
cmdchat ( "recordquest liste/" .. c .. "|" .. list [ c ] [ 1 ] .. "|" .. list [ c ] [ 2 ] .. "|" .. list [ c ] [ 3 ] .. "|" .. list [ c ] [ 4 ] )
if c == toplam then ende = 1 break end
end
if a == 1 and ende == 1 then cmdchat ( "recordquest blok/0" ) break
elseif a == 1 then cmdchat ( "recordquest blok/1" ) break
elseif ende == 1 then cmdchat ( "recordquest blok/2" ) break
else cmdchat ( "recordquest blok/3" ) break
end
end
end }
quest olarak. hata aldığın yeri değil.
 
quest olarak. hata aldığın yeri değil.
Kod:
quest bossranksystem begin
    state start begin
        when login begin
            cmdchat("recordquest index/"..q.getcurrentquestindex())
        end
        when button begin
            cmdchat("getinputbegin")
            local INPUT = split(input(cmdchat("recordquest input/")), "/")
            cmdchat("getinputend")
            local boss = tonumber(INPUT[3])
            if boss == nil then return end
            local sonsorgu = game.get_event_flag("recordsorgu_"..pc.get_channel_id().."_"..boss)
            if sonsorgu < get_time() then
                if boss == 2291 then
                    kirmiziejder = game.mysql_query2('SELECT player.name,player.level,player.bosskirmiziejder,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bosskirmiziejder DESC LIMIT 10')
                elseif boss == 2493 then
                    ejder = game.mysql_query2('SELECT player.name,player.level,player.bossejder,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bossejder DESC LIMIT 10')
                elseif boss == 6091 then
                    razador = game.mysql_query2('SELECT player.name,player.level,player.bossrazador,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bossrazador DESC LIMIT 10')
                elseif boss == 6191 then
                    nemere = game.mysql_query2('SELECT player.name,player.level,player.bossnemere,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bossnemere DESC LIMIT 10')
                elseif boss == 2092 then
                    barones = game.mysql_query2('SELECT player.name,player.level,player.bossbarones,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bossbarones DESC LIMIT 10')
                elseif boss == 2598 then
                    azrail = game.mysql_query2('SELECT player.name,player.level,player.bossazrail,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bossazrail DESC LIMIT 10')
                elseif boss == 1093 then
                    lusifer = game.mysql_query2('SELECT player.name,player.level,player.bosslusifer,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bosslusifer DESC LIMIT 10')
                elseif boss == 6408 then
                    meley = game.mysql_query2('SELECT player.name,player.level,player.bossmeley,player_index.empire AS empire FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id ORDER BY player.bossmeley DESC LIMIT 10')
                end
                game.set_event_flag("recordsorgu_"..pc.get_channel_id().."_"..boss,get_time()+60)
            end
            if INPUT[1]=="sayfa" then
                if boss == 2291 then
                    bossranksystem.liste_olustur(kirmiziejder,tonumber(INPUT[2]))
                elseif boss == 2493 then
                    bossranksystem.liste_olustur(ejder,tonumber(INPUT[2]))
                elseif boss == 6091 then
                    bossranksystem.liste_olustur(razador,tonumber(INPUT[2]))
                elseif boss == 6191 then
                    bossranksystem.liste_olustur(nemere,tonumber(INPUT[2]))
                elseif boss == 2092 then
                    bossranksystem.liste_olustur(barones,tonumber(INPUT[2]))
                elseif boss == 2598 then
                    bossranksystem.liste_olustur(azrail,tonumber(INPUT[2]))
                elseif boss == 1093 then
                    bossranksystem.liste_olustur(lusifer,tonumber(INPUT[2]))
                elseif boss == 6408 then
                    bossranksystem.liste_olustur(meley,tonumber(INPUT[2]))
                end
            elseif INPUT[1]=="isim" then
                if boss == 2291 then
                    bossranksystem.oyuncu_ara(kirmiziejder,tonumber(INPUT[2]))
                elseif boss == 2493 then
                    bossranksystem.oyuncu_ara(ejder,tonumber(INPUT[2]))
                elseif boss == 6091 then
                    bossranksystem.oyuncu_ara(razador,tonumber(INPUT[2]))
                elseif boss == 6191 then
                    bossranksystem.oyuncu_ara(nemere,tonumber(INPUT[2]))
                elseif boss == 2092 then
                    bossranksystem.oyuncu_ara(barones,tonumber(INPUT[2]))
                elseif boss == 2598 then
                    bossranksystem.oyuncu_ara(azrail,tonumber(INPUT[2]))
                elseif boss == 1093 then
                    bossranksystem.oyuncu_ara(lusifer,tonumber(INPUT[2]))
                elseif boss == 6408 then
                    bossranksystem.oyuncu_ara(meley,tonumber(INPUT[2]))
                end
            end
        end

        function liste_olustur(list,sayfa)
            cmdchat("recordquest yeniliste/")
            if list==nil or table.getn(list)==0 then
                cmdchat("recordwarning bilgiyok")
                return
            end
            local toplam = table.getn(list)
            cmdchat("recordquest sayfa/"..sayfa)
            bossranksystem.send_list_to_client(list,sayfa,toplam)
        end
        

        function oyuncu_ara(list,name)
            cmdchat("recordquest yeniliste/")
            if list==nil or table.getn(list)==0 then
                cmdchat("recordwarning bilgiyok")
                return
            end
            local pos, count, sayfa, toplam = 0, 0, 0, table.getn(list)
            for i=1, toplam, 1 do
                if list[i][1]==name then
                    pos = i
                    break
                end
            end
            if pos == 0 then cmdchat("recordwarning oyuncuyok") return end
            for i=0, toplam, 1 do
                if count>pos then
                        sayfa = i
                        break
                else
                    count = count +10
                end
            end
            cmdchat("recordquest sayfa/"..sayfa)
            bossranksystem.send_list_to_client(list,sayfa,toplam)
        end
        function send_list_to_client(list,sayfa,toplam)
            local ende = 0
            for a = tonumber(sayfa), tonumber(toplam), 1 do
                for b = 1, 10, 1 do
                    local c = 10 * ( a - 1 ) + b
                    cmdchat("recordquest liste/"..c.."|"..list[c][1].."|"..list[c][2].."|"..list[c][3].."|"..list[c][4])
                    if c==toplam then ende=1 break end
                end
                if a==1 and ende==1 then cmdchat("recordquest blok/0") break
                elseif a==1 then cmdchat("recordquest blok/1") break
                elseif ende==1 then cmdchat("recordquest blok/2") break
                else cmdchat("recordquest blok/3") break
                end
            end
        end
    end
end
 
acaba nickinde [COMA] tagı olduğu için mi oluyor. yani belki köşeli parantez engelliyor olabilir. normal bir çar dizip dener misin?
 
denedim ondada aynı muhabbet var maalesef
ben tıkandım valla hiç eklemediğim için bir fikrim yok bir bilen uğrar konuya heralde cmddeki fonksiyonları kontrol edebilirsin. define görmüyordur belki. eklediğin yerleri tekrar gözden geçirmeni tavsiye ediyorum.
 
Sistemi paylaşan kişi quest fonksiyonları vermemiş midir ya da siz questi okuturken olmayan quest fonksiyonları putty ekranında göster miyor mu fonksiyon olmasa da questti okur zaten ama çalışmaz?
Bu eski bir sistem yani daha önce kimse böyle bi sorunla karşılaşmamış eski sistemleri güncel fileslere eklerken hertürlü uyuşmazlıkla karşılaşılabiliyor ekli olan filesten de kontrol ettim hatta sökmeyide denedim fakat sonuca ulaşamadım bunu eklemek istememdeki amaç bunun üzerinde çalışmak guisini vs. değiştirmekti
 
Bu eski bir sistem yani daha önce kimse böyle bi sorunla karşılaşmamış eski sistemleri güncel fileslere eklerken hertürlü uyuşmazlıkla karşılaşılabiliyor ekli olan filesten de kontrol ettim hatta sökmeyide denedim fakat sonuca ulaşamadım bunu eklemek istememdeki amaç bunun üzerinde çalışmak guisini vs. değiştirmekti
QUEST : bossranksystem
STATE : start
WHEN : login
WHEN : button
FUNCTION liste_olustur(list,sayfa)
FUNCTION oyuncu_ara(list,name)
FUNCTION send_list_to_client(list,sayfa,toplam)
Calls undeclared function! :
game.mysql_query2
questti ben böyle okuttum bende böyle hata verdi, sizde de aynı hata mı veriyor farklı mı ?
 
QUEST : bossranksystem
STATE : start
WHEN : login
WHEN : button
FUNCTION liste_olustur(list,sayfa)
FUNCTION oyuncu_ara(list,name)
FUNCTION send_list_to_client(list,sayfa,toplam)
Calls undeclared function! :
game.mysql_query2
questti ben böyle okuttum bende böyle hata verdi, sizde de aynı hata mı veriyor farklı mı ?
game.mysql_query2’yi de quest_functions’a eklemen gerekiyorda bi ekle sen bakalım sende de benle aynı sorun çıkacakmı
 
game.mysql_query2’yi de quest_functions’a eklemen gerekiyorda bi ekle sen bakalım sende de benle aynı sorun çıkacakmı
questte ki game.mysql_query2"yi mysql_query olarak değiştirdim hepsi ve questfunctions a mysql_query ve split ekledim quest okuttum hata vermedi isterseniz böyle deneyin sistem bende ekli olmadığı için deneyemiyorum oyun içi
 
şu questi bi dene olmassa bir fix söyliycem

##Düzeltme :

hatta fixide söyliyim yine aynı quest penceresi gelirse

Kod:
Arat

def OpenQuestWindow(self, skin, idx):

Kod bloğunu tamamen değiştir.

 def OpenQuestWindow(self, skin, idx):
 if constInfo.INPUT_IGNORE == 1:
 return
 elif constInfo.INPUT == 1:
 return
 else:
 self.interface.OpenQuestWindow(skin, idx)

gameinfo.py varsa sistemde böyle yap

 def OpenQuestWindow(self, skin, idx):
 if constInfo.INPUT_IGNORE == 1:
 return
 elif constInfo.INPUT == 1:
 return
 elif gameInfo.INPUT == 1:
 return
 else:
 self.interface.OpenQuestWindow(skin, idx)
 

Dosya Eklentileri

  • record_system.zip
    1,2 KB · Gösterim: 0
Geri
Üst