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