Личные предметы..
|
|
allore | Дата: Понедельник, 24 Июня 2013, 00:31:02 | Сообщение # 1 |
1 уровень
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Блокировки:
| Как сделать так, например, берет первый игрок, к примеру Боевые когти, потом этот предмет становится ему не нужным, и он его выбрасывает, а другой игрок захочет его взять, но он не сможет его взять, потому что этот предмет принадлежит Первому игроку, то есть предмет становится личным. Как такое сделать? Помогите Добавлено (24 Июня 2013, 00:31:02) --------------------------------------------- Я таки без ответа остался Т.Т
Это подпись!
|
|
|
|
xomach | Дата: Понедельник, 24 Июня 2013, 06:56:28 | Сообщение # 2 |
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
| записываешь на хэндл предмета id игрока наверное) хэш таблица- записать целое- номер игрока затем загружаешь и проверяешь
|
|
|
|
Imba_pvL | Дата: Понедельник, 24 Июня 2013, 11:32:18 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| xomach, net. allore, сам добавил такое в карту. Вообщем когда герой поднимает предмет, устанавливаешь особую цену предмета как номер игрока-инициатора А затем если/то/иначе если номер игрока-инициатора неравно особой цене предмета То выбрасываешь предмет, которым манипулируют.
|
|
|
|
xomach | Дата: Понедельник, 24 Июня 2013, 12:07:15 | Сообщение # 4 |
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
| Imba_pvL, а что через хеш мешает? Добавлено (24 Июня 2013, 12:07:15) --------------------------------------------- предмет вроде тоже виджет...
|
|
|
|
Imba_pvL | Дата: Понедельник, 24 Июня 2013, 12:10:57 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| xomach, можно и так но зачем лишний хэш, когда можно обойтись 1 событием, 2 условиями, и 2 действиями
|
|
|
|
Ty3uK | Дата: Понедельник, 24 Июня 2013, 12:47:14 | Сообщение # 6 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Imba_pvL, что есть "лишний хэш"? xomach, в гуи не особо удобно с хэшем работать.
|
|
|
|
allore | Дата: Понедельник, 24 Июня 2013, 14:02:17 | Сообщение # 7 |
1 уровень
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Блокировки:
| Я не разбираюсь в хеше, увы, можете сделать мини-нароботку специально длдя меня? Пожаалуйста
Это подпись!
|
|
|
|
Imba_pvL | Дата: Понедельник, 24 Июня 2013, 14:40:18 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Цитата (Ty3uK) что есть "лишний хэш"? Цитата (Ty3uK) в гуи не особо удобно с хэшем работать.
|
|
|
|
lawson | Дата: Понедельник, 24 Июня 2013, 15:15:55 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Код library LAB initializer init globals public hashtable hash = InitHashtable() endglobals
private struct PlyaerData public player Player private integer i = 0 private item array ItemArray public method AddItem takes item i returns nothing set ItemArray[i] = item set i = i + 1 endmethod public method ResearchItem takes item i returns boolean local integer i = 0 loop exitwhen i > this.i if (ItemArray[i] == i) return true set i = i + 1 endloop return false endmethod endstruct
public function IsThatMine takes player p, item i returns boolean return LoadInteger(hash, GetHandleId(p)).ResearchItem(i) endfunction
public function SelectPlayerItem takes player p, item i returns nothing local integer i = 0 local PlyaerData pd = LoadInteger(hash, GetHandleId(p)) call pd.AddItem(i) call SaveInteger(hash, GetHandleId(Player(i)), pd) endfunction
private function init takes nothing returns nothing local integer i = 0 local PlyaerData pd loop exitwhen i > 9 //условие что игрок под номер i играет => set pd = PlyaerData.create() set pd.Player = Player(i) call SaveInteger(hash, GetHandleId(Player(i)), pd) set i = i + 1 endloop endfunction endlibrary Вот в принципе и все. За точность написания функций не ручаюсь т к пишу по памяти - даже забыл как проверить играет ли игрок.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Понедельник, 24 Июня 2013, 16:16:43 |
|
|
|
xomach | Дата: Понедельник, 24 Июня 2013, 15:20:12 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
| А что такое "владелец предмета" в гуи? lawson, мне кажется, ты ошибся аудиторией
П.С. а хэш в гуи-зло . Лучше б не было
Сообщение отредактировал xomach - Понедельник, 24 Июня 2013, 15:20:31 |
|
|
|
lawson | Дата: Понедельник, 24 Июня 2013, 15:22:38 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| ^ Цитата (xomach) А что такое "владелец предмета" в гуи? Цитата (lawson) За точность написания функция не ручаюсь т к пишу по памяти Цитата (lawson) даже забыл как проверить играет ли игрок Добавлено (24 Июня 2013, 15:22:38) ---------------------------------------------
Цитата (xomach) П.С. а хэш в гуи-зло . Лучше б не было хспади
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
xomach | Дата: Понедельник, 24 Июня 2013, 15:45:44 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
| На гуи, без переменных, 1 триггер Наработка
погорячился
Сообщение отредактировал xomach - Понедельник, 24 Июня 2013, 15:47:23 |
|
|
|
allore | Дата: Понедельник, 24 Июня 2013, 16:20:48 | Сообщение # 13 |
1 уровень
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Блокировки:
| Всем спасибо! Особенно xomach за его нароботку!
Это подпись!
|
|
|
|
Наклз | Дата: Понедельник, 24 Июня 2013, 19:19:45 | Сообщение # 14 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Цитата (Imba_pvL) xomach, net. allore, сам добавил такое в карту. Вообщем когда герой поднимает предмет, устанавливаешь особую цену предмета как номер игрока-инициатора А затем если/то/иначе если номер игрока-инициатора неравно особой цене предмета То выбрасываешь предмет, которым манипулируют. А если предмет изначально стоит 9 ?
Сообщение отредактировал Наклз - Понедельник, 24 Июня 2013, 19:20:28 |
|
|
|
Extremator | Дата: Понедельник, 24 Июня 2013, 22:22:25 | Сообщение # 15 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Можно вот так вот аккуратненько сделать - item.w3x Предмет будет возвращаться на место с которого его пытаются подобрать ... а не падать под ноги к тому кто его хотел взять
+ выводится текст-таг над предметом тому игроку, который пытался поднять
|
|
|
|
Slonick | Дата: Понедельник, 24 Июня 2013, 23:25:23 | Сообщение # 16 |
10 уровень
Группа: Проверенные
Сообщений: 1688
Награды: 0
Репутация: 247
Блокировки:
| Extremator, Я так во всяких рпг таскал предметы на высокие уровни, которые пригодятся, в одну кучу
|
|
|
|
Extremator | Дата: Вторник, 25 Июня 2013, 03:23:15 | Сообщение # 17 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Цитата (Slonick) Я так во всяких рпг таскал предметы на высокие уровни, которые пригодятся, в одну кучу Именно это и можно избежать ))
Когда предмет подбирается в инвентарь, то он не меняет свою "postion of item" / "позиции предмета". До тех пор пока снова не будет выложен из инвентаря.
И кстати на будущее - с юнитами при вхоже в транспорт происходит тоже самое!
|
|
|
|
Батрудинав | Дата: Среда, 26 Июня 2013, 07:45:41 | Сообщение # 18 |
4 уровень
Группа: Проверенные
Сообщений: 86
Награды: 0
Репутация: 6
Блокировки:
| Цитата (Наклз) А если предмет изначально стоит 9 ? Особой ценой предмета в Казахстане называют Custom Value
|
|
|
|