←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zapisanie broni gracz i oddanie mu ich.

Zablokowany

  • +
  • -
oeN. - zdjęcie oeN. 20.05.2015

Witam,

 

Potrzebuję dobrego sposobu na zapisanie broni które gracz posiada, zabranie mu ich a następnie oddanie po 5 sekundach.

Największy problem jest z ostatnim, oddaniem broni.

//Zapisanie broni to nie problem
new iWeapons[32], iNum, pWeapons
pWeapons = get_user_weapons(id, iWeapons, iNum)

//Zabranie broni również nim nie jest
strip_user_weapons(id)

Bronie są zapisywane jako CSW_ a bronie mogę dać tylko przy pomocy weapon_. Sugestie?

Niby można zrobić w ten sposób (mniej więcej):

new iWeapons[32], iNum, pWeapons, szWpnName[32]
	pWeapons = get_user_weapons(id, iWeapons, iNum)
	
	for(new i=0;i<iNum;i++) {
		switch(pWeapons) {
			
			case CSW_KNIFE: {
				copy(szWpnName, charsmax(szWpnName), "weapon_knife");
			}
			
			case CSW_GLOCK18: {
				copy(szWpnName, charsmax(szWpnName), "weapon_glock18");
			}
		}
	}
	
	give_item(id, szWpnName);

Ale nie wygląda on najlepiej, za dużo zbędnego kodu mi się wydaje.

Albo...

new iWeapons[32], iNum, szWpnName[32];
get_user_weapons(id, iWeapons, iNum);
	
for(new i=0;i<iNum;i++) {
	get_weaponname(iWeapons[i], szWpnName, charsmax(szWpnName));
}
	
give_item(id, szWpnName);

No i okazało się że ostatnie rozwiązanie jest najlepsze, z lekką poprawką.


Użytkownik oeN. edytował ten post 20.05.2015 20:52
Odpowiedz

  • +
  • -
radim - zdjęcie radim 20.05.2015

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany