Несоответствие типа аргумента get_user_weapon

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
4
Реакции
0
Ошибка
auw.sma(257) : error 035: argument type mismatch (argument 3)
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
public player_respawn(id) {
new weapon[32];
get_user_weapon(id, weapon[16], sizeof(weapon));

if (is_primary_weapon(weapon)) {
if (get_user_flags(id) & VIPMENU) {
client_cmd(id, "say /ultimate");
}
}
}

public is_primary_weapon(const weapon[]) {
new primaryWeapons[][] = {
"weapon_awp",
"weapon_aug",
"weapon_sg552",
// ...
};

for (new i = 0; i < sizeof(primaryWeapons); i++) {
if (equali(weapon, primaryWeapons[i], true)) {
return true;
}
}
return false;
}
Хотел добавить авто открытие меню с учетом наличие у игрока оружие к плагину Advanced Ultimate Weapons от steelzzz
P.S я особо не скриптер
 
В этой теме было размещено решение! Перейти к решению.

Вложения

  • 27.3 KB Просмотры: 59
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
equali(weapon, primaryWeapons, true), 3 параметр должен быть int, тоесть число, а не true или false, сравнения количества символов
 
Сообщения
4
Реакции
0
Vaqtincha, я видел, но я не понимаю как именно нужно поменять 3 аргумент
19 Ноя 2023
Code_0xABC, поменял, та же ошибка
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
wazz, функция get_user_weapon(index, &clip = 0, &ammo = 0); вернет индекс оружия
index - индекс игрока
clip - патронов в обойме
ammo - патронов в заппасе
Все три пораметра должны быть integer(целое число), а не sting(строка)
Что делаешь ты
new weapon[32];
get_user_weapon(id, weapon[16], sizeof(weapon));
2 пар. weapon[16] - строка
3 пар. sizeof(weapon) - длинна строки и с ошибкой
Ты походу спутал с native get_user_weapons(index, weapons[32], &num);
Но опятьже, ты с помощью второго параметра, получишь индексы оружия в инвентаре
19 Ноя 2023
wazz, пробуй
Код:
public player_respawn(id) {
    if(!(get_user_flags(id) & VIPMENU))
        return;

    new iWeapon = get_user_weapon(id);

    if(iWeapon) {
        new szWeapon[32];
        get_weaponname(iWeapon, szWeapon, charsmax(szWeapon));

        if(is_primary_weapon(szWeapon))
            client_cmd(id, "say /ultimate");
    }
}

public is_primary_weapon(const szWeapon[]) {
    new primaryWeapons[][] = {
        "weapon_awp",
        "weapon_aug",
        "weapon_sg552",
        // ...
    };

    for(new i; i < sizeof(primaryWeapons); i++) {
        if(equali(szWeapon, primaryWeapons[i]))
            return true;
    }

    return false;
}
 
Последнее редактирование:
Сообщения
260
Реакции
129
Помог
12 раз(а)
Где-то подобное валялось у меня :
 

Вложения

Сообщения
1,082
Реакции
58
Помог
11 раз(а)
И забыл
-public is_primary_weapon(const szWeapon[])
замени на
+bool:is_primary_weapon(const szWeapon[])
И поменяй местами true и false, либо перед уссловием поставь !
 
Последнее редактирование:
Сообщения
4
Реакции
0
Code_0xABC, Скорее всего... видимо не заметил
Честно ни разу не использовал данные функции, выбрал просто подходящие) Хотел я чтобы он просто проверял наличие основного оружие. Есть - меню не открывается, нету - меню открывается
19 Ноя 2023
murlemur, Да работает, спасибо огромное)
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу