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

Plugin Pakaczyli sposób na niewykonane cele mapy


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

#1 MafiaDL

    Naj-Najstarszy Moderator

  • Przyjaciel

Reputacja: 561
Wszechwiedzący

  • Postów:3 492
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Warsaw
Offline

Napisano 20.11.2010 03:49

Witam więc prośba do kolegów o plugin który ma zadanie:

- Gracz nie może wyrzucić paki na respie (nigdzie)
- Po upływie połowy czasu gdy gracz nie podłoży paki dostaje slapa 15 dmg i komunikat aby podłożył pake jezeli tego nie zrobi nastepny slap 15 dmg za 30 sekund od upływu poprzedniego slapa

Nie musi być dokladnie jak opisalem tylko coś zbliżonego :P

Po co?


Nie lubie jak dzieciaki wywalają pake na respie i lecą na fragi.

pozdr
  • +
  • -
  • 0

#2 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 20.11.2010 08:50

#include <amxmodx>
#include <csx>

#define PLUGIN "C4 Plugin"
#define VERSION "1.0"
#define AUTHOR "Knopers"

new PlayerHaveC4;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_concmd("drop", "CheckForBlock");
register_logevent("EvSpawnC4", 3, "2=Spawned_With_The_Bomb");
register_logevent("EvRoundEnd", 2, "1=Round_End");
}
public CheckForBlock(id)
{
if(get_user_weapon(id) == 6)
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public EvSpawnC4()
{
PlayerHaveC4 = get_loguser_index();
set_task(30.0, "SlapPlayer", PlayerHaveC4 + 1330, _, _, "b");
}
public SlapPlayer(id)
{
id -= 1330;
if(!is_user_alive(id))
{
if(task_exists(id + 1330))
remove_task(id + 1330);
}
else
user_slap(id, 15);
}
public bomb_planted(id)
{
if(task_exists(id + 1330))
remove_task(id + 1330);
}
public EvRoundEnd()
{
if(task_exists(PlayerHaveC4 + 1330))
remove_task(PlayerHaveC4 + 1330);
}
public client_disconnect(id)
{
if(task_exists(id + 1330))
remove_task(id + 1330);
}
stock get_loguser_index()
{
new loguser[80], name[32];
read_logargv(0, loguser, 79);
parse_loguser(loguser, name, 31);

return get_user_index(name);
}

Użytkownik Knopers edytował ten post 20.11.2010 08:57
Mała poprawka :P

  • +
  • -
  • 2

#3 MafiaDL

    Naj-Najstarszy Moderator

  • Autor tematu
  • Przyjaciel

Reputacja: 561
Wszechwiedzący

  • Postów:3 492
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Warsaw
Offline

Napisano 20.11.2010 14:38

Przetestuje. :) Thx GG :P
  • +
  • -
  • 0

#4 MafiaDL

    Naj-Najstarszy Moderator

  • Autor tematu
  • Przyjaciel

Reputacja: 561
Wszechwiedzący

  • Postów:3 492
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Warsaw
Offline

Napisano 21.11.2010 20:47

Może ktoś poprawić błędy ?:P Bo ten plugin niestety nie działa poprawnie nawet po naprawie :P Plugin dodaje slapa nawet jezeli Paka jest podlożona oraz dostają nawet CT :P

#include <amxmodx>
#include <csx>

#define PLUGIN "C4 Plugin"
#define VERSION "1.0"
#define AUTHOR "Knopers"

