[SERVICE] Die Questkontrolle

10/04/2012 16:27 Shadow乙™#6931
PHP Code:
quest sd3 begin  
    state start begin  
        when 30122.click begin 
                say_title
("".. mob_name(30122) ..":")  
                
say("")  
                
say("Hallo ".. pc.get_name() ..",")  
                
say("")  
                
say("Du möchtest also ins Sd3?"
                
say("Bist du dir auch ganz sicher?"
                
say("Niemand ist bis jetzt lebend zurück gekehrt!"
                
say("Tja, Egal los geh schon!"
                
say("..."
                
local s select("Teleportieren","Schließen")  
            if 
== 2 then  
                
return 
            
end 
                pc
.warp(51200,563200
            
end 
        end  
    end  
end 
Ka warum die Quest nicht funktioniert...

[Only registered and activated users can see links. Click Here To Register...]
10/04/2012 18:13 Ide.#6932
Quote:
Originally Posted by _Christian121_ View Post

Ka warum die Quest nicht funktioniert...
Probier mal so:

10/04/2012 20:39 .Seriously#6933
PHP Code:
quest sd3 begin  
    state start begin  
        when 30122.click begin 
                say_title
("".. mob_name(30122) ..":")  
                
say("")  
                
say("Hallo ".. pc.get_name() ..",")  
                
say("")  
                
say("Du möchtest also ins Sd3?"
                
say("Bist du dir auch ganz sicher?"
                
say("Niemand ist bis jetzt lebend zurück gekehrt!"
                
say("Tja, Egal los geh schon!"
                
say("..."
                
local s select("Teleportieren","Schließen")  
            if 
== 2 then  
                
return 
                
pc.warp(51200,563200
            
end 
        end  
    end  
end 
Probiers so sollte klappen da du nur 4 ends brauchst fürs:if,quest,state,when=4 ends
10/05/2012 09:34 .CHHorny#6934
Immernoch das Problem, das ich keine Bonus EXP bekomme.

Quote:
Originally Posted by [SA]Horny View Post
PHP Code:
quest ringe begin
    state start begin
    
        when 71135.
use with pc.getqf("ringuse") == 1 begin
            cmdchat
("buff1")
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,30,60*60*24*365*60)
            
affect.add_collect(apply.POINT_EXP_DOUBLE_BONUS,20,60*60*24*365*60)
            
affect.add_collect(apply.GOLD_DOUBLE_BONUS,20,60*60*24*365*60)
            
pc.setqf("ringuse",1)
        
end
        when 71135.
use with pc.getqf("ringuse") == 0 begin
            chat
("Der Ring wirkt nun nicht mehr!")
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,30,60*60*24*365*60)
            
affect.remove_collect(apply.EXP_DROP_BONUS,20,60*60*24*365*60)
            
affect.remove_collect(apply.GOLD_DOUBLE_BONUS,20,60*60*24*365*60)            
            
pc.setqf("ringuse",0)
        
end 
        when 71143.
use with pc.getqf("ringuse") == 1 begin
            cmdchat
("buff3")
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,30,60*60*24*365*60)
            
affect.add_collect(apply.POINT_EXP_DOUBLE_BONUS,20,60*60*24*365*60)
            
affect.add_collect(apply.GOLD_DOUBLE_BONUS,20,60*60*24*365*60)
            
pc.setqf("ringuse",1)
        
end
        when 71143.
use with pc.getqf("ringuse") == 0 begin
            chat
("Der Ring wirkt nun nicht mehr!")
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,30,60*60*24*365*60)
            
affect.remove_collect(apply.POINT_EXP_DOUBLE_BONUS,20,60*60*24*365*60)
            
affect.remove_collect(apply.GOLD_DOUBLE_BONUS,20,60*60*24*365*60)            
            
pc.setqf("ringuse",0)
        
end 
        when 71145.
use with pc.getqf("ringuse") == 1 begin
            cmdchat
("buff4")
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,60*60*24*365*60)
            
affect.add_collect(apply.POINT_EXP_DOUBLE_BONUS,20,60*60*24*365*60)
            
affect.add_collect(apply.GOLD_DOUBLE_BONUS,20,60*60*24*365*60)
            
pc.setqf("ringuse",1)
        
end
        when 71145.
use with pc.getqf("ringuse") == 0 begin
            chat
("Der Ring wirkt nun nicht mehr!")
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,50,60*60*24*365*60)
            
affect.remove_collect(apply.EXP_DROP_BONUS,20,60*60*24*365*60)
            
affect.remove_collect(apply.GOLD_DOUBLE_BONUS,20,60*60*24*365*60)            
            
pc.setqf("ringuse",0)
        
end
        when 71148.
use with pc.getqf("ringuse") == 1 begin
            cmdchat
("buff5")
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,30,60*60*24*365*60)
            
affect.add_collect(apply.POINT_EXP_DOUBLE_BONUS,20,60*60*24*365*60)
            
affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60)
            
pc.setqf("ringuse",1)
        
end
        when 71148.
use with pc.getqf("ringuse") == 0 begin
            chat
("Der Ring wirkt nun nicht mehr!")
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,30,60*60*24*365*60)
            
affect.remove_collect(apply.POINT_EXP_DOUBLE_BONUS,20,60*60*24*365*60)
            
affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60)            
            
pc.setqf("ringuse",0)
        
end
        when 71149.
use with pc.getqf("ringuse") == 1 begin
            cmdchat
("buff6")
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,60*60*24*365*60)
            
affect.add_collect(apply.POINT_EXP_DOUBLE_BONUS,30,60*60*24*365*60)
            
affect.add_collect(apply.GOLD_DOUBLE_BONUS,30,60*60*24*365*60)
            
pc.setqf("ringuse",1)
        
end
        when 71149.
use with pc.getqf("ringuse") == 0 begin
            chat
("Der Ring wirkt nun nicht mehr!")
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,50,60*60*24*365*60)
            
affect.remove_collect(apply.POINT_EXP_DOUBLE_BONUS,30,60*60*24*365*60)
            
affect.remove_collect(apply.GOLD_DOUBLE_BONUS,30,60*60*24*365*60)            
            
pc.setqf("ringuse",0)
        
end 
        
    end
end 

Ingame bekomme ich keinen EXP Boni
10/05/2012 11:31 loll444555#6935
Ich könnte echt gut ma deine hilfe gebrauchen xD

PHP Code:
quest meister1 begin
    state start begin
        when login 
or levelup with pc.level >0  begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter 
("Die Handelsmap")
        
end
        say_title
("Handelsmap")
            
local a select("Yes","No")
                if 
== 1 then
            
                        say
(".!..")    
                        
say("Aber sei vorsichtig!")    
                        
wait()
                        
pc.warp(26399002693300)
                        
                    return                        
                    else            
                        
say("Dann halt nicht...")
                    
end
                    
else
                    return
                
end
            end
        end
    end
end 
10/05/2012 12:31 Mijago#6936
PHP Code:
quest meister1 begin
    state start begin
        when letter begin
            send_letter 
("Die Handelsmap")
        
end
        when info 
or button begin
            say_title
("Handelsmap")
            
say("Auf die Handelsmap warpen?")
            if 
select("Ja","Nein") == 1 then
                say
(".!..")
                
say("Aber sei vorsichtig!")
                
wait()
                
pc.warp(26399002693300)
                return
            else
                
say("Dann halt nicht...")
            
end
        end
    end
end 
Kooridinaten musst du selbst schauen ob sie stimmen :)

@Horny: Du versuchst dem User ja auch einen Point als Bonus zu geben.. Das geht über affect.add_collect_point, und dann auch ohne apply.* . In dem Moment würdest du einfach NIL geben, also es passiert nichts (im Schlimmsten Fall ein syserreintrag).
Nimm 43 oder apply.EXP_DOUBLE_BONUS.
10/05/2012 13:34 thespeedyy#6937
help
PHP Code:
when kill with npc.get_race() == 1095 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            d
.kill_all()
            
d.kill_all()
            
d.notice("10. Ebene:")
            
d.notice("- Unglaublich, ihr habt tatsächlich den Blauen Tod bezwungen, als kleine Belohnung")
            
d.notice("- erscheinen alle drei Turmschmiede und ihr dürft natürlich die Beute mitnehmen.")
            
d.spawn_mob(34000601433)
            
d.setf("btkill"1)
            
pc.setqf("boss_killed"1)
            
game.set_event_flag("uppen",0)
        
end
        when 34000.take begin
            local out 
mysql_query("SELECT * FROM player.refine_proto WHERE id = (SELECT refine_set FROM player.item_proto WHERE vnum = "..item.get_vnum()..");")
            if 
type(out) ~= "table" then syschat("Du kannst diesen Gegenstand nicht verbessern."end
            out
.cost[1] = out.cost[1] --Faktor zur erhöhung des Preises
            
if pc.get_gold() < out.cost[1then
                syschat
("Nicht genügend Yang für eine Verbesserung.")
                return    
            
end  
        
if game.get_event_flag("uppen") == 1 then
            syschat
("Du kannst nur 1 mal uppen.")
        elseif 
game.get_event_flag("uppen") == 0 then
            pc
.change_gold(-out.cost[1])
            
item.over9refine()
            
game.set_event_flag("uppen",1)
            
syschat("Die Gegenstandsverbesserung war erfolgreich.")
            
end 
        end 
In der zweiten schreibt er die Sachen nicht in die Datenbank
PHP Code:
quest auktionshaus begin
    state start begin
        when 9010.chat
."Auktions Haus" begin
            say_title
("Auktionsverwalter:")
            
say("")
            
say("Hey du...")
            
say("Wie ich sehe möchtest du in meinem Auktionshaus")
            
say("etwas verkaufen. Wenn du ein Item auf mich")
            
say("ziehst, werde ich es in dein Auktionslager")
            
say("legen. Dieses kannst du im Auktionsshop verwalten.")
            
say("")
        
end
        
        
        when 9010.take with item
.vnum 1 begin
            
            local item_vnum 
item.get_vnum()
            
local inventarcount pc.count_item(item.get_vnum())
            
            
            
say_title("Auktionsverwalter:")
            
say("")
            
say("Du möchtest was in dein Auktionslager ablegen?")
            
say("")
            
say_item("Möchtest du "..item.get_name().." ins Auktionshaus legen?"item.get_vnum(), "")
            
say("")
            
say("")
            
local s select("Ja","Abbrechen")
            
            if 
== 1 then
                local count 
mysql_query("SELECT COUNT(*) FROM player.item WHERE id="..item.get_id().." AND owner_id="..pc.get_player_id().." AND socket0="..item.get_socket(0).." AND socket1="..item.get_socket(1).." AND socket2="..item.get_socket(2).."")
                if 
count[1][1] == "0" then
                    say_title
("Auktionsverwalter:")
                    
say("")
                    
say_reward("Das Item kannst du leider noch nicht verkaufen.")
                    
say_reward("Versuche es in ein Paar Minuten wieder.")
                    
say("")
                    return
                
end
                
                say_title
("Auktionsverwalter:")
                
say("")
                
say_reward("Damit deine Bonis im Item erhalten bleiben")
                
say_reward("dürfen die Bonis vorher eine Stunde lang")
                
say_reward("nicht geändert worden sein!")
                
say_reward("Wenn du dies nicht befolgst gibt es keinen")
                
say_reward("ersatz der Bonis. Also nur verkaufen wenn Du")
                
say_reward("die Bonis eine Stunde lang nicht geändert hast!")
                
say("")
                
wait("")
                
say_title("Auktionsverwalter:")
                
say("")
                
say("Bestätige bitte das du den Text gelesen hast mit:")
                
say("")
                
say_reward("gelesen und verstanden")
                
say("")
                
local agb input()
                
                if 
agb == "gelesen und verstanden" then
                    
                    local inventarcount2 
pc.count_item(item_vnum)
            
                    if 
inventarcount2 inventarcount or inventarcount2 inventarcount then
                        notice_all
("Hopla, da versucht wer beim Auktionsverwalter zu tricksen oO")
                        
notice_all("Hm was machen wir denn dagegen? Ah ich habe eine Idee....")
                        
notice_all(""..pc.get_name().." Steht für 2 Stunden mit -Movespeed beim Auktionsverwalter.")
                        
affect.add_collect(apply.MOV_SPEED, -2000060*60*2)
                        
say_title("Auktionsverwalter:")
                        
say("")
                        
say_reward("Was machst du denn? Du willst mich betrügen?")
                        
say_reward("Ich habe dich leider erwischt und gebe dir")
                        
say_reward("für 2 Stunden einen Movespeed von -20000!")
                        
say("")
                        
say_reward("In der Zeit kannst du drüber nachdenken.....")
                        
say("")
                    else
                        
say_title("Auktionsverwalter:")
                        
say("")
                        
say("Das Item "..item.get_name().."")
                        
say("habe ich dir in dein Auktionslager gelegt.")
                        
say("Du kannst das Item nun im Auktionshaus verwalten.")
                        
say("")
                        
local item_details mysql_query("SELECT type,wearflag FROM player.item_proto WHERE vnum="..item_vnum.." LIMIT 1")
                        
                        
local item_copy mysql_query("SELECT id,count,vnum,socket0,socket1,socket2,socket3,socket4,socket5,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 FROM player.item WHERE id="..item.get_id().." LIMIT 1")
                        
mysql_query("INSERT INTO account.auktionen (count,vnum,socket0,socket1,socket2,socket3,socket4,socket5,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,old_item_id,verkaufer,type,wearflag) VALUES ("..item.get_count()..","..item_copy[i][3]..","..item_copy[i][4]..","..item_copy[i][5]..","..item_copy[i][6]..","..item_copy[i][7]..","..item_copy[i][8]..","..item_copy[i][9]..","..item_copy[i][10]..","..item_copy[i][11]..","..item_copy[i][12]..","..item_copy[i][13]..","..item_copy[i][14]..","..item_copy[i][15]..","..item_copy[i][16]..","..item_copy[i][17]..","..item_copy[i][18]..","..item_copy[i][19]..","..item_copy[i][20]..","..item_copy[i][21]..","..item_copy[i][22]..","..item_copy[i][23]..","..item.get_id()..","..pc.get_account_id()..","..item_details[i][1]..","..item_details[i][2]..")")
                        
item.remove(item.get_id(), item.get_count())
                    
end
                
else
                    
say_title("Auktionsverwalter:")
                    
say("")
                    
say_reward("Du hast die Eingabe leider Falsch bestätigt.")
                    
say("")
                    
say_reward("Versuch es erneut wenn du soweit bist.")
                    
say("")
                
end
            
else
                return
            
end
        end
        
        when 9010.chat
."Yang einzahlen" begin
            say_title
("Auktionsverwalter:")
            
say("")
            
say("Hey du...")
            
say("Um im Auktionshaus mitbieten zu können, benötigst")
            
say("du etwas Yang. Dieses kannst du bei mir ganz")
            
say("bequem einzahlen und auf die tollen Items auf")
            
say("www.New-World2.com im Auktionshaus mitbieten.")
            
say("")
            
say_reward("Möchtest du etwas Yang bei mir einzahlen?")
            
say("")
            
local einzahlen select("Ja","Abbrechen")
            
            if 
einzahlen == 1 then
                say_title
("Auktionsverwalter:")
                
say("")
                
say_reward("Wieviel Yang möchtest du einzahlen?")
                
say("")
                
local einzahlmenge select("10 Milionen Yang","20 Milionen Yang","50 Milionen Yang","100 Milionen Yang","200 Milionen Yang","Abbrechen")
                
                
say_title("Auktionsverwalter:")
                
say("")
                if 
einzahlmenge == 1 then
                    
if pc.gold 10000000 then
                        say_reward
("Du hast leider nicht genug Yang dabei!")
                        
say("")
                        
say_reward("Komm wieder wenn du genug Yang besitzt.")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 10 Milionen Yang")
                        
say("gutgeschrieben. Du kannst jederzeit weiteres")
                        
say("Yang bei mir einzahlen. Ich wünsche dir")
                        
say("viel Spaß beim bieten und ersteigern.")
                        
say("")
                        
pc.changegold(-10000000)
                        
mysql_query("UPDATE account.account SET yang=yang+10000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif einzahlmenge == 2 then
                    
if pc.gold 20000000 then
                        say_reward
("Du hast leider nicht genug Yang dabei!")
                        
say("")
                        
say_reward("Komm wieder wenn du genug Yang besitzt.")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 20 Milionen Yang")
                        
say("gutgeschrieben. Du kannst jederzeit weiteres")
                        
say("Yang bei mir einzahlen. Ich wünsche dir")
                        
say("viel Spaß beim bieten und ersteigern.")
                        
say("")
                        
pc.changegold(-20000000)
                        
mysql_query("UPDATE account.account SET yang=yang+20000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif einzahlmenge == 3 then
                    
if pc.gold 50000000 then
                        say_reward
("Du hast leider nicht genug Yang dabei!")
                        
say("")
                        
say_reward("Komm wieder wenn du genug Yang besitzt.")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 50 Milionen Yang")
                        
say("gutgeschrieben. Du kannst jederzeit weiteres")
                        
say("Yang bei mir einzahlen. Ich wünsche dir")
                        
say("viel Spaß beim bieten und ersteigern.")
                        
say("")
                        
pc.changegold(-50000000)
                        
mysql_query("UPDATE account.account SET yang=yang+50000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif einzahlmenge == 4 then
                    
if pc.gold 100000000 then
                        say_reward
("Du hast leider nicht genug Yang dabei!")
                        
say("")
                        
say_reward("Komm wieder wenn du genug Yang besitzt.")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 100 Milionen Yang")
                        
say("gutgeschrieben. Du kannst jederzeit weiteres")
                        
say("Yang bei mir einzahlen. Ich wünsche dir")
                        
say("viel Spaß beim bieten und ersteigern.")
                        
say("")
                        
pc.changegold(-100000000)
                        
mysql_query("UPDATE account.account SET yang=yang+100000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif einzahlmenge == 5 then
                    
if pc.gold 200000000 then
                        say_reward
("Du hast leider nicht genug Yang dabei!")
                        
say("")
                        
say_reward("Komm wieder wenn du genug Yang besitzt.")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 200 Milionen Yang")
                        
say("gutgeschrieben. Du kannst jederzeit weiteres")
                        
say("Yang bei mir einzahlen. Ich wünsche dir")
                        
say("viel Spaß beim bieten und ersteigern.")
                        
say("")
                        
pc.changegold(-200000000)
                        
mysql_query("UPDATE account.account SET yang=yang+200000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
else
                    return
                
end
            
else
                return
            
end
        end
        
        when 9010.chat
."Kasse zum Auszahlen" begin
            say_title
("Auktionsverwalter:")
            
say("")
            
say("Hey du...")
            
say("Wie ich sehe hast du was versteigert und")
            
say("möchtest dir dein Yang auszahlen lassen?")
            
say("")
            
say_reward("Dein Auktionskontostand liegt bei:")
            
local account_yang mysql_query("SELECT yang FROM account.account WHERE id="..pc.get_account_id().." LIMIT 1")
            
say_reward(""..account_yang[i][1].." Yang")
            
say("")
            
say_reward("Möchtest du dein Yang auszahlen lassen?")
            
say("")
            
local auszahlen select("Ja","Abbrechen")
            
            if 
auszahlen == 1 then
                say_title
("Auktionsverwalter:")
                
say("")
                
say_reward("Wieviel Yang möchtest du auszahlen lassen?")
                
say("")
                
local auszahlmenge select("10 Milionen Yang","20 Milionen Yang","50 Milionen Yang","100 Milionen Yang","200 Milionen Yang","Abbrechen")
                
                
say_title("Auktionsverwalter:")
                
say("")
                if 
auszahlmenge == 1 then
                    local account_yang2 
mysql_query("SELECT yang FROM account.account WHERE id="..pc.get_account_id().." LIMIT 1")
                    
local yang tonumber(account_yang2[i][1])
                    if 
pc.gold >= 1700000000 then
                        say_reward
("Du hast leider zu viel Yang dabei!")
                        
say_reward("Du darfst nicht mehr als 1,7 Miliarden")
                        
say_reward("Yang bei dir haben. Geh dir ein paar")
                        
say_reward("Goldbarren kaufen und versuch es dann")
                        
say_reward("erneut :)")
                        
say("")
                    elseif 
yang 10000000 then
                        say_reward
("Tut mir leid aber dein Auktionskonto")
                        
say_reward("beinhaltet nicht so viel Yang!")
                        
say("")
                        
say_reward("Du hast nur "..yang.." Yang darauf!")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 10 Milionen Yang")
                        
say("abgezogen. Du kannst dir jederzeit weiteres")
                        
say("Yang bei mir auszahlen lassen solange dein")
                        
say("Auktionskonto gedeckt ist.")
                        
say("")
                        
pc.changegold(10000000)
                        
mysql_query("UPDATE account.account SET yang=yang-10000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif auszahlmenge == 2 then
                    local account_yang2 
mysql_query("SELECT yang FROM account.account WHERE id="..pc.get_account_id().." LIMIT 1")
                    
local yang tonumber(account_yang2[i][1])
                    if 
pc.gold >= 1700000000 then
                        say_reward
("Du hast leider zu viel Yang dabei!")
                        
say_reward("Du darfst nicht mehr als 1,7 Miliarden")
                        
say_reward("Yang bei dir haben. Geh dir ein paar")
                        
say_reward("Goldbarren kaufen und versuch es dann")
                        
say_reward("erneut :)")
                        
say("")
                    elseif 
yang 20000000 then
                        say_reward
("Tut mir leid aber dein Auktionskonto")
                        
say_reward("beinhaltet nicht so viel Yang!")
                        
say("")
                        
say_reward("Du hast nur "..yang.." Yang darauf!")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 20 Milionen Yang")
                        
say("abgezogen. Du kannst dir jederzeit weiteres")
                        
say("Yang bei mir auszahlen lassen solange dein")
                        
say("Auktionskonto gedeckt ist.")
                        
say("")
                        
pc.changegold(20000000)
                        
mysql_query("UPDATE account.account SET yang=yang-20000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif auszahlmenge == 3 then
                    local account_yang2 
mysql_query("SELECT yang FROM account.account WHERE id="..pc.get_account_id().." LIMIT 1")
                    
local yang tonumber(account_yang2[i][1])
                    if 
pc.gold >= 1700000000 then
                        say_reward
("Du hast leider zu viel Yang dabei!")
                        
say_reward("Du darfst nicht mehr als 1,7 Miliarden")
                        
say_reward("Yang bei dir haben. Geh dir ein paar")
                        
say_reward("Goldbarren kaufen und versuch es dann")
                        
say_reward("erneut :)")
                        
say("")
                    elseif 
yang 50000000 then
                        say_reward
("Tut mir leid aber dein Auktionskonto")
                        
say_reward("beinhaltet nicht so viel Yang!")
                        
say("")
                        
say_reward("Du hast nur "..yang.." Yang darauf!")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 50 Milionen Yang")
                        
say("abgezogen. Du kannst dir jederzeit weiteres")
                        
say("Yang bei mir auszahlen lassen solange dein")
                        
say("Auktionskonto gedeckt ist.")
                        
say("")
                        
pc.changegold(50000000)
                        
mysql_query("UPDATE account.account SET yang=yang-50000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif auszahlmenge == 4 then
                    local account_yang2 
mysql_query("SELECT yang FROM account.account WHERE id="..pc.get_account_id().." LIMIT 1")
                    
local yang tonumber(account_yang2[i][1])
                    if 
pc.gold >= 1700000000 then
                        say_reward
("Du hast leider zu viel Yang dabei!")
                        
say_reward("Du darfst nicht mehr als 1,7 Miliarden")
                        
say_reward("Yang bei dir haben. Geh dir ein paar")
                        
say_reward("Goldbarren kaufen und versuch es dann")
                        
say_reward("erneut :)")
                        
say("")
                    elseif 
yang 100000000 then
                        say_reward
("Tut mir leid aber dein Auktionskonto")
                        
say_reward("beinhaltet nicht so viel Yang!")
                        
say("")
                        
say_reward("Du hast nur "..yang.." Yang darauf!")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 100 Milionen Yang")
                        
say("abgezogen. Du kannst dir jederzeit weiteres")
                        
say("Yang bei mir auszahlen lassen solange dein")
                        
say("Auktionskonto gedeckt ist.")
                        
say("")
                        
pc.changegold(100000000)
                        
mysql_query("UPDATE account.account SET yang=yang-100000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
elseif auszahlmenge == 5 then
                    local account_yang2 
mysql_query("SELECT yang FROM account.account WHERE id="..pc.get_account_id().." LIMIT 1")
                    
local yang tonumber(account_yang2[i][1])
                    if 
pc.gold >= 1700000000 then
                        say_reward
("Du hast leider zu viel Yang dabei!")
                        
say_reward("Du darfst nicht mehr als 1,7 Miliarden")
                        
say_reward("Yang bei dir haben. Geh dir ein paar")
                        
say_reward("Goldbarren kaufen und versuch es dann")
                        
say_reward("erneut :)")
                        
say("")
                    elseif 
yang 200000000 then
                        say_reward
("Tut mir leid aber dein Auktionskonto")
                        
say_reward("beinhaltet nicht so viel Yang!")
                        
say("")
                        
say_reward("Du hast nur "..yang.." Yang darauf!")
                        
say("")
                    else
                        
say("Deinem Auktionskonto wurden 200 Milionen Yang")
                        
say("abgezogen. Du kannst dir jederzeit weiteres")
                        
say("Yang bei mir auszahlen lassen solange dein")
                        
say("Auktionskonto gedeckt ist.")
                        
say("")
                        
pc.changegold(200000000)
                        
mysql_query("UPDATE account.account SET yang=yang-200000000 WHERE id="..pc.get_account_id().." LIMIT 1")
                    
end
                
else
                    return
                
end
            
else
                return
            
end
        end
        
        
        
    end
end 
10/05/2012 20:51 [Patrick]#6938
Huhu, meine Farmmap_warp.quest funktioniert nicht..
Kann mir jemand bitte helfen? :)


Fehlermeldung; [Only registered and activated users can see links. Click Here To Register...]
10/06/2012 12:20 Ide.#6939
Mahlzeit Com.,

Ich habe eine einfache Quest, die mir aber sehr große Probleme bereitet.
Wenn ich die Quest mit Wildenhunden nutze funktioniert diese einwandfrei.
Aber sobald ich Metinsteine oder ein Boss wie zb. Sensenmann nutzen will klappt es einfach nicht mehr.
Also der Boss wird gespawnt aber nachdem kill, wird diese nicht respawnt. :/


An der Quest kann es ja nicht liegen, vielleicht in der DB was falsch eingestellt? Da verlassen mich meine Kenntnisse. :o

PHP Code:
quest test begin
    state mob_respawn begin
        when login with pc
.get_map_index() == 8 begin
            mob
.spawn(1012452230)
        
end
        when 101.kill begin
            timer
("mobspawn"5)
        
end
        when mobspawn
.timer begin
            mob
.spawn(1012452230)
        
end
    end
end 
10/06/2012 12:44 Fliegex3#6940
quest shops begin
state start begin
when 9010.chat."Uppzeug2-Shop" begin
say_title("Helferin:")
say("")
say("Möchtest du den Uppzeug2-Shop öffnen?")
local s = select("Ja", "Nein")

if s == 1 then
npc.open_shop(77)
else
return
end


end

when 9010.chat."Uppzeug-Shop" begin
say_title("Helferin:")
say("")
say("Möchtest du den Uppzeug-Shop öffnen?")
local s = select("Ja", "Nein")

if s == 1 then
npc.open_shop(88)
else
return
end
end


end


Wenn ich dann Make.py mach kommt immer der fehler :


QUEST : shops
STATE : start
WHEN : 9010.chat ("Uppzeug2-Shop")
WHEN : 9010.chat ("Uppzeug-Shop")
assertion failure : nested==0
shop.quest:32:Error occured on compile shop.quest
10/06/2012 12:58 |★|554#6941
@ Fliegex3

@ Ide.

@ [PATRICK]
10/06/2012 14:00 Ide.#6942
Quote:
Originally Posted by 554 View Post
@ Ide.
Ich werde es sofort testen. Ja, Sensenmann könnte durch aus sein, aber Metinsteine haben wir in keiner Quest. Aber wie gesagt, ich teste es kurz und dann meld ich mich mit einem Feedback. ;)
10/06/2012 14:02 [Patrick]#6943
Quote:
Ich hab kein Bock deine Quest jetzt zu durchforsten, sorry. ^^
Schreib entweder die Fehlermeldung dazu oder du wartest auf jemanden, der Zeit dafür hat, sie durchzulesen.
Kein Problem :awesome:
Ich poste mal die Fehlermeldung rein. ^^

[Only registered and activated users can see links. Click Here To Register...]
10/06/2012 14:14 |★|554#6944
Probiers mal so, musste ganz schön was umstellen:
PHP Code:
quest farmmap_warp begin
    state start begin
        when 20364.chat
."Möchtest du reisen?"  begin
            say_title
("Teleporter:")
            
say("Dies ist eine faszinierende Gegend. Aber")
            
say("passiert hier denn auch mal etwas")
            
say("Außergewöhnliches? Eher wohl nicht. In anderen")
            
say("Teilen des Landes sieht es mitunter ganz anders.")
            
say("aus! Es gibt daher sicher einen intressanten")
            
say("Ort, an den ich dich teleportieren könnte. Da")
            
say("jedoch die Kräfte des Bösen wieder stärker")
            
say("geworden sind, wurden Raum und Zeit ins Chaos")
            
say("gestürzt. Dadurch kann es passieren, dass deine")
            
say("Rückkehr nicht immer augenblicklich funktioniert.")
            
say("Möchtest du dennoch teleportiert werden?")
            
local main_set select("Ja","Nein")
            if 
main_set == 2 then
                
return
            
end            
            
if pc.get_level() <= 100 then
                say_title
("Teleporter:")
                
say("Hm… Mit deinem derzeitigen Level bist du noch")
                
say("zu schwach für die Reise durch Zeit und Raum.")
                
say("Komm wieder, wenn du höher als Level 100 bist.")
                return
            
end
            local map 
pc.get_map_index()
            
local empire pc.get_empire()
            
local level pc.get_level()
            
local cost math.floor(level 5) * 0
            
if cost 0 then
                cost 
0
            end
            say_title
("Teleporter:")
            
say("Wohin möchtest du teleportiert werden?")
            
say_reward(string.format("Das kostet dich %d Yang."cost))
            if 
map == 225 then
                local farm_map_names 
= {
                    
"Große Farmmap",
                    
"Große Farmmap",
                    
"Große Farmmap",
                }
            
end
            sub_set 
select(farm_map_name[1], farm_map_name[2], farm_map_name[3], "Abbrechen")
            if 
sub_set == 4 then 
                
return
            
end
            
if pc.gold cost then
                say
("Du hast nicht genug Geld,")
                
say_title("Teleporter:")
                
say("Ich würde dich auch kostenlos teleportieren,")
                
say("aber ich habe eine große Familie. Um sie zu")
                
say("ernähren, muss ich Geld verdienen.")
                
say_reward(string.format("Es kostet %d Yang."cost))
                return
            
end
            pc
.changegold(-cost)
            
local warp = {
                    -- 
farm_map
                        
485300345600 },
                        { 
347500834500 },
                        { 
234500434300 },
                }
            
test_chat(warp[sub_set][1]..warp[sub_set][2])
            
say_title("Teleporter:")
            
say("Achtung, ich teleportiere dich jetzt. Du wirst")
            
say("an einem gefährlichen Ort landen, also pass auf")
            
say("dich auf. Viel Glück!")
            
wait()
            
pc.warp(warp[sub_set][1], warp[sub_set][2])
        
end
    end
end 
10/06/2012 14:20 [Patrick]#6945
Dankeschön, hat funktioniert. :)