Quest-Performance Problem..

01/05/2012 16:46 Zymos#1
Hallo Community,

Ich habe folgendes Problem:
Ich habe bei mir Lottery gecodet, soweit fast alles fertig...

Allerdings wenn man Lottoscheine auswertet und man hat paar Scheine ca 50 stück oder mehre hundert, dauert das auslesen aus der Datenbank (myssql Select) etwas, in dieser zeit bleibt der gesammte Core stehen!
Obwohl laut TOP 0% CPU auslastung ist sowie die Festplatte auch nicht wirklich belastet wird (ca 3%).

Was soll ich tun, wenn ein Spieler kommt und seine 500 Scheine abgeben will, bleibt der Core für ca 30 Sekunden hängen. Und das ist echt nervig..


Jemand ne idee wie man das ganze beschleunigen könnte?

mfg Zymos

per: setqf würde da es nicht bzw. kaum hängen, nur nutzen mag ich es nicht xD..

CODE:
PHP Code:
function check_win()
    
say("Bitte gedulde dich einen augenblick")
    
say("Die Auswertung wird bei dir ca "..math.ceil(Lotterie.get_ticket_number() / 60*2) .." Sekunden dauern.")
    
say("Solange bitte nichts klicken oder sonstiges das")
    
say("Ergebnis wird dir danach angezeigt.")
    
wait()
    
local ticket_number 500
    local i 
1
    
while i  <= ticket_number do
    
local anzahl 0
    local off_z1 
tonumber(40)
    
local off_z2 tonumber(18)
    
local off_z3 tonumber(26)
    
local off_z4 tonumber(42)
    
local off_z5 tonumber(10)
    
local off_z6 tonumber(16)
    
local off_z7 tonumber(32)
    
local rows =  mysql_query("SELECT ticket_number,n1,n2,n3,n4,n5,n6,n7 from player.Lotterie WHERE account_id='"..pc.get_account_id().."' and ticket_number = '"..i.."'")
    
local n1 tonumber(rows[1][2])
    
local n2 tonumber(rows[1][3])
    
local n3 tonumber(rows[1][4])
    
local n4 tonumber(rows[1][5])
    
local n5 tonumber(rows[1][6])
    
local n6 tonumber(rows[1][7])
    
local n7 tonumber(rows[1][8])
    
say("Ausgewertet...")
end
end 
per for i = 1, table.getn(rows), 1 do
hab ich auch schon probiert...

Lösung a:
Wenn man Schein abgibt er sofort prüft wie die zahlen sind und gleich gewinn in tabelle schreibt.

Lösung b:
Per pc.setqf und pc.getqf regeln...

lösung c:
ka..