Русское сообщество по скриптингу

CurWeapon или Ham_Item_Deploy  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: CurWeapon или Ham_Item_Deploy

Сообщение SISA » 07 дек 2016, 01:49

NEoMASTERR писал(а):Из плохих новостей, ham_addplayeritem вызывается позже деплоя


Для перехвата ДО выдачи, всю жизнь использовали Ham_Item_AddToPlayer, а addplayeritem вообще не вызывается при покупке или подборе, ни до, ни после деплоя.
Аватара пользователя
SISA
 
Сообщения: 284
Зарегистрирован: 28 ноя 2009, 01:46
Благодарил (а): 19 раз.
Поблагодарили: 126 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: CurWeapon или Ham_Item_Deploy  [Решено]

Сообщение NEoMASTERR » 07 дек 2016, 01:52

Вызывается, но позже деплоя, там и добавляются значения в массив, решено изменением пост вызова на пре. Теперь моделька применяется с первого вызова
Код: Выделить всё
RegisterHam(Ham_AddPlayerItem"player""ham_addplayeritem"0); 
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: CurWeapon или Ham_Item_Deploy

Сообщение SISA » 07 дек 2016, 01:57

На игрока вызывается. На item Оружия не вызывается. Надо Ham_Item_AddToPlayer использовать для нормального перехвата ДО деплоя. AddPlayerItem функция для игрока. Если вы работаете с оружием, то надо использовать функции под оружие. AddPlayerItem практически не используется в качестве хука. И никто не передает данные по ID оружия внутри Trie, это вообще какая-то жесть. Вешаются все данные на оффсеты или pev в AddToPlayer и дальше с ними производится работа, без тасканимая массивов по всему плагину, как в вашем случае 125 миллионов проверок в деплое, а что в самом коде плагина, я даже представить боюсь. И для справки, deploy не может вызваться на не валидную энтити, иначе у вас потенциальный краш сервера будет, по этому в проверка валидности нет вообще никакого смысла.
Аватара пользователя
SISA
 
Сообщения: 284
Зарегистрирован: 28 ноя 2009, 01:46
Благодарил (а): 19 раз.
Поблагодарили: 126 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: CurWeapon или Ham_Item_Deploy

Сообщение NEoMASTERR » 07 дек 2016, 02:34

Структуру массивов и их предназначение я описал, это "инвентарь" игрока, там проверяется может ли он применить скин и тд, так же и при покупке
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: CurWeapon или Ham_Item_Deploy

Сообщение Mistrick » 08 дек 2016, 01:12

NEoMASTERR, Теперь посмотрим как можно выставлять модели на оружие. И какую хрень делаете вы.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2940
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1247 раз.
Языки программирования: PAWN
С/С++(few above zero)

Re: CurWeapon или Ham_Item_Deploy

Сообщение NEoMASTERR » 08 дек 2016, 01:52

1. Скин который выбрал юзер сохраняется за ним в бд
2. Есть список карт типа $2000$ где на каждое подобранное оружие применяется скин в зависимости от того что был выбран ранее, на остальных картах работает только на купленных тобою оружиях
3. Я кажется объяснял зачем мне массивы

Добавлено спустя 1 минуту 59 секунд:
Так какую хрень я делаю?
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: CurWeapon или Ham_Item_Deploy

Сообщение Mistrick » 08 дек 2016, 02:07

NEoMASTERR, такую, что не должна реализация скин системы работать на ассоциативных массивах. Еще и на трех.
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2940
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1247 раз.
Языки программирования: PAWN
С/С++(few above zero)

Re: CurWeapon или Ham_Item_Deploy

Сообщение NEoMASTERR » 08 дек 2016, 02:13

Почему? :-)

Добавлено спустя 5 минут 12 секунд:
По моему не должно быть pev_iuser1 :-)
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: CurWeapon или Ham_Item_Deploy

Сообщение Mistrick » 08 дек 2016, 02:16

NEoMASTERR, Почему люди обычно ходят по кратчайшему пути, а не через соседний город на границе с другой страной за пару тысяч км от пункта назначения?
Вы тратите кучу времени на все ваши преобразования. Когда здесь можно погрузить данные по индексу, который хранится в оружии, и выставить модель.
Сравнивать числа в разы быстрее, чем сравнивать строки. Надо бы это знать.
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2940
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1247 раз.
Языки программирования: PAWN
С/С++(few above zero)

Re: CurWeapon или Ham_Item_Deploy

Сообщение NEoMASTERR » 08 дек 2016, 02:20

Вы второй раз говорите о том что я сравниваю строки, киньте мне эту строчку я её не вижу

Добавлено спустя 2 минуты 21 секунду:
Допустим у меня занят pev_iuser1, что делать будете?)
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Пред.След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 12