Schau mal auf die ID. Beim erstem Block ist die ID "123123" und beim zweitem 123132".Quote:
Einmal anklicken -> Bonus erhält man -> will nochmal draufklicken -> Nix passiert.
Schreib Quests bitte immer in [.php][/.php] codes, ist einfach übersichtlicher.Quote:
quest jagen begin -- quest begin fehlte
state start begin -- state start fehlte
when login with pc.level >= 1 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Hiras Nachricht")
end
when info or button begin
say("Hiras Nachricht:")
say("")
say("")
say("Hallo "..pc.get_name()..",") -- das komma war außerhalb der ""
say("ich habe dir diesen Brief zukommen lassen um dich auf eine")
say("Probe zu stellen!")
say_reward("Toete für mich bitte 20 Woelfe im Waldgebiet!")
say_reward("")
say_reward("Wenn du alle Monster getoetet hast bekommst du eine Belohung!")
say_reward("")
say_reward("")
say_reward("von")
say_reward("Hira")
say("")
pc.setqf("state", 20)
q.set_counter("Blauewoelfe", 20)
end
when kill with npc.get_race()== 732 begin -- ich bevorzuge with npc.get_race()==732
local count = pc.getqf("state") - 1
if count <= 20 then
pc.setqf("state", count)
q.set_counter("Blauwoelfe", count)
end
if count == 0 then
say_title("Hiras Nachricht:")
say("")
say("")
say("Für deinen großen Mut eraehlst du:")
say("Reward:")
say_reward("5x Hiras Truhe")
say_reward("Bonus:")
say_reward("2.000.000 Yang")
say_reward("500.000 Experience")
pc.change_money(2000000)
pc.give_exp2(500000)
pc.give_item2(50037, 1)
pc.give_item2(50037, 1)
pc.give_item2(50037, 1)
pc.give_item2(50037, 1)
pc.give_item2(50037, 1)
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
quest shop_ride begin
state start begin
function Ride( vnum, remain_time )
ride_info = {
[711151] = { 20110, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 45, 45, false },
[711152] = { 20110, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 60, 60, false },
[711153] = { 20110, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 75, 75, false },
[711154] = { 20110, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 90, 90, false },
[711171] = { 20110, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 50, 45, false },
[711172] = { 20111, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 70, 60, false },
[711173] = { 20111, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 90, 75, false },
[711174] = { 20111, item.get_socket(2)*60, apply.DEF_GRADE_BONUS, 105, 90, false },
[711191] = { 20112, item.get_socket(2)*60, apply.DAMAGE_SP_RECOVER, 5, 75, false },
[711192] = { 20112, item.get_socket(2)*60, apply.DAMAGE_SP_RECOVER, 7, 80, false },
[711193] = { 20112, item.get_socket(2)*60, apply.DAMAGE_SP_RECOVER, 10, 85, false },
[711194] = { 20112, item.get_socket(2)*60, apply.DAMAGE_SP_RECOVER, 10, 90, false },
[711211] = { 20113, item.get_socket(2)*60, apply.ATT_GRADE_BONUS, 50, 75, false },
[711212] = { 20113, item.get_socket(2)*60, apply.ATT_GRADE_BONUS, 100, 80, false },
[711213] = { 20113, item.get_socket(2)*60, apply.ATT_GRADE_BONUS, 150, 85, false },
[711214] = { 20113, item.get_socket(2)*60, apply.ATT_GRADE_BONUS, 200, 90, false }
}
if pc.level < ride_info[vnum][5] then
say("")
say(gameforge.ride._010_say)
say("")
else
if ride_info[vnum][2] == 0 and remain_time != 0 then
pc.mount( ride_info[vnum][1], remain_time*60 )
pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], remain_time*60 )
else
pc.mount( ride_info[vnum][1], ride_info[vnum][2] )
pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], ride_info[vnum][2] )
end
if true == ride_info[vnum][6] then
pc.remove_item(vnum, 1)
end
end
end
when login begin
local vnum, remain_time = pc.get_special_ride_vnum()
if 0 != vnum then
shop_ride.Ride(vnum, remain_time)
end
end
when 711151.use or 711152.use or 711153.use or 711154.use or 711171.use or 711172.use or 711173.use or 711174.use or
711191.use or 711192.use or 711193.use or 711194.use or 711121.use or 711122.use or 711123.use or 711124.use begin
if pc.is_polymorphed() then
say("")
say(gameforge.ride._020_say)
say("")
elseif false == pc.is_riding() then
if true == horse.is_summon() then
horse.unsummon()
end
ride.Ride(item.vnum, 0)
else
say("")
say(gameforge.ride._030_say)
say("")
end
end
end
end
Calls undeclared function! :
ride.Ride
Error occuren on compile shop_ride.quest
ride.Ride
ride.Ride
So wie es aussieht hast du der Quest nen anderen Namen "quest Name begin" gegeben. Die Funktion Ride ist nämlich in der Quest drin und um diese aufrufen zu können muss man den Questnamen "quest Name begin" und die Funktion schreiben z.B. nach deiner Quest -> shop_ride.rideQuote:
Tagchen ^.^
Also ich habe die folgende Quest:
Fehler:Ja ich weiß das Problem ist dass es dieser BefehlPHP Code:Calls undeclared function! :
ride.Ride
Error occuren on compile shop_ride.quest
nicht gibtPHP Code:ride.Ride
Wie kann man das aber lösen?
Muss manin die "quest_functions" rein schreiben oder kann man das auch anders lösen? ^.^PHP Code:ride.Ride
Hi. I didn't understand your post correctly, but you forgot one 'end' to close this row:Quote:
Hey, habe ein Fehler in meiner Quest und bekomme die alleine nicht wieder raus. :/
Der soll halt dazu dienen einen einzelnen Stein aus einem der Slots der Waffe zu entfernen. -> Waffe auf Waffenhändler ziehen-> Slot auswählen->Stein draußen.
Man benötigt aber eine Tinktur des Geiststeins. (Steht in der Quest)
Wenn man diese tinktur nicht besitzt, soll der waffenhändler halt sagen:
Du besitzt die Tinktur des Geiststeins nicht, deswegen kann ich keinen Slot leeren.
Wenn möglich sollte bei der Nachfrage, ob man die tinktur besitzt, das icon drinne stehen. :D
Die Quest funktioniert so momentan noch nicht, keine Ahnung warum. ._.
Schon mal danke für die Hilfe.
when 9007.take."Einzelnen Slot leeren" begin