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
 

InArticulo - zdjęcie

InArticulo

Rejestracja: 23.04.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 31.03.2012 09:16
-----

Moje tematy

Plugin który pozwala adminowi zabić gracza.

23.04.2011 10:22

Witam, chciałbym zaprezentować wam mój pierwszy plugin, AMX_ZABIJ. Owy plugin pozwala adminowi ( z flagą slay ) na zabicie gracza określoną ilość rund pod rząd. Enjoy :P

Dołączona grafika

Instalacja pluginów amxx

Dołączona grafika

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <hamsandwich>


Dołączona grafika

amx_zabij <nick gracza> <ilość zabić>

Plugin.

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <hamsandwich>
 
#define PLUGIN "amx_zabij"
#define VERSION "1.2"
#define AUTHOR "InArticulo"
 
new d_zliczanie[33];
 
public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn,"player","nowarunda",1)
	register_concmd("amx_zabij", "zabij", ADMIN_SLAY, " <Nick Gracza> <ilosc Zabic>")
}
 
public nowarunda(id)
{
	if(!is_user_connected(id) || !is_user_alive(id))
		return HAM_IGNORED;
 
	if(d_zliczanie[id]>0)
		set_task(0.5, "Kill", id);
 
	return HAM_IGNORED
}
 
public zabij(id, level, cid)
{
	if (!cmd_access(id, level, cid, 3))
		return PLUGIN_HANDLED
 
	new cel[33]
	new ilosc_zabic[8]
 
	read_argv(1, cel, 32)
	new gracz = cmd_target(id, cel, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE)
 
	if (!gracz)
	{
		return PLUGIN_HANDLED
	}
	else
	{
		read_argv(2, ilosc_zabic, 7)	
		new kille = str_to_num(ilosc_zabic)
		d_zliczanie[gracz] += kille;
		user_kill(gracz)
		ColorChat(gracz, GREEN, "Zostalo Ci jeszcze %d smierci!", d_zliczanie[gracz])
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}
 
public Kill(id)
{
	if(!is_user_connected(id) || !is_user_alive(id))
		return PLUGIN_CONTINUE;
 
	user_kill(id)
	d_zliczanie[id]--;
	ColorChat(id, GREEN, "Zostalo Ci jeszcze %d smierci!", d_zliczanie[id])
	return PLUGIN_CONTINUE;
}


Dołączona grafika


Załączony plik  amx_zabij.amxx   8,24 KB  20 Ilość pobrań

Załączony plik  amx_zabij.sma   1,39 KB  245 Ilość pobrań
  amx_zabij.amxx

Przy kompilacji błędu brak lecz plugin nie działa.

23.04.2011 08:41

Witam, na początku chciałbym się przywitać, ponieważ jest to mój pierwszy post. Teraz do rzeczy. Mam pewien problem, próbowałem napisać własny plugin który będzie zabijał gracza określona ilość razy kilka rund pod rząd. Coś tam wykombinowałem i napisałem plugin (Mój pierwszy w życiu :)), przy kompilacji nie ma żadnych błędów, wszystko powinno działać lecz tak nie jest. Męczę się z tym od kilku dni, aż w końcu napisałem tego posta bo sądzę, że sam sobie nie poradzę. :P
Zamieszczam plugin.

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <hamsandwich>

#define PLUGIN "amx_zabij"/*Zabija gracza określoną ilość razy*/
#define VERSION "1.0"
#define AUTHOR "InArticulo"

new d_zliczanie;

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn,"player","nowarunda",1)
	register_concmd("amx_zabij", "zabij", ADMIN_SLAY, " <Nick Gracza> <ilosc Zabic>")
}	
public nowarunda(id)
{
	--d_zliczanie
}
		
public zabij(id, level, cid)
{
	if (!cmd_access(id, level, cid, 5))
		return PLUGIN_HANDLED
	if(!(get_user_flags(id) & ADMIN_SLAY))
	{
		client_print(id,print_console,"Nie mozesz uzyc tej komendy!")
		return PLUGIN_HANDLED
	}
		
	new cel[32]
	new ilosc_zabic[8]
	
	read_argv(1, cel, 31)
	new gracz = cmd_target(id, cel, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE)
	
	if (!gracz)
	{
		return PLUGIN_HANDLED
	}
	else
	{
		read_argv(2, ilosc_zabic, 7)	
		str_to_num(ilosc_zabic[7])
		d_zliczanie = d_zliczanie + ilosc_zabic[7]
		user_kill(gracz)
		ColorChat(id, GREEN, "Zostalo Ci jeszcze %d smierci!", d_zliczanie)
		return PLUGIN_CONTINUE
	}
	if(d_zliczanie <= 0)
	{
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

PS. Wiem, pewnie można było to zrobić inaczej i lepiej ale bądźcie wyrozumiali :)