Sziasztok!
Valakinek volt hasonló problémája,
Probléma:
Mikor Theowladan-nál Kombinál/abszorvál ablakot megnyitnám semmi nem történik, másodjára pedig azt írja hogy már meg van nyitva, pedig nem látszik gondolom ez a quetben
"pc.open_acce(true)" ez felelős hogy ha megvan nyitva ne tudd még 1x de ha ez benne van az miért nincs hogy meg is nyissa?
Quest:
Idézquest acce begin
state start begin
when 20406.chat."What is a Sash?" begin
say_title("-- "..mob_name(20406).." --")
say("")
say("The sash offers you two options:")
say("Combination & Absorption.")
say("")
say("You can try combination with sash of same")
say("grade. Two sash combined can generate a")
say("sash of a biggest grade.")
say("")
say("In a absorption the sash take the bonus")
say("of a weapon or amour at a rate of your")
say("sash. The absorption rate varies between")
say("the sash grade, the weapon or amour")
say("absorbed will be destroyed.")
say("")
end
when 20406.chat."Combination" begin
say_title("-- "..mob_name(20406).." --")
say("")
say("Would you like to combine two sashes?")
say("")
local confirm = select("Yes", "No")
if confirm == 2 then
return
end
if confirm == 1 then
setskin(NOWINDOW)
pc.open_acce(AcceAbsorption)
end
end
when 20406.chat."Absorption of bonuses" begin
say_title("-- "..mob_name(20406).." --")
say("")
say("Do you want to absorb bonuses from your weapon")
say("or amour?")
say("")
local confirm = select("Yes", "No")
if confirm == 2 then
return
end
if confirm == 1 then
setskin(NOWINDOW)
pc.open_acce(true)
end
end
end
end
Válaszokat előre is köszi :)!
Már elég sokat tanulmányoztam....
Szerverforrás/game/questlua_pc.cpp:
Idéz#ifdef __ACCE_SYSTEM__
int pc_open_acce(lua_State * L)
{
if (lua_isboolean(L, 1))
{
CQuestManager & qMgr = CQuestManager::instance();
LPCHARACTER pkChar = qMgr.GetCurrentCharacterPtr();
if (pkChar)
{
pkChar->OpenAcce(lua_toboolean(L, 1));
}
}
else
{
sys_err("Invalid argument: arg1 must be boolean.");
}
return 0;
}
#endif
Milyen opcióval lehetne meghívni hogy a kombinációt és az abszorpciót is létrehozza?
Gondolom csak a kliens nézi, hogy már meg van-e nyitva (mivel indokolatlan lenne a szerveren ezt validálni), szóval nem itt lesz a gond, ahol te keresed. A kliensed mindent megkap jól, nézd meg, hogy ott implementáltad-e, hogy mi is történjen konkrétam.
PythonNetworkStreamCommand.cpp-ben hibáztál valszeg:)