metin2 p-server Frage zu Gildenland

09/04/2010 19:36 Fin999888777#1
Ich hab in meinem Server versucht Gildenland kaufbar zu machen. In Navicat in Player und dann land alles eingestellt und in FileZilla in der guild_buillding.quest folgendes eingegeben:
quest guild_building begin
state start begin
when 20040.click begin
say_title("Grundstücksverwalter:")
say("Ich bin Grundstücksverwalter und zuständig für")
say("den Verkauf von Landflächen. Bevor die Monster")
say("das Land in der Mitte des Kontinents besetzten,")
say("hatten wir nicht unter Landknappheit zu leiden")
say("und es ging allen gut. Jetzt verkaufe ich das")
say("Land nur noch an die Gildenanführer, die es als")
say("Gildenland nutzen. Willst du dieses Grundstück")
say("kaufen?")

local s = select(locale.yes, locale.no)

if s == 1 then
if not pc.is_guild_master() then
say_title("Gründstücksverwalter")
say("Ich kann dir das Land nicht geben.")
say("Bitte verzeih mir.")
elseif building.has_land(pc.get_guild()) then
say("Wenn du dieses Land kaufst kannst du")
say("kein anderes Land zusätzlich kaufen.")
else
local land_id = building.get_land_id(pc.get_map_index(), pc.get_x()*100, pc.get_y()*100)

if land_id == 1 then
say("Es tratt ein Fehler auf.")
else
local price, owner, guild_level_limit = building.get_land_info(land_id)
say("Wenn Sie das Land kaufen muessen Sie es besiedeln.")
say("Kaufpreis: "..price.." Yang.")

if guild.level(pc.get_guild()) < guild_level_limit then
say("Ihnen mangelt es an Gildenmitgliedern.")
else
say("Willst du dieses Land wirklich kaufen?")

s = select(locale.yes, locale.no)

if s == 1 then
local price, owner, guild_level_limit = building.get_land_info(land_id)

if owner != 0 then
say("Dieses Stück Land wurde bereits gekauft.")
elseif pc.gold < price then
say("Bring bitte nächstes mal genug Yang mit.")
else
pc.changegold(-price)
building.set_land_owner(land_id, pc.get_guild())
notice(guild.name(pc.get_guild()).." hat das Land erfolgreich gekauft!")
end
else
say("Wenn du dieses Land kaufen willst, komm bitte später wieder.")
end
end
end
end
else
say("Wenn du dieses Land kaufen willst, komm bitte später wieder.")
end
end
end
end




Wenn ich nun mit dem Grundstücksverwalter rede sagt er seinen anfangstext und wenn ich auf ja drücke kommt: "Es trat ein Fehler auf"
Was hab ich falsch gemacht? Danke im vorraus.
Edit: Und nein, das Gildenland war nicht schon verkauft. Hab auch in navicat nach geschaut, da steht bei guild_id 0
09/04/2010 19:52 #SoNiice#2
if land_id == 1 then

Das sagt es dir wohl?
Du hast vielleicht beim falschen Land geguckt. Stell mal alle auf 0 ;o

Das kommt übrigens auch, wenn das Land nicht existiert in der DB.