|
You last visited: Today at 21:43
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
04/12/2017, 15:23
|
#12511
|
elite*gold: 0
Join Date: Jan 2015
Posts: 4
Received Thanks: 2
|
Code:
state kill_teh_viecher begin
when letter begin
send_letter("Auftrag von Biologe Chaegirab")
end
when button or info begin
say_title("Notiz der Anführer:")
say("Biologe Chaegirab gab euch den Auftrag")
say("10 Notizen der Anführer zu sammeln!")
say("Das Item bekommst du von den Bossen.")
say("Viel Glück!")
say("")
say_item_vnum(30168)
say_reward("Du hast bis jetzt "..pc.getqf("actual_collect_count").." Stück gesammelt!")
say("")
end
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1094.kill or 1095.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill or 2597.kill begin
local dropChance = number(10,100)
if dropChance == 1 and pc.count_item(30168) < 20-pc.getqf("actual_collect_count") then
pc.give_item2(30168, 1)
end //beendet if-Statement
end //beendet when
end //beendet State kill_teh_viecher
Sprich du hast an der Stelle ein end zuviel.
Code:
state __COMPLETE__ begin
end
Das letzte end beendet die Quest, aber du beendest nie den State-Block, dass ist der andere Punkt den er meinte.
|
|
|
04/20/2017, 14:47
|
#12512
|
elite*gold: 0
Join Date: Apr 2013
Posts: 22
Received Thanks: 13
|
PHP Code:
quest Trump begin state start begin when login with pc.getqf("start") == 0 begin pc.setqf("Guthaben", 0) pc.setqf("start", 1) set_state(affe) end end state affe begin when 20041.chat."Items Umtauschen" begin say_title("Items Umtauschen") say("Hier kannst du deine Uppitems") say("gegen Punkte eintauschen, welche") say("du gegen Itemshop-Coins tauschen kannst.") say("") say("Was möchtest du tun?") local a = select("Guthaben abfragen","Items eintauschen","Punkte eintauschen","Nichts") if a == 1 then say_title("Guthaben") say("Dein Guthaben beträgt "..pc.getqf("Guthaben").." Punkte.") end if a == 2 then say_title("Items eintauschen") say("") say("Welche Art von Item möchtest du eintauschen?") say("") local i = select("Beran-Setaou","Azrael","Metinstein") if i == 1 then say_title("Beran-Setaou") say("") say("Welches Item möchtest du eintauschen?") say("") local o = select("Drachenschuppe","Drachenkralle","Traktat zur Fechtkunst") if o = 1 then say_title("Drachenschuppe") say("") say("Eine Drachenschuppe ist 4 Punkte wert.") say("Wie viele Drachenschuppen möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(71123) >= 1 then pc.remove_item(71123,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+4) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(71123) >= 5 then pc.remove_item(71123,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+20) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(71123) >= 10 then pc.remove_item(71123,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+40) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(71123) >= 50 then pc.remove_item(71123,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+200) else say("Du hast nicht genug Items.") return end end end if o = 2 then say_title("Drachenkralle") say("") say("Eine Drachenkralle ist 4 Punkte wert.") say("Wie viele Drachenkrallen möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(71129) >= 1 then pc.remove_item(71129,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+4) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(71129) >= 5 then pc.remove_item(71129,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+20) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(71129) >= 10 then pc.remove_item(71129,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+40) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(71129) >= 50 then pc.remove_item(71129,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+200) else say("Du hast nicht genug Items.") return end end end if o = 3 then say_title("Traktat zur Fechtkunst") say("") say("Ein Traktat zur Fechtkunst ist 2 Punkte wert.") say("Wie viele Traktate zur Fechtkunst möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(70031) >= 1 then pc.remove_item(70031,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+2) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(70031) >= 5 then pc.remove_item(70031,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+10) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(70031) >= 10 then pc.remove_item(70031,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+20) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(70031) >= 50 then pc.remove_item(70031,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+100) else say("Du hast nicht genug Items.") return end end end end if i == 2 then say_title("Azrael") say("") say("Welches Item möchtest du eintauschen?") say("") local o = select("Gegenstand Verhexen","gegenstand Verzaubern","Azraels Herz") if o = 1 then say_title("Gegenstand Verhexen") say("") say("Ein Gegenstand Verhexen ist 1 Punkt wert.") say("Wie viele Gegenstand Verhexen möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(71052) >= 1 then pc.remove_item(71052,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+1) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(71052) >= 5 then pc.remove_item(71052,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+5) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(71052) >= 10 then pc.remove_item(71052,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+10) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(71052) >= 50 then pc.remove_item(71052,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+50) else say("Du hast nicht genug Items.") return end end end if o = 2 then say_title("Gegenstand Segnen") say("") say("Ein Gegenstand Segnen ist 1 Punkt wert.") say("Wie viele Gegenstand Segnen möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(71051) >= 1 then pc.remove_item(71051,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+1) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(71051) >= 5 then pc.remove_item(71051,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+5) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(71051) >= 10 then pc.remove_item(71051,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+10) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(71051) >= 50 then pc.remove_item(71051,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+50) else say("Du hast nicht genug Items.") return end end end if o = 3 then say_title("Azraels Herz") say("") say("Ein Azraels Herz ist 4 Punkte wert.") say("Wie viele Azraels Herzen möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(70022) >= 1 then pc.remove_item(70022,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+4) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(70022) >= 5 then pc.remove_item(70022,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+20) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(70022) >= 10 then pc.remove_item(70022,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+40) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(70022) >= 50 then pc.remove_item(70022,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+200) else say("Du hast nicht genug Items.") return end end end end if i == 3 then say_title("Metinsteine") say("") say("Welches Item möchtest du eintauschen?") say("") local o = select("Blaudrachenstahl","Rotdrachenstahl","Wasserstein","Tränen Baljit-Elvedins") if o = 1 then say_title("Blaudrachenstahl") say("") say("Ein Blaudrachenstahl ist 1 Punkt wert.") say("Wie viel Blaudrachenstahl möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(30509) >= 1 then pc.remove_item(30509,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+1) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(30509) >= 5 then pc.remove_item(30509,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+5) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(30509) >= 10 then pc.remove_item(30509,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+10) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(30509) >= 50 then pc.remove_item(30509,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+50) else say("Du hast nicht genug Items.") return end end end if o = 2 then say_title("Rotdrachenstahl") say("") say("Ein Rotdrachenstahl ist 2 Punkt wert.") say("Wie viel Rotdrachenstahl möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(30512) >= 1 then pc.remove_item(30512,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+2) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(30512) >= 5 then pc.remove_item(30512,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+10) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(30512) >= 10 then pc.remove_item(30512,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+20) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(30512) >= 50 then pc.remove_item(30512,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+100) else say("Du hast nicht genug Items.") return end end end if o = 3 then say_title("Wasserstein") say("") say("Ein Wasserstein ist 3 Punkte wert.") say("Wie viele Wassersteine möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(90005) >= 1 then pc.remove_item(90005,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+3) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(90005) >= 5 then pc.remove_item(90005,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+15) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(90005) >= 10 then pc.remove_item(90005,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+30) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(90005) >= 50 then pc.remove_item(90005,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+150) else say("Du hast nicht genug Items.") return end end end if o = 4 then say_title("Tränen Baljit-Elvedins") say("") say("Eine Tränen Baljit-Elvedins ist 1 Punkt wert.") say("Wie viele Tränen Baljit-Elvedins möchtest du eintauschen?") say("") local p = select("1","5","10","50") if p == 1 then if pc.count_item(30189) >= 1 then pc.remove_item(30189,1) pc.setqf("Guthaben", pc.getqf("Guthaben")+1) else say("Du hast nicht genug Items.") return end end if p == 2 then if pc.count_item(30189) >= 5 then pc.remove_item(30189,5) pc.setqf("Guthaben", pc.getqf("Guthaben")+5) else say("Du hast nicht genug Items.") return end end if p == 3 then if pc.count_item(30189) >= 10 then pc.remove_item(30189,10) pc.setqf("Guthaben", pc.getqf("Guthaben")+10) else say("Du hast nicht genug Items.") return end end if p == 4 then if pc.count_item(30189) >= 50 then pc.remove_item(30189,50) pc.setqf("Guthaben", pc.getqf("Guthaben")+50) else say("Du hast nicht genug Items.") return end end end end end if a == 3 then say_title("Punkte eintauschen") say("") say("Hier kannst du deine Punkte gegen") say("Coins tauschen. Für 10 Punkte") say("bekommst du 100 Coins.") say("") say("Wie viele Punkte möchtest du eintauschen?") say("") local y = select("10","50","100","500") if y == 1 then if pc.getqf("Guthaben") >= 10 then pc.setqf("Guthaben"), pc.getqf("Guthaben")-10) pc.give_item2(80014, 1) else say("Du hast nicht genug Punkte") return end if y == 2 then if pc.getqf("Guthaben") >= 50 then pc.setqf("Guthaben"), pc.getqf("Guthaben")-50) pc.give_item2(80015, 1) else say("Du hast nicht genug Punkte") return end if y == 3 then if pc.getqf("Guthaben") >= 100 then pc.setqf("Guthaben"), pc.getqf("Guthaben")-100) pc.give_item2(80016, 1) else say("Du hast nicht genug Punkte") return end if y == 4 then if pc.getqf("Guthaben") >= 500 then pc.setqf("Guthaben"), pc.getqf("Guthaben")-500) pc.give_item2(80016, 1) pc.give_item2(80016, 1) pc.give_item2(80016, 1) pc.give_item2(80016, 1) pc.give_item2(80016, 1) else say("Du hast nicht genug Punkte") return end end end if a == 4 then return end end end end
Fehlermeldung:
Error occured on compile Runs/Trump.quest
|
|
|
04/23/2017, 17:50
|
#12513
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
Quote:
Originally Posted by Mytho2
PHP Code:
quest Trump begin
state start begin
when login with pc.getqf("start") == 0 begin
pc.setqf("Guthaben", 0)
pc.setqf("start", 1)
set_state(affe)
end
end
state affe begin
when 20041.chat."Items Umtauschen" begin
say_title("Items Umtauschen")
say("Hier kannst du deine Uppitems")
say("gegen Punkte eintauschen, welche")
say("du gegen Itemshop-Coins tauschen kannst.")
say("")
say("Was möchtest du tun?")
local a = select("Guthaben abfragen","Items eintauschen","Punkte eintauschen","Nichts")
if a == 1 then
say_title("Guthaben")
say("Dein Guthaben beträgt "..pc.getqf("Guthaben").." Punkte.")
end
if a == 2 then
say_title("Items eintauschen")
say("")
say("Welche Art von Item möchtest du eintauschen?")
say("")
local i = select("Beran-Setaou","Azrael","Metinstein")
if i == 1 then
say_title("Beran-Setaou")
say("")
say("Welches Item möchtest du eintauschen?")
say("")
local o = select("Drachenschuppe","Drachenkralle","Traktat zur Fechtkunst")
if o = 1 then
say_title("Drachenschuppe")
say("")
say("Eine Drachenschuppe ist 4 Punkte wert.")
say("Wie viele Drachenschuppen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71123) >= 1 then
pc.remove_item(71123,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+4)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71123) >= 5 then
pc.remove_item(71123,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71123) >= 10 then
pc.remove_item(71123,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+40)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71123) >= 50 then
pc.remove_item(71123,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+200)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 2 then
say_title("Drachenkralle")
say("")
say("Eine Drachenkralle ist 4 Punkte wert.")
say("Wie viele Drachenkrallen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71129) >= 1 then
pc.remove_item(71129,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+4)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71129) >= 5 then
pc.remove_item(71129,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71129) >= 10 then
pc.remove_item(71129,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+40)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71129) >= 50 then
pc.remove_item(71129,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+200)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 3 then
say_title("Traktat zur Fechtkunst")
say("")
say("Ein Traktat zur Fechtkunst ist 2 Punkte wert.")
say("Wie viele Traktate zur Fechtkunst möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(70031) >= 1 then
pc.remove_item(70031,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+2)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(70031) >= 5 then
pc.remove_item(70031,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(70031) >= 10 then
pc.remove_item(70031,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(70031) >= 50 then
pc.remove_item(70031,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+100)
else
say("Du hast nicht genug Items.")
return
end
end
end
end
if i == 2 then
say_title("Azrael")
say("")
say("Welches Item möchtest du eintauschen?")
say("")
local o = select("Gegenstand Verhexen","gegenstand Verzaubern","Azraels Herz")
if o = 1 then
say_title("Gegenstand Verhexen")
say("")
say("Ein Gegenstand Verhexen ist 1 Punkt wert.")
say("Wie viele Gegenstand Verhexen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71052) >= 1 then
pc.remove_item(71052,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71052) >= 5 then
pc.remove_item(71052,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71052) >= 10 then
pc.remove_item(71052,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71052) >= 50 then
pc.remove_item(71052,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 2 then
say_title("Gegenstand Segnen")
say("")
say("Ein Gegenstand Segnen ist 1 Punkt wert.")
say("Wie viele Gegenstand Segnen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71051) >= 1 then
pc.remove_item(71051,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71051) >= 5 then
pc.remove_item(71051,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71051) >= 10 then
pc.remove_item(71051,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71051) >= 50 then
pc.remove_item(71051,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 3 then
say_title("Azraels Herz")
say("")
say("Ein Azraels Herz ist 4 Punkte wert.")
say("Wie viele Azraels Herzen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(70022) >= 1 then
pc.remove_item(70022,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+4)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(70022) >= 5 then
pc.remove_item(70022,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(70022) >= 10 then
pc.remove_item(70022,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+40)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(70022) >= 50 then
pc.remove_item(70022,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+200)
else
say("Du hast nicht genug Items.")
return
end
end
end
end
if i == 3 then
say_title("Metinsteine")
say("")
say("Welches Item möchtest du eintauschen?")
say("")
local o = select("Blaudrachenstahl","Rotdrachenstahl","Wasserstein","Tränen Baljit-Elvedins")
if o = 1 then
say_title("Blaudrachenstahl")
say("")
say("Ein Blaudrachenstahl ist 1 Punkt wert.")
say("Wie viel Blaudrachenstahl möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(30509) >= 1 then
pc.remove_item(30509,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(30509) >= 5 then
pc.remove_item(30509,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(30509) >= 10 then
pc.remove_item(30509,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(30509) >= 50 then
pc.remove_item(30509,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 2 then
say_title("Rotdrachenstahl")
say("")
say("Ein Rotdrachenstahl ist 2 Punkt wert.")
say("Wie viel Rotdrachenstahl möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(30512) >= 1 then
pc.remove_item(30512,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+2)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(30512) >= 5 then
pc.remove_item(30512,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(30512) >= 10 then
pc.remove_item(30512,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(30512) >= 50 then
pc.remove_item(30512,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+100)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 3 then
say_title("Wasserstein")
say("")
say("Ein Wasserstein ist 3 Punkte wert.")
say("Wie viele Wassersteine möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(90005) >= 1 then
pc.remove_item(90005,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+3)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(90005) >= 5 then
pc.remove_item(90005,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+15)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(90005) >= 10 then
pc.remove_item(90005,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+30)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(90005) >= 50 then
pc.remove_item(90005,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+150)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 4 then
say_title("Tränen Baljit-Elvedins")
say("")
say("Eine Tränen Baljit-Elvedins ist 1 Punkt wert.")
say("Wie viele Tränen Baljit-Elvedins möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(30189) >= 1 then
pc.remove_item(30189,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(30189) >= 5 then
pc.remove_item(30189,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(30189) >= 10 then
pc.remove_item(30189,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(30189) >= 50 then
pc.remove_item(30189,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
end
end
if a == 3 then
say_title("Punkte eintauschen")
say("")
say("Hier kannst du deine Punkte gegen")
say("Coins tauschen. Für 10 Punkte")
say("bekommst du 100 Coins.")
say("")
say("Wie viele Punkte möchtest du eintauschen?")
say("")
local y = select("10","50","100","500")
if y == 1 then
if pc.getqf("Guthaben") >= 10 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-10)
pc.give_item2(80014, 1)
else
say("Du hast nicht genug Punkte")
return
end
if y == 2 then
if pc.getqf("Guthaben") >= 50 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-50)
pc.give_item2(80015, 1)
else
say("Du hast nicht genug Punkte")
return
end
if y == 3 then
if pc.getqf("Guthaben") >= 100 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-100)
pc.give_item2(80016, 1)
else
say("Du hast nicht genug Punkte")
return
end
if y == 4 then
if pc.getqf("Guthaben") >= 500 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-500)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
else
say("Du hast nicht genug Punkte")
return
end
end
end
if a == 4 then
return
end
end
end
end
Fehlermeldung:
Error occured on compile Runs/Trump.quest
|
Sorry, muss zugeben hast dir mühe gegeben aber das so extrem lang... vefasse dich mal mit tables.. sieht schicker aus und macht den code theoretisch gleich 85% kleiner...
mfg Risan
|
|
|
04/23/2017, 20:45
|
#12514
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Mytho2
PHP Code:
quest Trump begin
state start begin
when login with pc.getqf("start") == 0 begin
pc.setqf("Guthaben", 0)
pc.setqf("start", 1)
set_state(affe)
end
end
state affe begin
when 20041.chat."Items Umtauschen" begin
say_title("Items Umtauschen")
say("Hier kannst du deine Uppitems")
say("gegen Punkte eintauschen, welche")
say("du gegen Itemshop-Coins tauschen kannst.")
say("")
say("Was möchtest du tun?")
local a = select("Guthaben abfragen","Items eintauschen","Punkte eintauschen","Nichts")
if a == 1 then
say_title("Guthaben")
say("Dein Guthaben beträgt "..pc.getqf("Guthaben").." Punkte.")
end
if a == 2 then
say_title("Items eintauschen")
say("")
say("Welche Art von Item möchtest du eintauschen?")
say("")
local i = select("Beran-Setaou","Azrael","Metinstein")
if i == 1 then
say_title("Beran-Setaou")
say("")
say("Welches Item möchtest du eintauschen?")
say("")
local o = select("Drachenschuppe","Drachenkralle","Traktat zur Fechtkunst")
if o = 1 then
say_title("Drachenschuppe")
say("")
say("Eine Drachenschuppe ist 4 Punkte wert.")
say("Wie viele Drachenschuppen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71123) >= 1 then
pc.remove_item(71123,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+4)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71123) >= 5 then
pc.remove_item(71123,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71123) >= 10 then
pc.remove_item(71123,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+40)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71123) >= 50 then
pc.remove_item(71123,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+200)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 2 then
say_title("Drachenkralle")
say("")
say("Eine Drachenkralle ist 4 Punkte wert.")
say("Wie viele Drachenkrallen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71129) >= 1 then
pc.remove_item(71129,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+4)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71129) >= 5 then
pc.remove_item(71129,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71129) >= 10 then
pc.remove_item(71129,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+40)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71129) >= 50 then
pc.remove_item(71129,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+200)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 3 then
say_title("Traktat zur Fechtkunst")
say("")
say("Ein Traktat zur Fechtkunst ist 2 Punkte wert.")
say("Wie viele Traktate zur Fechtkunst möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(70031) >= 1 then
pc.remove_item(70031,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+2)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(70031) >= 5 then
pc.remove_item(70031,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(70031) >= 10 then
pc.remove_item(70031,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(70031) >= 50 then
pc.remove_item(70031,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+100)
else
say("Du hast nicht genug Items.")
return
end
end
end
end
if i == 2 then
say_title("Azrael")
say("")
say("Welches Item möchtest du eintauschen?")
say("")
local o = select("Gegenstand Verhexen","gegenstand Verzaubern","Azraels Herz")
if o = 1 then
say_title("Gegenstand Verhexen")
say("")
say("Ein Gegenstand Verhexen ist 1 Punkt wert.")
say("Wie viele Gegenstand Verhexen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71052) >= 1 then
pc.remove_item(71052,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71052) >= 5 then
pc.remove_item(71052,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71052) >= 10 then
pc.remove_item(71052,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71052) >= 50 then
pc.remove_item(71052,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 2 then
say_title("Gegenstand Segnen")
say("")
say("Ein Gegenstand Segnen ist 1 Punkt wert.")
say("Wie viele Gegenstand Segnen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(71051) >= 1 then
pc.remove_item(71051,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(71051) >= 5 then
pc.remove_item(71051,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(71051) >= 10 then
pc.remove_item(71051,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(71051) >= 50 then
pc.remove_item(71051,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 3 then
say_title("Azraels Herz")
say("")
say("Ein Azraels Herz ist 4 Punkte wert.")
say("Wie viele Azraels Herzen möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(70022) >= 1 then
pc.remove_item(70022,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+4)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(70022) >= 5 then
pc.remove_item(70022,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(70022) >= 10 then
pc.remove_item(70022,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+40)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(70022) >= 50 then
pc.remove_item(70022,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+200)
else
say("Du hast nicht genug Items.")
return
end
end
end
end
if i == 3 then
say_title("Metinsteine")
say("")
say("Welches Item möchtest du eintauschen?")
say("")
local o = select("Blaudrachenstahl","Rotdrachenstahl","Wasserstein","Tränen Baljit-Elvedins")
if o = 1 then
say_title("Blaudrachenstahl")
say("")
say("Ein Blaudrachenstahl ist 1 Punkt wert.")
say("Wie viel Blaudrachenstahl möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(30509) >= 1 then
pc.remove_item(30509,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(30509) >= 5 then
pc.remove_item(30509,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(30509) >= 10 then
pc.remove_item(30509,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(30509) >= 50 then
pc.remove_item(30509,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 2 then
say_title("Rotdrachenstahl")
say("")
say("Ein Rotdrachenstahl ist 2 Punkt wert.")
say("Wie viel Rotdrachenstahl möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(30512) >= 1 then
pc.remove_item(30512,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+2)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(30512) >= 5 then
pc.remove_item(30512,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(30512) >= 10 then
pc.remove_item(30512,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+20)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(30512) >= 50 then
pc.remove_item(30512,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+100)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 3 then
say_title("Wasserstein")
say("")
say("Ein Wasserstein ist 3 Punkte wert.")
say("Wie viele Wassersteine möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(90005) >= 1 then
pc.remove_item(90005,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+3)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(90005) >= 5 then
pc.remove_item(90005,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+15)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(90005) >= 10 then
pc.remove_item(90005,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+30)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(90005) >= 50 then
pc.remove_item(90005,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+150)
else
say("Du hast nicht genug Items.")
return
end
end
end
if o = 4 then
say_title("Tränen Baljit-Elvedins")
say("")
say("Eine Tränen Baljit-Elvedins ist 1 Punkt wert.")
say("Wie viele Tränen Baljit-Elvedins möchtest du eintauschen?")
say("")
local p = select("1","5","10","50")
if p == 1 then
if pc.count_item(30189) >= 1 then
pc.remove_item(30189,1)
pc.setqf("Guthaben", pc.getqf("Guthaben")+1)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 2 then
if pc.count_item(30189) >= 5 then
pc.remove_item(30189,5)
pc.setqf("Guthaben", pc.getqf("Guthaben")+5)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 3 then
if pc.count_item(30189) >= 10 then
pc.remove_item(30189,10)
pc.setqf("Guthaben", pc.getqf("Guthaben")+10)
else
say("Du hast nicht genug Items.")
return
end
end
if p == 4 then
if pc.count_item(30189) >= 50 then
pc.remove_item(30189,50)
pc.setqf("Guthaben", pc.getqf("Guthaben")+50)
else
say("Du hast nicht genug Items.")
return
end
end
end
end
end
if a == 3 then
say_title("Punkte eintauschen")
say("")
say("Hier kannst du deine Punkte gegen")
say("Coins tauschen. Für 10 Punkte")
say("bekommst du 100 Coins.")
say("")
say("Wie viele Punkte möchtest du eintauschen?")
say("")
local y = select("10","50","100","500")
if y == 1 then
if pc.getqf("Guthaben") >= 10 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-10)
pc.give_item2(80014, 1)
else
say("Du hast nicht genug Punkte")
return
end
if y == 2 then
if pc.getqf("Guthaben") >= 50 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-50)
pc.give_item2(80015, 1)
else
say("Du hast nicht genug Punkte")
return
end
if y == 3 then
if pc.getqf("Guthaben") >= 100 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-100)
pc.give_item2(80016, 1)
else
say("Du hast nicht genug Punkte")
return
end
if y == 4 then
if pc.getqf("Guthaben") >= 500 then
pc.setqf("Guthaben"), pc.getqf("Guthaben")-500)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
pc.give_item2(80016, 1)
else
say("Du hast nicht genug Punkte")
return
end
end
end
if a == 4 then
return
end
end
end
end
Fehlermeldung:
Error occured on compile Runs/Trump.quest
|
Ich stimme Risan zu. Du solltest immer vermeiden Code doppelt zu schreiben. Das birgt Raum für Fehler und dadurch unerwünschtes Verhalten der Quest und ist natürlich auch deutlich schwerer anzupassen.
Da du die Quest selbst geschrieben hast gehe ich davon aus, dass du mein Beispiel relativ eigenständig erweitern kannst, falls nicht melde dich einfach hier im Thread.
Die erste state ist nicht nötig, eine Questflag, die noch nicht explizit gesetzt wurde, gibt beim Anfordern des Wertes 0 zurück. Diesen Wert also Anfangs mithilfe einer anderen State auf 0 zu setzen ist nicht nötig.
Das Eintauschen von Punkten zu Coins habe ich noch nicht umgesetzt, daran kannst du dich ja mal versuchen
Code:
quest item_exchange begin
state start begin
function getSettings()
if not item_exchange.settings then
item_exchange.settings = {
ITEM_EXCHANGE = {
{
name = "Beran-Setaou",
items = {
{vnum = 71123, value = 4},
{vnum = 71129, value = 4},
{vnum = 70031, value = 2},
}
},
{
name = "Azrael",
items = {
{vnum = 71123, value = 4},
{vnum = 71129, value = 4},
{vnum = 70031, value = 2},
}
},
{
name = "Metinstein",
items = {
{vnum = 71123, value = 4},
{vnum = 71129, value = 4},
{vnum = 70031, value = 2},
}
},
},
}
end
return item_exchange.settings
end
when 20041.chat."Items Umtauschen" begin
say_title("Items Umtauschen")
say("Hier kannst du deine Uppitems")
say("gegen Punkte eintauschen, welche")
say("du gegen Itemshop-Coins tauschen kannst.")
say("")
say("Was möchtest du tun?")
local target = ({item_exchange.showShowCreditMenu, item_exchange.showExchangeItemMenu, item_exchange.showExchangeCreditMenu})[select("Guthaben abfragen", "Items eintauschen", "Punkte eintauschen", "Nichts")]
if not target then return end
local settings = item_exchange.getSettings()
target(settings)
end
function showExchangeItemMenu(settings)
item_exchange.showExchangeItemCategories({name = "Hauptmenü", categories = settings.ITEM_EXCHANGE})
end
function showExchangeItemCategories(category)
say_title("Items eintauschen")
say("Wähle eine Kategorie")
local categoryNames = {}
for _, subCategory in ipairs(category.categories) do
table.insert(categoryNames, subCategory.name)
end
table.insert(categoryNames, "Abbrechen")
local selectedCategory = category.categories[select_table(categoryNames)]
if not selectedCategory then return end
if selectedCategory.items then
item_exchange.showExchangeItemCategoryItems(selectedCategory)
elseif selectedCategory.categories then
item_exchange.showExchangeItemCategories(selectedCategory)
else
say("Diese Kategorie enthält weder Items noch Unterkategorien.")
end
end
function showExchangeItemCategoryItems(category)
say_title("Items eintauschen")
say(string.format("Wähle ein Item aus der Kategorie %s", category.name))
local itemNames = {}
for _, item in ipairs(category.items) do
table.insert(itemNames, item_name(item.vnum))
end
table.insert(itemNames, "Abbrechen")
local selectedItem = category.items[select_table(itemNames)]
if not selectedItem then return end
local itemName = item_name(selectedItem.vnum)
say_title(itemName)
say("")
say(string.format("Ein %s ist %d Punkte wert.", itemName, selectedItem.value))
say(string.format("Wie viele %s möchtest du eintauschen?", itemName))
say("Die Eingabe muss zwischen 1 und 200 liegen.")
local exchangeCount = tonumber(input())
if not exchangeCount or exchangeCount < 1 or exchangeCount > 200 then
say("Ungültige Eingabe")
else
local realExchangeCount = math.min(exchangeCount, pc.count_item(selectedItem.vnum))
if realExchangeCount >= 1 then
pc.remove_item(selectedItem.vnum, realExchangeCount)
item_exchange.addToCredit(selectedItem.value * realExchangeCount)
else
say("Du besitzt das benötigte Item nicht.")
end
end
end
function showExchangeCreditMenu(settings)
say_title("Guthaben eintauschen")
say("Noch nicht umgesetzt")
end
function showShowCreditMenu(settings)
say_title("Guthaben")
say(string.format("Dein Guthaben beträgt %d Punkte.", item_exchange.getCredit()))
end
function getCredit()
return pc.getqf("credit")
end
function addToCredit(value)
pc.setqf("credit", item_exchange.getCredit() + value)
end
function removeFromCredit(value)
pc.setqf("credit", item_exchange.getCredit() - value)
end
end
end
|
|
|
05/01/2017, 10:16
|
#12515
|
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
|
Könnte mir bitte einmal über die Quest schauen?
Bekomme dort einen compile Fehler in der 6. Zeile:
PHP Code:
quest warpring begin
state start begin
when letter begin
cmdchat("OpenTP "..q.getcurrentquestindex())
end
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local empire = pc.get_empire()
local selectmap = select("Map1","Wüste","Abbrechen")
if selectmap == 3 then
return
elseif selectmap == 2 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local wuestenselect = select("Anfang","Abbrechen")
if wuestenselect == 2 then
return
elseif wuestenselect == 1 then
pc.warp(290500,5700)
end
elseif selectmap == 1 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map1select == 4 then
return
elseif map1select == 1 then
pc.warp(474300, 954800)
elseif map1select == 2 then
pc.warp(63800, 166400)
elseif map1select == 3 then
pc.warp(959900, 269200)
end
end
end
end
|
|
|
05/02/2017, 14:45
|
#12516
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
Du musst eine When Bedingung setzen...
PHP Code:
quest warpring begin state start begin when letter begin cmdchat("OpenTP "..q.getcurrentquestindex()) end --[[ Hier muss eine Bedingung stehen. (When UseIem oder chat vom npc) beispiel: ]] when 9010.chat."Warpring" begin say_title("Warpring") say("Wohin möchtest du Teleportiert werden?") local empire = pc.get_empire() local selectmap = select("Map1","Wüste","Abbrechen") if selectmap == 3 then return elseif selectmap == 2 then say_title("Warpring") say("Wohin möchtest du Teleportiert werden?") local wuestenselect = select("Anfang","Abbrechen") if wuestenselect == 2 then return elseif wuestenselect == 1 then pc.warp(290500,5700) end elseif selectmap == 1 then say_title("Warpring") say("Wohin möchtest du Teleportiert werden?") local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen") if map1select == 4 then return elseif map1select == 1 then pc.warp(474300, 954800) elseif map1select == 2 then pc.warp(63800, 166400) elseif map1select == 3 then pc.warp(959900, 269200) end end end end end
|
|
|
05/02/2017, 15:45
|
#12517
|
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
|
Quote:
Originally Posted by .Risan.
Du musst eine When Bedingung setzen...
PHP Code:
quest warpring begin
state start begin
when letter begin
cmdchat("OpenTP "..q.getcurrentquestindex())
end
--[[
Hier muss eine Bedingung stehen. (When UseIem oder chat vom npc)
beispiel:
]]
when 9010.chat."Warpring" begin
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local empire = pc.get_empire()
local selectmap = select("Map1","Wüste","Abbrechen")
if selectmap == 3 then
return
elseif selectmap == 2 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local wuestenselect = select("Anfang","Abbrechen")
if wuestenselect == 2 then
return
elseif wuestenselect == 1 then
pc.warp(290500,5700)
end
elseif selectmap == 1 then
say_title("Warpring")
say("Wohin möchtest du Teleportiert werden?")
local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map1select == 4 then
return
elseif map1select == 1 then
pc.warp(474300, 954800)
elseif map1select == 2 then
pc.warp(63800, 166400)
elseif map1select == 3 then
pc.warp(959900, 269200)
end
end
end
end
end
|
Dafür steht doch oben
"when letter begin" . Die Quest soll ja per Button geöffnet werden?
|
|
|
05/02/2017, 17:47
|
#12518
|
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
|
Probiere das mal:
PHP Code:
quest warpring begin state start begin when letter or button begin cmdchat("OpenTP "..q.getcurrentquestindex()) say_title("Warpring") say("Wohin möchtest du Teleportiert werden?") local selectmap = select("Map1","Wüste","Abbrechen") if selectmap == 2 then say_title("Warpring") say("Wohin möchtest du Teleportiert werden?") if select("Anfang","Abbrechen") == 1 then pc.warp(290500,5700) end elseif selectmap == 1 then say_title("Warpring") say("Wohin möchtest du Teleportiert werden?") local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen") local warps = { {474300, 95480},{63800, 166400 } , {959900, 269200} } if map1select == 4 then return else pc.warp( warps[map1select][1],warps[map1select][2] ) end --map1select end end --selectmap end end --when end end end
habs nicht getestet, nur rein theoretisch
|
|
|
05/04/2017, 10:25
|
#12519
|
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
|
Hab es anders gelöst, aber deine Variante funktioniert auch!
Danke.
|
|
|
05/15/2017, 21:12
|
#12520
|
elite*gold: 0
Join Date: Apr 2012
Posts: 121
Received Thanks: 64
|
[SPOILER]
PHP Code:
quest sihastru_shining begin
state start begin
when login begin
set_state("__INFORMATIONS__")
end
end
state __INFORMATIONS__ begin
when 20354.chat."Ξεχώρισε μέσα στο πλήθος" begin
say_title("Φρουρά Πόλης[ENTER]")
say("Καλησπέρα,θα ήθελες να ξεχωρίσεις μέσα στο πλήθος;")
say("Μπορώ να το κάνω αυτό αλλα μόνο με μερικά αντικείμενα")
say("τα οποία δεν έχω.![ENTER]")
say_reward("Πές μου πως θα ήθελες να είναι η στολή σου.:")
say_size(350, 330)
local sihastre_list = select("Κόκκινο εφέ","Μπλέ εφέ","Κίτρινο εφέ","Πορτοκαλί εφέ","Ακύρωση")
if sihastre_list == 5 then
return
end
if sihastre_list == 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η στολή που θα ήθελες είναι για άνδρες ή")
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]")
local sex_costume = select(" Άνδρες ","Γυναίκες ","Ακύρωση")
if sex_costume == 1 and pc.count_item(41521) >= 1 then
pc.remove_item(41521, 1)
pc.setqf("sihastru_masculin", 1)
pc.setqf("soul_of_awheh", 1)
set_state("shining_red")
elseif sex_costume == 1 and pc.count_item(41521) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 2 and pc.count_item(41522) >= 1 then
pc.remove_item(41522, 1)
pc.setqf("sihastru_feminin", 1)
pc.setqf("soul_of_awheh", 1)
set_state("shining_red")
elseif sex_costume == 2 and pc.count_item(41522) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 3 then
return
end
end
if sihastre_list == 2 then
say("Η στολή που θα ήθελες είναι για άνδρες ή")
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]")
local sex_costume = select(" Άνδρα "," Γυναίκα ","Ακύρωση")
if sex_costume == 1 and pc.count_item(41525) >= 1 then
pc.remove_item(41525, 1)
pc.setqf("sihastru_masculin", 1)
pc.setqf("soul_of_beran", 1)
set_state("shining_blue")
elseif sex_costume == 1 and pc.count_item(41525) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 2 and pc.count_item(41526) >= 1 then
pc.remove_item(41526, 1)
pc.setqf("sihastru_feminin", 1)
pc.setqf("soul_of_beran", 1)
set_state("shining_blue")
elseif sex_costume == 2 and pc.count_item(41526) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 3 then
return
end
end
if sihastre_list == 3 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η στολή που θα ήθελες είναι για άνδρες ή")
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]")
local sex_costume = select(" άνδρα ","Γυναίκα","Ακύρωση")
if sex_costume == 1 and pc.count_item(41529) >= 1 then
pc.remove_item(41529, 1)
pc.setqf("sihastru_masculin", 1)
pc.setqf("soul_of_eoten", 1)
set_state("shining_green")
elseif sex_costume == 1 and pc.count_item(41529) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 2 and pc.count_item(41530) >= 1 then
pc.remove_item(41530, 1)
pc.setqf("sihastru_feminin", 1)
pc.setqf("soul_of_eoten", 1)
set_state("shining_green")
elseif sex_costume == 2 and pc.count_item(41530) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 3 then
return
end
end
if sihastre_list == 4 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η στολή που θα ήθελες είναι για άνδρες ή")
say("για γυναίκες; Επιπλέον θα σου αφαιρέσουμε αυτό το αντικείμενο[ENTER]")
local sex_costume = select("άνδρα ","Γυναίκα ","Ακύρωση")
if sex_costume == 1 and pc.count_item(41533) >= 1 then
pc.remove_item(41533, 1)
pc.setqf("sihastru_masculin", 1)
pc.setqf("soul_of_wubba", 1)
set_state("shining_orange")
elseif sex_costume == 1 and pc.count_item(41533) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 2 and pc.count_item(41534) >= 1 then
pc.remove_item(41534, 1)
pc.setqf("sihastru_feminin", 1)
pc.setqf("soul_of_wubba", 1)
set_state("shining_orange")
elseif sex_costume == 2 and pc.count_item(41534) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η επιστροφή της πανοπλίας θα γίνει απο εμένα..![ENTER]")
end
if sex_costume == 3 then
return
end
end
end
end
state shining_red begin
when letter begin
send_letter("Η ψυχή του Aw-heh")
end
when button or info begin
say_title("Η ψυχή του Aw-heh[ENTER]")
say("Για να μπορέσει η στολή σου να γίνει μοναδική")
say("χρειάζεται να βρείς την ψυχή του aw-heh.")
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε")
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]")
say_reward("Αποστολή: Σκότωσε τον aw-heh για να πάρεις την ψυχή του.![ENTER]")
end
when 6091.kill with pc.getqf("soul_of_awheh") == 1 begin
pc.give_item2(91055, 1)
pc.delqf("soul_of_awheh")
set_state("shining_red_successfull")
end
end
state shining_blue begin
when letter begin
send_letter("H ψυχή του Beran Setaou")
end
when button or info begin
say("Για να μπορέσει η στολή σου να γίνει μοναδική")
say("χρειάζεται να βρείς την ψυχή του beran setaou.")
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε")
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]")
say_reward("Αποστολή: Σκότωσε τον beran setaou για να πάρεις την ψυχή του.![ENTER]")
end
when 2493.kill with pc.getqf("soul_of_beran") == 1 begin
pc.give_item2(91056, 1)
pc.delqf("soul_of_beran")
set_state("shining_blue_successfull")
end
end
state shining_green begin
when letter begin
send_letter("Η ψυχή του δάσους.")
end
when button or info begin
say("Για να μπορέσει η στολή σου να γίνει μοναδική")
say("χρειάζεται να βρείς την ψυχή του τέρατος που περιπανιέται.")
say("στα Δάση.")
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε")
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]")
say_reward("Αποστολή: Σκότωσε τον Γίγας για να πάρεις την ψυχή του.![ENTER]")
end
when 3902.kill with pc.getqf("soul_of_eoten") == 1 begin
pc.give_item2(91057, 1)
pc.delqf("soul_of_eoten")
set_state("shining_green_successfull")
end
end
state shining_orange begin
when letter begin
send_letter("Sufletul lui Wubba")
end
when button or info begin
say("Για να μπορέσει η στολή σου να γίνει μοναδική")
say("χρειάζεται να βρείς την ψυχή του βασιλιά Γουομπα.")
say("Με τη δύναμη του και την ψυχή του θα μπορέσουμε")
say("να δημιουργήσουμε κάτι μοναδικό![ENTER]")
say_reward("Αποστολή: Σκότωσε τον βασιλιά Γουομπα για να πάρεις την ψυχή του.![ENTER]")
end
when 3791.kill with pc.getqf("soul_of_wubba") == 1 begin
pc.give_item2(91058, 1)
pc.delqf("soul_of_wubba")
set_state("shining_orange_successfull")
end
end
state shining_red_successfull begin
when letter begin
local v = find_npc_by_vnum(20354)
if v != 0 then
target.vid("gardian", v, "Gardian")
end
send_letter("Επισκέψου τη Φρουρά Πόλης")
end
when button or info begin
say_title("Επισκέψου τη Φρουρά Πόλης[ENTER]")
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη")
say("στολή αυτή.")
say("Πάντα πίστευα σε εσένα![ENTER]")
end
when gardian.target.click or 20354.chat."Δολοφονία του Aw-Heh" begin
target.delete("gardian")
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91055) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή του Aw-Heh![ENTER]")
return
end
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91055) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41523)
pc.give_item2(41523, 1)
pc.remove_item(91055, 1)
pc.delqf("sihastru_masculin")
set_state("__INFORMATIONS__")
return
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91055) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή του Aw-Heh![ENTER]")
return
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91055) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41524)
pc.give_item2(41524, 1)
pc.remove_item(91055, 1)
pc.delqf("sihastru_feminin")
set_state("__INFORMATIONS__")
return
end
end
end
state shining_blue_successfull begin
when letter begin
local v = find_npc_by_vnum(20354)
if v != 0 then
target.vid("gardian", v, "Gardian")
end
send_letter("Επισκέψου τη Φρουρά Πόλης")
end
when button or info begin
say_title("Επισκέψου τη Φρουρά Πόλης[ENTER]")
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη")
say("στολή αυτή.")
say("Πάντα πίστευα σε εσένα![ENTER]")
end
when gardian.target.click or 20354.chat."Η ψυχή του Beran Setaou" begin
target.delete("gardian")
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91056) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή του Beran Setaou![ENTER]")
return
end
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91056) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41527)
pc.give_item2(41527, 1)
pc.remove_item(91056, 1)
pc.delqf("sihastru_masculin")
set_state("__INFORMATIONS__")
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91056) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή τουBeran Setaou![ENTER]")
return
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91056) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41528)
pc.give_item2(41528, 1)
pc.remove_item(91056, 1)
pc.delqf("sihastru_feminin")
set_state("__INFORMATIONS__")
end
end
end
state shining_green_successfull begin
when letter begin
local v = find_npc_by_vnum(20354)
if v != 0 then
target.vid("gardian", v, "Gardian")
end
send_letter("Επισκέψου τη Φρουρά Πόλης")
end
when button or info begin
say_title("Επισκέψου τη Φρουρά Πόλης[ENTER]")
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη")
say("στολή αυτή.")
say("Πάντα πίστευα σε εσένα![ENTER]")
end
when gardian.target.click or 20354.chat."Ψυχή του Eoten" begin
target.delete("gardian")
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91057) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή του Eoten![ENTER]")
return
end
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91057) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41531)
pc.give_item2(41531, 1)
pc.remove_item(91057, 1)
pc.delqf("sihastru_masculin")
set_state("__INFORMATIONS__")
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91057) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή τουEoten![ENTER]")
return
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91057) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41532)
pc.give_item2(41532, 1)
pc.remove_item(91057, 1)
pc.delqf("sihastru_feminin")
set_state("__INFORMATIONS__")
end
end
end
state shining_orange_successfull begin
when letter begin
local v = find_npc_by_vnum(20354)
if v != 0 then
target.vid("gardian", v, "Gardian")
end
send_letter("Επισκέψου τη Φρουρά Πόλης")
end
when button or info begin
say_title("Επισκέψου τη Φρουρά Πόλης[ENTER]")
say("Έλα σε μένα ... Τελικά φαίνετε οτι αξίζεις τη")
say("στολή αυτή.")
say("Πάντα πίστευα σε εσένα![ENTER]")
end
when gardian.target.click or 20354.chat."Η ψυχή του βασιλιά" begin
target.delete("gardian")
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91058) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή τουWubba![ENTER]")
return
end
if pc.getqf("sihastru_masculin") == 1 and pc.count_item(91058) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41535)
pc.give_item2(41535, 1)
pc.remove_item(91058, 1)
pc.delqf("sihastru_masculin")
set_state("__INFORMATIONS__")
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91058) < 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Έχεις πλέον την ψυχή τουWubba![ENTER]")
return
end
if pc.getqf("sihastru_feminin") == 1 and pc.count_item(91058) >= 1 then
say_title("Φρουρά Πόλης[ENTER]")
say("Η δημιουργία της στολής ήταν επιτυχής.!")
say("Θα λάβεις:")
say_item_vnum(41536)
pc.give_item2(41536, 1)
pc.remove_item(91058, 1)
pc.delqf("sihastru_feminin")
set_state("__INFORMATIONS__")
end
end
end
end[
/SPOILER]
|
|
|
05/16/2017, 17:12
|
#12521
|
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
|
Ich würde gern ein Item haben, was ein Spiziellen Boni aus dem Item holt und das dann auf ein anderes setzen kann.
Angenommen Waffe :
INT : 10
ZS: 10
Krit: 15
DB:10
Tiere: 10 <---- das will ich ändern, mit einem Item und das eintauschen gg HM
Ich such schon seit std nach so einer Quest / DB change or what ever
Hat wer ne idee?
|
|
|
05/17/2017, 20:43
|
#12522
|
elite*gold: 964
Join Date: Mar 2008
Posts: 2,631
Received Thanks: 1,636
|
Quote:
Originally Posted by Valerius1992
Ich würde gern ein Item haben, was ein Spiziellen Boni aus dem Item holt und das dann auf ein anderes setzen kann.
Angenommen Waffe :
INT : 10
ZS: 10
Krit: 15
DB:10
Tiere: 10 <---- das will ich ändern, mit einem Item und das eintauschen gg HM
Ich such schon seit std nach so einer Quest / DB change or what ever
Hat wer ne idee?
|
Das ist eine Aufgabe für die Source bzw benötigst du entweder Source oder eine passende DIF datei. Wobei dir dafür keiner einer DIF erstellen wird, da dies viel zu auffwendig wäre.
Es ist weder per Quest noch durch veränderungen der Client datein möglich..
Grüße Ben
|
|
|
05/19/2017, 00:37
|
#12523
|
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
|
Ich hab ein Neues Problem:
Wie schaff ich es, das hier die 24 Stunden raus genommen werden, das ich das pferd nach meiner Abgabe der PM bekomme?
Code:
quest pony_buy begin
state start begin
when 20349.chat.gameforge.pony_buy._10_npcChat with horse.get_grade()==0 begin
if pc.level<=24 then
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._20_say)
elseif pc.countitem("50050")<1 then
say_title(gameforge.horse_levelup._240_sayTitle)
say(gameforge.pony_buy._30_say)
setstate(need_item50050)
elseif pc.countitem("50050")>=1 and pc.level>=25 then
say_title(gameforge.horse_levelup._240_sayTitle)
say(gameforge.pony_buy._40_say)
local b= select(gameforge.find_brother_article._90_select, gameforge.find_brother_article._100_select)
if 1==b then
if pc.countitem("50050")>=1 then
pc.removeitem("50050", 1)
setstate(test)
end
elseif 2==b then
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._50_say)
else
say(string.format(gameforge.find_squareguard._70_say, b))
end
else
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._60_say)
end
end
end
state need_item50050 begin
when letter begin
setskin(NOWINDOW)
makequestbutton(gameforge.horse_upgrade2._100_makequestbutton)
q.set_title(gameforge.horse_upgrade2._100_makequestbutton)
q.start()
end
when button begin
say_title(gameforge.buy_fishrod._210_sayTitle)
say_reward(gameforge.pony_buy._70_sayReward)
setstate(start)
q.done()
end
when info begin
say_title(gameforge.buy_fishrod._210_sayTitle)
say_reward(gameforge.pony_buy._70_sayReward)
setstate(start)
q.done()
end
end
state test begin
when letter begin
q.set_counter(gameforge.pony_buy._test_503_count, 20-pc.getqf("kill_count"))
end
when 503.kill begin
pc.setqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter(gameforge.pony_buy._test_503_count, 20-pc.getqf("kill_count"))
if get_time()>=pc.getqf("limit_time") then
setstate(failure)
end
end
when letter begin
q.set_clock(gameforge.horse_upgrade2.rest_time, 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(gameforge.pony_buy._80_makequestbutton)
q.set_title(gameforge.pony_buy._80_makequestbutton)
q.start()
end
when button begin
say_title(gameforge.pony_buy._80_makequestbutton)
say_reward(gameforge.pony_buy._90_sayReward)
end
when info begin
say_title(gameforge.pony_buy._80_makequestbutton)
say(gameforge.pony_buy._100_say)
end
when 503.kill with pc.getqf("kill_count") >= 20 and pc.getqf("limit_time")>=get_time() begin
setstate(report)
end
when 20349.chat.gameforge.pony_buy._110_npcChat with horse.get_grade()!=0 begin
setstate(start)
q.done()
end
when 20349.chat.gameforge.pony_buy._120_npcChat begin
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say_reward(gameforge.pony_buy._130_sayReward)
local b= select(gameforge.locale.levelup.prev_quest_go, gameforge.pony_buy._140_select)
if 1==b then
elseif 2==b then
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._150_say)
local b= select(gameforge.locale.guild.yes, gameforge.pony_buy._160_select)
if 1==b then
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._170_say)
setstate(start)
q.done()
elseif 2==b then
say_title(gameforge.pony_buy._180_sayTitle)
say(gameforge.pony_buy._190_say)
else
say(string.format(gameforge.find_squareguard._70_say, b))
end
else
say(string.format(gameforge.find_squareguard._70_say, b))
end
end
end
state report begin
when letter begin
setskin(NOWINDOW)
makequestbutton(gameforge.horse_upgrade2._230_makequestbutton)
q.set_title(gameforge.horse_upgrade2._230_makequestbutton)
q.start()
end
when button begin
say_title(gameforge.horse_upgrade2._230_makequestbutton)
say_reward(gameforge.horse_upgrade2._240_sayReward)
end
when info begin
say_title(gameforge.horse_upgrade2._230_makequestbutton)
say_reward(gameforge.horse_upgrade2._240_sayReward)
end
when 20349.chat.gameforge.horse_upgrade2._250_npcChat with horse.get_grade()!=0 begin
setstate(start)
q.done()
end
when 20349.chat.gameforge.horse_upgrade2._260_npcChat with horse.get_grade()==0 begin
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._200_say)
if is_test_server() then
pc.setqf("make_time", get_time()+10)
else
pc.setqf("make_time", get_time()+number(8, 16)*60*60)
end
setstate(wait)
end
end
state wait begin
when letter begin
setskin(NOWINDOW)
makequestbutton(gameforge.pony_buy._210_makequestbutton)
q.set_title(gameforge.pony_buy._210_makequestbutton)
q.start()
end
when button begin
say_title(gameforge.pony_buy._210_makequestbutton)
say(gameforge.pony_buy._220_sayReward)
end
when info begin
say_title(gameforge.pony_buy._210_makequestbutton)
say(gameforge.pony_buy._220_sayReward)
end
when login with get_time()>=pc.getqf("make_time") begin
setstate(buy)
end
when 20349.chat.gameforge.horse_upgrade2._250_npcChat with horse.get_grade()!=0 begin
setstate(start)
q.done()
end
when 20349.chat.gameforge.pony_buy._230_npcChat with horse.get_grade()==0 begin
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._240_say)
end
end
state buy begin
when letter begin
setskin(NOWINDOW)
makequestbutton(gameforge.pony_buy._250_makequestbutton)
q.set_title(gameforge.pony_buy._250_makequestbutton)
q.start()
end
when button begin
say_title(gameforge.pony_buy._250_makequestbutton)
say(gameforge.pony_buy._260_sayReward)
end
when info begin
say_title(gameforge.pony_buy._250_makequestbutton)
say(gameforge.pony_buy._260_sayReward)
end
when 20349.chat.gameforge.pony_buy._270_npcChat with horse.get_grade()==0 and get_time()>=pc.getqf("make_time") begin
say_title(gameforge.pony_buy._280_sayTitle)
say(gameforge.pony_buy._290_say)
local b= select(gameforge.buy_fishrod._40_select, gameforge.pony_buy._300_select, gameforge.pony_buy._140_select)
if 1==b then
if pc.money>=100000 then
char_log(0, " HORSE_BUY", "BEGIN")
pc.changemoney(-100000)
char_log(0, " HORSE_BUY", " DEC money 100000")
horse.unride()
horse.advance()
horse.ride()
char_log(0, " HORSE_BUY", "INC horse_advance 1")
pc.give_item2("50051", 1)
char_log(0, " HORSE_BUY", "INC 50051 1")
char_log(0, " HORSE_BUY", "END")
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._310_say)
setstate(start)
q.done()
else
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._320_say)
end
elseif 2==b then
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._330_say)
elseif 3==b then
say_title(gameforge.horse_exchange_ticket._20_sayTitle)
say(gameforge.pony_buy._340_say)
local b= select(gameforge.locale.guild.yes, gameforge.pony_buy._350_select)
if 1==b then
setstate(start)
elseif 2==b then
else
say(string.format(gameforge.find_squareguard._70_say, b))
end
else
say(string.format(gameforge.find_squareguard._70_say, b))
end
end
end
state failure begin
when letter begin
setskin(NOWINDOW)
makequestbutton(gameforge.pony_buy._360_makequestbutton)
q.set_title(gameforge.pony_buy._360_makequestbutton)
q.start()
end
when button begin
say_title(gameforge.pony_buy._360_makequestbutton)
say_reward(gameforge.pony_buy._370_sayReward)
say_reward(gameforge.pony_buy._380_sayReward)
setstate(start)
q.done()
end
when info begin
say_title(gameforge.pony_buy._360_makequestbutton)
say_reward(gameforge.pony_buy._370_sayReward)
say_reward(gameforge.pony_buy._380_sayReward)
setstate(start)
q.done()
end
end
state __COMPLETE__ begin
when enter begin
q.done()
end
end
end
|
|
|
05/30/2017, 04:14
|
#12524
|
elite*gold: 0
Join Date: Feb 2016
Posts: 1
Received Thanks: 0
|
Help
Pleeease Help
0530 04:08:16765 :: Traceback (most recent call last):
0530 04:08:16765 :: File "ui.py", line 617, in OnSetFocus
0530 04:08:16765 :: AttributeError
0530 04:08:16765 :: :
0530 04:08:16765 :: 'module' object has no attribute 'EnableCaptureInput'
0530 04:08:16765 ::
0530 04:08:17790 :: granny_shared_vbs:
0530 04:08:17790 :: 0: 40
0530 04:08:17794 :: 1: 20
0530 04:08:17794 :: 2: 20
0530 04:08:17795 :: 3: 40
0530 04:08:17795 :: 4: 0
0530 04:08:17795 :: 5: 20
0530 04:08:17796 :: 6: 0
0530 04:08:17796 :: 7: 0
0530 04:08:17796 :: 8: 0
|
|
|
05/30/2017, 12:16
|
#12525
|
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
|
Ich habe ein Problem.
Meine Pferdequest sollte eig gehen, dennoch kann man kein Pferd rufen wen das pferd lvl 2 oder höher ist,
Miligaul haben wir getestet ( 21 ) Das geht auf jeden fall
Dennoch, Wo kann ich das genau umstellen das das Pferdebild es rufen kann, denn im cha steht nicht mal eine fehler meldung das ich es nicht rufen kann, oder nicht mal "ERROR"
Hier meine Questen die ich im moment für die PM-Quest und co habe:
Pony_levelup.quest
pony_buy.quest
|
|
|
All times are GMT +1. The time now is 21:43.
|
|