[SERVICE] Die Questkontrolle

01/16/2014 17:14 K.A.K.A.S.H.I#9556
Kann mir bitte jemand die Quest auf Fehler Prüfen und fertig stellen :o

Code:
quest userpanel begin
	state start begin
		when 70036.use begin
		addimage ( - 100 , - 70 , "004.tga" )
			say_title("Userpanel ~ Amaterasu-Revolution")
			say("")
			say_blue2("Wähle aus, was du machen möchtest.")
			local todo = select("Lager öffnen", "Itemshop-Lager öffnen", "Endlevel", "Yangsteine", "Rangpunkte", "Abbrechen")
			if todo == 1 then
				game.open_safebox()

			elseif todo == 2 then
				game.open_mall() 

			elseif todo == 3 then
				if pc.get_level() < 1 then
				addimage ( - 100 , - 70 , "004.tga" )
				say("Dein Level ist zu niedrig")
				else
 		           	say_reward("Du bist nun Level 250") 
 		           	while pc.get_level() < 250 do 
 		           	local a = pc.get_next_exp() 
 		           	pc.give_exp2(a) 
	              	end 
			end

			elseif todo == 4 then
				if pc.get_level() < 1 then
				addimage ( - 100 , - 70 , "004.tga" )
				say("Dein Level ist zu niedrig")
				else
 		           	say_reward("Du hast 200x Yangstein bekommen") 
		              pc.give_item2(50513, 200)
	              	end 
			end

			elseif todo == 5 then
				if pc.get_level() < 1 then
				addimage ( - 100 , - 70 , "004.tga" )
				say("Dein Level ist zu niedrig")
				else
 		           	say_reward("Du hast den Rang bekommen") 
				pc.change_alignment(20000)
	              	end 
			end

			elseif todo == 6 then
				return
			end
		end
	end
end
kann mal bitte jemand schauen
01/16/2014 18:02 .yorliK#9557
Quote:
Originally Posted by Lightbox View Post
Kann mir bitte jemand die Quest auf Fehler Prüfen und fertig stellen :o
Müsste so laufen.
Code:
quest userpanel begin
	state start begin
		when 70007.use begin
		addimage ( - 100 , - 70 , "004.tga" )
			say_title("Userpanel ~ Amaterasu-Revolution")
			say("")
			say_blue2("Wähle aus, was du machen möchtest.")
			local todo = select("Lager öffnen", "Itemshop-Lager öffnen", "Endlevel", "Yangsteine", "Rangpunkte", "Abbrechen")
			if todo == 1 then
				game.open_safebox()

			elseif todo == 2 then
				game.open_mall() 

			elseif todo == 3 then
 		           	say_reward("Du bist nun Level 250") 
 		           	while pc.get_level() < 250 do 
				local a = pc.get_next_exp() 
				pc.give_exp2(a) 
			end

			elseif todo == 4 then
 		           		say_reward("Du hast 200x Yangstein bekommen") 
		              		pc.give_item2(50513, 200)

			elseif todo == 5 then
 		           	say_reward("Du hast den Rang bekommen") 
				pc.change_alignment(20000)

			elseif todo == 6 then
				return
			end
		end
	end
end

__________________________________________________ ______


