24.04.2020, 14:04:01
Скажу так.
Можно имена не писать или писать без разницы.
Конструкция следующая будет.
if name сундука = MOBNAME_CHEST
if сундук полон
focusname Сундук
сундук пуст
focusname Пустой сундук
if name сундука = MOBNAME_CRATE
if сундук полон
focusname Ящик
сундук пуст
focusname Пустой Ящик
.... такие же примеры для уникальных сундуков
иначе
все сундуки
if сундук полон
focusname Сундук
сундук пуст
Focusname Пустой сундук
Красным я выделил место, где могу сделать, если сундук не попадает под все условия, которые предложены раньше focusname сундука будет пусто ""
То есть, если по сюжету надо, чтобы какой-то сундук был без фокусного имени, ты его не добавляешь, и оно будет без фокусного имени, но как только ты его проверил и забрал предметы, фокусное имя будет Пустой сундук
Если тебе надо, чтобы было фокусное имя - ты пишешь в focusname:string MOBNAME_...
Это я к чему, надо привести в порядок
Сундук-сундук
Ящик-Ящик
Саргофаг-Саркофаг и так далее
Сейчас все OCMobContainter всегда сундук.... *facepalm*
Вот кодом, может понятнее будет
//если в фокусе сундук
if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_CHEST")) || (Hlp_StrCmp(mob._oCMob_name, "CHEST")))
{
if(mob.containList_next != 0)
{
//фокусное имя Сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CHEST");
}
else
{
//фокусное имя Пустой сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCHEST");
};
}
//если в фокусе Саркофаг
else if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_SARKOFAG")) || (Hlp_StrCmp(mob._oCMob_name, "SARKOFAG")))
{
if(mob.containList_next != 0)
{
//фокусное имя Саркофаг
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_SARKOFAG");
}
else
{
//фокусное имя Пустой саркофаг
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYSARKOFAG");
};
}
//если в фокусе Ящик
else if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_CRATE")) || (Hlp_StrCmp(mob._oCMob_name, "CRATE")))
{
if(mob.containList_next != 0)
{
//фокусное имя Ящик
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CRATE");
}
else
{
//фокусное имя Пустой Ящик
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCRATE");
};
}
//если в фокусе сундук не попадает ни под одно условие
//его фокусные имена будут стандартные
else
{
if(mob.containList_next != 0)
{
//фокусное имя сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CHEST");
}
else
{
//фокусное имя Пустой сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCHEST");
};
};
Можно имена не писать или писать без разницы.
Конструкция следующая будет.
if name сундука = MOBNAME_CHEST
if сундук полон
focusname Сундук
сундук пуст
focusname Пустой сундук
if name сундука = MOBNAME_CRATE
if сундук полон
focusname Ящик
сундук пуст
focusname Пустой Ящик
.... такие же примеры для уникальных сундуков
иначе
все сундуки
if сундук полон
focusname Сундук
сундук пуст
Focusname Пустой сундук
Красным я выделил место, где могу сделать, если сундук не попадает под все условия, которые предложены раньше focusname сундука будет пусто ""
То есть, если по сюжету надо, чтобы какой-то сундук был без фокусного имени, ты его не добавляешь, и оно будет без фокусного имени, но как только ты его проверил и забрал предметы, фокусное имя будет Пустой сундук
Если тебе надо, чтобы было фокусное имя - ты пишешь в focusname:string MOBNAME_...
Это я к чему, надо привести в порядок
Сундук-сундук
Ящик-Ящик
Саргофаг-Саркофаг и так далее
Сейчас все OCMobContainter всегда сундук.... *facepalm*
Вот кодом, может понятнее будет
//если в фокусе сундук
if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_CHEST")) || (Hlp_StrCmp(mob._oCMob_name, "CHEST")))
{
if(mob.containList_next != 0)
{
//фокусное имя Сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CHEST");
}
else
{
//фокусное имя Пустой сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCHEST");
};
}
//если в фокусе Саркофаг
else if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_SARKOFAG")) || (Hlp_StrCmp(mob._oCMob_name, "SARKOFAG")))
{
if(mob.containList_next != 0)
{
//фокусное имя Саркофаг
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_SARKOFAG");
}
else
{
//фокусное имя Пустой саркофаг
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYSARKOFAG");
};
}
//если в фокусе Ящик
else if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_CRATE")) || (Hlp_StrCmp(mob._oCMob_name, "CRATE")))
{
if(mob.containList_next != 0)
{
//фокусное имя Ящик
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CRATE");
}
else
{
//фокусное имя Пустой Ящик
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCRATE");
};
}
//если в фокусе сундук не попадает ни под одно условие
//его фокусные имена будут стандартные
else
{
if(mob.containList_next != 0)
{
//фокусное имя сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CHEST");
}
else
{
//фокусное имя Пустой сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCHEST");
};
};