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

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

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

offline
Опыт: 1,060
Активность:
Не работает код
Итемы не дропаются...
Код:
function ItemInInventory takes unit u, integer itemId returns item
    local integer index=0
    local item    indexItem
    local integer i
    loop
        set indexItem = UnitItemInSlot(u, index)
        if indexItem != null and GetItemTypeId(indexItem) == itemId then
            set i=index + 1
        endif
        set index = index + 1
        exitwhen index >= 6
    endloop
    set indexItem=null
    if (i == 0) then
        return null
    else
        return UnitItemInSlot(u, i-1)
    endif
endfunction

function Trig_QuestMobDies_Conditions takes nothing returns boolean
local integer i
local unit u=udg_player_hero[GetPlayerId(GetOwningPlayer(GetKillingUnit()))]
local item it=null
    if GetUnitTypeId(GetTriggerUnit())=='n00H' and GetRandomInt(1,100)<=35 and LoadInteger(udg_h,GetHandleId(u),StringHash("CurrentQuest"))==StringHash("Potion") and GetItemCharges(ItemInInventory(u,'I021'))<7 then
//а если убрать проверку на количество зарядов, то вещи падают. Просто не хочу, чтобы они продолжали падать, когда гер собрал достаточное кол-во
        set it = CreateItem('I021',GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()))
        call SetItemUserData(it,GetPlayerId(GetOwningPlayer(u))+1)
    endif
    set u=null
    set it=null
    return false
endfunction
Старый 03.01.2012, 15:46
MyRtZ

offline
Опыт: 6,530
Активность:
Первая функция глупость полная
Используй эту
   function ItemInInvntry takes unit u, integer a returns item
      local integer i = 0
      loop
         exitwhen i > 5 or GetItemTypeId(UnitItemInSlot(u,i)) == a
         set i = i + 1
      endloop
      if (i < 6) then
         return UnitItemInSlot(u,i)
      endif
      return null
   endfunction
Где отладочные сообщения?
Старый 03.01.2012, 15:56
PiCkUpEr_AsT

offline
Опыт: 1,060
Активность:
Цитата:
Сообщение от MyRtZ
Первая функция глупость полная
Используй эту
Где отладочные сообщения?

спасибо! Сейчас попробую. Не пользуюсь) не знаю или считаю, что много мороки, или оттого что не хочу лезть в дебри говоря "и без этого норм живётся")

PiCkUpEr_AsT добавил:
работает.
Старый 03.01.2012, 16:09
Закрытая тема

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

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

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

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



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