Короче мне нужно поместить артефакт в слот только-что удалённого артефакта.
Но я не могу найти такое действие.
Да и вообще мне кажется можно было бы как-то короче триггер сделать.
Просто киньте вашу наработку, или хотя-бы скрин.
Имхо быстрее будет чем что-та здесь писать.

Принятый ответ

Пордон, там мой косяк. Давно на GUI не работал. Вот так верно.
теперь кастом скрипт таков
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA()-1)
я просто предмет сравнивал с предметом (1=1?)
а надо было 1=x?
в общем щас правльно
карту еще прикрепил. С тебя "+"
Загруженные файлы
0
28
10 лет назад
0
узнаём слот итема
заносим в локалку
удаляем итем
добавляем артефакт в слот который записан в локалке
0
18
10 лет назад
Отредактирован SANTIMEL
0
Ты с просони походу)) Я как-раз не могу найти действие которое добавляет артефакт в запомненный слот.
1
28
10 лет назад
1
Дик,
UnitAddItemToSlotById
хоть иногда список нативок смотри перед тем как вопросы задавать
0
18
10 лет назад
Отредактирован SANTIMEL
0
Я же не бог. Не могу идеально интерпретировать, и понимать, перевод с переводчика.
Я со временем рихтую текстовой документ с переводом триггеров, да и сам запоминаю слова.
Но ещё раз говорю, я не бог. Не могу сразу выучить английский.
Ps. : Час убил.
Я хрен его знает откуда ты взял этот триггер. Но ни в "Тредмет ...", ни в "Герой ...", ни в "Боевая единица ..."я ничего такого не нашёл.
0
23
10 лет назад
0
Дик, герой - Create item in hero inventory slot.
nvc123, ты ему ещё какую-нибудь cjass систему напиши для этого.
0
20
10 лет назад
0
Сначала
Потом
Загруженные файлы
1
28
10 лет назад
Отредактирован nvc123
1
SomeFire, а что
хорошая идея
void ItemReplace(unit a,item b,int d){
int c=5;
loop{
if (UnitItemInSlot(a,c)==b){
RemoveItem(b);
UnitAddItemToSlotById(a,d,c)
c=0;
}
exitwhen c==0
c--;
}
}
вот моя наработка
эта функция заменяет предмет
1
15
10 лет назад
Отредактирован EnergyFrost
1
nvc,это можно было сделать на обычном Jass и не так помпезно ), но 10 секунд старания достойны плюсика. Щас я тебе на обычный Jass переведу
function ItemReplace takes unit a, item b ,integer d returns nothing
local integer c=5;
loop
if (UnitItemInSlot(a,c)==b)
call RemoveItem(b);
call UnitAddItemToSlotById(a,d,c)
set c=0;
endif
exitwhen c==0
set c=c-1
endloop
endfunction
Для того, чтобы ее использовать просто набери call ItemReplace(Юнит,итем,айдиитем)
айдиимет который нужно добавить
юнит-манипулитедюнит
итем-гетманипулитед
Я вот только не знаю, будет ли работать эта система если у героя 6> слотов
А на гуи это будет так
Строка кастом скрипта : call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA())
Будет работать или нет, я не знаю, но попробуй
Загруженные файлы
0
18
10 лет назад
Отредактирован SANTIMEL
0
Что-та не понял.
В графу "Значение" у кустом скрипта, не влезает этот скрипт
Загруженные файлы
0
15
10 лет назад
0
всмысле не влезает? ты куда пихаешь? почему у меня влез?
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA())
0
23
10 лет назад
0
Дик, во-первых, всё там влезает, просто каретку двигать надо. Во-вторых, ты серьезно хочешь использовать джасс вместо гуи??? Вот эту ересь вместо одной гуи-строчки?
0
15
10 лет назад
0
ты нахер копируешь всю функцию :D
ты видешь как я тебе на гуи сделал?
SomeFire:
Дик, во-первых, всё там влезает, просто каретку двигать надо. Во-вторых, ты серьезно хочешь использовать джасс вместо гуи??? Вот эту ересь вместо одной гуи-строчки?
я тебя не понимаю. GUI - это Jass, только с графическим интерфейсом и дебильным компилятором, утечками etc.
0
18
10 лет назад
Отредактирован SANTIMEL
0
Извиняй. У меня 2 ночи. Мозг ...
Вот сейчас всё правильно сделал. Но очевидно что-та не то
За место одного артефакта, ложится несколько.
Загруженные файлы
1
15
10 лет назад
1
Пордон, там мой косяк. Давно на GUI не работал. Вот так верно.
теперь кастом скрипт таков
call UnitAddItemToSlotById(GetManipulatingUnit(),'id вашего предмета',GetForLoopIndexA()-1)
я просто предмет сравнивал с предметом (1=1?)
а надо было 1=x?
в общем щас правльно
карту еще прикрепил. С тебя "+"
Загруженные файлы
Принятый ответ
0
23
10 лет назад
0
EnergyFrost, конкретно в данном случае ты используешь кастомскрипт вместо обычного гуишного вызова, который при компиляции карты превращается в ту же самую строчку кода.
Более того, если уж ты считаешь, что такая смесь лучше чистого гуи - преобразуй триггер в чистый джасс. Довольно легко заметить, что примитивный цикл с условием там записан чересчур сложно.
0
15
10 лет назад
0
SomeFire:
EnergyFrost, конкретно в данном случае ты используешь кастомскрипт вместо обычного гуишного вызова, который при компиляции карты превращается в ту же самую строчку кода.
Более того, если уж ты считаешь, что такая смесь лучше чистого гуи - преобразуй триггер в чистый джасс. Довольно легко заметить, что примитивный цикл с условием там записан чересчур сложно.
Я знаю. Я просто не нашел такой нативы в gui списке и решил написать, как я предпочитаю
0
23
10 лет назад
0
1
15
10 лет назад
1
SomeFire:
Лень было искать
Да и какая разница? Все ведь работает
0
23
10 лет назад
Отредактирован SomeFire
0
И эта функция void ItemReplace(unit a,item b,int d) работает, но к чему такие сложности, если есть банальное гуи-решение для начинающего картодела?
1
18
10 лет назад
1
Очень БИГ спс всем !
EnergyFrost, тебе особенно "^_^"
Чтобы оставить комментарий, пожалуйста, войдите на сайт.