Hi Devs!
I put in the system, "The Dungeon Ranking System". Everything okey in client side but, i use the quest for the open the GUI and here the problem.
Syserr:
Mar 19 03:59:27 :: OnClick Yak-Hwan[vnum 20377 ServerUniqueID 41623, pid 0] by DAdmin
SYSERR: Mar 19 03:59:29 :: RunState: LUA_ERROR: [string "dragonlair_ranking"]:7: attempt to call field `OpenRanking' (a nil value)
SYSERR: Mar 19 03:59:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest dragonlair_ranking.(null) letter
questlua_dragonlair.cpp: (I need the questlua.h?)
Include:
#include "stdafx.h"
#include "questmanager.h"
#include "DragonLair.h"
#include "char.h"
#include "guild.h"
int dl_OpenRanking(lua_State* L)
{
CDragonLairManager::instance().OpenRanking(CQuestManager::instance().GetCurrentCharacterPtr());
return 0;
}
and
void RegisterDragonLairFunctionTable()
{
luaL_reg dl_functions[] =
{
{ "startRaid", dl_startRaid },
{ "OpenRanking", dl_OpenRanking },
{ NULL, NULL }
};
CQuestManager::instance(). AddLuaFunctionTable("DragonLair", dl_functions);
}
quest:
quest dragonlair_ranking begin
state start begin
when login or levelup with pc.get_level() >= 75 begin
send_letter("Ejderha Avcýlarý Sýralamasý ")
end
when button or info begin
say_title("Ejderha Bekçisi Yak-Hwan ")
say("")
say("Ejderha Bekçisi Yak-Hwan seni arýyor onun yanýna gitmelisin. ")
local v = find_npc_by_vnum(20378)
if 0!=v then
target.vid(20378)
end
set_state(information)
end
end
state information begin
when 20378.chat."Ejderha Avcýlarý " begin
say_title("Ejderha Bekçisi Yak-Hwan: ")
say("")
say("Artýk 75. seviyeye ulaþtýn ejderha avcýsý olmaya ")
say("hak kazandýn. Her Mavi ejderha öldürüþünde 1 puan ")
say("kazanacaksýn. Ve topladýðýn her puan seni sýralamada ")
say("tutacak.")
say_reward("Ejderha avcýlarý sýralamasýný baþlatmak istiyor musun? ")
local s = select("Evet, istiyorum.","Hayýr, istemiyorum. ")
if s == 1 then
say_title("Ejderha Bekçisi Yak-Hwan: ")
say("")
say_reward("Ejderha avcýlarý sýralamasý baþladý. ")
set_state(farming)
else
end
end
end
state farming begin
when 20378.chat."Ejderha Avcýlarý Sýralamasý " begin
say_title("Ejderha Bekçisi Yak-Hwan: ")
say("")
say("Sýralamayý þimdi açmak istiyor musun? ")
local s = select("Evet, istiyorum.","Hayýr, istemiyorum. ")
if s == 1 then
setskin(NOWINDOW)
DragonLair.OpenRanking()
else
end
end
end
end
Where is the problem u think?
Thanks for the answer!
King Regards