[SERVICE] Die Questkontrolle

09/15/2013 18:32 Yiv#9001
PHP Code:
quest horse_upgrade begin
    state start begin
        when 20349.chat
."Ich möchte mein Pferd verbessern" with horse.get_grade() == 1 and horse.get_level() == 10 begin
            
if horse.is_dead() then
                say_title
("Stallbursche:")
                
say("")
                
say("Du kannst ein totes Pferd nicht verbessern!")
                
say("Besorge ein Kraut der leichten Affen, dann kann ich dein")
                
say("Pferd wiederbeleben.")
                
say("")
                
say_item_vnum(50057)
                
say("Dann können wir über die Verbesserung deines Pferdes reden.")
                
say("")
            elseif 
pc.get_level() < 35 then
                say_title
("Stallbursche:")
                
say("")
                
say("Dein Level ist zu gering, um dein Pferd zu verbessern.")
                
say("Erst nachdem du das Level 35 erreicht hast, kann ich")
                
say("dein Pferd verbessern.")
                
say("Komme wieder, wenn du Level 35 erreicht hast.")
                
say("")
            elseif 
horse.get_level() < 10 then
                say_title
("Stallbursche:")
                
say("")
                
say("Das Level deines Pferdes ist zu gering.")
                
say("")
                
say("Geh und trainiere dein Pferd weiter, bis es Level 10")
                
say("erreicht hat. Danach kannst du wiederkommmen.")
                
say("")
            elseif 
pc.count_item(50050) < 1 then
                say_title
("Stallbursche:")
                
say("")
                
say("Wenn du dein Pferd verbessern möchtest, benötigst du")
                
say("eine Pferdemedaille.")
                
say("Du kannst diese in den Affendungeons bekommen.")
                
say("")
                
say_item_vnum(50050)
                
say("Natürlich werden es dir die Affen nicht leicht machen.")
                
say("")
                
set_state(pm_needed)
            elseif 
pc.count_item(50051) < 1 then
                say_title
("Stallbursche:")
                
say("")
                
say("Ich möchte dir das nicht zweimal sagen:")
                
say("")
                
say_item_vnum(50051)
                
say("Du benötigst eine Reitlizenz, wenn du reiten möchtest.")
                
say("")
            elseif 
horse.get_level() == 10 and not horse.is_dead() and pc.count_item(50050) >= 1 and pc.get_level() >= 35 then
                say_title
("Stallbursche:")
                
say("")
                
say("Wenn du das Waffen-Pferdebuch hast, kannst du deine")
                
say("Gegner vom Rücken deines Pferdes angreifen. Ich werde")
                
say("deine Kampferfahrung und deine Reitkunst testen.")
                
say("Geh in die Wüste und töte einige Skorpionbogenschützen")
                
say("oder Schlangenbogenschützen.")
                
say("")
                
say("Du darfst diese Aufgabe in einer Gruppe erledigen, aber")
                
say("du musst der Gruppenführer sein.")
                
say("")
                
local b = select("Annehmen", "Ablehnen")
                if 
1 == b then
                    
if pc.count_item(50050) >= 1 then
                        pc
.remove_item(50050, 1)
                        
set_state(test)
                    
end
                
elseif 2 == b then
                    say
("Okay, komme später wieder.")
                else
                    
say("UNBEKANNTER BUTTON ["..b.."]")
                
end
            
else
                
say_title("Stallbursche:")
                
say("")
                
say("Ich denke, dass du das Waffen-Pferdebuch nicht bekommen")
                
say("kannst. Das ist seltsam. Ich weiss nicht warum.")
                
say("Du solltest einen Game Master fragen, warum.")
                
say("")
            
end
        end
    end
    state pm_needed begin
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Besorge eine Pferdemedaille")
            
q.set_title("Besorge eine Pferdemedaille!")
            
q.start()
        
end
        when button 
or info begin
            say_title
("Besorge eine Pferdemedaille!")
            
say("")
            
say("Du benötigst eine Pferdemedaille um die Waffen-Pferdebuch")
            
say("Quest zu starten.")
            
say("")
            
say_item_vnum(50050)
            
say("Du kannst sie in den Affendungeons finden.")
            
