[SERVICE] Die Questkontrolle

08/13/2012 18:54 Retrograd#6556
@AnNoTriX:

versuchs mal so grad keine zeit zu testen

PHP Code:
quest xmas_box begin 
    state start begin 
        when 80046.
use begin 
            wartezeit 
= 60*60*30 --Zeit abgabe 
            maximmale_truhen 
= 10 --Maximale anzahl an truhen 
             
            
if pc.getqf("anzahl_"..item.get_id().."") >= 1 then 
                
if pc.getqf("time_"..item.get_id().."") <= get_time() then 
                    pc
.setqf("anzahl_"..item.get_id().."", pc.getqf("anzahl_"..item.get_id().."") -1) 
                    
pc.setqf("time_"..item.get_id().."", get_time() + wartezeit) 
                    
chat("#old#Du kannst noch "..pc.getqf("anzahl_"..item.get_id().."").." mal die Truhe öffnen.") 
                    if 
pc.getqf("anzahl_"..item.get_id().."") == 0 then 
                        pc
.delqf("anzahl_"..item.get_id().."") 
                        
pc.delqf("time_"..item.get_id().."") 
                        
item.remove() 
                        return 
                    
end 
                
else 
                    
chat("Du kannst die nächste Truhe erst in "..pc.getqf("time_"..item.get_id().."") - get_time().." Sekunden öffnen.") 
                
end 
            
else 
                
pc.setqf("anzahl_"..item.get_id().."",maximmale_truhen) 
                
pc.setqf("time_"..item.get_id().."", get_time() + wartezeit) 
                
chat("#neu# Du kannst noch "..pc.getqf("anzahl_"..item.get_id().."") -1 .." mal die Truhe öffnen.") 
            
end 
        end
    end
end 
08/13/2012 19:19 JediMax#6557
Quote:
Originally Posted by AnNoTriX View Post
PHP Code:
quest Upp begin
    state start begin
        when 33007.chat
."Moin" with pc.getqf("Upp", 0) begin
            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)")
            
local 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 Energie. Ich werde dir für jedes")
                
say("Item sagen, welche 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?")
                
local sub = select("Boah jetz bin ich geil", "Ich kann nich mehr")
                if 
sub == 1 then
                    say_title
("Hamil Alet Drimal")
                    
say("Freut mich :D")
                    
pc.setqf("Upp", 1)
                    return
                elseif 
sub == 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 hier? Soll ich dich")
            
say("in die Luft bomben?")
            
local set = select("Noch ein Arschfick", "Ich will was Uppen", "Ich will dich verarschen")
            if 
set == 1 then
                say_title
("Hamil Alet Drimal")
                
say("Okay. Klicke mich erneut an um nochmal")
                
say("die Informationen zu erhalten.")
                
pc.setqf("Upp", 0)
                return
            elseif 
set == 2 then
                say_title
("Hamil Alet Drimal")
                
say("Was willst du herstellen?")
                
local sset = select("Grüner Kristall", "Blauer Kristall", "Lila Kristall", "Roter Kristall")
                if 
sset == 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?")
                    
local wahl = select("Ja", "Nein")
                    if 
wahl == 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 
wahl == 2 then
                        say_title
("Hamil Alet Drimal")
                        
say("Umsonst gibts bei mir nix")
                        return
                    
end
                
if sset == 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?")
                    
local wahl2 = select("Ja", "Nein")
                    if 
wahl2 == 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 
wahl2 == 2 then
                        say_title
("Hamil Alet Drimal")
                        
say("Umsonst gibts bei mir nix")
                        return
                    
end
                
if sset == 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?")
                    
local wahl3 = select("Ja", "Nein")
                    if 
wahl3 == 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 
wahl3 == 2 then
                        say_title
("Hamil Alet Drimal")
                        
say("Umsonst gibts bei mir nix")
                        return
                    
end
                
if sset == 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?")
                    
local wahl4 = select("Ja", "Nein")
                    if 
wahl4 == 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 
wahl4 == 2 then
                        say_title
("Hamil Alet Drimal")
                        
say("Umsonst gibts bei mir nix")
                        return
                    
end
                end
            end
        end
    end
end 
Funktioniert immer noch nicht, ich versteh es nicht.
08/13/2012 19:42 .Seriously#6558
quest1:
PHP Code:
quest Seon_Pyeongs_Forschung  begin
    state start begin
        when login 
or levelup with pc.get_level() >=92  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
= find_npc_by_vnum(20091)
            if 
v != 0 then
                target
.vid("__TARGET__", v, "Quest")
            
end
            send_letter
("Seon-Pyeongs Forschung")
        
end

        when button 
or info begin
            say_title
("Seon-Pyeongs Forschung")
            
say("")
            
say("Seon-Pyeongs sucht dich.")
            
say("Er wird in manchen Kreisen auch ")
            
say("OT-Sura genannt")
        
