Поднятие оружия(Pickup weapon)
| |
gamer-killer
|
Дата: Вторник, 05.02.2013, 13:38:48 | Сообщение # 1 |
|
Сообщений: 12
Репутация: 0 [ +/- ]
|
|
Здравствуйте! Возможно где-то это тема есть у вас, но люди не умеют правильно называть темы, поэтмоу у меня такой вопрос, как узнать что предмет, в моем случае оружие, уже поднималось игроком, т.е. валяется дигл игрок подошел его поднял, потом выбросил, подошел тот же игрок или другой, понял дигл и ему типо пишет, что оружие уже поднималось, валяется два дигла рядом, один уже поднимали, а другой нет, т.е. я к тому что нужно привязку сделать именно к индексу предмета, как допустим привязка к клиенту, я пытался так сделать, я уже раньше так делал когда создавал гранату растяжку, и чтобы она сама уничтожалась через 60 секунд, там надо было как раз привязку делать к ссылке(ref) предмета... В общем если поняли меня, предлагайте свои идеи)) Еще хотел узнать можно ли в оружие загрузить количество патронов в магазине, до того как его возьмет игрок, запас патронов можно сделать при спауме оружия, но почему то нельзя сделать в магазине, может я чего-то недопонял в этом плане?Добавлено (05.02.2013, 13:37:42) --------------------------------------------- Меня тут посетила идея с targetname, я хотел сделать так, при спауме оружия (осуществлена идея http://world-source.ru/forum/102-3050-1 ) я присваивал им всем одинаковое имя(допустим 1), когда оружия подбирается, проверяется его имя, если оно равно 1, то меняется на, допустим 2, и получается любой другйо игрок подобрал это оружие уже имя не изменется, а соотвественно и свойства, под свойствами я подразумеваю, то что я хочу сделать, а это когда игрок подберает оружие, ему выдается рандомное число патронов в магазине, от 0 до максимально возможного для этого оружия, все эт опрекрасно работает, но количество патронов меняется каждый раз когда я его поднимал, вот потом я хотел сделать идею про targetname, но я не знаю как получить индекс оружия, чтобы можно было получить его имя... Добавлено (05.02.2013, 13:38:48) --------------------------------------------- Вы напишите может я неправильно вопросы свои формулирую? А то че то никто не отвечает совсем...
|
|
| |
Sunday
|
Дата: Вторник, 05.02.2013, 16:57:35 | Сообщение # 2 |
|
Сообщений: 186
Репутация: 24 [ +/- ]
|
|
Цитата (gamer-killer) Вы напишите может я неправильно вопросы свои формулирую? А то че то никто не отвечает совсем...
Попробуй сформулируй вопрос максимум в 2-3 строки, мне кажется по этому... К сожалению лично я не знаю ответа на твой вопрос.
|
|
| |
Meow_1337
|
Дата: Среда, 06.02.2013, 08:59:57 | Сообщение # 3 |
|
Сообщений: 207
Репутация: 11 [ +/- ]
|
|
gamer-killer, думаю тебе с заказом к WS. Такой плагин не будут делать. ИМХО
Сообщение отредактировал Meow_1337 - Среда, 06.02.2013, 09:00:06 |
|
| |
_wS_
|
Дата: Среда, 06.02.2013, 10:24:24 | Сообщение # 4 |
|
Не думаю, что создавая оружие можно указать кол-во патронов в магазине. Можно только установить 'активные' патроны:
Код SetEntProp(weapon_index, Prop_Send, "m_iClip1", 5); Чтобы установить и в магазине, нужно делать это для определённого или каждого игрока:
Код new AmmoType = -1; AmmoType = GetEntProp(weapon_index, Prop_Send, "m_iPrimaryAmmoType"); if (AmmoType != -1) SetEntProp(client, Prop_Send, "m_iAmmo", 5, _, AmmoType); Получается, этот магазин у каждого игрока может быть разным. Может я ошибаюсь, просто моё мнение, из прошлого опыта.
Ну а чтобы узнать, поднимали ли уже конкретное оружие: когда создаешь его в начале раунда, запоминай его индекс, например, в Trie, в таком виде: "индекс оружия" => "патроны в магазине". Если подобрал оружие (item_pickup), пройдись по слотам игрока и найди подобранное оужие по имени, так получишь его индекс. Конвертируешь индекс в строку и пробуешь получить значение из Trie, если удалось, то устанавливаешь патроны в магазине и удаляешь "индекс оружия" из Trie. Этот Trie очищаешь в конце/начале каждого раунда.
|
|
| |
gamer-killer
|
Дата: Пятница, 08.02.2013, 07:05:26 | Сообщение # 5 |
|
Сообщений: 12
Репутация: 0 [ +/- ]
|
|
Цитата (Meow_1337) gamer-killer, думаю тебе с заказом к WS. Такой плагин не будут делать. ИМХО Да я как бы не прошу тут делать плагин... Я спросил можно сделать так или так...
ws спасибо, попробую сделать
|
|
| |
|