say("")
            
set_state(start)
            
q.done()
        
end
    end
    state test begin
        when letter begin
            q
.set_counter("Verbleibende Bogenschützen", 100 - pc.getqf("kill_count"))
        
end
        when 2105.party_kill begin
            pc
.setqf("kill_count", pc.getqf("kill_count")+1)
            
q.set_counter("Bogenschützen übrig:", 100 - pc.getqf("kill_count"))
            if 
get_time() >= pc.getqf("limit_time") then
                set_state
(fail)
            
end
        end
        when 2107.party_kill begin
            pc
.setqf("kill_count", pc.getqf("kill_count")+1)
            
q.set_counter("Bogenschützen übrig:", 100 - pc.getqf("kill_count"))
            if 
get_time() >= pc.getqf("limit_time") then
                set_state
(fail)
                
q.done()
            
end
        end
        when letter begin
            q
.set_clock("Verbleibende Zeit", pc.getqf("limit_time") - get_time())
        
end
        when enter begin
            pc
.setqf("limit_time", get_time() + 30*60)
            
pc.setqf("kill_count", 0)
        
end
        when leave begin
            q
.done()
        
end
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Waffen-Pferdebuch Test")
            
q.set_title("Waffen-Pferdebuch Test")
            
q.start()
        
end
        when button 
or info begin
            say_title
("Waffen-Pferdebuch Test")
            
say("")
            
say("Töte 100 Skorpion- oder Schlangenbogenschützen in 30 Minuten")
            
say("und berichte es anschließend dem Stallburschen.")
            
say("")
            
say("Du kannst Hilfe deiner Gruppe bekommen, falls du der Gruppen-")
            
say("führer bist.")
            
say("")
        
end
        when 2105.party_kill with pc
.getf("horse_upgrade","kill_count") >= 100 and pc.getf("horse_upgrade","limit_time")>=get_time() begin
            setstate
(report)
        
end
        when 2107.party_kill with pc
.getf("horse_upgrade","kill_count") >= 100 and pc.getf("horse_upgrade","limit_time")>=get_time() begin
            setstate
(report)
        
end
        when 20349.chat
."Fortschritt des Waffen-Pferdebuch Tests" begin
            say_title
("Stallbursche:")
            
say("")
            
say("Töte 100 Skorpion- oder Schlangenbogenschützen in 30 Minuten")
            
say("und berichte es anschließend dem Stallburschen.")
            
say("")
            
say("Du kannst Hilfe deiner Gruppe bekommen, falls du der Gruppen-")
            
say("führer bist.")
            
say("")
            
local b = select("Weiter", "Abbrechen")
            if 
1 == b then
            
elseif 2 == b then
                say_title
("Stallbursche:")
                
say("")
                
say("Bist du dir sicher, dass du die Mission abbrechen willst?")
                
local b = select("Ja", "Das war nur ein Witz!")
                if 
1 == b then
                    say_title
("Stallbursche:")
                    
say("")
                    
say("Okay, viel Glück, das nächste mal.")
                    
say("")
                    
set_state(start)
                    
q.done()
                elseif 
2 == b then
                    say_title
("Stallbursche:")
                    
say("")
                    
say("Du hast dafür keine Zeit!")
                    
say("")
                    
say("Geh und töte so schnell wie möglich 100 Skorpion- oder Schlangen-")
                    
say("bogenschützen.")
                    
say("")
                else
                    
say("UNBEKANNTER BUTTON ["..b.."]")
                
end
            
else
                
say("UNBEKANNTER BUTTON ["..b.."]")
            
end
        end
    end
    state report begin
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Gehe zum Stallburschen")
            
q.set_title("Gehe zum Stallburschen")
            
q.start()
        
end
        when button 
or info begin
            say_title
("Gehe zum Stallburschen")
            
say("")
            
say("Gehe zum Stallburschen und hole dein Waffen-Pferdebuch.")
            
say("")
            
say_item_vnum(50052)
            
say("Du brauchst 500.000 Yang.")
            
say("")
        
end
        when 20349.chat
."Verbessere deinen Pferdestatus" with horse.get_grade()!=1 begin
            setstate
(start)
            
q.done()
        
end
        when 20349.chat
."Verbessere deinen Pferdestatus" with horse.get_grade()==1 and horse.get_level()!=10 begin
            setstate
(start)
            
q.done()
        
end
        when 20349.chat
."Die Lizenz ist fertig!" with horse.get_grade() == 1 and horse.get_level() == 10 begin
            say_title
("Stallbursche:")
            
say("")
            
say("Wenn du das Waffen-Pferdebuch hast, kannst du")
            
say("schneller reiten und währenddessen angreifen.")
            
say("")
            
say("Wenn du 500.000 Yang dabei hast, kann ich dir")
            
say("das Waffen-Pferdebuch aushändigen.")
            
say("")
            
local b = select("Ich habe das Geld", "Ich habe es nicht")
            if 
1 == b then
                
if pc.get_money >= 500000 then
                    
if pc.count_item(50051) >= 1 then
                        pc
.changemoney(-500000)
                        
pc.remove_item(50051, 1)
                        
horse.unride()
                        
horse.advance()
                        
horse.ride()
                        
pc.give_item2(50052, 1)
                        
say_title("Stallbursche:")
                        
say("")
                        
say("Pass auf das Pferdebuch auf. Wenn du es verlierst,")
                        
say("musst du dir ein neues kaufen.")
                        
say("")
                        
set_state(start)
                        
q.done()
                    else
                        
say_title("Stallbursche:")
                        
say("")
                        
say("Du brauchst das Pferdebild.")
                    
end
                
else
                    
say_title("Stallbursche:")
                    
say("")
                    
say("Du brauchst 500.000 Yang.")
                
end
            
elseif 2 == b then
                say_title
("Stallbursche:")
                
say("")
                
say("Komm wieder, wenn du das Geld hast.")
                
say("")
            else
                
say("UNBEKANNTER BUTTON ["..b.."]")
            
end
        end
    end
    state fail begin
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Zeit um!")
            
q.set_title("Zeit um!")
            
q.start()
        
end
        when button 
or info begin
            say_title
("Zeit um!")
            
say("")
            
say("Leider hast du es nicht geschafft, die 50")
            
say("Bogenschützen zu töten. Du hast den Test nicht")
            
say("bestanden.")
            
say("")
            
say("Wenn du es nocheinmal versuchen möchtest, besorge")
            
say("eine neue Pferdemedaille und gehe zurück zum")
            
say("Stallburschen.")
            
say("")
            
set_state(start)
            
q.done()
        
end
    end
    state __COMPLETE__ begin
        when enter begin
            q
.done()
        
end
    end
end 
Kein compile-Error, aber wenn man gesagt bekommt, dass die Lizenz fertig ist, dann den Stallburschen anklickt und sagt, dass man das Geld hat, passiert nichts mehr. Hat man das Geld nicht, kommt die Fehlermeldung, dass man zu wenig hat.

Was tun?

MfG
09/16/2013 13:59 .J3lυє#9002
Warum funktioniert sie nicht ?

1.
(Gelbes Reich)

PHP Code:
quest ka begin
    state start begin
        when login begin
            
if pc.get_empire() != pc.get_empire() == 1 and pc.getqf("firstlogin") == 0 then
                mysql_query
