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

Przerzucenie Gracza


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

#1 Magisterr.

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 09.08.2008 05:28

Czy da się przerzucić gracza do 2 teamu (np. z CT do TT), ale tak by cały czas żył? - Jeśli tak to proszę o pomoc :help:
  • +
  • -
  • 0

#2 TastyB

    Zaawansowany

  • Girl

Reputacja: 9
Nowy

  • Postów:147
Offline

Napisano 09.08.2008 06:02

Nie spotkalam sie jeszcze z takim pluginem ktory przerzucalby zywego gracza do przeciwnej druzyny ale mam plugin ktory "zaznacza" zawodnika do przeniesienia i przenosi go natychmiast po tym jak on sam zginie albo na koncu aktualnej rundy - czyli generalnie go nie zabija przenoszac.

Jezeli Cie on ineresuje to daj znac



Pozdrawiam
  • +
  • -
  • 0

#3 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 09.08.2008 07:01

Znowu sprawa HnS :P.

Jeśli CT jest afk to po 20 sec. afkowania go przerzuca do terorystów, a w zamian wybiera losowo 1 gracza z tero. (CT może ewnt. zabić, ale nie terroryste który idzie na jego miejsce).

Choć jest też prostrze rozwiązanie - Po 60 sec afkowania CT (od początku rundy) - zabija go ;]. Ale tylko CT i tylko tego co Afkuje :)

//Proszę o przeniesienie tematu do działu "Szukam Pluginu"
  • +
  • -
  • 0

#4 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 09.08.2008 08:36

Czy on się pytał o jakieś afk? Z tego co można zrozumieć chodzi mu o to, że jak wpisze amx_teammenu i przerzuci gracza żywego to go nie zabije, ale zespawnuje na respie.
Oczywiście, że jest taki plugin, bo sam go zrobiłem xP

Dla poprawnego działania plugin musi być umieszcznowy w plugins.ini przez pluginem plmenu.amxx
xxx.amxx
xxx.amxx
teammenu_nokill.amxx
plmenu.amxx
xxx.amxx 
/*	Autor: grankee
*   Plugin pisany z myslą o tych, którzy giną przy przenoszeniu do drugiej drużyny przez admina <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/wink.gif' class='bbc_emoticon' alt=';)' />
*   W przypadku gdy admin przenosi żywego gracza do drugiej drużyny jest on zabijany. 
*   Ten plugin sprawia, że przenoszony gracz pojawia sie na respie drużyny, do której został przeniesiony
*   (lub zostaje w miejscu w przypadku amx_teammenuspawn=0)
*
*	Robiony na podstawie kody plmenu.sma
*
*/
#include <amxmodx>
#include <amxmisc>
#include <fun>

/** skip autoloading since it's optional */
#define AMXMODX_NOAUTOLOAD
#include <cstrike>

new g_menuPosition[33]
new g_menuPlayers[33][32]
new g_menuPlayersNum[33]
new g_menuOption[33]
#define MAX_CLCMDS 24
new g_coloredMenus
new g_cstrike = 0

public plugin_natives()
{
	set_module_filter("module_filter")
	set_native_filter("native_filter")
}

public plugin_init()
{
	register_plugin("Teammenu nokill v4.0", "v4.0", "grankee")
	register_dictionary("common.txt")
	register_dictionary("admincmd.txt")
	register_dictionary("plmenu.txt")

	
	register_clcmd("amx_teammenu", "cmdTeamMenu", ADMIN_LEVEL_A, "- pokazuje menu druzyn")
	register_clcmd("teammenu", "cmdTeamMenu", ADMIN_LEVEL_A, "- pokazuje menu druzyn")
	register_cvar("amx_teammenuspawn", "1")
	register_menucmd(register_menuid("Team Menu"), 1023, "actionTeamMenu")
	

	g_coloredMenus = colored_menus()

	

	if (module_exists("cstrike"))
		g_cstrike = 1
}

public module_filter(const module[])
{
	if (equali(module, "cstrike"))
		return PLUGIN_HANDLED
	
	return PLUGIN_CONTINUE
}

