Może ktoś poprawić błędy ?
![:P](https://amxx.pl/public/style_emoticons/default/tongue.gif)
Bo ten plugin niestety nie działa poprawnie nawet po naprawie
![:P](https://amxx.pl/public/style_emoticons/default/tongue.gif)
Plugin dodaje slapa nawet jezeli Paka jest podlożona oraz dostają nawet CT
![:P](https://amxx.pl/public/style_emoticons/default/tongue.gif)
#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