is_pc fehler

05/06/2011 18:01 'oShet#1
Die quest guild_manage gibt mir immer diesen fehler:

[string "IsScriptTrue"]:1: attempt to call field `is_pc' (a nil value)

Und das problem ist noch das gilde verlassen usw nicht angezeigt wird.

Quest:
Code:
quest guild_manage begin
 state start begin

 when guild_man1.chat."Gilde verlassen" or 
 guild_man2.chat."Gilde verlassen" or 
 guild_man3.chat."Gilde verlassen" 
 with pc.hasguild() and not pc.isguildmaster() and (pc.is_pc() or npc.empire == pc.empire) begin
 -- ??
 say(locale.guild.withdraw_confirm)
 local s = select("Ja", "Nein")
 if s==1 then
 say("Du hast nun deine Gilde verlassen!")
 say("Ich empfehle dir, eine neue Gilde zu")
 say("suchen. Gildenmitglieder haben viele")
 say("Vorteile. Dazu gehören zum Beispiel")
 say("die Unterstützung der Gildenmitglieder")
 say("und die Verwendung der Gildenschmiede.")
 pc.remove_from_guild()
 pc.setqf("new_withdraw_time",get_global_time())
 end
 end

 when guild_man1.chat."Gilde auflösen" or 
 guild_man2.chat."Gilde auflösen" or 
 guild_man3.chat."Gilde auflösen"
 with pc.hasguild() and pc.isguildmaster() and (pc.is_pc() or npc.empire == pc.empire) begin
 -- ??
 say(locale.guild.disband_confirm)
 local s = select("Ja", "Nein")
 if s==1 then
 say("Deine Gilde ist nun aufgelöst!")
 pc.destroy_guild()
 pc.setqf("new_disband_time",get_global_time())
 pc.setqf("new_withdraw_time",get_global_time())
 end
 end

 when guild_man1.chat."Gilde gründen" or 
 guild_man2.chat."Gilde gründen" or 
 guild_man3.chat."Gilde gründen" 
 with (pc.is_gm() or npc.empire == pc.empire) begin
 local level_limit;
 local guild_create_item

 if get_locale() == "euckr" then
 level_limit = 40
 guild_create_item = false
 else
 level_limit = 40
 guild_create_item = false 
 end

 if pc.hasguild() then
 return
 end
 if game.get_event_flag("guild_withdraw_delay")*86400 > 
 get_global_time() - pc.getqf("new_withdraw_time") then

 say(string.format("Du kannst jetzt noch keine neue Gilde gründen! Warte noch eine Weile!", game.get_event_flag("guild_withdraw_delay")))
 return
 end

 if game.get_event_flag("guild_disband_delay")*86400 > 
 get_global_time() - pc.getqf("new_disband_time") then

 say(string.format("Du kannst jetzt noch keine neue Gilde gründen! Warte noch eine Weile!", game.get_event_flag("guild_disband_delay")))
 return
 end

 say(locale.guild.create_confirm)
 local s = select("Ja", "Nein")
 if s == 2 then
 return
 end

 if pc.level >= level_limit then
 if pc.gold >= 200000 then
 if not guild_create_item or pc.countitem(guild_create_item)>0 then
 game.request_make_guild()
 else
 say("Dir fehlt das Buch der Vorsehung!")
 end
 else
 say("Du hast nicht genug Geld, um eine Gilde zu gründen!")
 say("Geh auf die Jagd, um noch Yang zu sammeln.")
 end
 else
 say("Dein Level ist nicht hoch genug, um eine Gilde zu gründen!")
 say("Erreiche erst Level 40, bevor du eine Gilde gründest.")
 end
 end
 end
 end
05/06/2011 18:22 .ReDDoX™#2
Hey

Das gehört in den Sammelthread.
Wie der Fehler schon sagt hat es etwas mit dem "pc.is_pc" zu tun. Ich denke mal diesen Code gibt es nicht, ist mir auch nicht wirklich bekannt... Und ich wüsste auch nicht was der bedeuten sollte. o.ô
05/06/2011 19:17 Syrael van G#3
Hatte das Problem auch

hier hast die Quest die ich verwende:
statt pc.is_pc gehört dort pc.is_gm