end

        when __TARGET__
.target.click or
            
20091.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Seon-Pyeong:")
            ---                                                   
l
            say
("Hallo "..pc.get_name()..",")
            
say("Ich brauche deine Hilfe")
            
say("um meine Forschung fortzuführen.")
            
say("Du musst mir 10")
            
say("Juwel der Missgunst bringen")
            
say("")
            
say("")    
            
set_state(go_to_disciple)
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Seon-Pyeong")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Seon-Pyeong gab euch den Auftrag")
            
say("10 Juwel der Missgunst zu sammeln!")
            
say("Das Item bekommt ihr von Unterwelt-Eisgolem und Unterwelt-Eismann.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30251)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end
        
        when 1137.kill 
or 1135.kill begin
            
if pc.count_item(30251)<10-pc.getqf("collect_count") then
                pc
.give_item2(30251, 1)
            
end
        end
        when 20091.chat
."Forschung(1)" with pc.count_item(30251) >0   begin
            say
("Einen Moment!")
                ---                                                   
l
            say
("Ich werde das Item")
            
say("schnell mal ueberpruefen.")
            
say("Hoffentlich klappt alles!")
            
say("")
            
pc.remove_item(30251, 1)
            
wait()
            if 
pc.getqf("collect_count")< 9 then
                local index 
= pc.getqf("collect_count")+1 
                pc
.setqf("collect_count",index)
                
say("Seon-Pyeong:")
                
say("Perfekt! Das Item ist in Ordnung")
                
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
                
say("Bring mir die restlichen!")
                
say("")
                return
                
end
            say
("Seon-Pyeong:")
            
say("Yuhu! Du hast mir")
            
say("alles gebracht!")
            
say("Dafür werde ich dich wie versprochen belohnen!")
            
wait()
            
say("Welche Belohnung möchtest du?")
            
local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert")
            
            if 
s == 3 then
                say_reward
("Du erhälst 60 Angriffswert.")
                
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
            
end
            
if s == 2 then
                say_reward
("Du erhälst 140 Verteidigung.")
                
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
            
end
            
if s == 1 then
                say_reward
("Du erhälst 1100 TP.")
                
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
            
end
            
            clear_letter
()


            return
        
end    
    end
end 
fehler:vpc sagt nix aber ingame startet sie nicht

quest2:
PHP Code:
quest love_event begin 
    state start begin 
        when 71146.
use begin 
            local zeit 
= 60*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 warten bis du die Truhe öffnen kannst.")
                return
            
end
            pc
.setqf("open",pc.getqf("open")+1)
            
pc.setqf("truhewarten", get_time() + zeit)
            
local r=number(1, 12) 
            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 
fehler:vpc sagt nix aber ich kann sie nicht öffnen nichtmal nach 30 minuten.
08/13/2012 19:54 xXKimariXx#6559
Guck mal ob das klappt:

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 warten bis du die Truhe öffnen kannst.") 
                return 
            
end 
            pc
.setqf("open", pc.getqf("open")+1) 
            
pc.setqf("truhewarten", get_time() + zeit) 
            
local box = { 71107, 25100, 71084,
                          
71085, 71109, 70038,
                          
100000, 50000, 30000,
                          
20000, 10000    }
                
            
local r = (1, table.getn(box))
            if 
r <= 6 then
                pc
.give_item2(box[r], 1)
            else 
                
pc.chance_gold(box[r])
            
end  
            chat
("Du hast die Truhe schon "..pc.getqf("open").." von 10 mal geöffnet!") 
        
end  
    end  
end 
08/13/2012 20:05 .Seriously#6560
vpc fehler:
08/13/2012 22:32 xXGames4EverXx#6561
[QUOTE=Retrograd;18197907]@xXGames4EverXx: du hast 2 end vergessen
PHP Code:
  quest mondi_drop begin    
    state start begin
        when kill with game
.get_event_flag("mondi_drop") == 1 and not npc.is_pc() begin
            local s
=number(1, 200)
            if 
5 == s then
                game
.drop_item(50011,1)
            
end
        end
    end  
end 
Vielen dank :))
08/14/2012 02:30 .iDamage#6562
#deleted
08/14/2012 16:29 RedKing2#6563
PHP Code:
when kill with game.get_event_flag("event_started") == 1 begin
            
if game.get_event_flag("dropevent_art") == 1 then
                
if kill_in_my_level == true then            
                    local abc 
= math.random(10, game.get_event_flag("dropevent_math"))
                    if 
abc == 20 then
                                
                        game
.drop_item_with_ownership(game.get_event_flag("dropevent_vnum"), 1)
                    
end
                end
            
elseif game.get_event_flag("dropevent_art") == 2 then
                
if kill_in_my_level == true then            
                    
if pc.getqf("dropeventkillcount") >= game.get_event_flag("dropevent_math") then
                                    
                        game
