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
Po co?
Nie lubie jak dzieciaki wywalają pake na respie i lecą na fragi.
pozdr
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.
|
Guest Message by DevFuse
Plugin Pakaczyli sposób na niewykonane cele mapy
Temat rozp.
MafiaDL
, 20.11.2010 03:49
3 odpowiedzi w tym temacie
#1
Napisano 20.11.2010 03:49
#2
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
#3
Napisano 20.11.2010 14:38
Przetestuje. Thx GG
#4
Napisano 21.11.2010 20:47
Może ktoś poprawić błędy ? Bo ten plugin niestety nie działa poprawnie nawet po naprawie Plugin dodaje slapa nawet jezeli Paka jest podlożona oraz dostają nawet CT
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
#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
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych