[RELEASE]Killcount

12/05/2012 06:02 ©by Noa#1
Ich Release mal ein kleinen Killcount, habe die sufu benutzt aber nichts gefunden und da ich eh Langeweile habe teile ich mit euch diese quest.

Zur Quest.
Sie startet ab lvl 1 und zählt jedesmal wenn der Spieler was killt, bei den selben Spieler im Reich wird der dazugehörige reichscounter auf 1 runtergesetezt(kommt drauf an wv er kill)und eigenkills erhöht.

PHP Code:
quest killcount begin
    state start begin
        when login with pc
.get_level()>=1 begin
            send_letter
("Killcount")
            
setstate(info)
        
end
    end
    state info begin
        when letter begin
            send_letter
("Killcount")
        
end
        when button 
or info begin
            say_title
(pc.get_name())
            
say()
            
say("Mein Aktueller Count:")
            
say()
            
say("Gelb:[DELAY value;100]"..pc.getqf("gelb").."[/DELAY]")
            
say("Rot:[DELAY value;100]"..pc.getqf("rot").."[/DELAY]")
            
say("Blau:[DELAY value;100]"..pc.getqf("blau").."[/DELAY]")
            
say("Monster:[DELAY value;100]"..pc.getqf("monster").."[/DELAY]")
            
say_red("Eigene:-[DELAY value;100]"..pc.getqf("eigene").."[/DELAY]")
        
end
        when kill begin
            
if npc.get_empire()== 2 then                    
                
if npc.get_empire()== pc.get_empire() then
                    local count 
= pc.getqf("eigene") + 1
                    local gelb 
= pc.getqf("gelb") - 1
                    
if count >=1 then
                        pc
.setqf("eigene", count)
                        
q.set_counter("eigene", count)
                        
pc.setqf("gelb", gelb)
                    
end
                
else
                    
local count = pc.getqf("gelb") + 1
                    
if count >=1 then
                        pc
.setqf("gelb", count)
                        
q.set_counter("gelb", count)
                    
end
                end
            
elseif npc.get_empire()==3 then                        
                
if npc.get_empire()== pc.get_empire() then                        
                    local count 
= pc.getqf("eigene") + 1                        
                    local blau 
= pc.getqf("blau") - 1                            
                    
if count >=1 then                                            
                        pc
.setqf("eigene", count)                                
                        
q.set_counter("eigene", count)                            
                        
pc.setqf("blau", blau)                                    
                    
end                                                            
                
else                                                            
                    
local count = pc.getqf("blau") + 1                            
                    
if count >=1 then                                            
                        pc
.setqf("blau", count)                                
                        
q.set_counter("blau", count)                            
                    
end                                                            
                end                                                                
            
elseif npc.get_empire()== 1 then                
                
if npc.get_empire()== pc.get_empire() then
                    local count 
= pc.getqf("eigene") + 1
                    local rot 
= pc.getqf("rot") - 1
                    
if count >=1 then
                        pc
.setqf("eigene", count)
                        
q.set_counter("eigene", count)
                        
pc.setqf("rot", rot)
                    
end
                
else
                    
local count = pc.getqf("rot") + 1
                    
if count >=1 then
                        pc
.setqf("rot", count)
                        
q.set_counter("rot", count)
                    
end
                end
            
elseif not npc.is_pc() then
                local count 
= pc.getqf("monster") + 1            
                
if count >=1 then
                    pc
.setqf("monster", count)
                    
q.set_counter("monster", count)
                
end
            end
        end
    end
end 
12/05/2012 09:39 Prince43#2
Gute Idee :) Danke für die Quest. Regt an duellen auf Servern auf, so dass es nie beim Spielen langweilig wird und es immer neues gibt :) Baue ich in meinen Server ein ;)

Soll ich dein Copyrights reinschreiben ? Oder gehts auch ohne ?

greetz Prince
12/05/2012 10:10 [SGA]Jango#3
Wird deinen Server bei mehreren Spielern überlassten!
€überlassten nicht überlassen
12/05/2012 10:13 ©by Noa#4
Quote:
Originally Posted by [SGA]Jango View Post
Wird deinen Server bei mehreren Spielern überlassen!
seinlassen, unterlassen
überlassen= geben, freistellen
Dann müssen auf dem Server mehr Spieler als auf de sein

@jango behalt den copyright
12/05/2012 10:55 Prince43#5
Quote:
Originally Posted by [SGA]Jango View Post
Wird deinen Server bei mehreren Spielern überlassen!
Wenn du überlasten meinst, irrst du dich. ich habe eine Wunderbare Coreverteilung und Gut angepasste Root serverfiles. der haltet locker 3k User aus wenn auch mehr.

greetz Prince
12/05/2012 11:00 ©by Noa#6
Quote:
Originally Posted by Prince43 View Post
Wenn du überlasten meinst, irrst du dich. ich habe eine Wunderbare Coreverteilung und Gut angepasste Root serverfiles. der haltet locker 3k User aus wenn auch mehr.

greetz Prince
Er meint es wegen den qf, bei der quest werden nur die 5 werte gespeichert die Rechnungen werden nicht mit gespeichert.
12/05/2012 11:46 Prince43#7
Quote:
Originally Posted by ©by Noa View Post
Er meint es wegen den qf, bei der quest werden nur die 5 werte gespeichert die Rechnungen werden nicht mit gespeichert.
Dann tut mir mein Post leid . Sry :(

greetz Prince
12/05/2012 13:34 .Marcel'#8
Warum werden immer Quests ohne Kommentar bzw Dokumentation gepostet, das macht den Quellcode viel verständlicher.
12/05/2012 13:50 Mijago#9
Wenn du zB emp1 für rot bzw emp2 für gelb nimmst, kannst du deinen Code sehr kürzen
Bsp:
pc.setqf('emp'..npc.get_empire(),pc.getqf('emp'..n pc.get_empire())+1)

Grade am Handy on, deshalb hoffe ich das Beispiel ist richtig

Und eigene ergibt sich aus emp+eigenes reich :)

Grüße, Mijago
12/05/2012 14:04 ©by Noa#10
ich kann das mit dem kombinieren noch nicht so gut, musst du mal mehr howto's machen dann lerne ich auch mehr :P
12/05/2012 14:15 Mijago#11
Okay werde ich im nächsten mal Ansprechen.. Bzw vll mache ich ein Video zu einem Killcounter mit clientinterface.. Wir werden sehen :D
Heut Nachmittag dann
12/05/2012 14:25 ©by Noa#12
& das mit den meta tabellen nicht vergessen, habe ich in dein Forum angesprochen.
Freue mich auf dein Nächstes vid.
12/05/2012 15:10 [SGA]Jango#13
Ja ich meine überlassTen, war nur ein tippfehler, habs jetzt geändert!
Es geht nicht nur darum das es 5 qf pro spieler soeichert sondern das es für jeden kill diese abfrage durchführt und das wird aufjedenfall mehr CPU verbrauchen! und wenn mich nicht alles irrt werden die Questflags nicht direkt gespeichert sonder an den DB Server gesendet der erst alle 5 Minuten alles Speichert bzw, wie ihr das eingestellt habt in eurer config.
Jedes mal wenn eine Questflag geändert wird, wird auch hächstwahrscheinlich ein Packet an den DB Server gesendet der dieses dann zwischen speichert!

Das mit den Packets ist nur ein Vermutung! könnt mich gerne belehren!
12/05/2012 16:02 vıo#14
Dürfte ich die Quest weiter ausbauen? :)
12/05/2012 16:38 ©by Noa#15
Quote:
Originally Posted by [SGA]Jango View Post
Ja ich meine überlassTen, war nur ein tippfehler, habs jetzt geändert!
Es geht nicht nur darum das es 5 qf pro spieler soeichert sondern das es für jeden kill diese abfrage durchführt und das wird aufjedenfall mehr CPU verbrauchen! und wenn mich nicht alles irrt werden die Questflags nicht direkt gespeichert sonder an den DB Server gesendet der erst alle 5 Minuten alles Speichert bzw, wie ihr das eingestellt habt in eurer config.
Jedes mal wenn eine Questflag geändert wird, wird auch hächstwahrscheinlich ein Packet an den DB Server gesendet der dieses dann zwischen speichert!

Das mit den Packets ist nur ein Vermutung! könnt mich gerne belehren!
was erzählst du da?
die werte werden da nur wenn man kill gespeichert aber in dem Pfad->player->quest, das Einzigste was die quest zieht ist speicher sonst nichts, die werte kann man dort auch finden(SIND GESPEICHERT) schaue nach und guck nach state blau-... die lValue sind die festen werte die sie haben und kann man in der Db ändern.

€dit.Rechtschreibfehler könnt ihr behalten