←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Specjalnie dla wybranej klasy.

Zablokowany

  • +
  • -
Daimyo - zdjęcie Daimyo 25.02.2011

Otoz mam taki problem:

Potrzebuje pilnie zrobic, ilosc maksymalnych punktow inteligencji dla danych klas. Powiedzmy dla Pana Amadeusza - maksymalna ilosc statystyk inteligencji wynosila by 100, a dla snajpera juz normalnie - 310 (wiem jak ustawic maksymalna ilosc ptk. ale jest dla dla wszystkich klas, a mi przydalo by sie tylko dla jednej)

proszę o pomoc, pozdrawiam
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 25.02.2011

Przed switch(item) dodaj:
	new klasagracza;
klasagracza = cod_get_user_class(id);
new nazwaklasy[33];
cod_get_class_name(klasagracza, nazwaklasy, 32);

Teraz zmień to:
			if(inteligencja_gracza[id] < limit_poziomu/2)
{
inteligencja_gracza[id]++;
punkty_gracza[id]--;
}

Na:
			if(inteligencja_gracza[id] < equal(nazwaklasy, "Pan Amadeusz")? 100 : 310)
{
inteligencja_gracza[id]++;
punkty_gracza[id]--;
}

Zamiast "Pan Amadeusz" wstaw nazwę swojej klasy, zamiast 100 liczbę punktów dla tej klasy, a zamiast 310 limit dla wszystkich klas.
Odpowiedz

  • +
  • -
Daimyo - zdjęcie Daimyo 25.02.2011

genialne, a jak bym chcial powiedzmy dac inte PANU AMADEUSZOWI - 100 (max)

i inte NINJI - 200 MAX

a reszta normalnie 310?


@edit przy kompilacji mam problem

klasagracza = cod_get_user_class(id);

undefinited symbol cod get user class i cod get class name
Użytkownik Daimyo edytował ten post 25.02.2011 23:26
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 26.02.2011

Już wiem, już wiem. Teraz będzie działać. Wywal to co wyżej ci napisałem. Przed switch(item) dodaj:
	new limit_int;
equal(nazwy_klas[klasa_gracza[id]], "Pan Amadeusz")? (limit_int = 100) : equal(nazwy_klas[klasa_gracza[id]], "Ninja")? (limit_int = 200) : (limit_int = 310)

A teraz zmień:
			if(inteligencja_gracza[id] < limit_poziomu/2)
{
inteligencja_gracza[id]++;
punkty_gracza[id]--;
}

Na to:
			if(inteligencja_gracza[id] < limit_int)
{
inteligencja_gracza[id]++;
punkty_gracza[id]--;
}
Odpowiedz

  • +
  • -
Daimyo - zdjęcie Daimyo 26.02.2011

czlowieku jestes prze ch*j xD dal bym ci i ze 30 reputow ; ] dzięki


tylko dziwnie troche to dziala bo:

jezeli wsparcie ogniowe przykladowo na start ma 0 inty, i ustawie max inte na 100 - to faktycznie moge miec max 100, jezeli zas powiedzmy Pan Amadeusz ma inty na start 10 to moge dac 110 inty max, nawet jesli ustawilem 100 xD
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 26.02.2011

Tak będzie działać, gdyż inteligencja_gracza i inteligencja_klas to 2 różne zmienne i się nie łączą. Jeżeli chcesz, żeby było max tyle, ile wcześniej ustawiłeś niezależnie od inteligencji klasy to zmień:
if(inteligencja_gracza[id] < limit_int)

Na:
if(inteligencja_gracza[id] + inteligencja_klas[klasa_gracza[id]] < limit_int)

Użytkownik Goliath edytował ten post 26.02.2011 17:08
Odpowiedz

  • +
  • -
Daimyo - zdjęcie Daimyo 27.02.2011

wspaniale, dzięki, reput
Odpowiedz

Adminek AMXX.PL - zdjęcie Adminek AMXX.PL 27.02.2011

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Problem rozwiązany.

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany