XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
ARHUI

offline
Опыт: 3,341
Активность:
Опять предметы
При инициализации строению с 4-мя способностями Aall,Asid,Aneu,Apit (общие магазины, продажа предметов, лавка: купить предмет, выбрать героя) добавляются для продажи 2 предмета
    set l = Location(0,0)
    set udg_TheHouse = CreateUnitAtLoc(Player(9),'n003',l,0.00)
    call AddItemToStock(udg_TheHouse, 1196765232, 0, 1)
    call AddItemToStock(udg_TheHouse, 1195913264, 0, 1)
((кат код
function GuardianDistanceUpgradeActions takes nothing returns nothing
    local integer a = 0
    local integer b = 0
    local integer itemid = 0
    local item it = GetManipulatedItem()
    
    
    set itemid = 1196765232
    
    loop
        exitwhen a > 9
        if ( GetItemTypeId(it) == (itemid+a) ) then
            call AddItemToStock(udg_TheHouse, (itemid+a+1), 0, 1)
            call RemoveItemFromStock(udg_TheHouse, (itemid+a))
            call RemoveItem( it )
            return
        endif
        set a = a + 1
    endloop
    
    set a = 0
    set b = 0
    set itemid = 1195913264
    
    loop
        exitwhen a > 9
        if ( GetItemTypeId(it) == (itemid+a) ) then
            call AddItemToStock(udg_TheHouse, (itemid+a+1), 0, 1)
            call RemoveItemFromStock(udg_TheHouse, (itemid+a))
            call RemoveItem( it )
            return
        endif
        set a = a + 1
    endloop

    
endfunction
//===========================================================================
function InitTrig_Upgrades takes nothing returns nothing
    set gg_trg_Upgrades = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Upgrades, EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddAction( gg_trg_Upgrades, function GuardianDistanceUpgradeActions )
endfunction
))
у каждого предмета 9 копий (всего 10) все имеют имя перемнной вида 00-09
Проблема в том что при покупке последнего предмета одной группы (1195913264-1195913273) из магазина исчезает и первый.
Это уже попытки понять что происходят, изначально было 6 групп по 10 предметов, так там вообще черт знает что творилось, при покупке 6-го предмета в целом (то есть не обязательно купить 6 предметов одной группы, можно в любом порядке) остальные начинали пропадать по очереди, а именно клетка (0,0) потом (0,1) потом (0,2) потом (1,0)...
Спасайте, мне это нужно для апгрейдов союзных войск...
Старый 05.05.2011, 01:11
ARHUI

offline
Опыт: 3,341
Активность:
Короче на данный момент только один вариант работает - загнал все равкоды в переменные, потом в цикле
сравниваю содержимое переменных с предметами и купленный предмет, при совпадении имею номер в соответствии с которым ставлю уровень улучшения, потом циклом удаляю все предметы из лавки и поочередно добавляю их в соответствии с уровнем соответствующего исследования.
Даже звучит как фигня полная, зато работает, а вариант на равкодах, который без переменных вообще, работать не хочет... Ну и х с ним...
Старый 05.05.2011, 02:46
DioD

offline
Опыт: 45,134
Активность:
нет отладочных сообщений, закрыто.
Старый 05.05.2011, 05:02
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:12.