Quote:
Originally Posted by L777C7
Vielen Danke schon für die erste Antwort! Aber es gibt immernoch ein Problem
Code:
WHEN : 20094.chat ("Die neue Map")
assertion failure : nested==0
newmapwarp.quest:15:Abort trap (core dumped)
Diese Fehlermeldung kommt in sh make.sh bei dieser Quest:
Code:
quest newmapwarp begin
state start begin
when 20094.chat."Die neue Map" begin
if pc.count_item(40001) > 0 then
say("Bist Du bereit?")
local s = select ("Hinein!","Schnell weg hier!")
if s == 1 then
pc.removeitem("40001", 1)
pc.warp (307200,120300)
else
return
end
end
end
end
Ja Koordis stimmen!
Danke im Vorraus! (Nochmal ;) )
|
So muss es aussehen:
PHP Code:
quest newmapwarp begin --1
state start begin --2
when 20094.chat."Die neue Map" begin --3
if pc.count_item(40001) > 0 then --4
say("Bist Du bereit?")
local s = select ("Hinein!","Schnell weg hier!")
if s == 1 then --5
pc.removeitem("40001", 1)
pc.warp (307200,120300)
else
return
end --5
end -4
end --3
end --2
end --1
hab mal Zahlen hinten drann gemacht, damit du das if und end verstehst, jeder if begin usw.. brauch auch ein eigenes ende, sieht bissel anders aus bei elseif..
EDIT:
Den Code kann man kürzen Theoretisch:
PHP Code:
quest newmapwarp begin --1 QUEST BEGIN
state start begin --2 STATE BEGIN
when 20094.chat."Die neue Map" with pc.count_item(40001) >= 1 then --3 WHEN BEGIN
say("Bist Du bereit?")
local s = select ("Hinein!","Schnell weg hier!")
if s == 1 then --4 IF BEGIN
pc.removeitem("40001", 1)
pc.warp (307200,120300)
else
return
end -4 IF END
end --3 WHEN END
end --2 STATE START END
end --1 QUEST END
So sieht das ganze professioneller aus.. :)
Und noch einfacher zu verstehen ..
@Masterschwert:
Bei deiner Quest waren einige fehler drinne..
1. dein pc.level() gibs nicht.
2. bei einem text " vergessen
3. remove item direkt nachm anklicken (wird sogar entfernt wenn man nicht die level 86 ist.. habs angepasst, wird entfernt wenn der skill gesetzt wurde.
4. die ganzen ifs, mehr in elseif umgeschrieben.. :)
5. Sollte nun Theoretisch funktionen.
HTML Code:
----------------------------------
-- Regenbogenstein Quest by bjoern.ebert17 , korregiert von Woody°
-- (c) by DarkSide 2010
----------------------------------
quest regenbogen begin
state start begin
when 50512.use begin
say_title("Regenbogenstein:")
say("Du möchtest also deine Skills auf")
say("Perfekter-Meister setzen?")
if pc.get_level() <=86 then
say_title("Regenbogenstein")
say("Dein Level ist zu niedrig")
return
elseif pc.get_level() >=85 then
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental")
if s==1 then
--Körper
pc.set_skill_group(1)
pc.set_skill_level(1 ,59)
pc.set_skill_level(2 ,59)
pc.set_skill_level(3 ,59)
pc.set_skill_level(4 ,59)
pc.set_skill_level(5 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
return
elseif s==2 then
--Mentalo
pc.set_skill_group(2)
pc.set_skill_level(16 ,59)
pc.set_skill_level(17 ,59)
pc.set_skill_level(18 ,59)
pc.set_skill_level(19 ,59)
pc.set_skill_level(20 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Bogen")
if s==1 then
--Nahkampf
pc.set_skill_group(3)
pc.set_skill_level(31 ,59)
pc.set_skill_level(32 ,59)
pc.set_skill_level(33 ,59)
pc.set_skill_level(34 ,59)
pc.set_skill_level(35 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
elseif s==2 then
--Fernkampf
pc.set_skill_group(4)
pc.set_skill_level(46 ,59)
pc.set_skill_level(47 ,59)
pc.set_skill_level(48 ,59)
pc.set_skill_level(49 ,59)
pc.set_skill_level(50 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe")
if s==1 then
--Magie
pc.set_skill_group(5)
pc.set_skill_level(76 ,59)
pc.set_skill_level(77 ,59)
pc.set_skill_level(78 ,59)
pc.set_skill_level(79 ,59)
pc.set_skill_level(80 ,59)
pc.set_skill_level(81, 59)
say("Deine Skills sind auf Perfekter Meister")
elseif s==2 then
--Waffe
pc.set_skill_group(6)
pc.set_skill_level(61 ,59)
pc.set_skill_level(62 ,59)
pc.set_skill_level(63 ,59)
pc.set_skill_level(64 ,59)
pc.set_skill_level(65 ,59)
pc.set_skill_level(66 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heil","Drachen")
if s==1 then
--Heil
pc.set_skill_group(7)
pc.set_skill_level(106 ,59)
pc.set_skill_level(107 ,59)
pc.set_skill_level(108 ,59)
pc.set_skill_level(109 ,59)
pc.set_skill_level(110 ,59)
pc.set_skill_level(111 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
elseif s==2 then
--Drachen
pc.set_skill_group(8)
pc.set_skill_level(91 ,59)
pc.set_skill_level(92 ,59)
pc.set_skill_level(93 ,59)
pc.set_skill_level(94 ,59)
pc.set_skill_level(95 ,59)
pc.set_skill_level(96 ,59)
say("Deine Skills sind auf Perfekter Meister")
pc.removeitem("50512", 1)
end
end
end
end
end
end
end
end
end
Bitte um Rückmeldung.
An @DarkBozZ
Quote:
Originally Posted by DarkBozZ*
Habe hier ne Quest.. Ist wie die Rollenblock Quest aufgebaut.. aber möchte Die Shops auf allen Map1 und 2 verbieten...
(Mapindexe: 1,21,41,3,23,43) (Bündel ID: 50200)
quest shopblock begin
state start begin
when 50200.use with pc.get_map_index() == 1 or 21 or 41 begin
chat("Hier kannst du keinen Laden eröffnen.")
item.remove()
end
end
end
Kann die mir einer machen? Das ist das was ich bisher habe ^^
Am besten getestet ! Danke !
|
Jab geht, stell in Datenbank den Bündel auf typ 18.
Code:
PHP Code:
quest shopblock begin
state start begin
when 50200.use begin
if pc.get_map_index() == 1 or 21 or 41 then
chat("Hier kannst du keinen Laden eröffnen.")
else
cmdchat("OpenPrivateShop")
item.remove()
end
end
end
end
Müsste Theoretisch klappen, hab bei mir den Bündel auf diversen Maps deaktiviert..