Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Podnoszenie większej liczby broni


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 17.04.2014 12:58

Witam.

Mam problem. Z założenia funkcja ma pozwalać podnosić większą liczbę broni, a w rzeczywistości działa tak: można podnieść więcej broni ale tylko wtedy gdy mieliśmy wcześniej w ekwipunku tę broń którą chcemy podnieść tzn. Jeżeli leży broń i chcę ją podnieść muszę wyrzucić wszystkie bronie, podnieść tę którą chcę mieć w ekwipunku, a następnie podnieść te które wcześniej wyrzuciłem. Wie ktoś jak to naprawić?

public FM_Touch_hook(weaponbox,id)
{
    if(id && id<=MAX && !justdropped[id] && is_user_alive(id) && !is_user_bot(id) && klasa_gracza[id] == Poszukiwacz)
    {
        new ilosc_broni = 2;
        switch (moc_gracza1[id])
        {
            case 3:
                ilosc_broni += 5
            case 2:
                ilosc_broni += 3
            case 1:
                ilosc_broni += 2
        }
        static classname[64], trash[4]
        pev(weaponbox,pev_classname,classname,63)
        if(equali(classname,"weaponbox"))
        {
            //Support for most custom models.
            pev(weaponbox,pev_model,classname,63)
            replace(classname,63,"w_"," ")
            replace(classname,63,".mdl","")
            strbreak(classname,trash,3,classname,63)
            format(classname,63,"weapon_%s",classname)

            new ent = engfunc(EngFunc_FindEntityByString,MAX,"classname",classname)
            while(ent && pev_valid(ent))
            {
                client_print(id,print_chat,"2")
                if(pev(ent,pev_owner)==weaponbox)
                {
                    static weaponid
                    weaponid = get_weaponid(classname)
                    if(!cs_user_has_weapon(id,weaponid))
                    {
                        new weaptype = weapon_type(weaponid)
                        if(weaptype==1 && count_weaps(id,1)>=999 || weaptype==2 && count_weaps(id,2)>=999)
                        {
                            break;
                        }
                        justdropped[id]=true
                        set_task(0.5,"notdropped",id)
                        give_item(id,classname)
                    }

                    static classname2[32]
                    pev(ent,pev_classname,classname2,31)
                    blah2[id]=cs_get_weapon_ammo(ent)
                    client_print(id,print_chat,"7")
                    if(pev_valid(weaponbox)) engfunc(EngFunc_RemoveEntity,weaponbox)
                    if(pev_valid(ent)) engfunc(EngFunc_RemoveEntity,ent)
                    set_task(0.1,"give_ammo",id,classname2,31)
                    break;
                }
                ent = engfunc(EngFunc_FindEntityByString,ent,"classname",classname)
            }
        }
    }
}

  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 23.04.2014 10:38

Widzę, że wzorowałeś się na GHW Weapon pickup. Pobierz jego najnowszą wersję, w starej był taki błąd ;)

I jeszcze jeden błąd na pewno dostrzeżesz: gdy broń leży na ziemi, a Ty ją już masz i na nią nadepniesz to ilość naboi w magazynku Ci się podmieni na ilość naboi tej leżącej, co nie zawsze jest dobre (np leżąca broń jest już "wystrzelana"). https://wiki.alliedm...CWeaponBox_(CS) tutaj znajdziesz trochę pomocy jak pobrać ilość naboi leżącej broni (zarówno tej w magazynku jak i poza nim) i dodasz wtedy tą ilość do ilości naboi w "plecaku", którą gracz posiada, zamiast podmieniać magazynek.
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych