[SERVICE] Die Questkontrolle

02/18/2013 22:02 React™#7636
Hey kann mir einer helfen bei dieser quest bekomme ich kein kill gut geschrieben :D
Sie funz auhc und so aber wenn ich den metin kille bekomme ich es nicht :DD

PHP Code:
quest pferdlevel19 begin
    state start begin
        when login begin
            set_state
(information)
        
end
    end
    
    state information begin
        when letter begin
            send_letter
("Pferd auf Level 19 leveln!")
        
end

        when info 
or button begin
        say_title
("Pferde leveln")
        
say("Hey "..pc.get_name().."!")
        
say("Wenn du dein pferd auf level 19 leveln willst musst du  ")
        
say("")
        
say("1 x Metin des Mordes töten!!!")
        
say("")
        
say("")
        
say("Willst du die Aufgabe annhemen?")
        
say("Bedenke wenn du Nein drückst kannst du dein pfer nicht mehr leveln!!!!!!")
        
local s select("Ja","Nein keine Zeit")
        if 
== 2 then
                    say
("Hmm Gelitten:D")
                    
clear_letter()
                    
set_state (aufgeben)
        else
            
say("Okay los gehts!")
            
say_reward("Töte 1 x Metin des Mordes")
            
pc.setqf("state1"0)
            
q.set_counter("Metin des Mordes"1)
            
set_state(kill)
            
end
        end
    end
    
    state kill begin
        when letter begin
            send_letter
("Pferd auf Level 19 Leveln!")
        
end
    
        when info 
or button begin
            say_title
("Pferd leveln!")
            
say("Staus:")
            
say_reward("Du hast schon "..pc.getqf("state1").." von 1 x Metin des Mordes getötet")
        
end
        
        when 8019.kill begin
            local count1 
pc.getqf("state1") + 1
            
if count1 <= 1 then
                pc
.setqf("state1"count1)
                
q.set_counter("Metin des Mordes"count1)
            
end
            
if count1 == 1 then
            set_state
(fertig)
            
end
        end
    end
            
    state fertig begin
        when letter begin
            send_letter
("Aufgabe abgeschlossen!")
        
end
        
        when info 
or button begin
            say_title
("Aufgabe abgeschlossen!")
            
say("Du hast es geschaft")
            
say("Ich dachte schon du schafst es nicht^^")
            
say("Du bist wirklich Gut.Dein Pferd wird auf level 19 gelevelt!")
            
            
wait()
            
   
        
end
    end

    state aufgeben begin
    end
    
    state ende begin
    end
end 
Ende Fehlt mir absicht^^
02/19/2013 14:04 MetinLegende#7637
Code:
quest pferdlevel19 begin
    state start begin
        when login begin
            set_state(information)
        end
    end
    
    state information begin
        when letter begin
            send_letter("Pferd auf Level 19 leveln!")
        end

        when info or button begin
        say_title("Pferde leveln")
        say("Hey "..pc.get_name().."!")
        say("Wenn du dein pferd auf level 19 leveln willst musst du  ")
        say("")
        say("1 x Metin des Mordes töten!!!")
        say("")
        say("")
        say("Willst du die Aufgabe annhemen?")
        say("Bedenke wenn du Nein drückst kannst du dein pfer nicht mehr leveln!!!!!!")
        local s = select("Ja","Nein keine Zeit")
        if s == 2 then
                    say("Hmm Gelitten:D")
                    clear_letter()
                    set_state (aufgeben)
        else
            say("Okay los gehts!")
            say_reward("Töte 1 x Metin des Mordes")
            pc.setqf("state1", 0)
            q.set_counter("Metin des Mordes", 1)
            set_state(kill)
            end
        end
    end
    
    state kill begin
        when letter begin
            send_letter("Pferd auf Level 19 Leveln!")
        end
    
        when info or button begin
            say_title("Pferd leveln!")
            say("Staus:")
            say_reward("Du hast schon "..pc.getqf("state1").." von 1 x Metin des Mordes getötet")
        end
        
        when 8019.kill begin
           pc.setqf("state1", 1)
               if pc.getqf("state1") != 0 
                   set_state(fertig)
               end
        end
    end
            
    state fertig begin
        when letter begin
            send_letter("Aufgabe abgeschlossen!")
        end
        
        when info or button begin
            say_title("Aufgabe abgeschlossen!")
            say("Du hast es geschaft")
            say("Ich dachte schon du schafst es nicht^^")
            say("Du bist wirklich Gut.Dein Pferd wird auf level 19 gelevelt!")
            
            wait()
            
   
        end
    end

    state aufgeben begin
    end
    
    state ende begin
    end