new PlayerHaveC4;
new RoundTime;
new bool:Planted = false;

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_concmd("drop", "CheckForBlock");
	register_logevent("EvSpawnC4", 3, "2=Spawned_With_The_Bomb");
	register_logevent("EvRoundEnd", 2, "1=Round_End");
	register_logevent("EvRoundStart", 2, "1=Round_Start");
	register_event("DeathMsg", "EvDeathMsg", "a");
	register_event("WeapPickup", "EvPickupC4", "be", "1=6");
	RoundTime = floatround(get_cvar_float("mp_roundtime") * 60);
}
public CheckForBlock(id)
{
	if(get_user_weapon(id) == 6)
		return PLUGIN_HANDLED;
	return PLUGIN_CONTINUE;
}
public EvSpawnC4()
{
	new loguser[80], name[32];
	read_logargv(0, loguser, 79);
	parse_loguser(loguser, name, 31);
	PlayerHaveC4 = get_user_index(name);
	set_task(30.0, "SlapPlayer", PlayerHaveC4 + 1330, _, _, "b");
	ColorChat(PlayerHaveC4, "^x04Lepiej lec szybko podlozyc pake bo inaczej kara cie nie ominie !");
}
public EvPickupC4()
{
	if(PlayerHaveC4 == -1)
	{
		PlayerHaveC4 = read_data(1);
		set_task(30.0, "SlapPlayer", PlayerHaveC4 + 1330, _, _, "b");
		ColorChat(PlayerHaveC4, "^x04Lepiej lec szybko podlozyc pake bo inaczej kara cie nie ominie !");
	}
}
public SlapPlayer(id)
{
	id -= 1330;
	if(!is_user_alive(id) || Planted)
	{
		if(task_exists(id + 1330))
			remove_task(id + 1330);
	}
	else
	{
		user_slap(id, 15);
		ColorChat(id, "^x04Kolejny slap juz wkrótce !");
	}
}
public FinishSlap(TaskID)
{
	if(PlayerHaveC4 > 0)
	{
		new id = PlayerHaveC4;
		if(TaskID == 1225)
		{
			if(is_user_alive(id))
				user_slap(id, 10);
		}
		else if(TaskID == 1226)
		{
			if(is_user_alive(id))
			{
				user_slap(id, 10);
				user_slap(id, 10);
			}
		}
	}
}
public EvRoundStart()
{
	set_task(float(RoundTime - 40), "FinishSlap", 1225);
	set_task(float(RoundTime - 20), "FinishSlap", 1226);
}
public bomb_planted(id)
{
	Planted = true;
	PlayerHaveC4 = -1;
	if(task_exists(id + 1330))
		remove_task(id + 1330);
	if(task_exists(1225))
		remove_task(1225);
	if(task_exists(1226))
		remove_task(1226);
}
public EvDeathMsg()
{
	new id = read_data(2);
	if(PlayerHaveC4 == id)
		PlayerHaveC4 = -1;
	if(task_exists(id + 1330))
		remove_task(id + 1330);
}
public EvRoundEnd()
{
	if(!Planted)
		user_kill(PlayerHaveC4, 1);
	if(task_exists(PlayerHaveC4 + 1330))
		remove_task(PlayerHaveC4 + 1330);
	if(task_exists(1225))
		remove_task(1225);
	if(task_exists(1226))
		remove_task(1226);
	Planted = false;
}
public client_disconnect(id)
{
	if(task_exists(id + 1330))
		remove_task(id + 1330);
}
stock ColorChat(id, sMessage[])
{
	new SayText = get_user_msgid("SayText");
	if(id == 0)
	{
		for(new i = 1; i < 33; i++)
		{
			if(is_user_connected(i))
			{
				message_begin(MSG_ONE, SayText, { 0, 0, 0 }, i);
				write_byte(i);
				write_string(sMessage);
				message_end();
			}
		}
	}
	else
	{
		message_begin(MSG_ONE, SayText, { 0, 0, 0 }, id);
		write_byte(id);
		write_string(sMessage);
		message_end();
	}
}

40 sekund przed koncem rundy ma dac 1 kare (sllap 10 hp)
i 20 sekund przed koncem 2 (slap 10 hp)
a jak nie postawi paki to kill (jezelii uplynie czas a paki nie podloży).

+ informacje
  • +
  • -
  • 0




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

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