Jak wylosować gracza z danego team'u?
Załóżmy że chciałbym wylosować CT'ka który dostawałby daną broń.
Chodzi mi dokładnie oto że po wpisaniu /losuj, losuje gracza z CT i daje mu deagle'a
Użytkownik Qes edytował ten post 01.09.2013 20:48
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.
|
Najlepsza odpowiedź speedkill, 06.09.2013 17:46
Stock:
stock RandomPlayer(g_Team){ new g_PlayersIndex[33], g_Value; for(new i = 1; i <= g_MaxPlayers; i++){ if(is_user_alive(i) && get_user_team(i) == g_Team){ g_PlayersIndex[g_Value] = i; g_Value++; } } return g_PlayersIndex[random(g_Value)]; }TT - RandomPlayer(1)
new g_MaxPlayers;Gdzieś poniżej:
public plugin_cfg(){ g_MaxPlayers = get_maxplayers(); }
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "speedkill" new g_MaxPlayers; public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /test", "TestCommand"); } public plugin_cfg(){ g_MaxPlayers = get_maxplayers(); } public TestCommand(id){ new g_UserIndex = RandomPlayer(2); client_print(id, 3, "Index wylosowanego gracza: %d", g_UserIndex); } stock RandomPlayer(g_Team){ new g_PlayersIndex[33], g_Value; for(new i = 1; i <= g_MaxPlayers; i++){ if(is_user_alive(i) && get_user_team(i) == g_Team){ g_PlayersIndex[g_Value] = i; g_Value++; } } return g_PlayersIndex[random(g_Value)]; }Nie testowane Przejdź do postu
Napisano 01.09.2013 20:48
Użytkownik Qes edytował ten post 01.09.2013 20:48
Napisano 01.09.2013 20:55
#include <amxmodx> #include <fun> #include <cstrike> public plugin_init() { register_plugin("Losowanie", "0.1", "szelbi") register_clcmd("say /losuj", "Losuj") } public Losuj(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new players[32], num; get_players(players, num, "aceh", "COUNTERTERRORIST"); new rand = players[random(num)]; if(is_user_connected(rand) && is_user_alive(rand) && get_user_team(rand) == 1) { give_item(rand, "weapon_deagle") } return PLUGIN_CONTINUE; }
Nie testowane, nie wiem czy zadziała.
Napisano 02.09.2013 01:12
if(is_user_connected(rand) && is_user_alive(rand) && get_user_team(rand) == 1)
na
if( is_user_alive(rand) && get_user_team(rand) == 2 )
Napisano 02.09.2013 06:33
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <fakemeta_util> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "MynDoS" new nick[32] new bool:losowaniee = false new bool:kolorek[33]; public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /losuj", "losowanie", 0); register_event("TextMsg","res","a","2&#Game_C") } public res() if(losowaniee) losowaniee = false; public losowanie(id) { if(is_user_connected(id) && is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && !losowaniee) { new players[32], num get_players(players, num); new rand = random_num(1,num) if(cs_get_user_team(rand) == CS_TEAM_T && is_user_alive(rand)) { losowaniee = true; get_user_name(rand, nick, sizeof nick - 1) fm_set_user_rendering(rand,kRenderFxGlowShell,0,255,0,kRenderNormal,8) set_task(10.0, "kolor", rand); kolorek[rand] = true set_hudmessage(255, 255, 255, 0.03, 0.60, 0, 6.0, 5.0, _, _, 21) show_hudmessage(0, "Wylosowany zostal: %s", nick) } } return PLUGIN_HANDLED } public kolor(rand) { fm_set_user_rendering(rand,kRenderFxGlowShell,0,0,0,kRenderNormal,8) kolorek[rand] = false losowaniee = false; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Użytkownik Qes edytował ten post 02.09.2013 06:35
Napisano 02.09.2013 20:27
Użytkownik Qes edytował ten post 02.09.2013 20:27
Napisano 06.09.2013 16:48
#include <amxmodx> #include <fun> #include <cstrike> public plugin_init() { register_plugin("Losowanie", "0.1", "szelbi") register_clcmd("say /losuj", "Losuj") } public Losuj(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new players[32], num; get_players(players, num, "aceh", "COUNTERTERRORIST"); new rand = players[random(num)]; if(is_user_connected(rand) && is_user_alive(rand) && get_user_team(rand) == 1) { give_item(rand, "weapon_deagle") } return PLUGIN_CONTINUE; }Nie testowane, nie wiem czy zadziała.
Zmień to o czym dark mówił oraz zamień
get_players(players, num, "aceh", "COUNTERTERRORIST");
na
get_players(players, num, "aceh", "CT");
Napisano 06.09.2013 17:14
#include <amxmodx> #include <fun> #include <cstrike> public plugin_init() { register_plugin("Losowanie", "0.1", "szelbi") register_clcmd("say /losuj", "Losuj") } public Losuj(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new players[32], num; get_players(players, num, "aceh", "COUNTERTERRORIST"); new rand = players[random(num)]; if(is_user_connected(rand) && is_user_alive(rand) && get_user_team(rand) == 1) { give_item(rand, "weapon_deagle") } return PLUGIN_CONTINUE; }Nie testowane, nie wiem czy zadziała.
Zmień to o czym dark mówił oraz zamień
get_players(players, num, "aceh", "COUNTERTERRORIST");na
get_players(players, num, "aceh", "CT");
W dokumentacji pisze:
Flagi nie są już suportowane przez autorów amxx'a i mogą zwracać nie prawidłowe wyniki - szczególnie w fladze "e" oraz możliwe w "a" i "b". Zalecane jest sprawdzanie czy gracze spełniają wymagania przez zastosowanie odpowiednich warunków w pętli programu.
Sell - System Klanów (wojny, top15 etc)
Kontakt GG: 7285018
Napisano 06.09.2013 17:46 Najlepsza odpowiedź
stock RandomPlayer(g_Team){ new g_PlayersIndex[33], g_Value; for(new i = 1; i <= g_MaxPlayers; i++){ if(is_user_alive(i) && get_user_team(i) == g_Team){ g_PlayersIndex[g_Value] = i; g_Value++; } } return g_PlayersIndex[random(g_Value)]; }TT - RandomPlayer(1)
new g_MaxPlayers;Gdzieś poniżej:
public plugin_cfg(){ g_MaxPlayers = get_maxplayers(); }
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "speedkill" new g_MaxPlayers; public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /test", "TestCommand"); } public plugin_cfg(){ g_MaxPlayers = get_maxplayers(); } public TestCommand(id){ new g_UserIndex = RandomPlayer(2); client_print(id, 3, "Index wylosowanego gracza: %d", g_UserIndex); } stock RandomPlayer(g_Team){ new g_PlayersIndex[33], g_Value; for(new i = 1; i <= g_MaxPlayers; i++){ if(is_user_alive(i) && get_user_team(i) == g_Team){ g_PlayersIndex[g_Value] = i; g_Value++; } } return g_PlayersIndex[random(g_Value)]; }Nie testowane
If you can dream it, you can do it.
Napisano 07.09.2013 09:55
/* Plugin generated by AMXX-Studio */ #include #include #include #include #include #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "MynDoS" new nick[32] new bool:losowaniee = false new bool:kolorek[33]; public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /losuj", "losowanie", 0); register_event("TextMsg","res","a","2Game_C") } public res() if(losowaniee) losowaniee = false; public losowanie(id) { if(is_user_connected(id) && is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && !losowaniee) { new players[32], num get_players(players, num); new rand = players[random(num)] if(cs_get_user_team(rand) == CS_TEAM_T && is_user_alive(rand)) { losowaniee = true; get_user_name(rand, nick, sizeof nick - 1) fm_set_user_rendering(rand,kRenderFxGlowShell,0,255,0,kRenderNormal,8) set_task(10.0, "kolor", rand); kolorek[rand] = true set_hudmessage(255, 255, 255, 0.03, 0.60, 0, 6.0, 5.0, _, _, 21) show_hudmessage(0, "Wylosowany zostal: %s", nick) } } return PLUGIN_HANDLED } public kolor(rand) { fm_set_user_rendering(rand,kRenderFxGlowShell,0,0,0,kRenderNormal,8) kolorek[rand] = false losowaniee = false; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Napisano 14.09.2013 15:34
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
0 użytkowników, 0 gości, 0 anonimowych