Plugin Paka
MafiaDL
20.11.2010
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
- 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
Knopers
20.11.2010
#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);
}
Edited by Knopers, 20.11.2010 08:57.
Mała poprawka :P
MafiaDL
21.11.2010
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