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

[ROZWIĄZANE] losowanie gracza na początku nowej rundy


Najlepsza odpowiedź radim, 29.08.2014 14:34

Event nowej rundy, task na 15 sekund, zmienna:

new g_MaxPlayers;
public plugin_cfg()
{
g_MaxPlayers = get_maxplayers();
}

Stock:

stock RandomPlayer(g_Team){
new g_PlayersIndex[33],
g_Value;
 
for(new i = 1; i <= g_MaxPlayers; i++){
if(is_user_alive(i)){
g_PlayersIndex[g_Value] = i;
g_Value++;
}
}
return g_PlayersIndex[random(g_Value)];
}

Przykład:

/* 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();
 
client_print(id, 3, "Index wylosowanego gracza: %d", g_UserIndex);
}
 
stock RandomPlayer(){
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)];
}

by speedkill http://amxx.pl/topic...gracza-z-teamu/

P.S Google nie boli..

Przejdź do postu


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Oporowiec

    Wszechobecny

  • Zbanowany

Reputacja: 119
Zaawansowany

  • Postów:441
  • GG:
  • Imię:Maciej
  • Lokalizacja:Małopolska
Offline

Napisano 29.08.2014 14:15

witam, poszukuje pluginu, który od razu po rozpoczęciu nowej rundy (i po 15sekundach) wylosuje jednego gracza.


Aktualny projekt: Dokumentacja Offline || [ 10% ]


#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 29.08.2014 14:21

Jest na forum funkcja losowania gracza. Dodaj event nowej Rundy, wywolaj w niej z taskiem funkcje losowania i ot to cała sprawa
  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 29.08.2014 14:22

Jak dobrze pamiętam tutaj jest kod. Jest to bardzo proste więc powinieneś sobie poradzić :P

 

http://amxx.pl/topic/61817-obcy-mod/

 

Po prostu wyciągnij


  • +
  • -
  • 1

#4 szelbi

    Hero

  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 29.08.2014 14:31

Stock na losowanie gracza:

stock losuj_gracza()
{
	new id_gracza[33], wartosc;
	
	for(new i=1;i<=g_MaxPlayers;i++)
	{
		id_gracza[wartosc] = i;
		wartosc++;
	}
	return id_gracza[random(wartosc)];
}

Z resztą sobie poradzisz ;)


  • +
  • -
  • 1

#5 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 29.08.2014 14:34   Najlepsza odpowiedź

Event nowej rundy, task na 15 sekund, zmienna:

new g_MaxPlayers;
public plugin_cfg()
{
g_MaxPlayers = get_maxplayers();
}

Stock:

stock RandomPlayer(g_Team){
new g_PlayersIndex[33],
g_Value;
 
for(new i = 1; i <= g_MaxPlayers; i++){
if(is_user_alive(i)){
g_PlayersIndex[g_Value] = i;
g_Value++;
}
}
return g_PlayersIndex[random(g_Value)];
}

Przykład:

/* 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();
 
client_print(id, 3, "Index wylosowanego gracza: %d", g_UserIndex);
}
 
stock RandomPlayer(){
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)];
}

by speedkill http://amxx.pl/topic...gracza-z-teamu/

P.S Google nie boli..


Użytkownik radim edytował ten post 29.08.2014 14:35

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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