.drop_item_with_ownership(game.get_event_flag("dropevent_vnum"), 1)
                        
pc.setqf("dropeventkillcount", 0)
                                
                    else
                                    
                        
local eventcounter = pc.getqf("dropeventkillcount")+1
                        pc
.setqf("dropeventkillcount", eventcounter)
                    
end
                end
            end
end 
Das ist ein teil einer größeren Quest. Alles hatte funktioniert, aber ich möchte nicht das man von den Drop mit Lv99 auch von einem Wildhund bekommt. Hab es so eingeschrieben, wird auch nicht als fehler angezeigt , doch es passiert trotzdem nichts. Hab getestet ob es am Befehl liegt, aber der geht, wenn es "false" (war vorher noch etwas anders). Ignoriert bitte die "game.flags" . Bitte , möchte unbedingt das die anständig arbeitet....
end
08/15/2012 00:18 *~.ιηνιη¢ιвℓє.~*#6564
#deleted
08/15/2012 00:26 .NighT™#6565
Quote:
Originally Posted by *~.ιηνιη¢ιвℓє.~* View Post
HTML Code:
quest lebenshelm begin
    state start begin
        when levelup begin
            if pc.get_level() == 95 then
                say("Du hast Level 95 erreichst, nun wirst du")
                say("Belohnt, hier ein Lebenhelm 95")
            pc.give_item = ("910091, 1")
			end
            end
        end
    end
Das ist meine quest , undzwar wenn man Lv95 wird , öffnet sich halt ein Fenster wo steht Du hast Level 95 erreicht, nun wirst du Belohnt , hier ein Lebenshelm ab dem Level 95.Und man bekommt , das Item gar nicht o.O

wäre nett wenn mir einer hilft :D
PHP Code:
quest lebenshelm begin
    state start begin
        when levelup with pc
.get_level() == 95 begin
            say
("Du hast Level 95 erreichst, nun wirst du")
            
say("Belohnt, hier ein Lebenhelm 95")
            
pc.give_item2(910091, 1)
        
end
    end
end 
08/15/2012 00:33 *~.ιηνιη¢ιвℓє.~*#6566
danke , mein engel :* :D
08/15/2012 01:11 *~.ιηνιη¢ιвℓє.~*#6567
#deleted
08/15/2012 01:47 Apocalyptum#6568
Quote:
Originally Posted by *~.ιηνιη¢ιвℓє.~* View Post
HTML Code:
quest lebenshelm begin 
    state start begin 
        when levelup with pc.get_level() == 200 begin 
            say("WINNER!")
			say("Du hast Level 200 erreichst, nun wirst du") 
            say("Mit wert vollen dingen Belohnt.") 
            pc.give_item2(99005, 7)
			pc.give_gold(500000000)
        end 
    end 
end
Code:
quest lebenshelm begin 
    state start begin 
        when levelup with pc.get_level() == 200 begin 
            say("WINNER!")
	    say("Du hast Level 200 erreichst, nun wirst du") 
            say("Mit wert vollen dingen Belohnt.") 
            pc.give_item2(99005, 7)
	    pc.give_gold(500000000)
        end 
    end 
end
08/15/2012 04:10 .NighT™#6569
Quote:
Originally Posted by Apocalyptum View Post
Code:
quest lebenshelm begin 
    state start begin 
        when levelup with pc.get_level() == 200 begin 
            say("WINNER!")
	    say("Du hast Level 200 erreichst, nun wirst du") 
            say("Mit wert vollen dingen Belohnt.") 
            pc.give_item2(99005, 7)
	    pc.give_gold(500000000)
        end 
    end 
end
Fast, es heißt nicht "pc.give_gold" sondern "pc.change_gold"
Also so:
PHP Code:
quest lebenshelm begin 
    state start begin 
        when levelup with pc
.get_level() == 200 begin 
            say
("WINNER!")
        
say("Du hast Level 200 erreichst, nun wirst du") 
            
say("Mit wert vollen dingen Belohnt.") 
            
pc.give_item2(99005, 7)
        
pc.change_gold(500000000)
        
end 
    end 
end 
08/15/2012 05:42 viktor080#6570
in der konsole steht:
PHP Code:
[string "startpc . get_level () == 125"]:2: ')' expected near '"
Herzlichen Glückwunsch!"'
level125.quest:9:Abort trap (core dumped) 
die quest ist
PHP Code:
quest level125 begin  
    state start begin  
        when levelup with pc
.get_level() == 125 begin  
                command
("n ".. pc.get_name() .." Hat soeben Level 125 erreicht!")  
                
command("n ""Herzlichen Glückwunsch!")
            
pc.give_item2(40082, 10) 
            
pc.give_item2(40083, 10) 
        
pc.change_gold(250000000) 
        
end  
    end  
end 
weis ehrlich nicht wo der fehler sein könnte und die konsole hilft mir leider auch nicht

Mfg Viktor