Добавлен N1ghtSiren
Есть 2 пакета - Systems и itemlib
В itemlib система статов при поднятии шмоток, в Systems - действия при поднятии шмотки
в Systems:
import public ItemLib
в ItemLib:
import public initlater Systems
В itemlib система статов при поднятии шмоток, в Systems - действия при поднятии шмотки
в Systems:
import public ItemLib
в ItemLib:
import public initlater Systems
При этом, функцию из ItemLib нельзя вызвать, ибо вылезает ошибка:
[Wurst] Function ItemStatSyncAll is not visible here.
function StatSyncAll(unit u)
defined in package ItemLib
defined in package ItemLib
Есть ли способ поправить это, не объединяя 2 пакета в один?
Пакеты друг без друга работать не могут
Пакеты друг без друга работать не могут
раскрыть
trigger ItemDrop = CreateTrigger() //глобалка
function RemoveStats(integer itemid, unit owner)
...
...
...
StatsSyncAll(owner) // Ошибка
//=========================================
function Trig_itemdrop_Actions()
RemoveStats(GetItemTypeId(GetManipulatedItem()),GetManipulatingUnit())
function InitTrig_itemdrop()
TriggerRegisterAnyUnitEventBJ(ItemDrop,EVENT_PLAYER_UNIT_DROP_ITEM)
TriggerAddAction(ItemDrop, function Trig_itemdrop_Actions )
GetLocalPlayer, прошу помощи :3
Принятый ответ
Такое может произойти если функция не объявлена публичной
public function StatsSyncAll(unit owner)
// Ра-та-та-та-та
По умолчанию, объявления внутри пакета приватные.
P.S. в Wurst лучше придерживаться стиля Wurst. То бишь, имена функций и переменных следует начинать с маленькой буквы
public function statsSyncAll(unit owner)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован GetLocalPlayer