Terros
offline
Опыт:
2,502Активность: |
Джасс нужна помошь
Как добавить шмотку герою по ее itemtype? |
11.09.2005, 15:45 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
В смысле item type тебе известен как параметр типа integer? Иначе зачем тут jass?
Если да, то все достаточно просто. Ну, во первых, можно создать команду добавления предмета из на обычных триггерах - для переменной типа item type. Затем перевести триггер в текст (есть такая команда) и посмотреть, как она будет выглядеть в jass. Скопировать команду и вставить в нужное место, подставив вместо переменной item type нужное число типа integer.
Можно и по другому. Например сделать команду set udg_itype = <нужное число типа integer> Где itype - переменная типа item type А команду дать пгерою предмет типа itype дать на обычных триггеах. Этот способ предпочтительнее, если ты работаешь с custom script и не хочешь переводить весь триггер в jass. |
11.09.2005, 16:10 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
Код:
видимо так =) |
11.09.2005, 16:13 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Terros
offline
Опыт:
2,502Активность: |
Добавить вешь по itemtype нельзя но я уже все переделал
function SetCharges takes integer Item, unit Unit, integer Charges returns boolean local integer i = 0 local item CItem loop exitwhen i > 6 set CItem = UnitItemInSlot(Unit,i) if GetItemTypeId(CItem) == Item then if GetItemCharges(CItem) >= Charges then if GetItemCharges(CItem) == Charges then call RemoveItem(CItem) return true endif call SetItemCharges(CItem,GetItemCharges(CItem)-Charges) return true endif endif set i = i + 1 endloop return false endfunction function CreateEquip takes unit Unit,integer Item, integer Material, integer SecondMaterial, integer Skill, integer FCharges, integer SCharges returns nothing
if SetCharges(Material,Unit,FCharges) == true and SetCharges(SecondMaterial,Unit,SCharges) == true then if GetRandomInt(0,100) <= Skill then call UnitAddItemById(Unit,Item) call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,5,"You succeseful create leather armor!") else call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,5,"Was not got") endif else call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,5,"No material") endif endfunction Может можно как нибуть оптимизировать но мне с моим уровнем знания джасса никак +) Вот еслиб на пхп или си +) |
12.09.2005, 17:52 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Raz
Click here!
offline
Опыт:
5,714Активность: |
Terros
Посмотри все-таки пост DimonT. Там написан самый общий случай. |
10.10.2005, 22:42 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|