Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
OtherWorld » 07 дек 2017, 12:05
Не при поднятии, а при добавлении оружия в инвентарь...
-
OtherWorld
-
- Сообщения: 78
- Зарегистрирован: 01 сен 2017, 08:41
- Благодарил (а): 39 раз.
- Поблагодарили: 1 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
KOTOKU » 07 дек 2017, 12:08
В таком случае, используй Attach функцию. Создаешь хам в Pre отлове и делаешь поиск в 1 слоте по weapon_awp и удаляешь это ентити из инвентаря
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
OtherWorld » 07 дек 2017, 13:41
KOTOKU писал(а):В таком случае, используй Attach функцию. Создаешь хам в Pre отлове и делаешь поиск в 1 слоте по weapon_awp и удаляешь это ентити из инвентаря
а можно как нибудь маркировать полученное оружие? а то один фиг способности суммируются -_-
-
OtherWorld
-
- Сообщения: 78
- Зарегистрирован: 01 сен 2017, 08:41
- Благодарил (а): 39 раз.
- Поблагодарили: 1 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
KOTOKU » 08 дек 2017, 01:35
Через set_pev(iEntity, pev_iuser1, N)
Что-то типа такого
- Код: Выделить всё
public blabla(iEntity)
{
set_pev(iEntity, pev_iuser1, AWPONE)
}
public proverka(iEntity)
{
if(pev(iEntity, pev_iuser1) == AWPONE)
else if(pev(iEntity, pev_iuser1) == AWPTWO)
}
Вроде получилось объяснить, ты короче задаешь какую то цифру этой АВП и потом по этой цифре ты можешь определять какое авп у тебя в руках
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
OtherWorld » 08 дек 2017, 05:20
"pev_iuser1" именно для этого или...?
Добавлено спустя 30 минут 58 секунд:- Код: Выделить всё
new give_awp_id = fm_give_item(id,"weapon_awp");
if(give_awp_id)
{
set_pev(give_awp_id, pev_iuser1, WEAPONKEY);
}
вроде так? но на выходе пишет 0 вместо указанного значения
-
OtherWorld
-
- Сообщения: 78
- Зарегистрирован: 01 сен 2017, 08:41
- Благодарил (а): 39 раз.
- Поблагодарили: 1 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
KOTOKU » 08 дек 2017, 07:29
Странно, все должно работать.
Эти параметры используются для хранения каких либо типов значения, но в оружиях эти параметры не передают никакого значения и вы можете использовать данный параметр для хранения своих данных и использовать эти данные в своих целях.
Что у вас в WEAPONKEY?
У вас сток fm_give_item возвращает ентити id?
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
OtherWorld » 08 дек 2017, 07:44
KOTOKU писал(а):Странно, все должно работать.
Эти параметры используются для хранения каких либо типов значения, но в оружиях эти параметры не передают никакого значения и вы можете использовать данный параметр для хранения своих данных и использовать эти данные в своих целях.
Что у вас в WEAPONKEY?
У вас сток fm_give_item возвращает ентити id?
В общем
- Код: Выделить всё
new give_awp_id = fm_give_item(id,"weapon_awp");
if(give_awp_id)
{
cs_set_weapon_ammo(give_awp_id, AMMO);
cs_set_user_bpammo(id, CSW_AWP, BPAMMO);
set_pev(give_awp_id, pev_iuser1,WEAPONKEY);
client_print(id,print_chat,"%d",pev(give_awp_id, pev_iuser1));
}
результат верный
а вот в HAM уже 0
- Код: Выделить всё
RegisterHam (Ham_Item_AttachToPlayer, "weapon_awp", "ham_item_add",1);
Добавлено спустя 38 секунд:- Код: Выделить всё
public ham_item_add(item_id,player_id)
{
if(take_awp[player_id])
{
client_print(player_id,print_chat,"%d",pev(item_id, pev_iuser1));
if(pev(item_id, pev_iuser1) != WEAPONKEY)
take_awp[player_id] = false;
}
}
Добавлено спустя 2 минуты 33 секунды:ID ентити одинаковый но результат pev_iuser1 разный
Добавлено спустя 5 минут 55 секунд:- Код: Выделить всё
-
OtherWorld
-
- Сообщения: 78
- Зарегистрирован: 01 сен 2017, 08:41
- Благодарил (а): 39 раз.
- Поблагодарили: 1 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
артист666 » 08 дек 2017, 07:59
Потому, что вызывается раньше, чем ты его меняешь.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
OtherWorld » 08 дек 2017, 08:14
артист666 писал(а):Потому, что вызывается раньше, чем ты его меняешь.
как "бороться"?
-
OtherWorld
-
- Сообщения: 78
- Зарегистрирован: 01 сен 2017, 08:41
- Благодарил (а): 39 раз.
- Поблагодарили: 1 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
артист666 » 08 дек 2017, 08:32
В стоке устанавливать.
Перед
- Код: Выделить всё
dllfunc(DLLFunc_Touch, ent, id)
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 11