←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[COD] item tylko dla wybranych klas

Zablokowany

cedriK - zdjęcie cedriK 23.08.2010

A więc zrobiłem sobie item, że dodaje 1 rakietę, ale że jak wylosuje go klasa jak demolitions (dynamit), saper (miny) to się pewnie zbuguje i nie doda rakiety jednocześnie z minami czy dynamitem, dlatego chce zrobić, żeby item mogły dostac tylko konkretne klasy
Próbowałem tak, ale nie chce się skompilować:

if(informacje_przedmiotu_gracza[id][0] == 33)
    {
        if(klasa_gracza[id] == klasa1 && klasa2 && klasa3 &&  && klasa4) //klasy na których ma działac
        ilosc_rakiet_gracza[id] = 1;
    }

Help :D
Odpowiedz

Starozytny - zdjęcie Starozytny 23.08.2010

nie tak , po prostu do klas u których chcesz mieć dopisujesz:
ilosc_rakiet_gracza[id] = 1; //tam gdzie 1 wartość
Odpowiedz

cedriK - zdjęcie cedriK 23.08.2010

człowieku naucz się czytać, to ma być item, a nie że dodaje u każdej klasy po 1 rakiecie na zawsze ...
Odpowiedz

  • +
  • -
Apple() - zdjęcie Apple() 23.08.2010


if(informacje_przedmiotu_gracza[id][0] == 33)
{
if(!klasa_gracza[id] == klasa1 && klasa_gracza[id] == klasa2 .........){ //jesli klasa gracza jest rozna od tych to zapodaje cos takiego
UsunPrzedmiot(id); // resetuje Ci przedmiot
}
ilosc_rakiet_gracza[id]++;
}


powinno works
Odpowiedz

cedriK - zdjęcie cedriK 23.08.2010

wgrałem, skompilowało się, ale jak włączam klasy w których nie chcę, żeby item był i dodaje im ten item to nic się nie dzieję, pisz że ma item, ale po nacisnięciu E podkłada np. minę, a w next rundzie nie ma min tylko tą rakiete, podobnie jest z normalnymi klasami, po dodaniu itemu nic sie nie dzieje, tzn nie mozna strzelic z tej rakiety, dopiero w nastepnej rundzie
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 23.08.2010

W public Odrodzenie(id) (Najlepiej przed końcem)
if(informacje_przedmiotu_gracza[id][0] == 33)
	{
		if(klasa_gracza[id] != klasa1 && klasa_gracza[id] != klasa2 && klasa_gracza[id] != klasa3)
			ilosc_rakiet_gracza[id]++;
		else
			DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1)); //Daje inny losowym item
	}

W public DajPrzedmiot(id, przedmiot)
case 33:
	{
		if(klasa_gracza[id] != klasa1 && klasa_gracza[id] != klasa2 && klasa_gracza[id] != klasa3)
			ilosc_rakiet_gracza[id]++;
		else
			DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1)); //Daje inny losowym item
	}

Działać musi : P


Jeśli przy odrodzeniu zmieniłeś klasę(Poprzednia runda, wyrzuca ten item i daje losowy)

Jeśli zabiłeś kogoś tą klasą i dostałeś ten iten daje Ci inny losowy

Masz z tabulatorami równo ;P
Użytkownik camilost edytował ten post 23.08.2010 13:22
Odpowiedz

cedriK - zdjęcie cedriK 23.08.2010

brakuje chyba po jednej klamerce w obu kodach co podałeś wyżej
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 23.08.2010

Nie brakuje : )
Możesz dodać po 1 tabulatorze przed w ifie: if(informacje_przedmiotu_gracza[id][0] == 33)
Odpowiedz

cedriK - zdjęcie cedriK 23.08.2010

zaraz sprawdze

@ śmiga, łap +
Użytkownik ukash13 edytował ten post 23.08.2010 13:49
Odpowiedz
Zablokowany