[SERVICE] Die Questkontrolle

08/11/2012 14:00 DasKuchen#6511
@AnNoTriX

PHP Code:
quest love_event begin 
    state start begin 
        when 71146.
use begin 
            local zeit 
60*30 ---Wären 30 Minuten glaube ich 
            
if pc.getqf("open") >= 10 then
                pc
.remove_item("71146"1
                return
            
end 
            
if pc.getqf("truhewarten") <= get_time() then
                chat
("Du musst noch "..pc.getqf("truhewarten") /60 .." Minuten bis du die Truhe öffnen kannst.")
                return
            
end
            pc
.setqf("open",pc.getqf("open")+1)
            
pc.setqf("truhewarten"get_time() + zeit)
            
local r=number(112
            if 
r==1 then 
                pc
.give_item2("71107"1
            elseif 
r==2 then 
                pc
.give_item2("25100"1)     
            elseif 
r==3 then 
                pc
.give_item2("71084"1
            elseif 
r==4 then 
                pc
.give_item2("71085"1
            elseif 
r==5 then 
                pc
.give_item2("71109"1
            elseif 
r==6 then 
                pc
.give_item2("70024"1
            elseif 
r==7 then 
                pc
.give_item2("70038"20
            elseif 
r==8 then 
                pc
.give_gold(100000
            elseif 
r==9 then 
                pc
.give_gold(50000
            elseif 
r==10 then 
                pc
.give_gold(30000
            elseif 
r==11 then 
                pc
.give_gold(20000
            elseif 
r==12 then 
                pc
.give_gold(10000
            
end 
            chat
("Du hast die Truhe schon "..pc.getqf("open").." von 10 mal geöffnet!")
        
end 
    end 
end 
Habe dir auch noch die Zeit eingefügt musst testen ob das so geht.
Und du hattest vorher ,dass er immer das Item removed nach dem benutzen aber es soll ja erst nach dem 10. mal verschwinden.
08/11/2012 14:55 xXKimariXx#6512
@AnNoTriX

Hier so sieht die schöner aus:
PHP Code:
quest love_event begin 
    state start begin 
        when 71146.
use begin 
            local zeit 
60*30 ---Wären 30 Minuten glaube ich 
            
if pc.getqf("open") >= 10 then
                pc
.remove_item("71146"1
                return
            
end 
            
if pc.getqf("truhewarten") <= get_time() then
                chat
("Du musst noch "..pc.getqf("truhewarten") /60 .." Minuten bis du die Truhe öffnen kannst.")
                return
            
end
            pc
.setqf("open",pc.getqf("open")+1)
            
pc.setqf("truhewarten"get_time() + zeit)
            
local box = {
            
711072510071084,
            
710857110970024,
            
70038
            
}
            
local give number(1table.getn(box))
            
pc.give_item2(box[give], 1)
            
chat("Du hast die Truhe schon "..pc.getqf("open").." von 10 mal geöffnet!")
        
end 
    end 
end 
08/11/2012 16:27 Invicta³#6513
PHP Code:
quest wächter begin
state start begin
    when 30173.chat
"Maps" begin
        say_titel
(""..mob_name.."")
        
say("")
        
say("Willkommen zur den")
        
say("Neuen Ortschaften")
    
local i select("Spinnendungeon 3","Naga Welt","Abrechen")
        if 
== i then --Spinnendungeon 3
            
if pc.get_level()) <= 79 then
            say
("Tut mir leid du bist noch zu Jung.")
            else
            if 
pc.can_warp() then
            pc
.warp(123456700,123456700)
            
end
        end
        
if == i then --Naga Welt
            
if pc.get_level()) <= 99 then
            say
("Tut mir leid du bist noch zu Jung.")
            else
            if 
pc.can_warp() then
            pc
.warp(560600,578600)
            
end
        end    
    end
end 
Fehler:
qc in malloc(): error: allocation failed
Abort trap (core dumped)

Mit freundlichen Grüßen

Invicta³
08/11/2012 17:11 J3EATZ#6514
Code:
Quest PVP.quest begin
	state start begin
        when login with pc.level >= 125 begin
            set_state(player_kill1)
        end
    end

    state player_kill1 begin
        when letter begin
            send_letter("Töte Gegner aus anderen Reichen")
        end

        when button or info begin
            say("Es wird Zeit dass du zeigst")
            say("was in dir steckt!")
            say("Zeige es uns indem du 300")
            say("Spieler aus anderen Reichen tötest!")
            say_reward("Töte 300 andere Spieler aus anderen Reichen!")
            say("")
            pc.setqf("state", 300)
            q.set_counter("kills", 300)
            set_state (kill)
        end
    end
      
        state kill begin
        when letter begin
            send_letter("Töte Spieler")
        end
        
        when button or info begin
            say_title("Spieler:")
            say_reward( "Du musst noch ".." "..pc.getqf("state").."von 300 töten")
            say("")
        end

        when kill begin
            if npc.is_pc() and npc.empire != pc.empire then 
            local count = pc.getqf("state") - 1
            if count <= 300 then
                pc.setqf("state", count)
                q.set_counter("kills", -count)
            end
            if count == 0 then
                say_title("Du hast es geschafft!")
                say("300 Spieler aus anderen Reichen zu töten!")
                say("Du erhälst für deine Mühen:")
                say_reward("Schwarzer Stern")
                say_reward("20.000.000 Yang")
                pc.change_money(20000000)
                pc.give_item2(70018, 1)
                notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!")
                notice_all("er/sie hat 300 Spieler getötet, Glückwunsch!")
                clear_letter()
                set_state(__COMPLETE__)

            end
        end
    end
    end

    state __COMPLETE__ begin
    end
end


daroo files was ist daran falsch?
08/11/2012 18:40 Avulsed#6515
Code:
quest PVP_quest begin
	state start begin
        when login with pc.level >= 125 begin
            set_state(player_kill1)
        end
    end

    state player_kill1 begin
        when letter begin
            send_letter("Töte Gegner aus anderen Reichen")
        end

        when button or info begin
            say("Es wird Zeit dass du zeigst")
            say("was in dir steckt!")
            say("Zeige es uns indem du 300")
            say("Spieler aus anderen Reichen tötest!")
            say_reward("Töte 300 andere Spieler aus anderen Reichen!")
            say("")
            pc.setqf("state", 300)
            q.set_counter("kills", 300)
            set_state (kill)
        end
    end
      
        state kill begin
        when letter begin
            send_letter("Töte Spieler")
        end
        
        when button or info begin
            say_title("Spieler:")
            say_reward( "Du musst noch ".." "..pc.getqf("state").."von 300 töten")
            say("")
        end

        when kill begin
            if npc.is_pc() and npc.empire != pc.empire then 
            local count = pc.getqf("state") - 1
            if count <= 300 then
                pc.setqf("state", count)
                q.set_counter("kills", -count)
            end
            if count == 0 then
                say_title("Du hast es geschafft!")
                say("300 Spieler aus anderen Reichen zu töten!")
                say("Du erhälst für deine Mühen:")
                say_reward("Schwarzer Stern")
                say_reward("20.000.000 Yang")
                pc.change_money(20000000)
                pc.give_item2(70018, 1)
                notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!")
                notice_all("er/sie hat 300 Spieler getötet, Glückwunsch!")
                clear_letter()
                set_state(__COMPLETE__)

            end
        end
    end
    end

    state __COMPLETE__ begin
    end
end


Hab mal

Code:
Quest PVP.quest begin
in

Code:
quest PVP_quest begin
geändert. Probiers mal so.
08/11/2012 19:26 DasKuchen#6516
Quote:
Originally Posted by Invicta³ View Post
PHP Code:
quest wächter begin
state start begin
    when 30173.chat
"Maps" begin
        say_titel
(""..mob_name.."")
        
say("")
        
say("Willkommen zur den")
        
say("Neuen Ortschaften")
    
local i select("Spinnendungeon 3","Naga Welt","Abrechen")
        if 
== i then --Spinnendungeon 3
            
if pc.get_level()) <= 79 then
            say
("Tut mir leid du bist noch zu Jung.")
            else
            if 
pc.can_warp() then
            pc
.warp(123456700,123456700)
            
end
        end
        
if == i then --Naga Welt
            
if pc.get_level()) <= 99 then
            say
("Tut mir leid du bist noch zu Jung.")
            else
            if 
pc.can_warp() then
            pc
.warp(560600,578600)
            
end
        end    
    end
end 
Fehler:
qc in malloc(): error: allocation failed
Abort trap (core dumped)

Mit freundlichen Grüßen

Invicta³

Wie ich sehe hast du nicht so viel Ahnung von Questen daher möchte ich dir sagen so wie es hier ist ist die erste Map ab Level 79 und die andere ab Level 99
PHP Code:
quest wächter begin
    state start begin
        when 30173.chat
"Maps" begin
            say_titel
(""..mob_name.."")
            
say("")
            
say("Willkommen zur den")
            
say("Neuen Ortschaften")
            
local i select("Spinnendungeon 3","Naga Welt","Abrechen")
            if 
== i then
                
if pc.get_level() <= 79 then
                    say
("Tut mir leid du bist noch zu Jung.")
                elseif 
pc.get_level() >= 79 then
                    pc
.warp(123456700,123456700)
                
end    
            end    
            
if == i then
                
if pc.get_level() <= 99 then
                    say
("Tut mir leid du bist noch zu Jung.")
                elseif 
pc.get_level() >= 99 then
                    pc
.warp(560600,578600)
                
end    
            end
            
if == i then
                
return
            
end
        end    
    end
end 
08/11/2012 19:38 J3EATZ#6517
gelöööööööööööst
08/11/2012 19:51 JediMax#6518
Da stimmt irgendwas nicht:

PHP Code:
quest upp begin
    state start begin
        when 33007.chat
."Moin" with pc.getqf("Upp"0begin
            say_tilte
("Hamil Alet Drimal")
            
say("Hallo")
            
say("Meine Name ist Hamit Alel Drimal")
            
say("Da wir uns zum ersten mal treffen,")
            
say("sag ich dir mal was für ein Gerät")
            
say("ich bin (ich hab :D)")
            
say("")
            
say("Bei mir kannst du zahlreiche Uppitems")
            
say("herstellen. Willst du eine kleine Ein-")
            
say("führung? (Aber nur mit Gleitgel :D")
            
sub_set select("Ja mit Gleitgel""Ne ich will kein Arschfick")
            if 
sub_set == 1 then
                say_title
("Hamil Alet Drimal")
                
say("Also:")
                
say("Du kannst bei mir alle Kristalle")
                
say("herstellen. Es gibt Grüne, Blaue,")
                
say("Rote und Lilane. Du brauchst dazu")
                
say("den jeweiligen Sand und ein paar ")
                
say("Uppitems. Irgendwie muss ich ja auch")
                
say("meinen Ofen heizen".(Und meine Bomben")
                say("
bauen *hust*). Um Kristalle herzu-")
                say("
stellen brauche ich auserdem auch noch")
                say("
viel EnergieIch werde dir für jedes")
                say("
Item sagenwelche Energie du benötigst.")
                say_title("
Hamil Alet Drimal")
                say("
Also brauchst du folgende Items zum Uppen")
                pc.show_item("
30185")
                say("")
                pc.show_item("
30186")
                say_title("
Hamil Alet Drimal")
                pc.show_item("
30188")
                say("
War´s toll?")
                sub_set = select("
Boah jetz bin ich geil", "Ich kann nich mehr")
                if sub_set == 1 then
                    say_title("
Hamil Alet Drimal")
                    say("
Freut mich :D")
                    pc.setqf("
Upp", 1)
                    return
                elseif sub_set == 2 then
                    say_title("
Hamil Alet Drimal")
                    say("
DU VERZOGENES KIND MENSCHEN IN")
                    say("
NAH OST VERREKEN ABER DU...")
                    say(" 
Naja BB.")
                    pc.setqf("
Upp", 1)
                    return
                end
            elseif sub_set == 2 then
                say_title("
Hamil Alet Drimal")
                say("
Okay dann nicht du Opfa")
                pc.setqf("
Upp", 1)
                return
            end
        end
    
        when 33007.chat."
Moin" with pc.getqf("Upp", 1) begin
            say_title("
Hamil Alet Drimal")
            say("
Was willst du hierSoll ich dich")
            say("
in die Luft bomben?")
            sub_set = ("
Noch ein Arschfick", "Ich will was Uppen", "Ich will dich verarschen")
            if sub_set == 1 then
                say_title("
Hamil Alet Drimal")
                say("
OkayKlicke mich erneut an um nochmal")
                say("
die Informationen zu erhalten.")
                pc.setqf("
Upp", 0)
                return
            elseif sub_set == 2 then
                say_title("
Hamil Alet Drimal")
                say("
Was willst du herstellen?")
                sub_set = ("
Grüner Kristall", "Blauer Kristall", "Lila Kristall", "Roter Kristall")
                if sub_set == 1 then
                    say_title("
Hamil Alet Drimal")
                    say("
Okay du brauchst:")
                    pc.show_item("
81030")
                    pc.show_item("
30185")
                    pc.show_item("
30186")
                    say_title("
Hamil Alet Drimal")
                    say("
Hast du das Zeugs?")
                    sub_set = ("
Ja", "Nein")
                    if sub_set == 1 then
                        pc.remove_item("
81030")
                        pc.remove_item("
30185")
                        pc.remove_item("
30186")
                        pc.give_item("
81029")
                        chat("
Du hast einen Grünen Kristall erhalten")
                        return
                    elseif sub_set == 2 then
                        say_title("
Hamil Alet Drimal")
                        say("
Umsonst gibts bei mir nix")
                        return
                    end
                if sub_set == 2 then
                    say_title("
Hamil Alet Drimal")
                    say("
Okay du brauchst:")
                    pc.show_item("
81036")
                    pc.show_item("
30185")
                    pc.show_item("
30188")
                    say_title("
Hamil Alet Drimal")
                    say("
Hast du das Zeugs?")
                    sub_set = ("
Ja", "Nein")
                    if sub_set == 1 then
                        pc.remove_item("
81036")
                        pc.remove_item("
30185")
                        pc.remove_item("
30188")
                        pc.give_item("
81035")
                        chat("
Du hast einen Blauen Kristall erhalten")
                        return
                    elseif sub_set == 2 then
                        say_title("
Hamil Alet Drimal")
                        say("
Umsonst gibts bei mir nix")
                        return
                    end
                if sub_set == 3 then
                    say_title("
Hamil Alet Drimal")
                    say("
Okay du brauchst:")
                    pc.show_item("
81032")
                    pc.show_item("
30185")
                    pc.show_item("
30188")
                    say_title("
Hamil Alet Drimal")
                    say("
Hast du das Zeugs?")
                    sub_set = ("
Ja", "Nein")
                    if sub_set == 1 then
                        pc.remove_item("
81032")
                        pc.remove_item("
30185")
                        pc.remove_item("
30188")
                        pc.give_item("
81031")
                        chat("
Du hast einen Lilanen Kristall erhalten")
                        return
                    elseif sub_set == 2 then
                        say_title("
Hamil Alet Drimal")
                        say("
Umsonst gibts bei mir nix")
                        return
                    end
                if sub_set == 4 then
                    say_title("
Hamil Alet Drimal")
                    say("
Okay du brauchst:")
                    pc.show_item("
81034")
                    pc.show_item("
30185")
                    pc.show_item("
30186")
                    say_title("
Hamil Alet Drimal")
                    say("
Hast du das Zeugs?")
                    sub_set = ("
Ja", "Nein")
                    if sub_set == 1 then
                        pc.remove_item("
81034")
                        pc.remove_item("
30185")
                        pc.remove_item("
30186")
                        pc.give_item("
81033")
                        chat("
Du hast einen Roten Kristall erhalten")
                        return
                    elseif sub_set == 2 then
                        say_title("
Hamil Alet Drimal")
                        say("
Umsonst gibts bei mir nix")
                        return
                    end
                end
            end
        end
    end
end 
08/11/2012 20:50 xXKimariXx#6519
#edit: doch nicht
08/11/2012 21:24 Invicta³#6520
Quote:
Originally Posted by DasKuchen View Post
Wie ich sehe hast du nicht so viel Ahnung von Questen daher möchte ich dir sagen so wie es hier ist ist die erste Map ab Level 79 und die andere ab Level 99
PHP Code:
quest wächter begin
    state start begin
        when 30173.chat
"Maps" begin
            say_titel
(""..mob_name.."")
            
say("")
            
say("Willkommen zur den")
            
say("Neuen Ortschaften")
            
local i select("Spinnendungeon 3","Naga Welt","Abrechen")
            if 
== i then
                
if pc.get_level() <= 79 then
                    say
("Tut mir leid du bist noch zu Jung.")
                elseif 
pc.get_level() >= 79 then
                    pc
.warp(123456700,123456700)
                
end    
            end    
            
if == i then
                
if pc.get_level() <= 99 then
                    say
("Tut mir leid du bist noch zu Jung.")
                elseif 
pc.get_level() >= 99 then
                    pc
.warp(560600,578600)
                
end    
            end
            
if == i then
                
return
            
end
        end    
    end
end 
So viel Ahnung von questen habe ich nicht deswegen lass ich sie ja kontrollieren "ja die Erste ab 79 und die 2 Map ab 99 wo ist da jetzt der Fehler"?


EDIT:
PHP Code:
qc in malloc(): errorallocation failed
Abort trap 
(core dumped
EDIT2: Behoben
08/11/2012 23:21 XxxGaGaxxX#6521
Kleines Problem mit der Reittierquest, ich hoffe jemand kann helfen...
Beim 2.Klick auf das Item sollte man vom mount & vom Gaul absteigen, jedoch funktioniert das nicht, hab es mal rot makiert.

Code:
quest siegeltrolo begin
	state start begin
		when 71114.use begin
			if horse.ride() then
[COLOR="Red"]				horse.unride()
				pc.unmount()[/COLOR]
			else
				horse.summon()
				horse.ride()
				pc.mount(20110, 60*60)
			end
		end
	end
end
08/11/2012 23:34 J3EATZ#6522
strg+g drücken`??
Quote:
Kleines Problem mit der Reittierquest, ich hoffe jemand kann helfen...
Beim 2.Klick auf das Item sollte man vom mount & vom Gaul absteigen, jedoch funktioniert das nicht, hab es mal rot makiert.
08/12/2012 00:14 XxxGaGaxxX#6523
Ich möchte es per Quest haben.

Ps.: 2x Strg+h/g, erst dann...
08/12/2012 00:55 xXKimariXx#6524
Hier <3 ^^
PHP Code:
quest siegeltrolo begin
    state start begin
        when 71114.
use with pc.getqf("use") == 1 begin
            
if horse.ride() then
                horse
.unride()
                
pc.unmount()
                
pc.setqf("use"0)
            
end
        end
        when 71114.
use with pc.getqf("use") == 0 begin
            horse
.summon()
            
horse.ride()
            
pc.mount(2011060*60)
            
pc.setqf("use"1)
        
end
    end
end 
08/12/2012 01:56 .Seriously#6525
PHP Code:
quest new_effects begin 
    state start begin 
        when 71136.
use begin 
            
if pc.getqf("lolli") == 1 then 
                chat
("Du musst erst dein Lolli ausziehen!"
            elseif
                
affect.add_collect(apply.ATT_SPEED200*0*0*7*0)         
                
affect.add_collect(apply.CAST_SPEED200*0*0*7*0
                
affect.add_collect(apply.ATT_BONUS_TO_MONSTER200*0*0*7*0
                
chat("Du erhälst solange du den Ring trägst:"
                
chat("+50% mehr Exp"
                
chat("+20% Angriffsgeschwindigkeit"
                
chat("+20% Zaubergeschwindigkeit"
                
chat("+20% Stärker gegen Monster"
                
chat("+10% Trefferpunkte"
                
chat("+10% Magickapunkte"
                
pc.setqf("lolli",1
                
set_state(iuse
            
end
        end 
    end 
    state iuse begin 
        when 71136.
use begin 
            affect
.remove_collect(apply.ATT_SPEED200*0*0*7*0)         
            
affect.remove_collect(apply.CAST_SPEED,200*0*0*7*0
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,200*0*0*7*0
            
pc.setqf("lolli", -1
            
set_state(start
        
end 
    end 
end