public native_filter(const name[], index, trap)
{
	if (!trap)
		return PLUGIN_HANDLED
		
	return PLUGIN_CONTINUE
}





public actionTeamMenu(id, key)
{
//new teamname[32]
	switch (key)
	{
		case 7:
		{
			g_menuOption[id] = 1 - g_menuOption[id]
			displayTeamMenu(id, g_menuPosition[id])
		}
		case 8: displayTeamMenu(id, ++g_menuPosition[id])
		case 9: displayTeamMenu(id, --g_menuPosition[id])
		default:
		{
			new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
			new authid[32], authid2[32], name[32], name2[32]

			get_user_name(player, name2, 31)
			get_user_authid(id, authid, 31)
			get_user_authid(player, authid2, 31)
			get_user_name(id, name, 31)
				
			log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")
			
			if (get_cvar_num("amx_hideactivity")==1)
			{
				for (new a=1;a<=32;a++)
				{
					if (is_user_connected(a))
					{
						if (get_user_flags(a) & ADMIN_RESERVATION)
						{
							client_print(a, print_chat, "%L", id, "ADMIN_TRANSF_2", name, name2, g_menuOption[id] ? "TERRORIST" : "CT")
						}
			
					}
				}
			}
			else
			{
				switch (get_cvar_num("amx_show_activity"))
				{
					case 2: client_print(0, print_chat, "%L", id, "ADMIN_TRANSF_2", name, name2, g_menuOption[id] ? "TERRORIST" : "CT")
					case 1: client_print(0, print_chat, "%L", id, "ADMIN_TRANSF_1", name2, g_menuOption[id] ? "TERRORIST" : "CT")
				}
			}

			if (g_cstrike)
			{
				if (is_user_alive(player))
				{
					if(g_menuOption[id]==1)
					{
						cs_set_user_team(player, CS_TEAM_T)
						if (get_cvar_num("amx_teammenuspawn") > 0)
						spawn(player)
						
					}
					else
					{
						cs_set_user_team(player, CS_TEAM_CT)
						if (get_cvar_num("amx_teammenuspawn") > 0)
						spawn(player)
					}
				}
				else
				{
					if(g_menuOption[id]==1)
					{
						cs_set_user_team(player, CS_TEAM_T)
						cs_reset_user_model(player)	
					}
					else
					{
						cs_set_user_team(player, CS_TEAM_CT)
						cs_reset_user_model(player)	
					}
				}	
				
			}
				
			 /*else 
			{
				new limit_setting = get_cvar_num("mp_limitteams")
				
				set_cvar_num("mp_limitteams", 0)
				engclient_cmd(player, "jointeam", g_menuOption[id] ? "1" : "2")
				engclient_cmd(player, "joinclass", "1")
				set_cvar_num("mp_limitteams", limit_setting)
			}*/

			displayTeamMenu(id, g_menuPosition[id])
		}
	}
	
	return PLUGIN_HANDLED
}

