←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak sprawdzić ilość amunicji w broni leżąc...

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 02.03.2023

Jak w temacie, chciałbym móc pobrać ilość amunicji z broni leżącej na ziemi, ale bez podnoszenia jej (po prostu, po przejściu przez nią).
Próbowałem w ten sposób, ale cały czas zwraca mi 0:


#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

public plugin_init()
{
	register_plugin("test", "1.0", "sebxx")
	RegisterHam(Ham_Touch, "weaponbox", "HamTouchPre", 0);
}

public HamTouchPre(weapon, id)
{
	if ( pev_valid(weapon) != 2 || !is_user_alive(id) )
		return HAM_IGNORED;

	new ammo = get_pdata_int(weapon, 51, 4);
	client_print(id, print_chat, "CLIP: %d", ammo);

	return HAM_SUPERCEDE;
}
Odpowiedz

  • +
  • -
PANDA_2zl - zdjęcie PANDA_2zl 02.03.2023

Kornik mi robił na forum plugin który coś takiego robił ale znaleźć nie mogę, może z tego wyciągniesz
https://dev-cs.ru/resources/1455/
Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 03.03.2023

Właśnie niebardzo wiem jak to przerobić. Ham_touch zwraca mi inne ID entu niż iWeapon do funkcji DisplayWeaponInfo :/

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 03.03.2023

EDIT:

Dobra, nieważne. Już to rozgryzłem, dzięki :D

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 04.03.2023

Podziel się rozwiązaniem

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 05.03.2023

#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <hamsandwich>

new const m_rgpPlayerItems_CWeaponBox[2]  = {34, 35};

public plugin_init()
{
    register_plugin("checkAmmo", "1.0", "autor")
    register_touch("weaponbox", "player", "PlayerTouchWeaponbox");
}

public PlayerTouchWeaponbox( iWeaponbox , iPlayer )
{
    new iWeapon;
    
    if ( entity_get_int(iWeaponbox, EV_INT_flags) & FL_ONGROUND )
    {
        for ( new iSlot = 1; iSlot <= 2; iSlot++ )
        {
            iWeapon = get_pdata_cbase(iWeaponbox, m_rgpPlayerItems_CWeaponBox[ iSlot ], 4);
            
            if ( iWeapon > 0 )
            {
                client_print(iPlayer, print_chat, "Clip ammo: %d", get_pdata_int(iWeapon, 51, 4));
                break;
            }
        }
    }

    //zakomentuj return aby umożliwić podnoszenie broni
    return PLUGIN_HANDLED;
} 
Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 07.03.2023

A wiecie może w jaki sposób mogę zrobić aby gracz mógł mieć dwie bronie główne jednocześnie? (np M4 i AK)
Próbowałem pluginu od GHW, ale on jest jakiś zabugowany.

Odpowiedz

  • +
  • -
PANDA_2zl - zdjęcie PANDA_2zl 07.03.2023

Myślę że przy dotknięciu broni, dać graczowi ją poprzez give_item, ustawić amunicję tej z ziemi i usunąć tą z ziemi
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 07.03.2023

W generatorze vipa chyba jest opcja wielu broni głównych jednocześnie

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 10.03.2023

No jest, ale na zasadzie że po prostu daje 2x give_item, ale jak wyrzucę jedną z broni to już nie moge jej podnieść, muszę wyrzucić drugą ;)

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 10.03.2023

Hmm, no może tak być. Próbowałeś z tym, co mówił Sezonowy? Brzmi całkiem rozsądnie

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 12.03.2023

Tak, póki co wygląda, że działa.
Odpowiedz