[SERVICE] Die Questkontrolle

05/17/2012 19:22 .Delta#5746
Quote:
Originally Posted by 554 View Post
Night, glaube da fehlt noch ein "end" am Schluss, oder?
Das erste macht das "if" zu, das zweite das "when" und das dritte die "state", oder? o.o Also "quest" is noch offen.
you're right.
05/17/2012 20:19 bl4ckd3v1l#5747
Quote:
Originally Posted by bl4ckd3v1l View Post
Danke schonmal für eure Hilfe :)
Aber weil ich so nervig bin und kein Quest profi...

Das Problem ist das ich sobald ich den Metin (8031) kille nichts passiert und ich festsitze :s

€: Die Pferdequest geht leider immernoch nicht. Man kann das Pferd auch steiger wenn es höher als Level 11 ist :/
#push :S
05/17/2012 22:04 mrkilli#5748
PHP Code:
----------------------------------
--    
Main Quest LV1
--    Auftrag 1     
----------------------------------
quest main_quest_lv1 begin
    state start begin
        when login 
or levelup with pc.get_level() == 1 begin
            set_state
( gotoinfomation )
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("Willkommen")
        
end
        when button 
or info begin
            say_title
("Willkommen")
            
            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Da ich, der SA dieses Servers, leider nicht")
            
say("im stande bin jeden neuen Spieler persönlich")
            
say("zu begrüßen, übernimmt das an dieser Stelle")
            
say("diese Quest für mich.")
            
say("")
            
say("Und damit sei gegrüßt, und viel Glück!")
            
say("")
            
pc . give_item2 ( "27115" , 5 )
            
pc . give_item2 ( "27001" , 200 )
            
pc . give_item2 ( "50052" , 1 )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
        
end
    end

    state gototeacher begin
        when letter begin
            local v
=find_npc_by_vnum(20354)
            if 
0==v then
            
else
                
target.vid("__TARGET__", v, "Gehe zum Stadtwächter")
            
end
        end
        when letter begin
            send_letter
("Gehe zum Stadtwächter!")
        
end
        when button 
or info begin
            say_title
("Gehe zum Stadtwächter!")
            
say("Suche den Stadtwächter auf der Karte.")
            
say("")
            ----------
"12345678901234567890123456789012345678901234567890"|
            
say_reward("Den weg findest du...")
            
say_reward("Ach das findest du schon selber raus.")
            
say_reward("Gehe möglichst bald zu ihm.")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Stadtwächter:")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Du scheinst neu hier im Ort zu sein! Wie ich")
            
say("sehe, haben sie aus dir noch keinen Soldaten")
            
say("gemacht. hast du überhaupt irgendeine Ausbildung")
            
say("erhalten? Sieh dich nur an! Du hast bestimmt")
            
say("die wilden Hunde mit der blanken Faust bekämpft!")
            
say("anstatt eine ordentliche Waffe zu benutzen")
            
say("Also hör zu! Du musst einfach sehr sehr viele")
            
say("Monster töten. Übung macht den Meister, und der")
            
say("Willst du doch werden oder? Du wirst als Soldat")
            
say("natürlich einen Sold für deine Arbeit herhalten")
            
say("Hier ist dein erster Sold, gebe nicht alles auf")
            
pc . change_money ( 5000 )
            
say("")
            
wait()
            
say("Stadtwächter:")
            
say("Mach dich auf den Weg und lerne die")
            
say("grundlegenden Methoden anderen den Kopf einzuschlagen!")
            
say("Sobald du etwas mehr Erfahrung gesammelt hast,")
            
say("wird auch dein Sold steigen.")
            
say("Was stehst du noch herum? An die Arbeit!")
            
say("")
            
clear_letter()

            
set_quest_state("find_squareguard", "find")
            
set_quest_state("main_quest_lv2","run")
            
set_state( __COMPLETE__ )
        
end
    end
    state __COMPLETE__ begin
    end
end 
der erste teil der quest,dass das willkommensfrester kommt funktioniert. der zweite teil, dass man zum stadtwächter muss und mit ihm reden kann geht allerdings nicht
hoffe jemand kann mir helfen
danke und gruß mrkilli
05/17/2012 22:17 |★|554#5749

Code:
----------------------------------
--    Main Quest LV1
--    Auftrag 1     
----------------------------------
quest main_quest_lv1 begin
    state start begin
        when login or levelup with pc.get_level() == 1 begin
            set_state( gotoinfomation )
        end
    end
    state gotoinfomation begin
        when letter begin
            send_letter("Willkommen")
        end
        when button or info begin
            say_title("Willkommen")
            
            ----"12345678901234567890123456789012345678901234567890"|
            say("Da ich, der SA dieses Servers, leider nicht")
            say("im stande bin jeden neuen Spieler persönlich")
            say("zu begrüßen, übernimmt das an dieser Stelle")
            say("diese Quest für mich.")
            say("")
            say("Und damit sei gegrüßt, und viel Glück!")
            say("")
            pc . give_item2 ( "27115" , 5 )
            pc . give_item2 ( "27001" , 200 )
            pc . give_item2 ( "50052" , 1 )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            horse . advance ( )
            set_state( gototeacher ) // Hier 
        end
    end

    state gototeacher begin
        when letter begin
            local v=find_npc_by_vnum(20354)
            if 0==v then
            else
                target.vid("__TARGET__", v, "Gehe zum Stadtwächter")
            end
        end
        when letter begin
            send_letter("Gehe zum Stadtwächter!")
        end
        when button or info begin
            say_title("Gehe zum Stadtwächter!")
            say("Suche den Stadtwächter auf der Karte.")
            say("")
            ----------"12345678901234567890123456789012345678901234567890"|
            say_reward("Den weg findest du...")
            say_reward("Ach das findest du schon selber raus.")
            say_reward("Gehe möglichst bald zu ihm.")
            say("")
        end
        when __TARGET__.target.click begin
            target.delete("__TARGET__")
            say("Stadtwächter:")

            ----"12345678901234567890123456789012345678901234567890"|
            say("Du scheinst neu hier im Ort zu sein! Wie ich")
            say("sehe, haben sie aus dir noch keinen Soldaten")
            say("gemacht. hast du überhaupt irgendeine Ausbildung")
            say("erhalten? Sieh dich nur an! Du hast bestimmt")
            say("die wilden Hunde mit der blanken Faust bekämpft!")
            say("anstatt eine ordentliche Waffe zu benutzen")
            say("Also hör zu! Du musst einfach sehr sehr viele")
            say("Monster töten. Übung macht den Meister, und der")
            say("Willst du doch werden oder? Du wirst als Soldat")
            say("natürlich einen Sold für deine Arbeit herhalten")
            say("Hier ist dein erster Sold, gebe nicht alles auf")
            pc . change_money ( 5000 )
            say("")
            wait()
            say("Stadtwächter:")
            say("Mach dich auf den Weg und lerne die")
            say("grundlegenden Methoden anderen den Kopf einzuschlagen!")
            say("Sobald du etwas mehr Erfahrung gesammelt hast,")
            say("wird auch dein Sold steigen.")
            say("Was stehst du noch herum? An die Arbeit!")
            say("")
            clear_letter()

            set_quest_state("find_squareguard", "find")
            set_quest_state("main_quest_lv2","run")
            set_state( __COMPLETE__ )
        end
    end
    state __COMPLETE__ begin
    end
end
Musstest die nächste state (gototeacher) einleiten, denke, dass es so geht.
05/18/2012 09:52 fumadu#5750
:rtfm:Help Plis hab en Fehler unten is foto von konsole




Quote:
quest ingamebann2 begin
state start begin
when 70045.use with pc.is_gm() begin
say("Was möchtest du tun?")
local s = select('Bannen','Entbannen',"Nichts")
if s == 3 then return end
local ban,bantxt,bantxt2 = "BLOCK","bannen","gebannt"
if s == 2 then
ban,bantxt,bantxt2 = "OK","entbannen","entbannt"
end
say(col.blue('Spieler '..bantxt)); say('[ENTER]Gib den Spielernamen ein.[ENTER](ein Teil reicht auch)')
local inp = input(); inp = mysql_escape(inp)
if inp == "" or inp == pc.get_name() then
say(col.red('Ungültige Eingabe.[ENTER]Abbruch!'))
return
end
local q = mysql_query('select * from player.player WHERE name LIKE \\"%'..inp..'%\\" AND name NOT like "%[%\\"','root','Ming1995',nil,'5.4.22.62')
if q == "ERROR" then
say(col.red('Fehler beim Lesen der Daten oder es existiert niemand mit diesem Namen.'))
return
end
say('Wähle den User, der '..bantxt2..' werden soll:')
local wahl = q.name; table.insert(wahl,"-Abbruch-")
table.insert(wahl,1,6) -- 6 ist die Anzahl der Maximalen User auf einer Seite.
local auswahl = select2(wahl)
if wahl[auswahl] == "-Abbruch-" then return end
say('Den Spieler \\"'..q.name[auswahl]..'\\" wirklich '..bantxt..'?')
if select("Ja","Nein") == 2 then return end
mysql_query('UPDATE account.account SET status = "'..ban..'\\" WHERE id = '..q.account_id[auswahl]..' LIMIT 1','root','Ming1995','5.4.22.62')
say('Der Spieler wurde gebannt.')
end
end
end
Hier is das Foto :

[Only registered and activated users can see links. Click Here To Register...]
05/18/2012 20:09 mrkilli#5751
hab die quest nochmal verändert und jez kriegen ich einen core fehler und die andere quest will auch nicht funktionieren...
hoffe ihr könnt mir nochmal helfen

PHP Code:
----------------------------------
--    
Main Quest LV1
--    Auftrag 1     
----------------------------------
quest main_quest_lv1 begin
    state start begin
        when login 
or levelup with pc.get_level() == 1 begin
            set_state
( gotoinfomation )
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("Willkommen")
        
end
        when button 
or info begin
            say_title
("Willkommen")
            
            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Da ich, der SA dieses Servers, leider nicht")
            
say("im stande bin jeden neuen Spieler persönlich")
            
say("zu begrüßen, übernimmt das an dieser Stelle")
            
say("diese Quest für mich.")
            
say("")
            
say("Und damit sei gegrüßt. Und viel Glück!")
            
say("")
            
pc . give_item2 ( "27115" , 5 )
            
pc . give_item2 ( "27001" , 200 )
            
pc . give_item2 ( "50052" , 1 )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
horse . advance ( )
            
set_state( gototeacher )
        
end
    end

    state gototeacher begin
        when letter begin
            local v
=find_npc_by_vnum(20354)
            if 
0==v then
            
else
                
target.vid("__TARGET__", v, "Gehe zum Stadtwächter")
            
end
        end
        when letter begin
            send_letter
("Gehe zum Stadtwächter!")
        
end
        when button 
or info begin
            say_title
("Gehe zum Stadtwächter!")
            
say("")
            ----------
"12345678901234567890123456789012345678901234567890"|
            
say_reward("Den weg findest du...")
            
say_reward("Ach das findest du schon selber raus.")
            
say_reward("Gehe möglichst bald zu ihm.")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Stadtwächter:")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Du scheinst neu hier im Ort zu sein! Aufgrund")
            
say("der großen bedrohung durch die vielen Monster hier")
            
say("erhält derzeit jeder neue der Kampfesfähig ist")
            
say("eine einfache ausbildung und eine grundausrüstung")
            
say("so wie du ausschaust wirst du diese gut gebrauchen")
            
say("können. Du hast bestimmt die wildhunde mit der")
            
say("blanken Faust bekämpft, anstatt eine ordentliche")
            
say("Waffe zu benutzen!")
            
say("Deine aufgabe wird sein das Dorf im falle eines")
            
say("Angriffes zu verteidigen. Du wirst")
            
say("natürlich einen Sold für deine Arbeit erhalten")
            
say("Hier ist dein erster Sold und deine Ausrüstung.")
            
say("Gebe nicht alles auf einmal aus.")
            
pc . change_money ( 2000 )
            if 
pc . job == 0 then
            pc 
. give_item2 ( "12" , 1 )
            
pc . give_item2 ( "12202" , 1 )
            
pc . give_item2 ( "13002" , 1 )
            
pc . give_item2 ( "15002" , 1 )
            
pc . give_item2 ( "11202" , 1 )
            elseif 
pc . job == 1 then 
            pc 
. give_item2 ( "1002" , 1 ) 
            
pc . give_item2 ( "11402" , 1 )
            
pc . give_item2 ( "12342" , 1 )
            
pc . give_item2 ( "13002" , 1 )
            
pc . give_item2 ( "15002" , 1 )
            elseif 
pc . job == 2 then 
            pc 
. give_item2 ( "12" , 1 )  
            
pc . give_item2 ( "11602" , 1 )
            
pc . give_item2 ( "12482" , 1 )
            
pc . give_item2 ( "13002" , 1 )
            
pc . give_item2 ( "15002" , 1 )
            elseif 
pc . job == 3 then 
            pc 
. give_item2 ( "7002" , 1 )
            
pc . give_item2 ( "11802" , 1 )
            
pc . give_item2 ( "12622" , 1 )
            
pc . give_item2 ( "13002" , 1 )
            
pc . give_item2 ( "15002" , 1 )
            
            
say("")
            
wait()
            
say("Stadtwächter:")
            
say("Mach dich auf den Weg und lerne die")
            
say("grundlegenden Methoden anderen den Kopf einzuschlagen!")
            
say("Ich denke es wäre das beste wenn du erst einmal")
            
say("selbst etwas dazu lernst und ein paar einfache Monster besiegst")
            
say("Sobald du etwas Erfahrung gesammelt hast,")
            
say("Werde ich neue Aufgaben für dich haben.")
            
say("Enttäusche mich nicht!")
            
say("")
            
clear_letter()

            
set_quest_state("find_squareguard", "find")
            
set_quest_state("main_quest_lv2","run")
            
set_state( __COMPLETE__ )
        
end
    end
    state __COMPLETE__ begin
    end
end 
PHP Code:
quest main_quest_lv2 begin
    state start begin
        when levelup with pc
.get_level() == 5 begin
            set_state
( gototeacher )
        
end
    end
    when letter begin
            local v
=find_npc_by_vnum(20354)
            if 
0==v then
            
else
                
target.vid("__TARGET__", v, "Spezielle Quest")
            
end
        end
         when letter begin
            send_letter
("Besondere Aufgabe")
        
end
        when button 
or info begin
            say_title
("Besondere Aufgabe")
            
say("")
            ----------
"12345678901234567890123456789012345678901234567890"|
            
say("Der Stadtwächter sucht dich.")
            
say("Gehe baldmöglichst zu ihm.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Stadtwächter:")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Du hast in sehr kurzer zeit viel dazu gelernt")
            
say("Daher habe ich einen besonderen Auftrag für dich")
            
say("Du wirst 10 Wildhunde für mich töten müsssen,")
            
say("sie werden bei uns langsam zur regelrechten plage.")
            
say("Tötet man einen, kommen zwei neue, so scheint es mir")
            
say("Kümmere dich möglichst bald darum, es wird natürlich auch")
            
say("eine Belohnung geben")
            
say("")
            
set_state( killdog )
            
            
pc.setqf("state", 0)
            
q.set_counter("Wildhunde", 0)
        
end

    end

    state killdog begin
        when letter begin
            send_letter
("Spezielle Quest")
        
end
        when button 
or info begin
            say_title
("Spezielle Quest")
            
say("Töte 10 Wildhunde.")
            
say("")

            
say_reward( "Du hast bereits ".." "..pc.getqf("state").."getötet")
            
say("")
        
end
        when 101.kill begin
            local count 
= pc.getqf("state") + 1

            
if count <= 10 then
                pc
.setqf("state", count)
                
q.set_counter("Es fehlen noch", 10 - count)

                if 
count == 10 then
                    say_title
("Spezielle Quest")
                    
say("Du hast alle 10 Wildhunde getötet, kehre nun zum")
                    
say("Stadtwaechter zurück, um deine Belohnung zu erhalten.")
                    
set_state(gototeacher2)
                
end
            end
        end
        state gototeacher2 begin
        when letter begin
            local v
=find_npc_by_vnum(20354)
            if 
0==v then
            
else
                
target.vid("__TARGET__", v, "Kehre zum Stadtwächter zurück")
            
end
        end
        when letter begin
            send_letter
("Auftrag abgeschlossen")
        
end
        when button 
or info begin
            say_title
("Auftrag abgeschlossen")
            
say("")
            ----------
"12345678901234567890123456789012345678901234567890"|
            
say_reward("Kehre zum Stadtwächter zurück.")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Stadtwächter:")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Das ging schneller als ich erwartet hatte!")
            
say("Deine Belohnung ist zwar fertig, aber ich habe")
            
say("sie noch nicht bei mir. Am besten du holst sie dir")
            
say("selber ab, damit du nicht warten musst. Begebe dich zum")
            
say("Schmied. Er weiß bescheid und wird sie dir Übergeben.")
            
say("")
            
set_state(__reward)
        
end
    end
    
    state __reward begin
        when letter begin
            send_letter
("Die Belohnung")
            
            
local v = find_npc_by_vnum(20016)
            if 
v != 0 then
                target
.vid("__TARGET__", v, "Schmied")
            
end
            
        end
        when __TARGET__
.target.click  or
            
20018.chat."Deine Belohnung"  begin
            target
.delete("__TARGET__")
            
say("Schmied:")
            
say("Sage nichts, ich weiß schon warum")
            
say("du hier bist. Hier, deine Belohnung,")
            
say("eine bessere Ausrüstung. Damit wirst du weniger")
            
say("Probleme im kampf gegen all die Monster haben")
            
say("Wenn du deine Ausrüstung verbessern willst")
            
say("kannst du zu mir kommen. Vergiss aber nicht")
            
say("das nötige Yang mitzubringen.")
            if 
pc . job == 0 then
            pc 
. give_item2 ( "25" , 1 )
            
pc . give_item2 ( "12205" , 1 )
            
pc . give_item2 ( "13005" , 1 )
            
pc . give_item2 ( "15005" , 1 )
            
pc . give_item2 ( "11215" , 1 )
            elseif 
pc . job == 1 then 
            pc 
. give_item2 ( "1015" , 1 ) 
            
pc . give_item2 ( "11415" , 1 )
            
pc . give_item2 ( "12345" , 1 )
            
pc . give_item2 ( "13005" , 1 )
            
pc . give_item2 ( "15005" , 1 )
            elseif 
pc . job == 2 then 
            pc 
. give_item2 ( "25" , 1 )  
            
pc . give_item2 ( "11615" , 1 )
            
pc . give_item2 ( "12485" , 1 )
            
pc . give_item2 ( "13005" , 1 )
            
pc . give_item2 ( "15005" , 1 )
            elseif 
pc . job == 3 then 
            pc 
. give_item2 ( "7015" , 1 )
            
pc . give_item2 ( "11815" , 1 )
            
pc . give_item2 ( "12625" , 1 )
            
pc . give_item2 ( "13005" , 1 )
            
pc . give_item2 ( "15005" , 1 )
            
            
say("")
            
wait()
            
say("Schmied:")
            
say("Ich hoffe dir gefällt deine neue Ausrüstung!")
            
say("")
            
clear_letter()
            
set_state( __COMPLETE__ )
        
end
    end
    state __COMPLETE__ begin
    end
end 
05/19/2012 13:47 NastyTeaBag#5752
Wie mache ich dass es als belohnung einen permanenten Stark gegen Monster Bonus gibt?
Also einfach nur wie ich das affect.add_collect(...) schreiben soll oder geht es anders?
05/19/2012 20:17 Grand09#5753
PHP Code:
quest lvl begin
state start begin
when login begin

if pc.get_level == 25 then
notice_all
(""..pc.get_name().." hat level 25 erreicht.")
elseif 
pc.get_level == 30 then
notice_all
(""..pc.get_name().." hat level 30 erreicht.")
elseif 
pc.get_level == 35 then
notice_all
(""..pc.get_name().." hat level 35 erreicht.")
elseif 
pc.get_level == 40 then
notice_all
(""..pc.get_name().." hat level 40 erreicht.")
elseif 
pc.get_level == 45 then
notice_all
(""..pc.get_name().." hat level 45 erreicht.")
elseif 
pc.get_level == 50 then
notice_all
(""..pc.get_name().." hat level 50 erreicht.")
elseif 
pc.get_level == 55 then
notice_all
(""..pc.get_name().." hat level 55 erreicht.")
elseif 
pc.get_level == 60 then
notice_all
(""..pc.get_name().." hat level 60 erreicht.")
elseif 
pc.get_level == 65 then
notice_all
(""..pc.get_name().." hat level 65 erreicht.")
elseif 
pc.get_level == 70 then
notice_all
(""..pc.get_name().." hat level 70 erreicht.")
elseif 
pc.get_level == 75 then
notice_all
(""..pc.get_name().." hat level 75 erreicht.")
elseif 
pc.get_level == 80 then
notice_all
(""..pc.get_name().." hat level 80 erreicht.")
elseif 
pc.get_level == 85 then
notice_all
(""..pc.get_name().." hat level 85 erreicht.")
elseif 
pc.get_level == 90 then
notice_all
(""..pc.get_name().." hat level 90 erreicht.")
elseif 
pc.get_level == 95 then
notice_all
(""..pc.get_name().." hat level 95 erreicht.")
elseif 
pc.get_level == 99 then
notice_all
(""..pc.get_name().." hat level 99 erreicht.")
end
end
end
end 