displayTeamMenu(id, pos)
{
	if (pos < 0)
		return

	get_players(g_menuPlayers[id], g_menuPlayersNum[id])

	new menuBody[512]
	new b = 0
	new i, iteam
	new name[32], team[4]
	new start = pos * 7
	new ja[32]
	get_user_name (id, ja, 31)
	if (start >= g_menuPlayersNum[id])
		start = pos = g_menuPosition[id] = 0

	new len = format(menuBody, 511, g_coloredMenus ? "y%LR%d/%d^nw^n" : "%L %d/%d^n^n", id, "TEAM_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))
	new end = start + 7
	new keys = MENU_KEY_0|MENU_KEY_8

	if (end > g_menuPlayersNum[id])
		end = g_menuPlayersNum[id]

	for (new a = start; a < end; ++a)
	{
		i = g_menuPlayers[id][a]
		get_user_name(i, name, 31)
		
		if (g_cstrike)
		{
			iteam = _:cs_get_user_team(i)
			
			if (iteam == 1)
			{
				copy(team, 3, "TE")
			}
			else if (iteam == 2)
			{
				copy(team, 3, "CT")
			} else {
				get_user_team(i, team, 3)
			}
		} else {
			iteam = get_user_team(i, team, 3)
		}

		if ((iteam == (g_menuOption[id] ? 1 : 2)) || (access(i, ADMIN_IMMUNITY)&&(i!=id)))
		{
			++b
			
			if (g_coloredMenus)
				len += format(menuBody[len], 511-len, "d%d. %sR%s^nw", b, name, team)
			else
				len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)		
		} else {
			keys |= (1<<<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
				
			if (is_user_admin(i))
				len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s r*yR%s^nw" : "%d. %s *   %s^n", ++b, name, team)
			else
				len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %syR%s^nw" : "%d. %s   %s^n", ++b, name, team)
		}
	}

	len += format(menuBody[len], 511-len, "^n8. %L^n", id, "TRANSF_TO", g_menuOption[id] ? "TERRORIST" : "CT")

	if (end != g_menuPlayersNum[id])
	{
		format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
		keys |= MENU_KEY_9
	}
	else
		format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")
	
	show_menu(id, keys, menuBody, -1, "Team Menu")
}

public cmdTeamMenu(id, level, cid)
{
	if (!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED

	g_menuOption[id] = 0

	displayTeamMenu(id, g_menuPosition[id] = 0)

	return PLUGIN_HANDLED
}


  • +
  • -
  • 0

#5 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 09.08.2008 09:05

Znowu mi pomagasz, ale nie tak jak ja potrzebuje :D

Afk CT :

Plugin ma polegac na tym ze gdy anty terrorysta afkuje to po 60 sec. (tego afkowania) zabija go. I tyle teori :lol:

ps. Plugin pod serwer HnS
  • +
  • -
  • 0

#6 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 09.08.2008 09:54

Czy da się przerzucić gracza do 2 teamu (np. z CT do TT), ale tak by cały czas żył? - Jeśli tak to proszę o pomoc :help:

Plugin ma polegac na tym ze gdy anty terrorysta afkuje to po 60 sec. (tego afkowania) zabija go. I tyle teori :lol:


Ktoś tu się gubi w zeznaniach ^^
  • +
  • -
  • 0

#7 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 09.08.2008 10:08

Chyba sie da, ja bym to zrobil najoptymalniej przez mienienie teamu przez engine (to nie zabije gracza) potem tylko zrobic update modelu gracza (bo chcemy by wygladal jak nasz np CT). I ostatecznie przeniesc go na spawn gracza.

Tak to by wygladalo teoretycznie i naj bardziej optymalnie.
  • +
  • -
  • 0

#8 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 09.08.2008 10:28

Z tego co sprawdzałem model się zmienia, odpowiada za to chyba cs_reset_user_model prawda? ;-)
  • +
  • -
  • 0

#9 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 09.08.2008 11:03

Ktoś tu się gubi w zeznaniach


Gdzie się gubi :D... Poprostu troche ułatwiłem robotę :P... Nie trzeba długich pluginów, tylko krótki xP

Tak jak jest Bomb Afk :) - tylko zamiast Terrorysty który wyrzuca pake, Jest CT który Ginie ;]
  • +
  • -
  • 0

#10 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 09.08.2008 14:55

Gdzie się gubi :D


jest ogromna różnica między

Czy da się przerzucić gracza do 2 teamu (np. z CT do TT), ale tak by cały czas żył? - Jeśli tak to proszę o pomoc :help:

a

Plugin ma polegac na tym ze gdy anty terrorysta afkuje to po 60 sec. (tego afkowania) zabija go. I tyle teori :lol:


  • +
  • -
  • 0

#11 Magisterr.

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:44
  • Lokalizacja:z d...
Offline

Napisano 09.08.2008 21:05

dobra, masz rację ;P... Ale teraz obróce sprawe :D : dałem 2 wątki - pomoże jak kto umie, każdy inaczej xP

Ale już przeszłość :). Dzięki za pomoc :* (+ pomógł)

//Close
  • +
  • -
  • 0




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

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