Custom grenades

Сообщения
282
Реакции
34
Помог
3 раз(а)
Does anyone have an idea how to change this code to not throw errors if custom grenade exists (healthnade, decoy, molotov...):
Код:
public get_grenade_race(grenade)
{
    switch (cs_get_weapon_id(grenade))
    {
        case CSW_HEGRENADE:     return _:GRENADE_EXPLOSIVE
        case CSW_FLASHBANG:     return _:GRENADE_FLASHBANG
        case CSW_SMOKEGRENADE:     return _:GRENADE_SMOKEGREN
    }
    
    return -1

}
 
Сообщения
282
Реакции
34
Помог
3 раз(а)
Код:
public get_grenade_race(grenade)
{
    switch (cs_get_weapon_id(grenade))
    {
        case CSW_HEGRENADE:     return _:GRENADE_EXPLOSIVE
        case CSW_FLASHBANG:     return _:GRENADE_FLASHBANG
        case CSW_SMOKEGRENADE:     return _:GRENADE_SMOKEGREN
        case CSW_GLOCK:         return _:GRENADE_SMOKEGREN
        case CSW_G3SG1:         return _:GRENADE_SMOKEGREN
    }

    return -1

}

edit: Not working. Error popped-up again after 2 rounds.
 
Последнее редактирование:
Сообщения
855
Реакции
532
Помог
13 раз(а)
man
did u know thats u should show us error maybe?
6 Фев 2023
ofc u should validate u'r entity before check for example

for checking custom grenade u can check it by custom classname like a molotov: FClassnameIs(grenade, "weapon_molotov")
 
Сообщения
282
Реакции
34
Помог
3 раз(а)
Код:
L 02/06/2023 - 06:51:54: [AMXX] Displaying debug trace (plugin "nademodes.amxx", version "11.2")
L 02/06/2023 - 06:51:54: [AMXX] Run time error 4: index out of bounds
L 02/06/2023 - 06:51:54: [AMXX]    [0] nademodes.sma::get_grenade_race (line 4233)
L 02/06/2023 - 06:51:54: [AMXX]    [1] nademodes.sma::fw_track_explosion (line 2241)
My apologies. I asually share error :scratch_one-s_head:
 

Вложения

Сообщения
855
Реакции
532
Помог
13 раз(а)
Код:
public get_grenade_race(grenade)
{
    switch (cs_get_weapon_id(grenade))
    {
        case CSW_HEGRENADE:     {
            if (FClassnameIs(grenade, "weapon_molotov")) {
                return -1;
            }
            return _:GRENADE_EXPLOSIVE
        }
        case CSW_FLASHBANG:     return _:GRENADE_FLASHBANG
        case CSW_SMOKEGRENADE:  return _:GRENADE_SMOKEGREN
    }
    
    return -1
}
smth like this
 
Сообщения
1,304
Реакции
2,303
Помог
57 раз(а)

Это нормально что cs_get_weapon_id() в приложенном nademodes.sma отрабатывает в отношении класснейма "grenade" ?
564 строчка
Код:
RegisterHam(Ham_Think, "grenade", "fw_track_explosion")
Строчка 2200
Код:
if (get_grenade_race(grenade) == -1)
Я читаю код оригинала и там этого нет.
 
Сообщения
282
Реакции
34
Помог
3 раз(а)

Is it normal that cs_get_weapon_id() in the attached nademodes.sma works for the classname "grenade" ?
564 line
Код:
RegisterHam(Ham_Think, "grenade", "fw_track_explosion")
Line 2200
Код:
if (get_grenade_race(grenade) == -1)
I read the original code and it's not there.
It might be I've tried to change some things because I remember I typed something like
Код:
if (get_grenade_race(grenade) == -1)
I've tried lot of different things and nothing successful.

I will try option from Balbur and notify if ok. BalbuR this is from reapi library?

Also, is this a valid statement (can I use 'or' with this function)?
Код:
if (FClassnameIs(grenade, "weapon_molotov") || FClassnameIs(grenade, "weapon_healthnade") || FClassnameIs(grenade, "weapon_decoy")) {
                return -1;
            }
 
Последнее редактирование:
Сообщения
282
Реакции
34
Помог
3 раз(а)
I've used
Код:
public get_grenade_race(grenade)
{
    switch (cs_get_weapon_id(grenade))
    {
        case CSW_HEGRENADE:     {
          
            if (FClassnameIs(grenade, "weapon_molotov") || FClassnameIs(grenade, "weapon_healthnade") || FClassnameIs(grenade, "weapon_decoy")) {
                return -1;
            }

            return _:GRENADE_EXPLOSIVE
        }
        case CSW_FLASHBANG:     return _:GRENADE_FLASHBANG
        case CSW_SMOKEGRENADE:  return _:GRENADE_SMOKEGREN
    }
  
    return -1
}
but I still have an error:
Код:
L 02/07/2023 - 05:58:51: [AMXX] Displaying debug trace (plugin "nademodes.amxx", version "11.2")
L 02/07/2023 - 05:58:51: [AMXX] Run time error 4: index out of bounds
L 02/07/2023 - 05:58:51: [AMXX]    [0] nademodes.sma::get_grenade_race (line 4232)
L 02/07/2023 - 05:58:51: [AMXX]    [1] nademodes.sma::fw_track_explosion (line 2236)
Here attached is full code Im using. Plugin works fine, it just write a lot of logs which is not good.
Changes made in file:
rows:
194
Код:
const ACCESS = ADMIN_LEVEL_H;
276
Код:
#define grenade_can_be_used(%1,%2) ((get_option(OPTION_NADES_IN_EFFECT) & NADE_BIT[%1]) && (get_user_flags(%2) & ACCESS)) ? 1 : 0
4224-4239
Код:
above in email
 

Вложения

Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
drag1c, под каждую кастомную гранату нужно своё решение подбирать. Прикрепи плагин Молотова
 
Сообщения
282
Реакции
34
Помог
3 раз(а)
Yeah,
I assume healthnade goes under csw_smokegrenade and for decoy I have to speak with plugin owner since I dont have code.
concerning this reapi_molotov, it also should go under csw_smokegrenade by the code...

Here attached is molotov sma.
 

Вложения

Сообщения
282
Реакции
34
Помог
3 раз(а)
Here below is solution for all three types of bombs:
Код:
public get_grenade_race(grenade)
{
    switch (cs_get_weapon_id(grenade))
    {
        case CSW_HEGRENADE:     {
            if (FClassnameIs(grenade, "weapon_molotov") || get_entvar(grenade, var_impulse) == 1337) {
                return -1;
            }
            return _:GRENADE_EXPLOSIVE
        }
        case CSW_FLASHBANG:     return _:GRENADE_FLASHBANG
        case CSW_SMOKEGRENADE:     {
            if (FClassnameIs(grenade, "weapon_healthnade")) {
                return -1;
            }   
            return _:GRENADE_SMOKEGREN
        }
    }
    return -1
}
The topic could be locked.
 

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

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