←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

brak tarczy i naboi COD MOD

Zablokowany

  • +
  • -
Karrypto - zdjęcie Karrypto 20.08.2010

Witam zrobilem klasę SWAT oczywiście z resztą klas nie mialem problemu ale akurat ta klasa przysparza mi wiele problemów.

To znaczy klasa ma tylko 7 naboi oraz nie dostaje tarczy
kod klasy:

enum { NONE = 0, Snajper, Komandos, Strzelec, Obronca, Medyk, Wsparcie, Saper, Demolitions, Rusher, Rambo, Szpieg, Partyzant, Desantowiec, SWAT, FBI, LekkiZolnierz, Szturmowiec};
new const zdrowie_klasy[] = { 0, 120, 140, 110, 120, 110, 100, 100, 110, 100, 160, 100, 120, 110, 70, 100, 70, 70};
new const Float:szybkosc_klasy[] = {0.0, 1.2, 1.32, 0.95, 0.8, 1.0, 1.0, 1.0, 1.0, 1.3 , 1.3, 1.2, 1.2, 1.1, 0.8, 0.8, 0.95, 1.1};
new const pancerz_klasy[] = { 0, 100, 100, 100, 150, 100, 0, 100, 100, 0, 150, 50, 80, 120, 0, 50, 0, 150};
Spis na górze
"SWAT",

Opis klasy:

"Dostaje Tarcze oraz Desert Deagle, ma 70 HP bazowe i 80% szybkosci",

no i oczywiście dodawanie itemów do klas

case SWAT:
		
		{
			give_item(id, "weapon_deagle");
			give_item(id, "item_shield");
			give_item(id, "weapon_shield");
			give_item(id,"ammo_50ae");
		}

wiem, że się powtarza
give_item(id, "item_shield");
			give_item(id, "weapon_shield");

ale zadna z komend i tak nie działa nawet dodawanie naboi.
Proszę o pomoc.
Użytkownik Karrypto edytował ten post 20.08.2010 12:58
Odpowiedz

  • +
  • -
sokojoko - zdjęcie sokojoko 21.08.2010

Usuń ta całą linijkę
	RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");

używaj komendy
		give_item(id, "weapon_shield");


nie dostaje naboi bo nie dostaje tarczy jak dostanie tarcze to i naboje :P

PS na niektórych mapach po prostu nie da się mieć tarczy wiec sprawdź na DD2 albo cuś :)
Użytkownik sokojoko edytował ten post 21.08.2010 01:58
Odpowiedz

  • +
  • -
Karrypto - zdjęcie Karrypto 21.08.2010

Usuń ta całą linijkę

	RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");

używaj komendy
		give_item(id, "weapon_shield");


nie dostaje naboi bo nie dostaje tarczy jak dostanie tarcze to i naboje :P

PS na niektórych mapach po prostu nie da się mieć tarczy wiec sprawdź na DD2 albo cuś :)



dziala, dzięki.
Odpowiedz

  • +
  • -
CeLeS - zdjęcie CeLeS 21.08.2010

tak dziala ale wszyscy moga podniesc tarcze
sprawdz sam
niech ktos wyrzuci karabin i podniesie
w next rundzie dalej sie ma tarcze...

znajdz
RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");

i zmien na
RegisterHam(Ham_Touch, "weapon_shield", "DotykTarczy");

dodaj gdziekolwiek
public DotykTarczy(weapon,id)
{
	if (!is_user_connected(id))
		return HAM_IGNORED;
	if(klasa_gracza[id] == SWAT )
		return HAM_IGNORED;
	return HAM_SUPERCEDE;
}

kod by QTM. Peyote
Użytkownik CeLeS edytował ten post 21.08.2010 13:01
Odpowiedz

  • +
  • -
sokojoko - zdjęcie sokojoko 21.08.2010

BTW możesz mi wyjaśnić o co chodzi z tym kodem

public DotykTarczy(weapon,id)
{
if (!is_user_connected(id))
return HAM_IGNORED;

if(klasa_gracza[id] == SWAT )
return HAM_IGNORED;
return HAM_SUPERCEDE;
}

zaznaczona linijka mówi
"jeżeli gracz nie jest podłączony to zezwalaj na wykonanie czyli daj tarcze"
ale po co komuś kto jest nie podłączony tarcza ?:o

nie wygodniej zrobić jakąś globalną zmienną

new bool:tarcza_enable

i niech w odrodzeniu będzie

tarcza_enable[id][0]==1;

public DotykTarczy(weapon,id)
{
if(tarcza_enable[id])
return HAM_IGNORED;
return HAM_SUPERCEDE;
}

tak nie wygodniej ?
Użytkownik sokojoko edytował ten post 22.08.2010 02:35
Odpowiedz
Zablokowany