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
CoD Stary

Wychwycenie najwiekszego levelu danej klasy

cod stary

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

#1 Yakashi

    Wszechpomocny

  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:332
  • Imię:Krzysiek
  • Lokalizacja:Public Respawn(id)
Offline

Napisano 10.03.2013 12:22

Witam.. chcialbym sie dowiedziec jak zrobic aby co Respawn sprawdzalo graczy z CT ktorzy maja klase Rambo kto ma najwiekszy level (oczywiscie tylko graczy ktorzy sa na serwerze)

Probowalem zrobic petle lecz mialem problem wlasnie aby to tylko szukalo graczy z CT ktorzy maja klase Rambo (tylko z tej klasy ma wyszukiwac)

Bylbym bardzo wdzieczny za pomoc badz wyjasnienie

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 10.03.2013 12:54

new best_level, best_id;

for(new i = 1; i <= get_maxplayers(); i++)

{

   if(is_user_connected(i) && klasa_gracza[i] == Rambo && get_user_team(i) == 2 && poziom_gracza[i] > best_level)

   {

	  best_level = poziom_gracza[i];

	  best_id = i;

   }

}

client_print(0, print_chat, "Najwiekszy poziom ma gracz o indexie %d (%d poziom)", best_id, best_level);


  • +
  • -
  • 1

#3 Yakashi

    Wszechpomocny

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:332
  • Imię:Krzysiek
  • Lokalizacja:Public Respawn(id)
Offline

Napisano 10.03.2013 13:23

wszystko ladnie dziala.. ale powiedz mi jeszcze jak zrobic .. bo gdy bedzie 3 graczy ktorzy beda mieli ten sam level to co wtedy sie stanie ? bo np chcialbym do tego dodac ze kto ma najwiekszy poziom to dostanie expa albo hp na na start.. i wlasnie moje pytanie brzmi czy jezeli te 3 osoby beda mialy ten sam level to dostana pewnie te 3 osoby tak ?

#4 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 10.03.2013 13:26

Ja stworzyłem coś takiego :D

public przydziel(id)
{
if (!is_user_connected(id))
return

const ROZMIAR = 1024
static msg[ROZMIAR + 1], len; len = 0

new players[32], pnum, player, sortCT[16], counterCT
get_players(players, pnum)
for (new i = 0; i < pnum; i++)
{
player = players[i]
switch(get_user_team(player))
{
case 2:
{
sortCT[counterCT] = player
counterCT++
}
}
}

bubble_sort_by_lvl(sortCT, counterCT)

for (new ct = 0; ct < counterCT; ct++)
{
player = sortCT[ct]

if(klasa_gracza[player] != Rambo || get_user_team(player) != 2)
continue;

len += formatex(msg[len], ROZMIAR - len, "[ %s ... %i lvl ]^n", nazwa_gracza[player], poziom_gracza[player])
}

set_hudmessage(25, 125, 225, 0.3, 0.3, 0, 6.0, 1.1, 0.0, 0.0, 1)
ShowSyncHudMsg(id, CreateHudSyncObj(), msg)

}
public bubble_sort_by_lvl(list[16], liczba)
{
if(liczba < 2)
return

static temp, a, b
for (a = 0; a < liczba; a++)
{
for (b = a + 1; b < liczba; b++)
{
if (poziom_gracza[list[a]] < poziom_gracza[list[b]])
{
temp = list[a]
list[a] = list[b]
list[b] = temp
}
}
}
}


i do
public odrodzenie
wystarczy dodac
przydziel(id)

  • +
  • -
  • 1

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#5 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 10.03.2013 17:33

wszystko ladnie dziala.. ale powiedz mi jeszcze jak zrobic .. bo gdy bedzie 3 graczy ktorzy beda mieli ten sam level to co wtedy sie stanie ? bo np chcialbym do tego dodac ze kto ma najwiekszy poziom to dostanie expa albo hp na na start.. i wlasnie moje pytanie brzmi czy jezeli te 3 osoby beda mialy ten sam level to dostana pewnie te 3 osoby tak ?

Tylko jeden dostanie, jak chcesz dla kilku to łap
new best_levels[33], best_ids[33], best_players_num;
for(new i = 1; i <= get_maxplayers(); i++)
{
   if(is_user_connected(i) && klasa_gracza[i] == Rambo && get_user_team(i) == 2 && poziom_gracza[i] > best_level)
   {
		  best_players_num++;
		  best_levels[best_players_num] = poziom_gracza[i];
		  best_ids[best_players_num] = i;
   }
}
for(new i = 1; i <= best_players_num; i++)
{
   client_print(0, print_chat, "Najlepszy gracz nr %d to gracz o indexie %d (%d poziom)", i, best_levels[i], best_ids[i]
}

Użytkownik d0n tHe Pr0oo edytował ten post 10.03.2013 17:34

  • +
  • -
  • 1

#6 Yakashi

    Wszechpomocny

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:332
  • Imię:Krzysiek
  • Lokalizacja:Public Respawn(id)
Offline

Napisano 10.03.2013 17:35

okej.. a w tym pierwszym jak będę mialy przykladowo 2 osoby taki sam level to ktora osoba bedzie miala najwyzszy level ? Ta ktora wczesniej sprawdzi petla czyli z nizszym id ?

#7 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 10.03.2013 17:41

Tak
  • +
  • -
  • 1

#8 Yakashi

    Wszechpomocny

  • Autor tematu
  • Zbanowany

Reputacja: 32
Życzliwy

  • Postów:332
  • Imię:Krzysiek
  • Lokalizacja:Public Respawn(id)
Offline

Napisano 10.03.2013 17:59

ok.. mozna zamknac





Również z jednym lub większą ilością słów kluczowych: cod stary

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

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