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

Ustawienie graczowi 0 ammo - każda broń


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

#1 oeN.

    Wszechwidzący

  • Użytkownik

Reputacja: 95
Zaawansowany

  • Postów:294
  • Lokalizacja:Dom
Offline

Napisano 20.04.2015 16:15

Witam,

 

Chciałbym ustawić graczowi 0 amunicji w jego magazynku (zmusisz do przeładowania).

 

weaponid = find_ent_by_owner(-1,  ListaBroni,id);       
    if(weaponid)
        cs_set_weapon_ammo(weaponid, 0);

 

Potrzebuję pętle która wyłapie wszystkie weapon_ tak aby zależnie od tego jaką broń gracz trzy, to takiej broni zabierze amunicję.


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 20.04.2015 17:11

static const Nazwy_broni[][] = {
	"", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10", 
	"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", 
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249", 
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552", 
	"weapon_ak47", "weapon_knife", "weapon_p90" }


new iWeapons[32], iNum, entwpn
get_user_weapons(id, iWeapons, iNum)

for (new i=0; i < iNum; i++) 
{
	if(iWeapons[i] == CSW_KNIFE) continue; //wywaliloby blad invalid weapon id: 29 czy cos takiego, bo noz nie ma ammo

        if(entwpn = find_ent_by_owner(-1, Nazwy_broni[iWeapons[i]], id))
                cs_set_weapon_ammo(entwpn, 0)
}

Sprawdź i powiedz co nie działa :P


  • +
  • -
  • 1

#3 oeN.

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 95
Zaawansowany

  • Postów:294
  • Lokalizacja:Dom
Offline

Napisano 20.04.2015 17:21

Co ja bym bez Ciebie czasem zrobił :D Próbowałem z tablicą, ale nie użyłem jej w taki sposób. Dziękuje Ci bardzo.

 

P.S Działa pięknie :)


Użytkownik oeN. edytował ten post 20.04.2015 17:22

  • +
  • -
  • 0

#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 20.04.2015 17:38

PS. Można to robić też z get_weaponname(), ale wtedy bez tablicy. Osobiście polecam tworzyć taką tablicę RAZ jako globalną i nie używać w kodzie get_weaponname.

Byłoby tak:

new iWeapons[32], iNum, entwpn, weaponname[33];
get_user_weapons(id, iWeapons, iNum)
 
for (new i=0; i < iNum; i++) 
{
	if(iWeapons[i] == CSW_KNIFE) continue; //wywaliloby blad invalid weapon id: 29 czy cos takiego, bo noz nie ma ammo
 
        get_weaponname(iWeapons[i], weaponname, 32);
        if(entwpn = find_ent_by_owner(-1, weaponname, id))
                cs_set_weapon_ammo(entwpn, 0)
}

Ale wtedy funkcja "zwalnia" troszkę :/

 

Jak coś to pisz :P


  • +
  • -
  • 0

#5 oeN.

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 95
Zaawansowany

  • Postów:294
  • Lokalizacja:Dom
Offline

Napisano 20.04.2015 17:41

Pierwsza mi zdecydowanie wystarcza, coś mi nie spasuje to zamienię :)


  • +
  • -
  • 0




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

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