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

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

Ответ
 
Warden
:::...
offline
Опыт: 26,106
Активность:
CCS v 2.0
Эту систему я считаю шедевром =) – очень уж она хитрая и простенькая. Позволяет спаривать и разделять заряды предметов прямо в панели инентаря.
Теперь в картах типа RPG или AoS можно легко поделиться одним из множества зарядов заветного лечебного зелья с вашим товарищем =)
Для недогадливых:
Чтобы спарить заряды предметов: Нажмите правой на предмет, затем любой на такой же.
Чтобы отделить один заряд от предмета: Нажмите правой на предмет, затем на пустой слот инвентаря.
Прикрепленные файлы
Тип файла: w3x Charges Connect System.w3x (13.4 Кбайт, 258 просмотров )
Старый 24.01.2008, 08:51
Warden
:::...
offline
Опыт: 26,106
Активность:
AdamN - алгоритмом разделения зарядов...
Старый 24.01.2008, 09:15
ScorpioT1000
Работаем
online
Опыт: отключен
Цитата:
Чтобы спарить заряды предметов: Нажмите правой на предмет, затем любой на такой же.
Чтобы отделить один заряд от предмета: Нажмите правой на предмет, затем на пустой слот инвентаря.

Вау круто! Надо диалог еще "Скока отделить?")

ScorpioT1000 добавил:
Цитата:
Charges Connect System.w3x

блин нафик так называть? Уш сто систем с таким названием=\

ScorpioT1000 добавил:
Ваще система рулид и нинадо никаких диалогов!

Заметка: лучше сделать чтобы при поднятии предмета складывать сразу, иначе так неудобно складывать... если хочешь я сделаю..)

Ну палюбому буду юзать ее в проекте) Такчто огромное спасибо за систему.
Старый 24.01.2008, 11:15
Warden
:::...
offline
Опыт: 26,106
Активность:
Цитата:
если хочешь я сделаю..)

Думаешь Warden не справицо =) - для твоего проекта могу сделать как тебе нужно...
Старый 26.01.2008, 05:44
adic3x

offline
Опыт: 108,439
Активность:
мда, у вардена снова наплыв его мего систем ;)
вообще я хз, ну идея впринципе тру, но система из одной функции (нет, но в принципе так оно и есть т.к. все можно прекрасно вставить и в одну) кажеться как то... мелко?
Старый 26.01.2008, 13:34
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
Теперь в картах типа RPG или AoS можно легко поделиться одним из множества зарядов заветного лечебного зелья с вашим товарищем =)
в норм картах не будут юзатьса простые инвентари =)


:pray: Warden ты мастер мега-шорт систем которы такими не назвать =)
ну фиг знает для примера для другх норм.
Старый 26.01.2008, 14:33
arko59
начинающий Jass'ер
offline
Опыт: 1,066
Активность:
блин, сделай чтоб сразу складывались заряды, а то я не умею=)
Старый 14.12.2008, 20:37
agentex

offline
Опыт: 34,834
Активность:
arko59, он тебя врядли услышит. вот моя старая функция, можешь заюзать ее.
Код:
function ChargesAdding takes unit u, item it returns nothing
local integer i = 0
if GetItemCharges(it) > 0 then
 loop
 exitwhen i > 5
   if (GetItemTypeId(UnitItemInSlot(u, i)) == GetItemTypeId(it) and UnitItemInSlot(u, i) != it) then
     call SetItemCharges(UnitItemInSlot(u, i), (GetItemCharges(it) + GetItemCharges(UnitItemInSlot(u, i))))
     call RemoveItem(it)
     set i = 5
   endif
 set i = i + 1
 endloop
endif
endfunction


agentex добавил:
вот исправил немного, а то та багнутая была

Отредактировано agentex, 14.12.2008 в 21:16.
Старый 14.12.2008, 21:16
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
agentex, незнаю че, но захотелось испытать твою систему. результат - при первой покупке итема с зарядами вылетает фаталь

Flareon добавил:
хотя мб я криво скопировал...
Старый 14.12.2008, 21:25
agentex

offline
Опыт: 34,834
Активность:
да, событие нужно использовать Юнит Получает Предмет

agentex добавил:
Flareon, только что проверил, все O.K., вот код тригера полностью:
Код:
function ChargesAdding takes unit u, item it returns nothing
local integer i = 0
if GetItemCharges(it) > 0 then
 loop
 exitwhen i > 5
   if (GetItemTypeId(UnitItemInSlot(u, i)) == GetItemTypeId(it) and UnitItemInSlot(u, i) != it) then
     call SetItemCharges(UnitItemInSlot(u, i), (GetItemCharges(it) + GetItemCharges(UnitItemInSlot(u, i))))
     call RemoveItem(it)
     set i = 5
   endif
 set i = i + 1
 endloop
endif
endfunction

function Trig_Charges_Actions takes nothing returns nothing
  call ChargesAdding(GetTriggerUnit(), GetManipulatedItem())
endfunction

//===========================================================================
function InitTrig_Charges takes nothing returns nothing
    set gg_trg_Charges = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Charges, EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddAction( gg_trg_Charges, function Trig_Charges_Actions )
endfunction


agentex добавил:
Flareon, не исключена несогласованностть с другими системами в твоей карте, например с Remove Item Bug и т.п.
Старый 14.12.2008, 21:36
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
А я сделал так, и тоже стало О.К.
» код
Код:
function Trig_CC_Actions takes nothing returns nothing
    local integer i = 0
    local unit u=GetTriggerUnit()
    local item it=GetManipulatedItem()
    if GetItemCharges(it) > 0 then
    loop
     exitwhen i > 5
      if (GetItemTypeId(UnitItemInSlot(u, i)) == GetItemTypeId(it) and UnitItemInSlot(u, i) != it) then
       call SetItemCharges(UnitItemInSlot(u, i), (GetItemCharges(it) + GetItemCharges(UnitItemInSlot(u, i))))
       call RemoveItem(it)
       set i = 5
       endif
      set i = i + 1
     endloop
    endif
    set u=null
    set it=null 
endfunction

//===========================================================================
function InitTrig_CC takes nothing returns nothing
    set gg_trg_CC = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_CC, EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddAction(gg_trg_CC, function Trig_CC_Actions)
endfunction

фатал был из-за отсутствия функции Charges_Actions (скорее всего)

Flareon добавил:
Цитата:
не исключена несогласованностть с другими системами в твоей карте, например с Remove Item Bug и т.п.

agentex, я создал новую карту-пустышку
Старый 14.12.2008, 21:38
agentex

offline
Опыт: 34,834
Активность:
Код:
» код

ну просто задумывалось что функция скопируется в кустом код карты и будет вызываться откуда нужно
Старый 14.12.2008, 21:42
Zkay

offline
Опыт: 5,576
Активность:
Автор, а как сделать ограничение предмета, я в jass нуль пока. =(
Zkay добавил:
Ну и конечно складывание вещей.
[+] 1 пункт от Hellcore: гробокопатель
Старый 20.07.2012, 21:24
Ответ

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

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

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

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



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