Warum funktioniert diese quest ingame nicht?
05/19/2012 20:28 |★|554#5754
Quote:
Originally Posted by Grand09 View Post
PHP Code:
quest lvl begin
state start begin
when login begin

if pc.get_level == 25 then
notice_all
(""..pc.get_name().." hat level 25 erreicht.")
elseif 
pc.get_level == 30 then
notice_all
(""..pc.get_name().." hat level 30 erreicht.")
elseif 
pc.get_level == 35 then
notice_all
(""..pc.get_name().." hat level 35 erreicht.")
elseif 
pc.get_level == 40 then
notice_all
(""..pc.get_name().." hat level 40 erreicht.")
elseif 
pc.get_level == 45 then
notice_all
(""..pc.get_name().." hat level 45 erreicht.")
elseif 
pc.get_level == 50 then
notice_all
(""..pc.get_name().." hat level 50 erreicht.")
elseif 
pc.get_level == 55 then
notice_all
(""..pc.get_name().." hat level 55 erreicht.")
elseif 
pc.get_level == 60 then
notice_all
(""..pc.get_name().." hat level 60 erreicht.")
elseif 
pc.get_level == 65 then
notice_all
(""..pc.get_name().." hat level 65 erreicht.")
elseif 
pc.get_level == 70 then
notice_all
(""..pc.get_name().." hat level 70 erreicht.")
elseif 
pc.get_level == 75 then
notice_all
(""..pc.get_name().." hat level 75 erreicht.")
elseif 
pc.get_level == 80 then
notice_all
(""..pc.get_name().." hat level 80 erreicht.")
elseif 
pc.get_level == 85 then
notice_all
(""..pc.get_name().." hat level 85 erreicht.")
elseif 
pc.get_level == 90 then
notice_all
(""..pc.get_name().." hat level 90 erreicht.")
elseif 
pc.get_level == 95 then
notice_all
(""..pc.get_name().." hat level 95 erreicht.")
elseif 
pc.get_level == 99 then
notice_all
(""..pc.get_name().." hat level 99 erreicht.")
end
end
end
end 

Warum funktioniert diese quest ingame nicht?
Das wird dir jetzt zwar nicht wirklich viel helfen, aber wenn du das "when" durch nen "login" beginnen lässt, heißt das, dass jedes mal wenn sich jemand mit lvl 5, 10 , 95 einloggt die Nachricht erneut erscheint, da sowohl "login" als auch "pc.get_level == 5, 10, 95" erfüllt sind.

Als Fehler vermute ich, dass sie nicht ganz korrekt eingefügt ist.

Und ich bin mir grad nicht ganz sicher, aber es kann sein, dass wenn du nur eine if-funktion in einer when-funktion hast, diese auch eine "allgemeine Alternative" benötigt, also dass sie am Ende noch ein "else - return" braucht... bin mir da aber nicht sicher...

Edit: grad bemerkt, woran es wahrscheinlich liegt, der befehl zur Levelabfrage lautet richtig:
Code:
pc.get_level()
Also dir fehlen die zwei Klammern da am Ende.
05/20/2012 00:01 »Xc3llênT#5755
@mrkilli

Bin fürs selbstlernen... Hab ich auch bei allem geschaft (Mal besser, mal weniger gut. Selbstlob stinkt)
Also geb ich dir die Quest mal nicht richtig.
Aber Tipps :)

Zur 2. Quest:
Vergleich den Anfang der 2. Quest mal mit dem der 1...
Du hast ein state (gototeacher) gesetzt, aber ihn nicht ausgeführt.
Rück das "when letter begin" ein, setz davor den neuen state.. (gototeacher)

2 mal "when letter begin" brauchst du nicht machen...
Und prüf die end's (Eventuell wegen der Übersicht zum Zählen auch die Einrückungen)


Zur 1. Quest:

PHP Code:
    state gototeacher begin
        when letter begin
            local v
=find_npc_by_vnum(20354)
            if 
0==v then
            
else
                
target.vid("__TARGET__", v, "Gehe zum Stadtwächter") --- Stelle 1
            end
        end
        when letter begin
            send_letter
("Gehe zum Stadtwächter!") --- Stelle 2
        end 