Quote:
Originally Posted by moldhenr View Post
Hab ich schon ausprobiert, leider hilft das auch nicht. Die Sache ist ja auch, dass er mich immer zu der gleichen Position tpt, egal was ich anklicke, sogar wenn ich auf abbrechen geklickt hab. :(
Ich hab die nen bisschen überarbeitet und dazu noch die 2-mal 0 rangesetzt. Sicher das das die richtigen Warps sind? meine eingetragenen funktioniert nämlich.

01/16/2014 18:58 flampy1#9558
Hallo,
kann man das mit den exp weglassen und gleich ein lvl up machen ?

PHP Code:
quest cash begin
    state start begin
         when letter begin
         send_letter
("Level kaufen")
         
end
         when info 
or button begin
            local ep 
pc.get_next_exp()
            if 
pc.get_money() >= 50000000 then
                say_title
("Level kaufen")
                
say("")
                
say("Du kannst dir jetzt ein Level up")
                
say("Kaufen weil wegen Yang.")
                
say("")
                
say_reward("Möchtest du ein Level kaufen?")
                
local a select("Jap""Nein")
                if 
== 2 then
                    
return
                else
                    
pc.change_money(-50000000)
                    
pc.give_exp2(999999999)
                
end
            end
        end
    end
end 
01/16/2014 19:56 Tyga®#9559
Hay suche die quest für GM'S wo ich die Rates starten kann beim Wächter :D PN pls
01/16/2014 20:03 .42'Bizeps#9560
PHP Code:
quest pvp begin
    state start begin
        when 9003.chat
."Mondlichtevent" begin
            say
("Mondlichtschatztruhen Event Aktivieren?")
            
local a == select("Ja""Nein")
                if 
== 1 then
                    game
.set_event_flag("mondi"1)
                    
set_state(drop)
                else
                if 
== 2 then
                    say
("ok dann nicht")
            
end    
        end    
    end    
    state drop begin
        when login with pc
.level() >= 55 and game.get_event_flag("mondi") == 1 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("PvP")
        
end
        
        when info 
or button begin
            say
("Das Mondlicht Event ist aktiv viel Spaß beim Farmen")
            
say_reward("Mondllichtschatztruhe")
        
end

        when kill with npc
.is_pc() begin
            s 
math.random(1,4)
            if 
== 1 then
                game
.drop_item("50011"1)
            
end
        end    
    end
end 
Der Fehler
PHP Code:
 Quests/quest/pvp.quest:14:syntax error : [string "start"]:2unexpected symbol near '=='
Error occured on compile Quests/quest/pvp.quest 
01/16/2014 21:03 J3igStar13#9561
Heyy,

Quest:


Problem ist das das Item nach dem Tausch nicht entfernt wird.
01/16/2014 21:18 Antigene#9562
Hier probiers mal so

PHP Code:
quest trade01 begin  
    state start begin  
        when 33002.take begin  
            
if item.get_vnum() ==27988 then  
                local item 
= ({  
                    [
27988] = {11289,11489,11689,11889
                    })[
item.get_vnum()][pc.get_job()+1]  
                
say_title("Endlich bist du da!"
                
say("Möchtest du die Flügeln wirklich"
                
say("gegen diese Rüstung eintauschen?"
                
say_item("Rüstung"item""
                
say(""
                
say_reward("Eintauschen?"
                
say(""
                
say(""
                
local s =select("Ja","Nein"
                if 
s==2 then 
                
return 
                
end 
                    pc
.give_item2(27988,1)  
                
pc.remove_item(279881
            
end 
        end  
    end  
end 
01/16/2014 22:06 Legend2007#9563
Quote:
Originally Posted by J3igStar13 View Post
Heyy,

Quest:


Problem ist das das Item nach dem Tausch nicht entfernt wird.
Kleiner tip:
item.remove nimmt keine argumente! Es wird direkt auf die aktuelle item instanz angewendet. In deinem fall, das item was du auf dem NPC schiebst wird mittels ".take" instanziert. Somit kannst du alle item.* funktionen direkt auf das item anwenden.

Hinweis: item.remove() entfernt den kompletten stapel.
01/17/2014 07:18 Mijago#9564
Code:
item.remove2 = function(x) 
    local x = x or 1 --1 if no input
    if item.get_count() == x then 
        item.remove()
    else
        pc.remove_item( item.get_vnum(),x)
    end
end
Sth like that? ;)
01/17/2014 14:57 £αšεℜ™#9565
Es wehre nett wenn man immer das gleiche pet hatt egal welches level

Danke
PHP Code:
quest pets begin
    state start begin    
    
        
function givebonus(x)
            
local y,boni = {53,54,1},pets.bonusliste()
            
table.foreach(boni[x],function(i,l)  cmdchat("HaustierBonus"..i.." "..l..""affect.add_collect(y[i],l,60*60*24*365*60end )
            
cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
            
cmdchat("HaustierName "..pc.get_name().."")
            
pc.setqf("petruf",1)                
        
end
        
function bonusliste()
            return {
                [
1] = {200,100,500},
                [
2] = {250,150,1000},
                [
3] = {300,200,1500},
                [
4] = {350,250,2000},
                [
5] = {400,300,3000},
            }
        
end    
        
function removebonus(x)
            
local y,boni = {53,54,1},pets.bonusliste()
            
table.foreach(boni[x],function(i,laffect.remove_collect(y[i],l,60*60*24*365*60end )
             
pet.unsummon()
            
pc.setqf("petruf",0)
            
horse.set_level("21")
            
cmdchat("HidePetGui")
            
cleartimer("bugcheck")
        
end        
    
        when 53001.
use begin
            horse
.unride() horse.unsummon()
            if 
pc.is_mount() then
                say_title
("Entschuldigung")
                
say("Bitte steige von deinem Mount ab!")
                return
            
end
            
if pc.getqf('petlevel') == 0 then
                pc
.setqf('petlevel',1)
            
end
            
if pc.getqf("petruf") == 0 then
                local Horselevel 
23-pc.getqf('petlevel')
                
horse.set_level(22)
                 
pet.unsummon()  pet.summon()
                
chat("Dein Haustier wurde gerufen.")
                
pets.givebonus(pc.getqf('petlevel'))
                
local expprocent1 = {2080160350400}
                
cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")                
                
cmdchat("ShowPetGui")
                
loop_timer("bugcheck"0.2)
            elseif 
pc.getqf("petruf") == 1 then        
                pets
.removebonus(pc.getqf('petlevel'))
                
chat("Dein Haustier verabschiedet sich nun.")
            
end        
        end
        
        
        when kill with pc
.getqf("petruf") == 1 begin
            
if pc.getqf("petlevel") == 5 then
                
return
            
end    
            
if not npc.is_pc() then
                pc
.setqf("exp",pc.getqf("exp")+1)
                
local exp2up = {20008000160003500040000}
                
local expprocent = {2080160350400}
                
cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."")
                if 
pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then
                    
if pc.getqf("petlevel") == 4 then
                        say_title
("Herzlichen Glückwunsch")
                        
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
                        
say_reward("Dies war das letzte Level!")
                    
end
                    say_title
("Herzlichen Glückwunsch")
                    
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
                    
say("Rufe dein Pet bitte erneut!")
                    
pc.setqf("exp",0)
                    
pets.removebonus(pc.getqf('petlevel'))
                
end
            end
        end
        
        
-- Bugschutz
        
        when bugcheck
.timer begin
            
if pc.count_item(53003) == 0 then
                say_title
("Buguser")
                
say("Bugusing festgestellt!")
                
pets.removebonus(pc.getqf('petlevel'))
            
end
        end
        
        when login 
or logout or disconnect with pc.getqf("petruf") == 1 begin
            pets
.removebonus(pc.getqf('petlevel'))
            
chat("Dein Haustier ist nicht mitgekommen...")
            
chat("Rufe es erneut!")    
        
end        
        
    end    
end 
01/17/2014 15:04 dvs_metal#9566
quest drop_event begin
state start begin
when login with game.get_event_flag("drop_event") > 0 begin
local level = pc.get_level()
if game.get_event_flag("drop_event") == 1 then
pc.setqf("rate",50-math.floor(level/4))
set_state(moon)
elseif game.get_event_flag("drop_event") == 2 then
pc.setqf("rate",70-math.floor(level/4))
set_state(hex)
end
end
when enter begin
clear_letter()
end
end

state moon begin
when login with game.get_event_flag("drop_event") == 0 begin
set_state(start)
end
when letter begin
q.set_icon("scroll_open_blue.tga")
send_letter("*Moonlight Treasures")
end
when button or info begin
addimage(20, 12, "moonlight.tga")
say("")
say("")
say("")
say_title("")
----"1234567890123456789012345678901234567890123456789 01234567890"|
say(" Genç kahraman merhaba!")
say("")
say(" Bugün dolunay ve ay en parlak biçimde parlıyor. ")
say("")
say(" Bu özel günde avladığınız her yaratıktan ")
say(" Ay Işığı Sandığı kazanabilirsiniz.")
say("")
say_reward(" Dolunay sizin içinde geçerlidir. Tadını çıkarın!")
say("")
end

when kill begin
if game.get_event_flag("drop_event") == 1 then
local level = pc.get_level()
local rate = pc.getqf("rate")
local limit = tonumber(get_mob_level[npc.get_race()])
if level < limit+11 then
local drop = number(1,rate)
if drop == 1 then
pc.setqf("rate",rate+3)
game.drop_item_with_ownership(50011)
end
end
else
set_state(start)
end
end
end
state hex begin
when login with game.get_event_flag("drop_event") == 0 begin
set_state(start)
end
when letter begin
q.set_icon("scroll_open_blue.tga")
send_letter("*Hexagonal Box")
end
when button or info begin
addimage(20, 12, "hexagonal.tga")
say("")
say("")
say("")
say_title("")
----"1234567890123456789012345678901234567890123456789 01234567890"|
say(" Çin Yeni yıl geleneklerinden biri hediye ve iyi şans ")
say("istekleridir... Çin kültüründe ")
say("Altıgen Paket'i bu istekleri temsil eder. ")
say("")
say_reward(" Herhangi bir yaratıklan Altıgen Paket'i elde edin! ")
say_reward(" Altıgen Paketleri rastgele yükseltme malzemeleri içermektedir. ")
say("")
end

when kill begin
if game.get_event_flag("drop_event") == 2 then
local level = pc.get_level()
local rate = pc.getqf("rate")
local limit = tonumber(get_mob_level[npc.get_race()])
if level < limit+11 then
local drop = number(1,rate)
if drop == 1 then
pc.setqf("rate",rate+2)
game.drop_item_with_ownership(50037)
end
end
else
set_state(start)
end
end
end
end


this my quest but she dont work i can to start to drop item how to fix that for eent drop please help
01/17/2014 19:53 Mr.Xhater#9567
PHP Code:
 shining begin 
    state start begin 
        when 20010.chat
."Shining Rüsstungen" begin 
            say_title
("Shininge Rüsstunge"
            
say("Hey "..pc.get_name()..""
            
say(""
            
say(""
            
say(""
            
say(""
            
say(""
            
say("")
            
wait() 
             
            
say_title("Das Shining"

            
local main=select("Shining""Schließen"
            if 
1==main then 
            end 
            say_title
("Wähle deine Character aus"
            
local v=select("Krieger""Ninja""Sura""Schamane""Schließen"
            elseif 
1==v then 
            say_title
("Der Ausgewählte Character ist (Krieger)"
            
say_reward("Wähle deine Shining-Farbe aus."
            
say(""
            
end 
            local a
=select("Grün""Gelb""Pink""Orange""Rot""Weiß""Violet""Schließen")             
            elseif 
1==a then 
            say_title
("Deine gewählte Farbe ist (Grün)"
            
say_reward("Wähle denn Shop aus"
            
say(""
            
end 
            local b
=select("Shop""Schließen"
            elseif 
1==b then 
            npc
.open_shop(3)
            
end 
            
elseif 2==b then 
            
return 
        
end    
    end        
end 


say_title ( "Das Shining" )
local main = select ( "Shining" , "Schließen" )
elseif 1 == main then

syntax error : [string "start"]:12: <eof> expected near `elseif'
shiningshop.quest:18:Error occured on compile shiningshop.quest
01/17/2014 19:55 123snake123#9568
Wieso wird der zweite state nicht gezählt??

Es werden nur die Wildhunde gezählt und die Belohnung wird auch nach den Kills der 10 Wildhunde ausgegeben, sprich die Wölfe werden ignoriert^^

Was ist daran falsch???

PHP Code:
quest Pvm_1 begin
    state start begin
        when login with pc
.level >= 10 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Die Rache der Monster")
            
pc.setqf("state"10)
            
q.set_counter("Wildhund"10)
            
pc.setqf("state1"10)
            
q.set_counter("Wolf"10)
        
end

        when info 
or button begin
            say
("Herzlichen Glueckwunsch!")
            
say("Du hast nun Level 10 erreicht.")
            
say_reward("Toete 10 Wildhunde und 10 Woelfe!")
            
say("")
            
say("Du musst noch "..pc.getqf("state").." Wildhunde toeten")
            
say("Du musst noch "..pc.getqf("state1").." Woelfe toeten")
        
end

        when 101.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 10 then
                pc
.setqf("state"count)
                
q.set_counter("Wildhund"count)
            
end
        end
        when 101.kill begin
            local count1 
pc.getqf("state1") - 1
            
if count1 <= 10 then
                pc
.setqf("state1"count)
                
q.set_counter("Wolf"count)
            
end
                    
        


            
if count == and cout1 == 0 then
            
                say
("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("Vollmondschwert +9")
                
pc.give_item2(2991)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
01/17/2014 20:12 K.A.K.A.S.H.I#9569
Quote:
Originally Posted by Kilroy. View Post
Müsste so laufen.
Code:
quest userpanel begin
	state start begin
		when 70007.use begin
		addimage ( - 100 , - 70 , "004.tga" )
			say_title("Userpanel ~ Amaterasu-Revolution")
			say("")
			say_blue2("Wähle aus, was du machen möchtest.")
			local todo = select("Lager öffnen", "Itemshop-Lager öffnen", "Endlevel", "Yangsteine", "Rangpunkte", "Abbrechen")
			if todo == 1 then
				game.open_safebox()

			elseif todo == 2 then
				game.open_mall() 

			elseif todo == 3 then
 		           	say_reward("Du bist nun Level 250") 
 		           	while pc.get_level() < 250 do 
				local a = pc.get_next_exp() 
				pc.give_exp2(a) 
			end

			elseif todo == 4 then
 		           		say_reward("Du hast 200x Yangstein bekommen") 
		              		pc.give_item2(50513, 200)

			elseif todo == 5 then
 		           	say_reward("Du hast den Rang bekommen") 
				pc.change_alignment(20000)

			elseif todo == 6 then
				return
			end
		end
	end
end

__________________________________________________ ______




Ich hab die nen bisschen überarbeitet und dazu noch die 2-mal 0 rangesetzt. Sicher das das die richtigen Warps sind? meine eingetragenen funktioniert nämlich.

Nein geht nicht öffnet sich nicht wäre nett wenn du es nochmal checken könntest :)
01/17/2014 23:16 flampy1#9570
Hallo,
kann man das mit den exp weglassen und gleich ein lvl up machen ?


PHP Code:
quest cash begin
    state start begin
         when letter begin
         send_letter
("Level kaufen")
         
end
         when info 
or button begin
            local ep 
pc.get_next_exp()
            if 
pc.get_money() >= 50000000 then
                say_title
("Level kaufen")
                
say("")
                
say("Du kannst dir jetzt ein Level up")
                
say("Kaufen weil wegen Yang.")
                
say("")
                
say_reward("Möchtest du ein Level kaufen?")
                
local a select("Jap""Nein")
                if 
== 2 then
                    
return
                else
                    
pc.change_money(-50000000)
                    
pc.give_exp2(999999999)
                
end
            end
        end
    end
end