[SERVICE] Die Questkontrolle

06/27/2011 12:48 ProtoX>#2671
alles klar chef ;D werd gleich testen :D dein wievielter post nun hier? =D
06/27/2011 12:58 £αšεℜ™#2672
PHP Code:
quest exp_verschenken begin
state start begin
when 30203.
use with pc.get_level() >= 100 begin
say_title
("Du bekommst du ein level up")
say("")
say("Mit diesem Item bekommst du immer 1 level +")
say("Achtung!! Bitte nutze nur du dieses item!!!")
say_reward("Drücke Ich will level up um es zu erhalten!")
say("")
say("")
say_reward("Willst du das level up haben?")
local main_set select("Ich will level up","Abbrechen")
if 
main_set == 2 then
return
end
chat
("Du hast Ein level up bekommen")
pc.give_exp2(240000000)
pc.removeitem(302031)
end
end
end 
was muss ich machen das man statts exp ein level up bekommt ??
06/27/2011 13:19 .Delta#2673
Quote:
Originally Posted by xXKoriXx View Post
PHP Code:
quest exp_verschenken begin
state start begin
when 30203.
use with pc.get_level() >= 100 begin
say_title
("Du bekommst du ein level up")
say("")
say("Mit diesem Item bekommst du immer 1 level +")
say("Achtung!! Bitte nutze nur du dieses item!!!")
say_reward("Drücke Ich will level up um es zu erhalten!")
say("")
say("")
say_reward("Willst du das level up haben?")
local main_set select("Ich will level up","Abbrechen")
if 
main_set == 2 then
return
end
chat
("Du hast Ein level up bekommen")
pc.give_exp2(240000000)
pc.removeitem(302031)
end
end
end 
was muss ich machen das man statts exp ein level up bekommt ??
Eine questfunction wie pc.set_level(x) gibt es meines Wissens nicht.
Das muss glaube ich über die Exp gemacht werden...
06/27/2011 13:29 £αšεℜ™#2674
ok trotzden danke
06/27/2011 15:20 ProtoX>#2675
Quote:
Originally Posted by .Delta View Post
probiers mal so :D
PHP Code:
quest siegel begin
    state start begin
        when 71120.
use with not pc.is_mount() begin
            
if get_time() > pc.getqf("reitboni"then
                pc
.mount(20113,60*60*24*365)       
                
affect.add_collect(apply.ATT_GRADE_BONUS,300,900)
                
affect.add_collect(apply.DEF_GRADE_BONUS,200,900)
                
pc.setqf("reitboni"get_time()+900)
            else
                
pc.mount(20113,60*60*24*365)  
                
chat("Keine Boni erhalten")
            
end
        end 
        when 71120.
use with pc.is_mount() begin
            pc
.unmount()            
        
end
    end
end 
Delta hier kommt core fehler...
06/27/2011 15:35 [SA]Imbattle#2676
tag ich wollte mal nen zweiten teleporter machen warum kann euch egal sein aufjedenfall hab ich einfach den ersten kopiert und dann immer value geändert leider funktioniert das irgendwie nicht ich hab das einfach map_warp2.quest genannt in die hongkong_list reingeschrieben und hab make.sh gemacht und reboot und so aber es klappt einfach nich könnt ihr mir helfen?
06/27/2011 15:48 .Delta#2677
Quote:
Originally Posted by [SA]Imbattle View Post
tag ich wollte mal nen zweiten teleporter machen warum kann euch egal sein aufjedenfall hab ich einfach den ersten kopiert und dann immer value geändert leider funktioniert das irgendwie nicht ich hab das einfach map_warp2.quest genannt in die hongkong_list reingeschrieben und hab make.sh gemacht und reboot und so aber es klappt einfach nich könnt ihr mir helfen?
einfach mal die Quest reinposten wäre von Vorteil ;)
Dann kann ich dir vllt besser helfen
06/27/2011 15:49 .druQz#2678
is das fürn pserver? :P
also eigene quests erstellen?

lg
06/27/2011 15:51 .Delta#2679
Quote:
Originally Posted by .druQz View Post
is das fürn pserver? :P
also eigene quests erstellen?

lg
Die Questkontrolle, ja

Sprich: Du schreibst ne Quest, die quest funktioniert nicht, du findest aber keinen Fehler -> Du postest die Quest hier rein und wartest auf eine Korrektur :)
06/27/2011 15:53 [SA]Imbattle#2680
ok dann schreib ich ma die quest rein :

-- Spezial Teleporter
quest map_warp2 begin
state start begin
when 20083.chat."Möchtest du zu den Geheimen Ländern?" begin
say_title("Spezial Teleporter:")
say("Ich bringe dich zu den Geheimen Ländern")
say("Aber. Pass auf es ist sehr Gefährlich")
say("Erst wenn du ein passendes Level erreicht hast kannst du hier bestehen")
say("Du kannst dich allerdings Gerne hier umsehen.")
say("Es kostet dich nichts")
say("Es geht auf die rechnung von [SA]Imbattle :D")
say("Also möchtest du die geheimen Länder besuchen?")

local main_set = select("Ja","Nein")
if main_set == 2 then
return
end

if pc.get_level() <= 1 then
say_title("Spezial 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 1 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) * 1000

-- ?? ????
if cost < 0 then
cost = 0
end

say_title("Spezial Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))

-- ?? ?? ???? ?? ?? (? ?? 1,2 ??)
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

local guild_map_names = {
"Berg Der Finsternis",
"Berg Der Finsternis",
"Berg Der Finsternis",
}

guild_map_name = guild_map_names[empire]
local empire_castle={
"Farmmap",
"Farmmap",
"Farmmap",
}
empire_castle =empire_castle[empire]
local sub_set = 0
if level < 60 then -- 60?? : ?????, ???, ????, ???
sub_set = select("Berg Der Finsternis", "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
return
end

else -- 61?? : ????, ???, ????, ????
sub_set = select("Berg Der Finsternis", "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Zurück", "Abbrechen") + 5
if sub_set == 9 then -- ??
return
end
if sub_set == 8 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
--- l
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Berg Der Finsternis", "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Abbrechen") + 5
if sub_set == 8 then -- ??
return
end
end
end
end
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 = {
-- 105 map_t2
{
{ 19500, 11000 },
{ 19500, 11000 },
{ 19500, 11000 },
},
-- map_t1
{
{ 38400, 64000 },
{ 38400, 64000 },
{ 38400, 64000 },
},
-- 63 metin2_map_n_desert_01
{
{ 217800, 627200 },
{ 221900, 502700 },
{ 344000, 502500 },
},
-- 61 map_n_snowm_01
{
{ 434200, 290600 },
{ 375200, 174900 },
{ 491800, 173600 },
},
{--empire_castle
{38400, 64000},
{38400, 64000},
{38400, 64000},

} ,
-- 62 metin2_map_n_flame_01
{
{ 599400, 756300 },
{ 597800, 622200 },
{ 730700, 689800 },
},
-- devil_tower
{
{ 590500, 110500 },
{ 590500, 110500 },
{ 590500, 110500 },
},
}
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][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. Have Fun!")
wait()
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])


else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ??
local sub_set2 = 3

--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
if empire==1 then
sub_set2 = select("Yongan","Jayang" , locale.cancel)
elseif empire ==2 then
sub_set2 = select("Joan","Bokjung" , locale.cancel)
elseif empire ==3 then
sub_set2 = select("Pyungmoo","Bakra" , locale.cancel)
end
if sub_set2 != 3 then
if pc.gold < cost then
say_title("Teleporter:")
say("Ich würde dich auch umsonst 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))
else
if sub_set2 == 1 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")
wait()

if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
elseif sub_set2 == 2 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")

wait()
if empire == 1 then
pc.warp(353100,882900)
elseif empire == 2 then
pc.warp(145500,240000)
elseif empire == 3 then
pc.warp(863900,246000)
end
end

pc.changegold(-cost)
end
end
end
end -- end_of_chat
end -- end_of_state
end -- end_of_quest

muss ich vllt was in einstellung oda so ändern?
06/27/2011 15:54 .druQz#2681
Quote:
Originally Posted by .Delta View Post
Die Questkontrolle, ja

Sprich: Du schreibst ne Quest, die quest funktioniert nicht, du findest aber keinen Fehler -> Du postest die Quest hier rein und wartest auf eine Korrektur :)
k ty :)

lg
06/27/2011 16:05 .Delta#2682
ProtoX>:
PHP Code:
quest siegel begin
    state start begin
        when 71120.
use with not pc.is_mount() begin
            
if get_time() > pc.getqf("reitboni"then
                setskin
(NOWINDOW)
                
pc.mount(20113,60*60*24*365)       
                
affect.add_collect(apply.ATT_GRADE_BONUS,300,900)
                
affect.add_collect(apply.DEF_GRADE_BONUS,200,900)
                
pc.setqf("reitboni"get_time()+900)
            else
                
setskin(NOWINDOW)
                
pc.mount(20113,60*60*24*365)  
                
chat("Keine Boni erhalten")
            
end
        end 
        when 71120.
use with pc.is_mount() begin
            setskin
(NOWINDOW)
            
pc.unmount()            
        
end
    end
end 
€ [SA]Imbattle:
also bei mir geht deine quest eigentlich, weiß nicht ob ich jetzt großartig was verändert habe, ich poste sie einfach nochmal rein^^

Hast du denn einen Fehler beim eintragen in der hongkong_list? ( also z.b. unten keine Freizeile?)
Oder einen Fehler beim ausführen der make.sh?
06/27/2011 22:20 £αšεℜ™#2683
PHP Code:
quest loin begin
state start begin
when 71120.
use begin
say_title
("Loewen Siegel")
say("")
say("Hiermit kannst du für 30min")
say("einen Loewen Reiten!")
say_reward("Das Item verschwindet nach der Benutzung!")
say("")
say_reward("Willst du reiten?")
local main_set select("Ich will Reiten","Abbrechen")
if 
main_set == 2 then
return
end
chat
("Du hast nun für 30min einen Loewen als Reittier!")
horse.ride()
pc.mount(201131800)
pc.removeitem(711201)
end
end
end 
€d!t:
geht habe nur was flsch in der local_list stehen
06/28/2011 15:20 Lord Elinoy#2684
PHP Code:
quest spezialporter begin
    state start begin
            when 20092.chat
."spezialporter" begin
            say_title
("Spezialporter:")
            
say("In den Highmap´s ist es sehr gefährlicher!")
            
say("Dort lauern viele Gefahren")
            
say("Möchtest du sie wirklich betreten?")
            
local s select("Grotte 1","Grotte 2","Tal der 1000 Seelen","Abbrechen")
            if 
== 1 then
            say_title
("Spezialporter:")
            
say("Viel Glück in der Grotte 1!")
            
pc.warp(0,1203200)
            else
            
say_title("Spezialporter:")
            
say("Viel Glück in der Grotte 2!")
            
pc.warp(153600,1203200)
            else
            
say_title("Spezialporter:")
            
say("Viel Glück in der Tal der 1000 Seelen!")
            
pc.warp(999900,999900)
            else
                
say("Dann halt nicht")
            
end
            end
        end
    end
end 
wo liegt der fehler danke schonmal im vorraus!
06/28/2011 15:24 .Delta#2685
PHP Code:
quest spezialporter begin
    state start begin
        when 20092.chat
."spezialporter" begin
            say_title
("Spezialporter:")
            
say("In den Highmap´s ist es sehr gefährlicher!")
            
say("Dort lauern viele Gefahren")
            
say("Möchtest du sie wirklich betreten?")
            
local s select("Grotte 1","Grotte 2","Tal der 1000 Seelen","Abbrechen")
            if 
== 1 then
                say_title
("Spezialporter:")
                
say("Viel Glück in der Grotte 1!")
                
wait()
                
pc.warp(0,1203200)
            elseif 
== 2 then
                say_title
("Spezialporter:")
                
say("Viel Glück in der Grotte 2!")
                
wait()
                
pc.warp(153600,1203200)
            elseif 
== 3 then
                say_title
("Spezialporter:")
                
say("Viel Glück in der Tal der 1000 Seelen!")
                
wait()
                
pc.warp(999900,999900)
            elseif 
== 4 then
                say
("Dann halt nicht")
            
end
        end
    end
end 
-ein end zu viel
- If/Elseifreihe