|
|
|
|
передача предметов другому игроку
|
|
DeadJass | Дата: Вторник, 19 Июля 2011, 02:19:31 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| У меня очень замысловатая ситсеема А кртаце. Юнит взял руну ему дали нормал итем Юнит выкинул нормал итем на земле появилась руна Если у юнита 2 одинаковых итема то поднимаемый итем выкидывается Когда я даю союзному игроку итем а у него уже есть такойже то получается белеберда.
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
FkoFF | Дата: Вторник, 19 Июля 2011, 02:50:54 | Сообщение # 2 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| может код выложишь? Все телепаты уехали по лагерям.
|
|
|
|
H_A_PK | Дата: Вторник, 19 Июля 2011, 03:29:50 | Сообщение # 3 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| DeadJass, Разве ты не можешь проверить кодом если у юнита предмет такого же типа, что и "подобраны предмет" ? О_О
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
DeadJass | Дата: Вторник, 19 Июля 2011, 04:31:34 | Сообщение # 4 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| FkoFF, там очень много кода + я думаю для вас он нечитабельный. H_A_PK, ам всмысле?
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
FkoFF | Дата: Вторник, 19 Июля 2011, 05:07:48 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| DeadJass, выкладывай какой есть... )
|
|
|
|
H_A_PK | Дата: Вторник, 19 Июля 2011, 05:12:52 | Сообщение # 6 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| Quote (DeadJass) Если у юнита 2 одинаковых итема то поднимаемый итем выкидывается Quote (DeadJass) Когда я даю союзному игроку итем а у него уже есть такойже то получается белеберда. Quote (H_A_PK) проверить кодом если у юнита предмет такого же типа, что и "подобраны предмет" yyehh
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
DeadJass | Дата: Вторник, 19 Июля 2011, 05:28:03 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| Code void IRC (unit u,int addItemId,int removeAbil1,int removeAbil2) { if coast[GetPlayerId(GetOwningPlayer(u))]==false { CreateItem(addItemId,GetWidgetX(u),GetWidgetY(u)) } UnitRemoveAbility(u,removeAbil1) UnitRemoveAbility(u,removeAbil2) UnitAddAbility(u,'A000') UnitAddAbility(u,'A003') u=null } Code void IAA(unit u,int addItemId,int addAbil1,int addAbil2,int removeAbil1,int removeAbil2) { int i=0 if bow[GetPlayerId(GetOwningPlayer(u))]==false { bow[GetPlayerId(GetOwningPlayer(u))]=true UnitAddItemById(u,addItemId)
whilenot i>6 { if UnitItemInSlot(u,i)!=null and (GetItemTypeId(UnitItemInSlot(u,i))==addItemId) { UnitRemoveAbility(u,removeAbil1) UnitRemoveAbility(u,removeAbil2) UnitAddAbility(u,addAbil1) UnitAddAbility(u,addAbil2) } i++ } } u=null } Code void NTI(unit u,item i,player p,int lvl,string msg) { int id=0 if GetItemLevel(i) == lvl { whilenot id>7 { if GetItemLevel(UnitItemInSlot(u,id)) == lvl and UnitItemInSlot(u,id) != i { RemoveItem(i) CreateItem(GetItemTypeId(i),GetWidgetX(u),GetWidgetY(u)) DisplayTextToPlayer(p,0,0,msg) } id++ } } u=null i=null p=null } Code void ItemFire_Timer() { timer t=GetExpiredTimer() int id=GetHandleId(t) unit u=LoadUnitHandle(Hash,id,0) RemoveItem(LoadItemHandle(Hash,id,1)) IRC (u,'I00L','A00L','A00K') SetHeroAgi(Hero[GetPlayerId(GetOwningPlayer(u))],900,true) SetHeroStr(Hero[GetPlayerId(GetOwningPlayer(u))],65,true) t=null u=null } void Trig_ItemFireDrop_Actions() { unit u=GetTriggerUnit() timer t=CreateTimer() int id=GetHandleId(t) bow[GetPlayerId(GetOwningPlayer(u))]=false SaveUnitHandle(Hash,id,0,u) SaveItemHandle(Hash,id,1,GetManipulatedItem()) TimerStart(t,.01,false, function ItemFire_Timer) set u=null }
NTI - запрет ношения 2 итемов IAA - при поднятии руны дает нормал IRC - при выкидывании нормала дает руну на землю
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
Сообщение отредактировал DeadJass - Вторник, 19 Июля 2011, 05:29:51 |
|
|
|
H_A_PK | Дата: Вторник, 19 Июля 2011, 07:37:47 | Сообщение # 8 |
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
| Quote (DeadJass) NTI - запрет ношения 2 итемов очевидно что функция делает явно не это о0 она проста сравнивает предмет на лвл, в общем. Нужно сравнивать равкод предмета (id), а не его уровень) кстате этой строкой Code UnitItemInSlot(u,id) != i ты сравниваешь одинаковость предметов о0 т.е. тоже самое сравнить себя с собой, это как я != я Бред) надо равкод предмета сравнивать
проклятье ляжет на любого кто дочитает до конца нет не дочитывай не надо остановись ну всё капец
|
|
|
|
lawson | Дата: Вторник, 19 Июля 2011, 14:38:19 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| DeadJass, долбаный cJASS, вродебы все понятно но вот теряюсь в скобках - где конец трига и начало.
Добавлено (19-07-2011, 14:34) --------------------------------------------- Quote (DeadJass) if GetItemLevel(UnitItemInSlot(u,id)) == lvl and UnitItemInSlot(u,id) != i Помоему ошибка здесь. GetItemTypeId(UnitItemInSlot(u, id)) != GetItemTypeId(UnitItemInSlot(u, i))Добавлено (19-07-2011, 14:38) --------------------------------------------- H_A_PK, Извиняюсь не заметил твой пост.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Вторник, 19 Июля 2011, 14:36:51 |
|
|
|
|
|
|
|
|
|
|