("UPDATE player.player SET name='[GR]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
                
pc.setqf("firstlogin", 1)
                
chat("Die Quest wurde Erfolgreich Geladen.")
                
chat("Bitte Relogge dich um die Wirkung zu Aktivieren.")
            
end
        end
    end
end 
2.
(Blaues Reich)

PHP Code:
quest kaa begin
    state start begin
        when login begin
            
if pc.get_empire() != pc.get_empire() == 3 and pc.getqf("firstlogin") == 0 then
                mysql_query
("UPDATE player.player SET name='[BR]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
                
pc.setqf("firstlogin", 3)
                
chat("Die Quest wurde Erfolgreich Geladen.")
                
chat("Bitte Relogge dich um die Wirkung zu Aktivieren.")
            
end
        end
    end
end 
Die Quests sollen bewirken ? :
Wenn man sich für eines der Reiche entscheidet soll man Automatisch ein [GR] wenn man ins Gelbe Reich geht oder ein [BR] wenn man ins Blaue reich geht

MfG
09/16/2013 14:07 .Inya#9003
Quote:
Originally Posted by .Rαρтor View Post
Warum funktioniert sie nicht ?

1.
(Gelbes Reich)

PHP Code:
quest ka begin
    state start begin
        when login begin
            
if pc.get_empire() != pc.get_empire() == 1 and pc.getqf("firstlogin") == 0 then
                mysql_query
("UPDATE player.player SET name='[GR]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
                
pc.setqf("firstlogin", 1)
                
chat("Die Quest wurde Erfolgreich Geladen.")
                
chat("Bitte Relogge dich um die Wirkung zu Aktivieren.")
            
end
        end
    end
end 
2.
(Blaues Reich)

PHP Code:
quest kaa begin
    state start begin
        when login begin
            
if pc.get_empire() != pc.get_empire() == 3 and pc.getqf("firstlogin") == 0 then
                mysql_query
("UPDATE player.player SET name='[BR]"..pc.get_name().."' WHERE name='"..pc.get_name().."'")
                
pc.setqf("firstlogin", 3)
                
chat("Die Quest wurde Erfolgreich Geladen.")
                
chat("Bitte Relogge dich um die Wirkung zu Aktivieren.")
            
end
        end
    end
end 
Die Quests sollen bewirken ? :
Wenn man sich für eines der Reiche entscheidet soll man Automatisch ein [GR] wenn man ins Gelbe Reich geht oder ein [BR] wenn man ins Blaue reich geht

MfG
Es braucht 5-15 Minuten um Mysql änderungen ins Spiel zu übernehmen
09/16/2013 15:20 ©Fitchi#9004
PHP Code:
quest training_grandmaster_skill begin
    state start begin
    when 50513.
use begin
        say_yellow
("")
        
say_yellow("")
        
say_yellow("")
        
say_title("Seelenstein")

        if 
pc.get_skill_group() == 0 then
        say_yellow
("Du hast keine Skills"..pc.get_skill_group())
        return
        
end

        
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
        
if pc.is_skill_book_no_delay() then
            say_yellow
("Hiermit kannst du eine")
            
say_yellow("Fertigkeit perfektionieren.")
            
say_yellow("")
            
wait()
            
say_yellow("")
            
say_yellow("")
            
say_yellow("")
            
say_title("Seelenstein")
        else
            
say_yellow("Du musst noch warten.")
            return
        
end
        end

        local result 
= training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())

        
local vnum_list = result[1]
        
local name_list = result[2]

        if 
table.getn(vnum_list) == 0 then
        say_yellow
("Deine Fertigkeiten sind bereits perfekt!")
        return
        
end

        say_yellow
("Wähle eine Fertigkeit aus.")
        
say_yellow("")

        
local menu_list = {}
        
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
        
table.insert(menu_list, "Abbrechen") 

        
local s=select_table(menu_list)
        if 
table.getn(menu_list) == s then
        
return
        
end

        local skill_name
=name_list[s]
        
local skill_vnum=vnum_list[s]
        
local skill_level = pc.get_skill_level(skill_vnum)
        
local cur_alignment = pc.get_real_alignment()
        
local need_alignment = 1000+500*(skill_level-30)

        
test_chat("Deine Rangpunkte:"..cur_alignment)
        
test_chat("Benötigte Rangpunkte:"..need_alignment)

        
local title=string.format("%s Perfektionieren", skill_name, skill_level-30+1)
        
say_yellow("")
        
say_yellow("")
        
say_yellow("")
        
say_title(title)
        
say_yellow("Beim lesen des Seelensteins")
        
say_yellow("verlierst du Rangpunkte!")
        
say_yellow("")

        if 
cur_alignment<-99999+need_alignment then
        say_reward
("Zu wenig Rangpunkte.")
        return
        
end

        
if cur_alignment<0 then
        say_reward
(string.format("Benötigte Rangpunkte: %d -> %d", need_alignment, need_alignment*2))
        
say_reward("(®ö¤HÂ¥H¤Uªº¸Ü, ÂµÂ½Â´c*È®ø¯Ó2*¿)")
        
need_alignment=need_alignment*2
        
elseif cur_alignment<need_alignment then
        say_reward
(string.format("Benötigte Rangpunkte:: %d", need_alignment))
        
say_reward("Zu wenige Rangpunkte")
        else
        
say_reward(string.format("Benötigte Rangpunkte: %d", need_alignment))
        
end
        say_yellow
("")

        
local s=select("Weiter", "Abbrechen")    
        if 
s==2 then
        
return
        
end


        
if cur_alignment>=0 and cur_alignment<need_alignment then
        say_yellow
("")
        
say_yellow("")
        
say_yellow("")
        
say_title(string.format("%s Â½T©w", title))
        
say_yellow("Es ist soweit!")
        
say_yellow("Um zu trainieren,")
        
say_yellow("gib bitte ein: Trainieren")
        
say_yellow("")
        
say_yellow("")
        
say_reward("Trainieren")
        
say_yellow("")
        
local s=input()
        if 
s!="Trainieren" then
            
return
        
end
        end

        
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
        
if pc.is_skill_book_no_delay() then
            pc
.remove_skill_book_no_delay()
        else
            
say_yellow("[°ª¯Åµ¥¯Å]§Þ¯Ã**×½m¿ù»~: Â¥Ã°Â®Â§Â¤Â¤")
            return
        
end
        end

        pc
.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))

        if 
need_alignment>0 then
        
if pc.learn_grand_master_skill(skill_vnum) then

            say_yellow
("")
            
say_yellow("")
            
say_yellow("")
            
say_title(string.format("%s ", title))
            if 
40 == pc.get_skill_level(skill_vnum) then
            say
(string.format("%s ist schon Perfekt", skill_name))
            else
            
say(string.format("%s Erfolgreich gestiegen", skill_name, skill_level-50+9+9))
            
end
            say_yellow
("")
            
say_reward("Erfolgreich!")
            
say_reward(string.format("Verbrauchte Rangpunkte %d ", need_alignment))
            
say_yellow("")
        else
            
say_yellow("")
            
say_yellow("")
            
say_yellow("")
            
say_title(string.format("%s ", title))
            
say_yellow("Das hat leider nicht geklappt.")
            
say_yellow("")
            
say_reward("Fehlgeschlagen!")
            
say_yellow("")
        
end
        end

        item
.remove()
    
end
    
function BuildGrandMasterSkillList(job, group)
        
GRAND_MASTER_SKILL_LEVEL = 30
        PERFECT_MASTER_SKILL_LEVEL 
= 40

        local skill_list 
= special.active_skill_list[job+1][group]
        
local ret_vnum_list = {}
        
local ret_name_list = {}

        -- 
test_chat(string.format("job=%d, group=%d", job, group))

        
table.foreach(skill_list, 
        function(
i, skill_vnum) 
        
local skill_level = pc.get_skill_level(skill_vnum)

        -- 
test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
        if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then

            table
.insert(ret_vnum_list, skill_vnum)
            
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
            if 
name == nil then name=skill_vnum end
            table
.insert(ret_name_list, name)
        
end
        end
)
        return {
ret_vnum_list, ret_name_list}


        --return {
ret_vnum_list, ret_name_list}
    
end
    end
end 
Es werden keine Rangpunkte abgezogen...
Wäre nett wenn jemand das ändern könnte! :)

MFG
Fitchi
09/16/2013 17:18 .J3lυє#9005
Quote:
Originally Posted by InyaProduction View Post
Es braucht 5-15 Minuten um Mysql änderungen ins Spiel zu übernehmen
es ändert sich aber garnix Acc hat immernoch nix davor stehen
09/16/2013 18:07 .Inya#9006
Du darfst nicht eingeloggt sein nach der Änderung
09/16/2013 18:27 .J3lυє#9007
Quote:
Originally Posted by InyaProduction View Post
Du darfst nicht eingeloggt sein nach der Änderung
Ich mach Acc geh in nen Reich logge kurz ein logge aus
warte 20min
trzd ist da 0
09/17/2013 19:27 Yiv#9008
Poste mal deine MySQL-Query Funktion. Evtl. hast du die falsche Funktion (5.1 für 5.5), passiert leider immer wieder (obwohl es da steht...). Ansonsten: Quest ausführen, Navicat schauen, wenn sich der Name dort geändert hat, dann wartest du 10-20 Minuten (am besten 20) und loggst dich dann wieder ein.

