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

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

Ответ
 
Воробей

offline
Опыт: 5,839
Активность:
Кража предметов

Описание:

заклинание при использовании которого у героя-кастера есть шанс украсть предмет у цели. Чем больше у цели предметов тем выше шанс. Данная наработка может подойти для РПГ и кампаний.

Импорт:

скопировать 1 триггер и 1 абилку (триггер на ГУИ)

Совместимость:

данная наработка может быть несовместима с нестандартными наработками инвентаря
Прикрепленные файлы
Тип файла: w3x Кража предметов.w3x (13.3 Кбайт, 143 просмотров )

Отредактировано Воробей, 14.11.2008 в 11:36.
Старый 04.11.2008, 22:23
FaYsT
Hunter left 4 dead
offline
Опыт: 1,634
Активность:
Цитата:
Так задумано. Чем больше у жертвы предметов, тем больше вероятность кражи и наоборот

Ясно. Оч. хорошо придумано!
Старый 04.11.2008, 22:26
Воробей

offline
Опыт: 5,839
Активность:
Так задумано. Чем больше у жертвы предметов, тем больше вероятность кражи и наоборот
Старый 04.11.2008, 22:27
Manhant
Убежал
offline
Опыт: 14,787
Активность:
мне лично не понравилось это сможет сделать и нуб там спелл та всего из одного трига

manhant добавил:
хммм вероятность кражи у тебя всеголишь проверка на каждый слот у героя
Старый 04.11.2008, 22:29
Воробей

offline
Опыт: 5,839
Активность:
manhant не знал что спеллы судят по количеству триггеров. По-моему главное - идея наработки и её воплощение
Старый 04.11.2008, 22:31
Manhant
Убежал
offline
Опыт: 14,787
Активность:
нееет я совсем не об этом ну мож и об этом идейка норм но мне неоч понравилось это было реализованно оч давно кстати придумай свои фишки какие нибудь в спелл чтобы чтонибудь новое а это уже давно устарело
Старый 04.11.2008, 22:37
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Неплохо! Но дам совет. Сделай так что-бы юнит, который крадёт предметы был за спиной того кого он грабит. Так получится куда реалистичней. А то у тебя получилось. Подошол в притык перед глазами и говоришь, "я тебя граблю".
Старый 04.11.2008, 22:38
Воробей

offline
Опыт: 5,839
Активность:
Ща попробую сделать

Воробей добавил:
Вот в этой версии красть можно только сзади
Прикрепленные файлы
Тип файла: w3x Кража предметов со спины.w3x (13.6 Кбайт, 68 просмотров )
Старый 04.11.2008, 22:51
CeraRalaz
...
offline
Опыт: 48,115
Активность:
Минус наработки - несовместимость со многими популярными системами инвентаря.Ну а так всё просто,стандартно и хорошо.
Старый 05.11.2008, 11:55
Воробей

offline
Опыт: 5,839
Активность:
Думаю, тему можно закрывать
Старый 10.11.2008, 18:16
RazArt

offline
Опыт: 11,197
Активность:
Мда... Идея хорошая, а вот реализация.... Вот моя вариант выполнения этого
» Код

Код:
function Trig_Spell_Conditions takes nothing returns boolean
    if ( not ( RectContainsLoc(RectFromCenterSizeBJ(PolarProjectionBJ(GetUnitLoc(GetSpellTarget  Unit()), 128.00, ( GetUnitFacing(GetSpellTargetUnit()) + 180.00 )), 320.00, 320.00), GetUnitLoc(GetTriggerUnit())) == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Spell_Actions takes nothing returns nothing
    //Максимальный щанс
    local integer MaxChanse = 65
    //Текущий щанс
    local integer Chanse = 0
    //Кол-во предметов у цели
    local integer Items = 0
    local integer Item = 0
    local integer n = 0
    local integer mn = UnitInventoryCount(GetSpellTargetUnit())
    if GetSpellAbilityId() == 'A000' then
    loop
        exitwhen n == mn
        if UnitItemInSlotBJ(GetSpellTargetUnit(), n) != null then
            set Items = Items + 1
        else
        endif
        set n = n + 1
    endloop
    set Chanse = (MaxChanse / mn) * Items
    if GetRandomInt(1, 100) <= Chanse then
    set Item = GetRandomInt(0, UnitInventorySizeBJ(GetSpellTargetUnit()))
    call UnitAddItemSwapped( UnitItemInSlotBJ(GetSpellTargetUnit(), Item), GetTriggerUnit() )
    call RemoveItem( UnitItemInSlotBJ(GetSpellTargetUnit(), Item) )
    else
    endif
    else
    endif
endfunction

function InitTrig_Spell takes nothing returns nothing
    set gg_trg_Spell = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Spell, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Spell, Condition( function Trig_Spell_Conditions ) )
    call TriggerAddAction( gg_trg_Spell, function Trig_Spell_Actions )
endfunction


JokArt добавил:
А вот и карта пример
Прикрепленные файлы
Тип файла: w3x Items.w3x (14.6 Кбайт, 42 просмотров )

Отредактировано JokArt, 10.11.2008 в 19:08.
Старый 10.11.2008, 19:14
Bermoff

offline
Опыт: 4,101
Активность:
JokArt,ну как так?Выполняешь на Жасс и ...Добавь чтоли шанс на то,что чувак,у которого воруешь,может запалить,что ты воруешь...Если шанс не прошёл-выдаётся сообщение,что не удалось украсть и т.д.
Старый 10.11.2008, 19:49
agentex

offline
Опыт: 34,834
Активность:
Код:
RectContainsLoc(RectFromCenterSizeBJ(PolarProjectionBJ(GetUnitLoc(GetSpellTarget  Unit()), 128.00, ( GetUnitFacing(GetSpellTargetUnit()) + 180.00 )), 320.00, 320.00), GetUnitLoc(GetTriggerUnit())) == true ) ) then

О_О это ужасно.. 3 утечки в одной строке
Старый 10.11.2008, 20:12
RazArt

offline
Опыт: 11,197
Активность:
agentex, эту строчку я взял у Воробья в примере, к нему притензии) А вообше просто некогда было, если хотите доработаю
Старый 10.11.2008, 20:20
CDJ
Unity 3D engine user
offline
Опыт: 5,954
Активность:
Имхо лучше не воровать,а как бы выбивать предмет из героя,чтобы он выпадал на землю...а то если использовать ето "воровство" в АоС,то подумайте на сколько обидно будет,если у тебя украдут предмет,на который потрачено довольно не плохое количество золота...
Старый 10.11.2008, 20:31
agentex

offline
Опыт: 34,834
Активность:
Воробей делал как я понял на ГУИ, поэтому претензий к нему быть не может)
по теме: не знаю в каких картах такая система может применяться.. только если в рпг у мобов вещи красть ну либо какието специфические жанры
Старый 10.11.2008, 20:31
Bermoff

offline
Опыт: 4,101
Активность:
JokArt,а воробей тут при чём? xD
Ты с нуля не стал делать,а взял у него,он в этом виноват??? xDDD
Старый 10.11.2008, 21:35
MartyrOfSorrow
Kicked by ZlaYa1000
offline
Опыт: 9,320
Активность:
Где оформление темы! Сколько можно вам замечание делать? Так даю время на оформление либо когда автор выйдет или до завтра, если не будет - сношу тему без предупреждения.
Старый 10.11.2008, 21:50
RazArt

offline
Опыт: 11,197
Активность:
Лан, лан, лан если тема не будет до завтра снесена, то пофиксю утечки и выложу или свой пост сделать, просто системка не вот уж супер?
Старый 10.11.2008, 22:03
MartyrOfSorrow
Kicked by ZlaYa1000
offline
Опыт: 9,320
Активность:
реализация одного и того же - плагиат, не зависимо джасс или гуи, я обращаюсь к Воробей.
Старый 11.11.2008, 00:08
Ответ

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

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

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

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



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