1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| void QUESTD_ObjectTouchImplement(int ObjId)
{
Registry * RegBridge; RegBridge = new Registry;
RegBridge->QLayer.Send(RegBridge->Obj, RegBridge->quests_reg);
RegBridge->QLayer.CallScriptQuest(ObjId);
for (unsigned int i = 0; i < RegBridge->QLayer.mod.size(); i++)
{
if (RegBridge->QLayer.mod.at(i).type == QUEST_MOD_QREG)
{
RegBridge->quests_reg[RegBridge->QLayer.mod.at(i).imod] = RegBridge->QLayer.mod.at(i).imod2;
}
else if (RegBridge->QLayer.mod.at(i).type == QUEST_MOD_OBJ)
{
// On ajoute l'objet dynamiquement depuis RegBridge->QLayer.mod.mod qui contient la chaine de l'objet
vector<string> ww = Explode(',', RegBridge->QLayer.mod.at(i).mod);
for (int ww2 = 0; ww2 < (int)ww.size(); ww2++)
RegBridge->Obj[RegBridge->NumberOfObjects][ww2] = ww.at(ww2);
RegBridge->NumberOfObjects++;
// Repris du chargement (init.cpp)
MessageDiag("world/objects/" + RegBridge->Obj[RegBridge->NumberOfObjects - 1][0] + ".lp", "h");
BuffBridge(1, RegBridge->NumberOfObjects - 1, LoadLpRes("world/objects/" + RegBridge->Obj[RegBridge->NumberOfObjects - 1][0] + ".lp"));
if (is_readable("world/objects/" + RegBridge->Obj[RegBridge->NumberOfObjects-1][0] + "_C" + ".lp"))
{
BuffBridge(3, RegBridge->NumberOfObjects - 1, LoadLpRes("world/objects/" + RegBridge->Obj[RegBridge->NumberOfObjects - 1][0] + "_C" + ".lp"));
}
}
}
RegBridge->QLayer.mod.clear();
delete(RegBridge);
} |
Partager