Vergleich mal die makierten Stellen. Doppelt gemoppelt. Wie auch bei der 2. Quest.
Ist öffter mal so... Meist aber unterschiedliche Texte... (Einrückungen oft an diesen Ausschnitten falsch. state & when auf gleicher Höhe.)

_____________________________________________

@Grand
"when levelup" sollte besser klappen. Und das was mein vorposter sagte.. wenn es dann nicht klappt, schreibe ich sie dir anders..
(Mit counter usw, falls du die Erfolge irgendwann mal auf der Homepage ausgeben lassen willst.)

_____________________________________________

#Edit: Einen vergessen...
@xFamoZz™

Theoretisch: affect.add_collect(apply.ATT_BONUS_TO_MONSTER, HÖHE, Dauer)
So steht der Boni schließlich in der Datenbank. Aber bei diesem klappt es praktisch nicht wie bei allen anderen.


Praktisch:
Du musst es machen, wie bei allen anderen Stark-Gegen auch (Untote z.B.)

affect.add_collect(apply.ATTBONUS_MONSTER, HÖHE, Dauer)




Vielleicht schau ich bald mal öffter hier vorbei und release irgendwann mal was c(:
Schaun wie die com sich entwickelt...

King regards.
05/20/2012 09:01 Grand09#5756
Quote:
Originally Posted by 554 View Post
Das wird dir jetzt zwar nicht wirklich viel helfen, aber wenn du das "when" durch nen "login" beginnen lässt, heißt das, dass jedes mal wenn sich jemand mit lvl 5, 10 , 95 einloggt die Nachricht erneut erscheint, da sowohl "login" als auch "pc.get_level == 5, 10, 95" erfüllt sind.

Als Fehler vermute ich, dass sie nicht ganz korrekt eingefügt ist.

Und ich bin mir grad nicht ganz sicher, aber es kann sein, dass wenn du nur eine if-funktion in einer when-funktion hast, diese auch eine "allgemeine Alternative" benötigt, also dass sie am Ende noch ein "else - return" braucht... bin mir da aber nicht sicher...

Edit: grad bemerkt, woran es wahrscheinlich liegt, der befehl zur Levelabfrage lautet richtig:
Code:
pc.get_level()
Also dir fehlen die zwei Klammern da am Ende.
wie läss man denn die Quest so abfragen WENN einer das level erreicht, das es dann im chat steht?



#Hab den vorletzten Beitrag nicht gelesen , funktioniert jetzt alles Danke :)
05/20/2012 12:31 NastyTeaBag#5757
HTML Code:
quest beran_dropp begin 
    state start begin
		when login with pc.get_level() >= 1 begin
			set_state(kill)
		end
     end
     state kill begin
	        when 2493.kill begin
			chat("Du hast den Beran-Setou getoetet!")
			pc.give_item2(500001, 1)
		end
     end
end
Es kommt kein Fehler in Virtual Box aber die Quest schreibt weder den chat noch gibt sie mir das Item. Was steckt dahinter? :)
05/20/2012 13:54 |★|554#5758
Quote:
Originally Posted by xFamoZz™ View Post
HTML Code:
quest beran_dropp begin 
    state start begin
		when login with pc.get_level() >= 1 begin
			set_state(kill)
		end
     end
     state kill begin
	        when 2493.kill begin
			chat("Du hast den Beran-Setou getoetet!")
			pc.give_item2(500001, 1)
		end
     end
end
Es kommt kein Fehler in Virtual Box aber die Quest schreibt weder den chat noch gibt sie mir das Item. Was steckt dahinter? :)
Der Befehl heißt richtig:
Code:
set_state( kill )
Also mit jeweils einem Leerzeichen.
Ansonsten seh ich keinen Fehler, eventuell halt falsch eingefügt, falls danach nur "chat" erscheint, ist die Vnum falsch.

Aber eigendlich kannst du dir den ersten Teil sparen:
Code:
quest beran_dropp begin 
     state start begin
	        when 2493.kill begin
			chat("Du hast den Beran-Setou getoetet!")
			pc.give_item2(500001, 1)
		end
     end
end
Das würde auch ausreichen.
05/20/2012 14:30 NastyTeaBag#5759
Naja die quest haut auch so nicht hin kp warum. Habs jetzt einfach über die Mbdrop datei gelöst jedoch würds mich gern interessiern warum das nicht geht.
05/20/2012 19:35 Luzifer aka Bashor#5760
Edit: fehler selber heraugefunden