end
versucs mal so aber bin nicht sicher lange eigentlich nichtmehr aktiv
02/19/2013 14:46 React™#7638
Bei deiner quest kommt ein Fehler bei meiner vorigen nihct^^ aber bei meiner bekamm ich keine kills!

Hier die Fehler meldung!


[Only registered and activated users can see links. Click Here To Register...]
02/19/2013 17:06 FusionPT#7639
Hi guys, i'm trying to find a way to show the players the remaining time of a bonus when they log in into the server. I have an item that gives a bonus for 30 days, here is the duration flag:

Code:
affect.add_collect(apply.EXP_DOUBLE_BONUS,65,60*60*24*30)
affect.add_collect(apply.GOLD_DOUBLE_BONUS,50,60*60*24*30)
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10,60*60*24*30)
affect.add_collect(apply.MOV_SPEED,10,60*60*24*30)
pc.setqf("duration", get_time()+60*60*24*30)
And what I want is that when the player logs into the server and the bonus is still active I want some text to appear in the player chat box saying the remaining time, this is what I currently have:

Code:
	when login with pc.getqf("vip") == 1 begin
		if get_time() > pc.getqf("duration") then
			chat("Bonus expired.")
		else
			chat("Bonus - Remaining Time:" . . "days or hours left")
		end
	end
Thanks everyone,
ExyloN
02/19/2013 22:29 HeroOfMetin#7640
wie macht man bei diesem quest conter block

Code:
quest Wildhunde begin
	state start begin
		when login with pc.get_level() >= 1 begin
			set_state( killmonster )
		end
	end
	state killmonster begin
		when letter begin
			send_letter("Töte Wildhunde!")
			pc.setqf("state", 0)
			q.set_counter("Verbleibend",5)
		end
		when info or button begin
			say_title("Töte 5 Wildhunde!")
			say_reward( "Es fehlen noch ".." "..5 - pc.getqf("state").." Wildhunde .")
			say("")
		end
		when 101.kill begin
			local count = pc.getqf("state") + 1

			if count <= 5 then
				pc.setqf("state", count)
				q.set_counter("Verbleibend", 5 - count)

				if count == 5 then
					say_title("Aufgabe abgeschlossen!")
					say("Alle 5 Wildhunde wurden vernichtet!")
					say("Erhalte deine Belohnung:")
					say_reward("200x Tapferkeitsumhang")
					pc.give_item2(70038,200)
					set_state( __COMPLETE__ )
				end
			end
		end
	end
	state __COMPLETE__ begin
	end
end
02/19/2013 23:35 iSouli~#7641
Quote:
Originally Posted by 8234882348 View Post
Warum bekomme ich bei dieser Quest Ingame nicht die Attribute und Items?

PHP Code:
quest lvl_nachricht begin
    state start begin
        when levelup begin
            
if pc.get_level() == 35 then
                notice_all
("".. pc.get_name() .." hat gerade")
                
notice_all("Level 35 erreicht!")
                
notice_all("Er/Sie erhaelt 5% stark gegen Monster")
            elseif 
pc.get_level() == 50 then
                notice_all
("".. pc.get_name() .." hat gerade")
                
notice_all("Level 50 erreicht!")
                
notice_all("Er/Sie erhaelt 50 Verteidigungspunkte")
            elseif 
pc.get_level() == 75 then
                notice_all
("".. pc.get_name() .." hat gerade")
                
notice_all("Level 75 erreicht!")
                
notice_all("Er/Sie erhaelt 50 Angriffspunkte")
            elseif 
pc.get_level() == 90 then
                notice_all
("".. pc.get_name() .." hat gerade")
                
notice_all("Level 90 erreicht!")
                
notice_all("Glueckwunsch!")
                
notice_all("Gratuliert ihm!")
                
notice_all("Fuer seine/ihre harte Arbeit hat")
                
notice_all("Er/Sie Permanent 1500tp bekommen!!")
            
local klasse pc.get_job
            
if klasse == 0 then
                affect
.add_collect(apply.ATTBONUS_MONSTER2060*60*24*7)
                
pc.give_item250134 ,15 )
            elseif 
klasse == 1 then
                affect
.add_collect(POINT_DEF_BONUS5060*60*24*7)
                
pc.give_item250134 ,25 )
            elseif 
klasse == 2 then
                affect
.add_collect(POINT_ATT_BONUS5060*60*24*365*60)
                
pc.give_item270005 ,)
            elseif 
klasse == 3 then
                affect
.add_collect(apply.MAX_HP150060*60*24*365*60)
                
pc.give_item271123 ,)
                
pc.give_item271129 ,)
            
end
            end
        end
    end 
end 
PHP Code:
quest lvl_nachricht begin 
    state start begin 
        when levelup begin 
            local belohnung 

            {
                [
0] = {apply.ATTBONUS_MONSTER2060*60*24*7},
                [
1] = {POINT_DEF_BONUS5060*60*24*7},
                [
2] = {POINT_ATT_BONUS5060*60*24*365*60},
                [
3] = {apply.MAX_HP150060*60*24*365*60},
                [
35] = {"Er/Sie erhaelt 5% stark gegen Monster"},
                [
50] = {"Er/Sie erhaelt 5% stark gegen Monster"},
                [
75] = {"Er/Sie erhaelt 5% stark gegen Monster"},
                [
90] = {"Er/Sie erhaelt 5% stark gegen Monster"},
            }
            if 
pc.get_level() == 35 or pc.get_level() == 50 or pc.get_level() == 75 or pc.get_level() == 90 then 
                notice_all
(pc.get_name() .." hat gerade"
                
notice_all("Level "..pc.get_level().." erreicht!"
                
notice_all(belohnung[pc.get_level()][1]) 
            
end
            affect
.add_collect(belohnung[pc.get_job()][1], belohnung[pc.get_job()][2], belohnung[pc.get_job()][3]) 
            if 
pc.get_job() == 3 then
                pc
.give_item271123 ,
                
pc.give_item271129 ,)  
            
end 
        end 
    end  
end 
02/20/2013 22:33 ☆RealPain#7642
Moin Leute hab denn Folge Fehler bei dieser QUest (:
Quote:
WHEN : 20001.chat ("Eine neue Technik")
with ( game . get_event_flag ( "energy" ) == 1 or pc . is_gm ( ) == true )
STATE : make
WHEN : 20001.chat ("Energiesplitter extrahieren")
with ( game . get_event_flag ( "energy" ) == 1 or pc . is_gm ( ) == true )
WHEN : 20001.chat ("Energiekristall herstellen")
with ( game . get_event_flag ( "energy" ) == 1 or pc . is_gm ( ) == true )
WHEN : 20001.take
with game . get_event_flag ( "energy" ) == 1 or pc . is_gm ( ) == 1
WHEN : login
WHEN : logout
WHEN : 51002.use
must start with 'quest'
energy_sys.quest:234:Abort trap (core dumped)
Bei dieser QUest
Quote:
quest energy_sys begin
state start begin
when 20001.chat."Eine neue Technik" with (game.get_event_flag("energy") == 1 or pc.is_gm() == true) begin
say_title("Alchemist")
say("Ich habe es geschafft!")
say("Endlich konnte ich eine vollkommen neue Technik")
say("entwickeln.")
say("Ich habe es möglich gemacht, Gegenstände")
say("weiterzuverarbeiten und pure Energie aus ihnen zu")
say("ziehen. Absolut brillant!")
wait()
say_title("Alchemist")
say("Zerstört man einen Gegenstand mithilfe meiner")
say("Technik, erhält man Energiesplitter. Fügt man 30")
say("dieser Splitter zusammen, erhält man einen")
say("machtvollen Energiekristall! Reine, ungefilterte")
say("Energie, gebündelt in einem Edelstein. Diese")
say("Kraft fließt in deine gesamte Ausrüstung.")
say("Hast du Interesse daran?")
wait()
say_title("Alchemist")
say("Bring Ausrüstungsgegenstände wie Waffen, Schmuck")
say("und Kleidung, die du auf deiner")
say("Jagt findest, zu mir. Ich werde sie zu")
say("Energiesplittern verarbeiten.")
say("Zukunft und Hoffnung unseres Reiches liegen in")
say("dieser Technik. Wir werden unbesiegbar!")
set_state("make")
end
end
state make begin
when 20001.chat."Energiesplitter extrahieren" with (game.get_event_flag("energy") == 1 or pc.is_gm() == true) begin
say_title("Alchemist")
say("Hat es funktioniert? Hast du Energiesplitter")
say("bekommen?")
say("Bring mir mehr Gegenstände und ich werde ")
say("sie mithilfe der Alchemie zerbrechen.")
say("Meine Technik ist noch nicht ganz ausgefeilt.")
say("Deswegen kann ich dir nicht garantieren, wie")
say("viele Splitter du erhälst.")
wait()
say_title("Alchemist")
say("Es gibt eine Bedingung: Sowohl dein eigener als")
say("auch der Level des Gegenstandes muss")
say("mindestens 35 sein.")
say("Hm, schauen wir einfach mal...")
wait()
if pc.get_level() < 35 then
say_title("Alchemist")
say("Du bist noch nicht stark genug! Komm wieder,")
say("wenn du mindestens Level 35 erreicht hast.")
else -- NICHT DE
say_title("Alchemist")
say("Ok du bist Stark genug für meine neue")
say("Entdeckung.")
end

end

when 20001.chat."Energiekristall herstellen" with (game.get_event_flag("energy") == 1 or pc.is_gm() == true) begin
say_title("Alchemist")
say("Hast du deine Kraftreserven etwa schon")
say("aufgebraucht? Du solltest nicht so hart arbeiten")
say("und dein Leben leichtsinnig aufs Spiel setzen.")
say("Um einen Energiekristall herzustellen, benötige")
say("ich 30 Energiesplitter.")
wait()
if pc.get_level() < 35 then
say_title("Alchemist")
say("Du bist noch nicht stark genug! Komm wieder,")
say("wenn du mindestens Level 35 erreicht hast.")
else
if pc.count_item(51001) >= 30 then
say_title("Alchemist")
say("Sehr schön du hast alle benötigten 30")
say("Energiesplitter. Daraus kann ich einen")
say("Energiekristall herstellen.")
say("Warte bitte einen Moment. Ich werde es")
say("versuchen, aber ich kann nicht garantieren,")
say("dass es funktioniert.")
wait()
say_title("Alchemist")
say("Alles ist bereit, um die Splitter zu einem")
say("Energiekristall zu verschmelzen.")
say("Doch von irgendwas muss ich leben und")
say("meine Werkzeuge fallen nicht einfach so vom")
say("Himmel. Ich verlange einen kleinen")
say("Unkostenbeitrag von 1000 Yang. Bist du bereit, zu")
say("bezahlen?")
if select("Selbstverständlich!","Nein, jetzt nicht") == 2 then
return
end

pc.change_money(-1000)
pc.remove_item(51001,30)

if number(0,1) == 1 then
say_title("Alchemist")
say("Ich wusste meine Technik ist brilliant!")
say("Hier ist dein Energiekristall.")
say("Ein Prachtexemplar! Spürst du die Kraft?")
pc.give_item2(51002,1)
else -- NICHT DE
say_title("Alchemist")
say("Leider hat es nicht geklappt")
say("einen Energiekristall herzustellen!")
return
end

else -- NICHT DE
say_title("Alchemist")
say("Du hast leider nicht alle benötigten 30")
say("Energiesplitter. Daraus kann ich nichts")
say("herstellen.")
return
end

end
end

when 20001.take with game.get_event_flag("energy") == 1 or pc.is_gm() == 1 begin
if pc.get_level() < 35 then
say_title("Alchemist")
say("Du bist noch nicht stark genug, um die Kraft, die")
say("den Energiesplittern innewohnt, zu beherrschen.")
say("Komm wieder wenn du mindestens Level 35")
say("erreicht hast.")
return
end

if item.get_type() == 1 or item.get_type() == 2 then

-- 2070 - 2239
-- 80 - 369
-- 1040 - 1189
-- 3070 - 3249
-- 5040 - 5359
-- 4030 - 4069
-- 7070 - 7219
-- 11250 - 11299
-- 11450 - 11499
-- 11650 - 11699
-- 11850 - 11899
-- 12240 - 12699

local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
test_chat(maxlvl[1][1])
if tonumber(maxlvl[1][1]) < 35 then
-- NICHT DE
say_title("Alchemist")
say("Dieses Item ist nicht geeignet!")
return
end

say_title("Alchemist")
say(string.trim(item.get_name()))
say("Soll ich diesen Gegenstand zerstören?")
if select("Ja!","Nein, noch nicht!") == 2 then
return
else
local anzahl = number(0,15)
if anzahl > 0 then
say_title("Alchemist")
say("Sagenhaft! Ich konnte "..anzahl.." Energiesplitter finden.")
say("Bitte sehr.")
pc.give_item2(51001, anzahl)
else
say_title("Alchemist")
say("Ich habe versagt - leider konnte ich keinen")
say("Energiesplitter extrahieren. Vielleicht klappt es")
say("beim nächsten Versuch.")
return
end
item.remove()
end

else -- NICHT DE
say_title("Alchemist")
say("Dieses Item ist nicht geeignet!")
end
end

when login begin
if getenergytime() < 50000 then
test_chat("[Energy]Restzeit: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..get energytime())
end
end
when logout begin
if getenergytime() > get_time() then
local energy = getenergytime() - get_time()
if energy > 0 then
setenergytime(energy)
end
end
end

when 51002.use begin
if getenergytime() > get_time() then
chat("Du benutzst schon die Energie eines Energiekristalls!")
return
end

local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}

test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])

affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)

cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Du spürst die Energie des Kristalls, die sich auf deinen Körper überträgt..")

end
end
end
Bitte um hilfe Danke (:
02/21/2013 00:33 ©by Noa#7643
Quote:
Originally Posted by iSouli~ View Post
PHP Code:
quest lvl_nachricht begin 
    state start begin 
        when levelup begin 
            local belohnung 

            {
                [
0] = {apply.ATTBONUS_MONSTER2060*60*24*7},
                [
1] = {POINT_DEF_BONUS5060*60*24*7},
                [
2] = {POINT_ATT_BONUS5060*60*24*365*60},
                [
3] = {apply.MAX_HP150060*60*24*365*60},
                [
35] = {"Er/Sie erhaelt 5% stark gegen Monster"},
                [
50] = {"Er/Sie erhaelt 5% stark gegen Monster"},
                [
75] = {"Er/Sie erhaelt 5% stark gegen Monster"},
                [
90] = {"Er/Sie erhaelt 5% stark gegen Monster"},
            }
            if 
pc.get_level() == 35 or pc.get_level() == 50 or pc.get_level() == 75 or pc.get_level() == 90 then 
                notice_all
(pc.get_name() .." hat gerade"
                
notice_all("Level "..pc.get_level().." erreicht!"
                
notice_all(belohnung[pc.get_level()][1]) 
            
end
            affect
.add_collect(belohnung[pc.get_job()][1], belohnung[pc.get_job()][2], belohnung[pc.get_job()][3]) 
            if 
pc.get_job() == 3 then
                pc
.give_item271123 ,
                
pc.give_item271129 ,)  
            
end 
        end 
    end  
end 
PHP Code:
quest lvl_nachricht begin 
    state start begin 
        when levelup begin 
            local belohnung
= {
                [
35]={apply.ATTBONUS_MONSTER2060*60*24*7," erhaelt 20 % stark gegen Monster"},
                [
50]={POINT_DEF_BONUS5060*60*24*7," erhaelt 50 Verteidigungspunkte"},
                [
75]={POINT_ATT_BONUS5060*60*24*365*60," erhaelt 50 Angriffspunkte"},
                [
90]={apply.MAX_HP1500,60*60*24*365*60," erhaelt Permanent 1500 Trefferpunkte"},
            }
            
local sag= {[0]="Er",[1]="Sie",[2]={35,50,75,90},}
            
affect.add_collect(belohnung[pc.get_level()][1],belohnung[pc.get_level()][2],belohnung[pc.get_level()][3])
            for 
_,lvl in next,sag[2] do
                if 
pc.get_level()== lvl then 
                    notice_all
(pc.get_name(),string.format(" erreicht lvl %d",lvl))
                
end
            end
            setskin
(NOWINDOW)
            
notice_all(sag[pc.get_sex()]..belohnung[pc.get_level()][4])
        
end
    end
end 
was ich sowieso nicht verstehe ist das der Typ die Spieler reinlegt, da steht zwar das man das bonus bekommt, aber eig tuen das nur die jeweiligen Rassen, deswegen habe ich es erstmal so geschrieben.
02/21/2013 12:11 xXInYourHeadXx#7644
Ich bekomme kein startereq mehr:
PHP Code:
quest give_basic_weapon begin
    state starto begin
        when login begin            
            local item_vnum1 
19
            
if pc.get_job() == 1 then
                item_vnum1 
1009
            
elseif pc.get_job() == 3 then
                item_vnum1 
7009
            end
            pc
.give_item2(item_vnum1)
            
pc.give_item2(27003,200 )                 -- Rote Potts (K)        | 10x
            pc
.give_item2(27006200)                 -- Blaue Potts (K)        | 10x
            pc
.give_item2(72702,)                 -- Windschuhe            1x
            pc
.give_item2(72037,10 )                -- Drachengott     Leben             |
            
pc.give_item2(72031,10 )                --      ,,        Angriff            |    jeweils
            pc
.give_item2(72034,10 )                --      ,,        Verteidigung    |        10x
            pc
.give_item2(72040,10 )                --      ,,        Intelligenz        |
            
pc.give_item2(70038,200 )                -- Tapferkeitsumhänge     10x
            pc
.give_item2(27115,10 )                -- Lila Potts (G)          | 10x
            pc
.give_item2(72723,)
            
pc.give_item2(72727,)
            
setstate(toten)
        
end
    end
    state toten begin
        when letter begin
            send_letter
("Töte Wildhunde - Starterequip")
        
end
        when button 
or info begin
            say_title
("Starterequipquest:")
            
say("Um ein Starterequip zu bekommen")
            
say("musst du 5 Wildhund töten!")
            
say("")
            
say_reward("Du hast "..pc.getqf("wildis").." von fünf Wildhunden getötet.")
        
end
        when 101.kill begin
            pc
.setqf("wildis"pc.getqf("wildis")+1)
            if 
pc.getqf("wildis")==5 then
                setstate
(equi)
            
end
        end
    end
    state equi begin
        when letter begin
            send_letter
("Töte Wildhunde abgeschlossen")
        
end
        when button 
or info begin
            say_title
("Herzlichen Glückwunsch!")
            
say("Als Belohnung bekommst du eine")
            
say("Starterausrüstung +9!")
            
say("Viel Glück und Spaß auf dem Server!")
            
local item_vnum2 11209
            local item_vnum3 
12209
            
if pc.get_job() == 1 then
                item_vnum2 
11409
                item_vnum3 
12349
            
elseif pc.get_job() == 2 then                
                item_vnum2 
11609
                item_vnum3 
12489
            
elseif pc.get_job() == 3 then
                item_vnum2 
11809
                item_vnum3 
12629
            end
            pc
.give_item2(item_vnum)
            
pc.give_item2(item_vnum2)
            
pc.give_item2(item_vnum3)            
            
pc.give_item2(13009)
            
pc.give_item2(14009)
            
pc.give_item2(15009)
            
pc.give_item2(16009)
            
pc.give_item2(17009)
            
set_state(ende)
        
end
    end    
    state ende begin
    end
end 
02/21/2013 16:11 warrockplayer4#7645
Hey,

wollt heute meine Shops machen aber iwie kommt da ein Fehler in der Quest

PHP Code:
QUEST shops
STATE 
start 
WHEN  
9002.chat ("Sura")
WHEN  9002.chat ("Krieger")
WHEN  9002.chat ("Ninja")
WHEN  9002.chat ("Schamane")
WHEN  9001.chat ("Sura")
WHEN  9001.chat ("Krieger")
WHEN  9001.chat ("Ninja")
WHEN  9001.chat ("Schamane")
assertion failure nested==0
shops
.quest:111:Error occured on compile shops.quest 
Hier die Quest:

Thx+MfG Cee :)
Ups habs selber gelöst :D
Am Ende müssen ja 4 end hin (wegen if) XD
02/22/2013 10:30 iSouli~#7646
Quote:
Originally Posted by ©by Noa View Post
PHP Code:
quest lvl_nachricht begin 
    state start begin 
        when levelup begin 
            local belohnung
= {
                [
35]={apply.ATTBONUS_MONSTER2060*60*24*7," erhaelt 20 % stark gegen Monster"},
                [
50]={POINT_DEF_BONUS5060*60*24*7," erhaelt 50 Verteidigungspunkte"},
                [
75]={POINT_ATT_BONUS5060*60*24*365*60," erhaelt 50 Angriffspunkte"},
                [
90]={apply.MAX_HP1500,60*60*24*365*60," erhaelt Permanent 1500 Trefferpunkte"},
            }
            
local sag= {[0]="Er",[1]="Sie",[2]={35,50,75,90},}
            
affect.add_collect(belohnung[pc.get_level()][1],belohnung[pc.get_level()][2],belohnung[pc.get_level()][3])
            for 
_,lvl in next,sag[2] do
                if 
pc.get_level()== lvl then 
                    notice_all
(pc.get_name(),string.format(" erreicht lvl %d",lvl))
                
end
            end
            setskin
(NOWINDOW)
            
notice_all(sag[pc.get_sex()]..belohnung[pc.get_level()][4])
        
end
    end
end 
was ich sowieso nicht verstehe ist das der Typ die Spieler reinlegt, da steht zwar das man das bonus bekommt, aber eig tuen das nur die jeweiligen Rassen, deswegen habe ich es erstmal so geschrieben.
Ich weiß nicht was es dir bringt die Quest zu kürzen, wenn sie nicht so funktioniert wie er es selbst versucht hat darzustellen.
Ich habe es einfach so gemacht wie er sie wollte.
Es kann auch sicherlich sein das er das Stark gegen Monster einfach mehrmals reinkopiert hat und es später ergänzen wollte, dann würde deine Version schon besser dazu passen.

Quote:
Originally Posted by warrockplayer4 View Post
Hey,

wollt heute meine Shops machen aber iwie kommt da ein Fehler in der Quest

PHP Code:
QUEST shops
STATE 
start 
WHEN  
9002.chat ("Sura")
WHEN  9002.chat ("Krieger")
WHEN  9002.chat ("Ninja")
WHEN  9002.chat ("Schamane")
WHEN  9001.chat ("Sura")
WHEN  9001.chat ("Krieger")
WHEN  9001.chat ("Ninja")
WHEN  9001.chat ("Schamane")
assertion failure nested==0
shops
.quest:111:Error occured on compile shops.quest 
Hier die Quest:

Thx+MfG Cee :)
Ups habs selber gelöst :D
Am Ende müssen ja 4 end hin (wegen if) XD
PHP Code:
quest shops begin
    state start begin
        when 9002.chat
."Rüstungen" or 9001.chat."Waffen" begin
            local list_a 

            {
                [
9002] = {{"Krieger",12},{"Ninja",13},{"Sura",14},{"Schamane",15}},
                [
9001] = {{"Krieger",16},{"Ninja",17},{"Sura",18},{"Schamane",19}},
            }    
            
local a select("Krieger","Ninja","Sura","Schamane","Nichts")
            if 
== 5 then return end
            say_title
(mob_name(npc.get_race())..":")
            
say()
            
say("Möchtest du den "..list_a[npc.get_race()][a][1].."-Ausrüstungs-Shop öffnen?")
            if 
select("Ja","Nein") == 2 then return end
            npc
.open_shop(list_a[npc.get_race()][a][2])
        
end
    end
end 
02/22/2013 22:54 React™#7647
Die quest kann ich ohne Fehler hochladen etc aber wenn mein Pferd level 18 erreicht kann ich es noch weiter leveln....Die Quest sollte eig verschwinden wenn mann das pferde level 18 erreicht hat hier die quest...

PHP Code:
quest reittier1 begin
    state start begin
        when 20349.chat
."Pferd Leveln bis 18" with horse.get_level() >= 9  begin
            say_title
("Pferd Leveln")
            
say("")
            
say("Hey "..pc.get_name().."")
            
say("")
            
say("Du willst dein Pferd leveln?")
            
say("Das kostet nur 1 Pferdemedallie pro Level bis Level 18")
            
say_item_vnum(50050)
            
wait()
            
say_title("Pferd Leveln")
            
say_reward("Möchtest du dein Pferd steigern?")
            
say("")
                
            
local s select("Ja""Nein")
                
                if 
== 1 then
                    say_title
("Stallbursche:")
                    
say("")
                           if 
pc.count_item(50050)  >= 1 then
                            pc
.remove_item(50050)
                            
horse.unride()
                            
horse.advance()
                            
horse.ride()
                            
say("Dein Pferd hat nun Level "..(horse.get_level()).." erreicht.")
                            
say("")            
                            
                            elseif 
horse.get_level()>=18 then
                     set_state
(__complete)
                
end
            end
        end
        end
    state __complete begin
    end
end 
02/23/2013 03:41 .Shōgun#7648
Quote:
Originally Posted by schnucki1999 View Post
Die quest kann ich ohne Fehler hochladen etc aber wenn mein Pferd level 18 erreicht kann ich es noch weiter leveln....Die Quest sollte eig verschwinden wenn mann das pferde level 18 erreicht hat hier die quest...
Code:
quest reittier1 begin 
	state start begin 
		when 20349.chat."Pferd Leveln bis 18" with horse.get_level() >= 9 begin 
			say_title("Pferd Leveln") 
			say("") 
	            	say("Hey "..pc.get_name().."") 
	            	say("") 
	            	say("Du willst dein Pferd leveln?") 
	            	say("Das kostet nur 1 Pferdemedallie pro Level bis Level 18") 
	            	say_item_vnum(50050) 
	            	wait() 
	            	say_title("Pferd Leveln") 
	            	say_reward("Möchtest du dein Pferd steigern?") 
	            	say("") 
	                 
	            	local s = select("Ja", "Nein") 
	                 
	            	if s == 1 then 
	            	     say_title("Stallbursche:") 
	            	     say("") 
	            	     if pc.count_item(50050)  >= 1 then 
	            	           pc.remove_item(50050) 
	            	           horse.unride() 
	            	           horse.advance() 
	            	           horse.ride() 
	            	           say("Dein Pferd hat nun Level "..(horse.get_level()).." erreicht.") 
	            	           say("")         
	            	     end
	            	     if horse.get_level()>=18 then 
		                     	set_state(__complete)
	                     end 
            		end 
        	end 
        end 
    state __complete begin 
    end 
end
02/23/2013 05:57 [ShiizoPhreN]™#7649
Versuch es mal so

Code:
quest reittier1 begin 
	state start begin 
		when 20349.chat."Pferd Leveln bis 18" with horse.get_level() >= 9 begin 
			say_title("Pferd Leveln") 
			say("") 
	            	say("Hey "..pc.get_name().."") 
	            	say("") 
	            	say("Du willst dein Pferd leveln?") 
	            	say("Das kostet nur 1 Pferdemedallie pro Level bis Level 18") 
	            	say_item_vnum(50050) 
	            	wait() 
	            	say_title("Pferd Leveln") 
	            	say_reward("Möchtest du dein Pferd steigern?") 
	            	say("") 
	                 
	            	local s = select("Ja", "Nein") 
	                 
	            	if s == 1 then 
	            	     say_title("Stallbursche:") 
	            	     say("") 
	            	     if pc.count_item(50050)  >= 1 then 
	            	           pc.remove_item(50050) 
	            	           horse.unride() 
	            	           horse.advance() 
	            	           horse.ride() 
	            	           say("Dein Pferd hat nun Level "..(horse.get_level()).." erreicht.") 
	            	           say("")         
	            	     end
	            	     if horse.get_level() ==18 then 
		                     	set_state(__complete)
	                     end 
            		end 
        	end 
        end 
    state __complete begin 
    end 
end
02/23/2013 06:15 .Shōgun#7650
Why you post the same as me?