- Mesaj
- 4.038
- Çözümler
- 390
- Beğeni
- 4.159
- Puan
- 1.849
- Ticaret Puanı
- 0
queslua_global.cpp içinde aratın:
Fonksiyonun altına ekleyin:
Tekrar arayın:
Altına ekleyin:
Ardından eğer varsa cube.cpp içinde şunu bulun ve tamamen yorum satırına çevirin:
Son olarak quest kodları:
20017 ve 20385 gibi yerleri kendinize göre değiştirebilirsiniz.
C++:
int _find_npc_by_vnum (lua_State * L)
Fonksiyonun altına ekleyin:
C++:
int _select_npc_by_vnum(lua_State* L)
{
if (!lua_isnumber(L, 1))
{
sys_err("invalid argument");
return 1;
}
DWORD race = (DWORD) lua_tonumber(L, 1);
CharacterVectorInteractor i;
if (CHARACTER_MANAGER::instance().GetCharactersByRaceNum(race, i))
{
CharacterVectorInteractor::iterator it = i.begin();
while (it != i.end())
{
LPCHARACTER tch = *(it++);
CQuestManager::instance().GetCurrentCharacterPtr()->SetQuestNPCID(tch->GetVID());
return 1;
}
}
//sys_err("not find(race = %d)", race);
lua_pushnumber(L, 0);
return 1;
}
Tekrar arayın:
C++:
{ "find_npc_by_vnum", _find_npc_by_vnum },
Altına ekleyin:
C++:
{ "select_npc_by_vnum", _select_npc_by_vnum },
Ardından eğer varsa cube.cpp içinde şunu bulun ve tamamen yorum satırına çevirin:
C++:
/*long distance = DISTANCE_APPROX(ch->GetX() - npc->GetX(), ch->GetY() - npc->GetY());
if (distance >= CUBE_MAX_DISTANCE)
{
sys_log(1, "CUBE: TOO_FAR: %s distance %d", ch->GetName(), distance);
return;
}*/
Son olarak quest kodları:
Lua (Quest):
when 20383.chat."Cube Ekranı" begin
setskin(NOWINDOW)
command("cube open")
end
when 20383.chat."Cube Ekranı 1" begin
setskin(NOWINDOW)
select_npc_by_vnum(20017)
command("cube open")
end
when 20383.chat."Cube Ekranı 2" begin
setskin(NOWINDOW)
select_npc_by_vnum(20385)
command("cube open")
end
20017 ve 20385 gibi yerleri kendinize göre değiştirebilirsiniz.