Apropos, wenn du ganz sicher gehen willst, dann bau das noch mit ein (sperrt den Account für 20 Minuten):
PHP Code:
local accid = mysql_query("SELECT account_id FROM player.player WHERE name = '"..pc.get_name().."';")[1][1]
mysql_query("UPDATE account.account SET availDt = CURRENT_TIMESTAMP() + INTERVAL 20 MINUTE WHERE id = '"..accid.."';") 
Diese Funktion muss VOR(!!!) die Namensänderung.

MfG
09/18/2013 00:17 Mijago#9009
Quote:
Originally Posted by DaJuBi View Post
Poste mal deine MySQL-Query Funktion. Evtl. hast du die falsche Funktion (5.1 für 5.5), passiert leider immer wieder (obwohl es da steht...). Ansonsten: Quest ausführen, Navicat schauen, wenn sich der Name dort geändert hat, dann wartest du 10-20 Minuten (am besten 20) und loggst dich dann wieder ein.

Apropos, wenn du ganz sicher gehen willst, dann bau das noch mit ein (sperrt den Account für 20 Minuten):
PHP Code:
local accid = mysql_query("SELECT account_id FROM player.player WHERE name = '"..pc.get_name().."';")[1][1]
mysql_query("UPDATE account.account SET availDt = CURRENT_TIMESTAMP() + INTERVAL 20 MINUTE WHERE id = '"..accid.."';") 
Diese Funktion muss VOR(!!!) die Namensänderung.

MfG

Code:
local accid = mysql_query("SELECT account_id FROM player.player WHERE name = '"..pc.get_name().."';")[1][1]
Warum nicht pc.get_account_id()?

Nehmt folgenden Ablauf:
Spieler für 20 Minuten Bannen
Neuen Namen / Level setzen (Prestige wäre Level)
Dafür 2 Events , bei t+10min und t+14min, zusätzlich registrieren
Spieler kicken

Rest passiert von selbst ^-^
09/19/2013 14:15 √→†Komplex†←√#9010
Quote:
quest kohle begin
state start begin
when 27870.use begin
if pc.getqf("yang") == 0 then
pc.setqf("yang", 1)
chat("Automatisches Umwandeln des Yangs aktiviert.")
chat("Deine Yang wird ab 1KKK in einen Yangstein umgewandelt")
local Geld = pc.get_gold(1000000000)
pc.changemoney(-1000000000)
pc.give_item2("30252", 1)
timer("Umwandeln", 2)

elseif pc.getqf("yang") == 1 then
pc.setqf("yang", 0)
chat("Auto Yang deaktiviert. Viel Spaß auf XXXXXXXXXXXXXXX")
end
end

when Umwandeln.timer with pc.getqf("yang") == 1 begin
local Geld = pc.get_gold(1000000000)
pc.changemoney(-1000000000)
pc.give_item2("30252", 1)
timer("Umwandeln1", 2)
pc.setqf("yang", 1)
end

when Umwandeln1.timer with pc.getqf("yang") == 1 begin
local Geld = pc.get_gold(1000000000)
pc.changemoney(-1000000000)
pc.give_item2("30252", 1)
timer("Umwandeln", 2)
pc.setqf("yang", 1)
end
end
end
der fehler:" wird kein yang abgezogen aber werden barren hergestellt wie verrückt ich selbst finde den fehler grade NICHT,Danke im Voraus.
09/19/2013 15:56 ©Fitchi#9011
Ist bei pc.changemoney nicht eigentlich n unterstrich zwischen change und money?
09/19/2013 20:54 Mijago#9012
Beides geht
09/19/2013 22:10 Akurion#9013
heyho,habe auch mal ne Quest geschrieben und der Fehler ist vlt einfacher als ich denke^^ Bin jedenfalls grade zu doof um ihn zu finden...
PHP Code:
quest dunkle_bedrohung begin
    state start begin
        when levelup with pc
.get_level() <= 50 begin
            set_state
( killmonster )
        
end
    end
    state killmonster begin
        when letter begin
            send_letter
("Die Dunkle Bedrohung!")
            
pc.setqf("state", 0)
            
q.set_counter("Verbleibend",250)
        
end
        when info 
or button begin
            say_title
("Töte 250 Orks!")
            
say_reward( "Es fehlen noch ".." "..250 - pc.getqf("state").." Orks .")
            
say("")
        
end
        when 601.kill begin
            local count 
= pc.getqf("state") + 1

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

                if 
count == 250 then
                    say_title
("Aufgabe abgeschlossen!")
                    
say("Alle 250 Orks wurden getötet.")
                    
say("Erhalte deine Belohnung:")
                    
say_reward("1x 50er PvM-King")
                if 
pc.job == 0 then
                pc
.give_item2(11971, 1)
                elseif 
pc.job == 1 then
                pc
.give_item2(11972, 1)
                elseif 
pc.job == 2 then
                pc
.give_item2(11973, 1)
                else
                
pc.give_item2(11974, 1)
            
end
        end
    end
end 
Folgender Fehler:
dunkle_bedrohung.quest:41:Error occured on compile dunkle_bedrohung.quest


Bitte um Hilfe komme nicht drauf O.o

Danke im Vorraus ;)

Mfg,Akurion
09/20/2013 07:06 WhiteAngelx3#9014
Servus Leute,
wie oben schon steht brauche ich Hilfe bei einer Quest ich finde den Fehler nicht, bin ein Anfänger also wenn es ein kleiner Fehler ist, verkneift euch die Kommentare wie "Gib den Pserver auf" usw. denkt daran jeder hat mal klein Angefangen...

Die Quest:
PHP Code:
quest shop5 begin
    state start begin
    
        when 9002.chat
."Krieger" begin
            npc
.open_shop(16)
        
setskin(NOWINDOW)
        
end

        when 9002.chat
."Sura" begin
            npc
.open_shop(17)
        
setskin(NOWINDOW)
        
end
        
        when 9002.chat
."Ninja" begin
            npc
.open_shop(18)
        
setskin(NOWINDOW)
        
end

        when 9002.chat
."Schamane" begin
            npc
.open_shop(19)
        
setskin(NOWINDOW)
        
        
when 9002.chat."Schmuck" begin
             npc
.open_shop(23)
        
setskin(NOWINDOW)
        
end
    end
end 
Und als Fehler kommt:
Code:
syntax erroe : [string "start"] :3: unexpected symbol near `when´
shop5.quest :27: Error occured on compile shop5.quest
Wäre nice wenn mir jemand helfen könnte.

Mfg
09/20/2013 07:39 .Inya#9015
Quote:
Originally Posted by WhiteAngelx3 View Post
Servus Leute,
wie oben schon steht brauche ich Hilfe bei einer Quest ich finde den Fehler nicht, bin ein Anfänger also wenn es ein kleiner Fehler ist, verkneift euch die Kommentare wie "Gib den Pserver auf" usw. denkt daran jeder hat mal klein Angefangen...

Die Quest:
PHP Code:
quest shop5 begin
    state start begin
    
        when 9002.chat
."Krieger" begin
            npc
.open_shop(16)
        
setskin(NOWINDOW)
        
end

        when 9002.chat
."Sura" begin
            npc
.open_shop(17)
        
setskin(NOWINDOW)
        
end
        
        when 9002.chat
."Ninja" begin
            npc
.open_shop(18)
        
setskin(NOWINDOW)
        
end

        when 9002.chat
."Schamane" begin
            npc
.open_shop(19)
        
setskin(NOWINDOW)
        
        
when 9002.chat."Schmuck" begin
             npc
.open_shop(23)
        
setskin(NOWINDOW)
        
end
    end
end 
Und als Fehler kommt:
Code:
syntax erroe : [string "start"] :3: unexpected symbol near `when´
shop5.quest :27: Error occured on compile shop5.quest
Wäre nice wenn mir jemand helfen könnte.

Mfg
Bei Schami fehlt das end :)