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

jak sprawdzic ilosc zywych graczy?


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

#1 Vendeliko

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:28
Offline

Napisano 19.02.2013 20:42

Witam,jak w teamcie,jak mozna sprawdzic ile jest zywych graczy w TT? I jak np jest 1 tt i sie wpisze /jajko to normalnie dziala a jak jest 2+ to pisze "Nie jestes osatni nie mozesz tego zrobic!"
  • +
  • -
  • 0

#2 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 19.02.2013 20:53

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod XPytania dotyczące pluginów

do

Scripting AMXXPytania
  • +
  • -
  • 0

#3 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 19.02.2013 22:16

Jeżeli potrzebujesz "zdarzenia" ostatniego tt to musisz sprawdzać ich ilość na bieżąco, jeżeli tylko do komendy można sprawdzać przy wywoływaniu się komendy (lecz ja bym zrobił raczej opcję pierwszą, zawsze mogą spamować i tak by się cały czas te pętle wykonywały :(, a tak tylko byś sprawdzał czy jest jeden czy nie :) , Twój wybór)

Ale to nie było twoim pytaniem, czyli jak sprawdzić? Można pobrać listę terrorystów przez get_players() z odpowiednimi parametrami (aby pobrać samych terrorystów lub potem dodaj warunek w pętli i złość się na siebie) i zliczanie w pętli ilu z nich jest żywych i przerwanie pętli przy liczbie więcej niż 1. Można też przy zabójstwie sprawdzać czy był on terrorystą i odliczać (jak jest w jbextreme), ale jest jedno "ale", trzeba wiedzieć na początku dokładnie ilu było żywych, a po starcie nowej rundy też można dołączyć do gry będąc żywym (nie wiem jaki czas jest na dołączenie), więc albo wiesz kiedy sprawdzić ilość terrorystów, albo ograniczyć ich wejście do gry po jakimś czasie i wtedy sprawdzać, albo metoda którą wcześniej podałem, albo ktoś z tych lepszych podpowie Ci lepszy sposób (na pewno musi istnieć lepszy ^^ )
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 19.02.2013 23:08

get_aliveplayersnum(1);


/* returns amount of alive players from chosen team, where team equal to
0 returns amount of alive players from all assigned teams
1 returns amount of alive terrorists
2 returns amount of alive anti-terrorists
*/
stock get_aliveplayersnum(team){
new maxPlayers=get_maxplayers(), aliveplayers;
for(new i=1; i<=maxPlayers; ++i){
if(is_user_alive(i) && (!team || get_user_team(i)==team)){
++aliveplayers;
}
}
return aliveplayers;
}

Użytkownik Benio101 edytował ten post 20.02.2013 15:44
popr.


#5 Vendeliko

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:28
Offline

Napisano 19.02.2013 23:32

Dziekuje wam za odpowiedz lecz nie zbyt rozumiem co konkretnie proponujecie mi zrobic poniewaz dopiero zaczynam zabawe z amxx wiec chcial bym was prosic,o rozpisanie bardziej prosto,krok po kroku co gdzie dodac aby dzialalo lub jezeli moglibyscie to przerobic / napisac inaczej moj obecny plugin by dzialal jak trzeba

obecny plugin to
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <colorchat>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Administrator"

new Odliczanie[33];



public plugin_init() {
				register_plugin(PLUGIN, VERSION, AUTHOR)

				register_clcmd("say /wlasne","niesmiertelnosc")
register_clcmd("say_team /wlasne","niesmiertelnosc")
return PLUGIN_HANDLED;
}

public niesmiertelnosc(id)
{
if(PlayerAliveCount(CS_TEAM_T) == 1)
								set_user_godmode(id, 1)
ColorChat(id, GREEN, "[Zyczenie]^x01 Wiezien wybral^x03 wlasne zyczenie^x01 ma na wypowiedzenie go^x03 30 sekund^x01 po czym zostanie zabity!");


								Odliczanie[id] = 30	

								if(task_exists(id + 3431))
								{
																remove_task(id + 3431)
								}
								set_task(1.0, "Koniec", id + 3431, _, _, "b")


								return PLUGIN_CONTINUE

								set_user_godmode(id, 1)

}

public Koniec(task_id)
{
								new id = task_id - 3431

								set_hudmessage(0, 255, 0, 0.03, 0.61, 2, 0.02, 1.0, 0.01)
								show_hudmessage(id, "Pozostalo %d sekund na wypowiedzenie zyczenia.", Odliczanie[id])

								Odliczanie[id] -= 1

								if(Odliczanie[id] <= 0)
								{
																if(task_exists(task_id))
																{
																								remove_task(task_id)
																}
																set_user_godmode(id, 0);
ColorChat(id, GREEN, "[Zyczenie]^x01 Wiezien wypowiedzial zyczenie ktore^x03 jutro^x01 straznik^x03 PROWADZACY^x01 musi wykonac!");



user_silentkill(id);
								}
}
public block(id){
		return PLUGIN_HANDLED;
}

nie wspomnialem wczesniej lecz jest mi to potrzebne do zyczenia na jb wiec tu rowniez daje menu zycenia,case 8 czyli sam koniec to tam gzie mam ustawione to zyczenie wyzej
public lr_menu(id)
{
update_terro();

if(terro_alive != 1 || rundy%7 == 0 || lr_started || !is_user_alive(id) || anty_alive == 0) return PLUGIN_HANDLED;

new lrmenu = menu_create("\rWybierz zyczenie", "sub_lr_menu");
new callback = menu_makecallback("MenuCallback");

menu_additem(lrmenu, "Bezruch", "1", 0, callback);
menu_additem(lrmenu, "FreeDay", "2", 0, callback);
menu_additem(lrmenu, "Pojedynek na Noze", "3", 0, callback);
menu_additem(lrmenu, "Pojedynek na Deagle", "4", 0, callback);
menu_additem(lrmenu, "Pojedynek na Scouty", "5", 0, callback);
menu_additem(lrmenu, "Pojedynek na AWP", "6", 0, callback);
menu_additem(lrmenu, "Pojedynek na Granaty", "7", 0, callback);
menu_additem(lrmenu, "Wlasne Zyczenie", "8", 0, callback);



menu_setprop(lrmenu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(lrmenu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(lrmenu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(lrmenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, lrmenu, 0);

return PLUGIN_HANDLED;
}
public MenuCallback(id, menu, item)
{
if(item == 1)
{
if(rundy%7 == 5 || rundy%7 == 6) return ITEM_DISABLED;
return ITEM_ENABLED;
}
return PLUGIN_CONTINUE;
}
public sub_lr_menu(id, lrmenu, item)
{
update_terro();

if(item == MENU_EXIT || terro_alive != 1 || rundy%7 == 0 || lr_started || !is_user_alive(id) || anty_alive == 0)
{
menu_destroy(lrmenu);
return PLUGIN_HANDLED;
}

new Data[7], Name[64];
new Access, Callback;

menu_item_getinfo(lrmenu, item, Access, Data,5, Name, 63, Callback);
new key = str_to_num(Data);

new szName[32];
get_user_name(id, szName, 31);
GraZostalaWlaczona = 0;

switch(key)
{
case 1:
{
lr_started = true;

give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 35);

for(new i=1; i<=maxpl; i++)
{
if(is_user_alive(i) && get_user_team(i) == 2)
{
player_strip_weapons(i);
set_user_maxspeed(i, 0.1);
blokada[i] = true;

}
}
ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral^x04 Bezruch!", szName);
}
case 2:
{
lr_started = true;
has_fd[id] = rundy + 1;

user_silentkill(id);
cs_set_user_deaths(id, get_user_deaths(id) - 1);

ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral^x04 FreeDay^x01 na nastepna runde!", szName);
}
case 3:
{
g_DuelA = id;
nr_duel = 1;
duel[id] = true;

set_task(1.0, "WybierzDuel", 1992);

set_hudmessage(255, 0, 0, -1.0, 0.3, 0, 6.0, 5.0,_,_,22);
ShowSyncHudMsg(0, hud6, "%s wybral pojedynek na Noze", szName);

lr_started = true;

ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral pojedynek na^x04 Noze!", szName);
}
case 4:
{
g_DuelA = id;
nr_duel = 2;
duel[id] = true;

set_task(1.0, "WybierzDuel", 1992);

set_hudmessage(255, 0, 0, -1.0, 0.3, 0, 6.0, 5.0,_,_,23);
ShowSyncHudMsg(0, hud6, "%s wybral pojedynek na Deagle", szName);

lr_started = true;

ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral pojedynek na^x04 Deagle!", szName);
}
case 5:
{
g_DuelA = id;
duel[id] = true;
nr_duel = 3;

set_task(1.0, "WybierzDuel", 1992);

set_hudmessage(255, 0, 0, -1.0, 0.3, 0, 6.0, 5.0,_,_,24);
ShowSyncHudMsg(0, hud6, "%s wybral pojedynek na Scouty", szName);

lr_started = true;

ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral pojedynek na^x04 Scouty!", szName);
}
case 6:
{
g_DuelA = id;
duel[id] = true;
nr_duel = 4;

set_task(1.0, "WybierzDuel", 1992);

set_hudmessage(255, 0, 0, -1.0, 0.3, 0, 6.0, 5.0,_,_,25);
ShowSyncHudMsg(0, hud6, "%s wybral pojedynek na AWP", szName);

lr_started = true;

ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral pojedynek na^x04 AWP!", szName);
}
case 7:
{
g_DuelA = id;
duel[id] = true;
nr_duel = 5;

set_task(1.0, "WybierzDuel", 1992);

set_hudmessage(255, 0, 0, -1.0, 0.3, 0, 6.0, 5.0,_,_,27);
ShowSyncHudMsg(0, hud6, "%s wybral pojedynek na Granaty", szName);

lr_started = true;

ColorChat(0, GREEN, "^x03[Zyczenie]^x04 %s^x01 wybral pojedynek na^x04 Granaty!", szName);
}
case 8:
{
lr_started = true;
client_cmd(id, "say /wlasne");
return PLUGIN_HANDLED;


}
}

menu_destroy(lrmenu);

return PLUGIN_HANDLED;
}




(to 1 sma to oddzielny plugin do tego z menu zyczenia wiec nie moge uzyc tego terror_alive w nim bo nie czyta go czy cos)

Użytkownik Vendeliko edytował ten post 19.02.2013 23:34

  • +
  • -
  • 0




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

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