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

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

Ответ
 
DviRUS

offline
Опыт: 3,035
Активность:
Коды предметов
Щас изменяю одну карту, т.к. создатели спят. Она была защищена, снял защиту спомощью Х-Депротектора. Много предметов требуют балансирования, но во вкладке "предметы" нет ниодного измененного. Непойму куда они изменения воткнули...

Вот отрывочек кода на 1 предмет:
Код:
function Trig_Ricochet_Gem_Conditions takes nothing returns boolean
if(not(UnitHasItemOfTypeBJ(GetManipulatingUnit(),'I00K')==true))then
return false
endif
if(not(UnitHasItemOfTypeBJ(GetManipulatingUnit(),'I00W')==true))then
return false
endif
if(not(UnitHasItemOfTypeBJ(GetManipulatingUnit(),'I00H')==true))then
return false
endif
return true
endfunction

function Trig_Ricochet_Gem_Actions takes nothing returns nothing
local effect Blink
call AddSpecialEffectTargetUnitBJ("origin",GetManipulatingUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
set Blink=GetLastCreatedEffectBJ()
call RemoveItem(GetItemOfTypeFromUnitBJ(GetManipulatingUnit(),'I00K'))
call RemoveItem(GetItemOfTypeFromUnitBJ(GetManipulatingUnit(),'I00W'))
call RemoveItem(GetItemOfTypeFromUnitBJ(GetManipulatingUnit(),'I00H'))
call UnitAddItemByIdSwapped('I003',GetManipulatingUnit())
call TriggerSleepAction(2)
set Blink=null
endfunction


Пожалуйста, объясните на програмистком уровне, что значит I00K и др, UnitHasItemOfTypeBJ, и что этот отрывок вообще означает.

ЗЫ: Не посылайте меня читать умную литературу... Из за одного вопроса иногда не надо изучать десятки листов учебников. А то многие только так и делают... наверное умными хотят показаться... ИМХО

Отредактировано Q, 03.12.2007 в 02:59.
Старый 02.12.2007, 23:53
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
вот сюда в следующий раз)

FellGuard добавил:
rawcode объекта

FellGuard добавил:
тип предмета это и есть 'I00K', в Ро всё есть
Старый 03.12.2007, 00:01
adic3x

offline
Опыт: 108,439
Активность:
во первых если ты изменяешь мапу я надеюсь ты старых афторов укажещь и сибя как модификатора?
Цитата:
но во вкладке "предметы" нет ниодного измененного

были импортированны очевидно .слк и .тхт таблицы. открой мапу с помощью мпку архиватора и посмотри там.
Цитата:
что значит I00K и др

'I00K' равкод итема (тобишь его номер в таблице, где указанны его характеристики) который является интегером, записанном в 256 си.
Цитата:
UnitHasItemOfTypeBJ

бж функция) щас распишу:
Код:
function GetInventoryIndexOfItemTypeBJ takes unit whichUnit, integer itemId returns integer
    local integer index
    local item    indexItem

    set index = 0
    loop
        set indexItem = UnitItemInSlot(whichUnit, index)
        if (indexItem != null) and (GetItemTypeId(indexItem) == itemId) then
            return index + 1
        endif

        set index = index + 1
        exitwhen index >= bj_MAX_INVENTORY
    endloop
    return 0
endfunction

function UnitHasItemOfTypeBJ takes unit whichUnit, integer itemId returns boolean
    return GetInventoryIndexOfItemTypeBJ(whichUnit, itemId) > 0
endfunction


функция UnitItemInSlot возращает предмет, который юнит носит в опред. слоте. GetItemTypeId возращает интегер номер предмета в таблице (ака равкод).

ADOLF добавил:
кстати код полный ошибок сделан из гуи тригеров)))
Старый 03.12.2007, 00:05
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
были импортированны очевидно .слк и .тхт таблицы. открой мапу с помощью мпку архиватора и посмотри там.
если чё есть тула НЕТРАТА которая востанавливает слк/тхт обратнов w3* файлы. (в барахолке есть) SilkObject (DeWidgetizer) называетьса
Старый 03.12.2007, 01:12
S

offline
Опыт: 43,833
Активность:
Цитата:
Сообщение от Toadcop
если чё есть тула НЕТРАТА которая востанавливает слк/тхт обратнов w3* файлы. (в барахолке есть) SilkObject (DeWidgetizer) называетьса


Если у тя на компьютере стоят блокнот и Excel - имхо это будет не нужно... хотя имхо мона попробовать

Sasha добавил:
А карта кстати судя по скрипту - Mad Balls Arena, там имхо все предметы на джассе...

ID - Raw-code of the item.
I00K - порядковый номер айтема.
Карта на ГУИ и даже не заоптимизирована (ОМГ)...

П.С. Добавь сюда же в код функцию
Init_Trig_Ricochet_Gem или что-то подобное...

Отредактировано df Hunter, 03.12.2007 в 15:04.
Старый 03.12.2007, 10:39
DviRUS

offline
Опыт: 3,035
Активность:
С VampFire снял защиту спомощью Х-Депротектора...
Тогда как добавить ограничение количества на 1 из предметов?

Отредактировано df Hunter, 03.12.2007 в 15:04.
Старый 03.12.2007, 12:22
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Sasha Здесь разговор не о плагиатах, многие карты добились наивысшей популярности уже с другими авторами(та же DotA), так что хватит разговоров об этом, еще один пост на эту тему и будет варн, лучше помоги человеку
Старый 03.12.2007, 15:06
DviRUS

offline
Опыт: 3,035
Активность:
Самое интересное то что в магазинах (Предметов продано) все эти предметы (измененые) выглядят так:(" , , ,Ring of regeniranion, , ")
Старый 03.12.2007, 16:37
Ответ

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

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

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

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



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