Страница 1 от 1
Заявка за Spawn Protection за 5 убийства.
Публикувано на: 26 Авг 2018, 18:54
от cgozzie
Така значи дойде ми идея за направата на плъгин,Spawn Protection за 5 поредни кила независимо как ще са те.Най важното което искам да стане е,знаете когато играчите се прераждат и светят за х сек в синьо за цт и червени за теро.Тук идеята ми е когато убиеш играч в 5 поредни кила да получи автоматично Spawn Protection и да свети с същата аура както в прераждането но,е важно да е в друг цвят да кажем жълто ако може ако не вие кажете в какъв цвят може да бъде.И да трае 10сек защитата му и да не могат да му нанасят никаква щета,докато не му изтекът 10сек защитата.Надявам се да го направите за Деатмач става на въпрос.
Да може да се ползва и за 2-та отбора.
Заявка за Spawn Protection за 5 убийства.
Публикувано на: 26 Авг 2018, 20:25
от OciXCrom
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cromchat>
#include <fun>
#include <hamsandwich>
#define DEATHS_REQUIRED 5
#define PROTECTION_COLOR 255, 255, 0
#define PROTECTION_BRIGHTNESS 40
#define PROTECTION_DURATION 10.0
new g_iDeaths[33];
new bool:g_bProtected[33];
public plugin_init()
{
register_plugin("Victim Protection", "1.0", "OciXCrom");
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1);
RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0);
register_event("DeathMsg", "OnPlayerKilled", "a");
CC_SetPrefix("&x04[Victim Protection]");
}
public client_putinserver(id)
{
g_iDeaths[id] = 0;
g_bProtected[id] = false;
}
public OnPlayerSpawn(id)
{
if(!is_user_alive(id))
return;
if(!g_bProtected[id] && g_iDeaths[id] >= DEATHS_REQUIRED)
{
g_iDeaths[id] = 0;
g_bProtected[id] = true;
CC_SendMessage(id, "Bezsmurten si v sledvashtite &x03%.0f sekundi &x01tui kato beshe ubit &x03%i puti &x01podred.", PROTECTION_DURATION, DEATHS_REQUIRED)
set_user_rendering(id, kRenderFxGlowShell, PROTECTION_COLOR, kRenderTransAlpha, PROTECTION_BRIGHTNESS);
set_task(PROTECTION_DURATION, "RemoveProtection", id);
}
}
public RemoveProtection(id)
{
if(!is_user_connected(id))
return;
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 255);
CC_SendMessage(id, "Veche ne si bezsmurten.");
g_bProtected[id] = false;
}
public PreTakeDamage(iVictim, iInflictor, iAttacker)
return g_bProtected[iVictim] ? HAM_SUPERCEDE : HAM_IGNORED;
public OnPlayerKilled()
{
new iAttacker = read_data(1), iVictim = read_data(2);
if(!is_user_connected(iAttacker) || iAttacker == iVictim || g_bProtected[iVictim])
return;
g_iDeaths[iVictim]++
}
Заявка за Spawn Protection за 5 убийства.
Публикувано на: 27 Авг 2018, 01:28
от cgozzie
Направил си го като те убият 5 поредни пъти да имаш протекция,може по горе да не съм се изразил правилно,исках когато ти убиеш 5 поредни кила на теб да има протекцията,не те като те убият да имаш.И съобщенията в чата да си ги вижда само въпросния протектор не сички.
Заявка за Spawn Protection за 5 убийства.
Публикувано на: 27 Авг 2018, 03:14
от OciXCrom
"идеята ми е когато убиеш играч в 5 поредни кила да получи автоматично Spawn Protection"
Ама не, никак не си се изразил неправилно... Утре ще го променя.
Заявка за Spawn Protection за 5 убийства.
Публикувано на: 27 Авг 2018, 16:43
от OciXCrom
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cromchat>
#include <fun>
#include <hamsandwich>
#define REQUIRED_KILLS 5
#define PROTECTION_COLOR 255, 255, 0
#define PROTECTION_BRIGHTNESS 40
#define PROTECTION_DURATION 10.0
new g_iKills[33];
new bool:g_bProtected[33];
public plugin_init()
{
register_plugin("Protection on X Kills", "1.0", "OciXCrom");
RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0);
register_event("DeathMsg", "OnPlayerKilled", "a");
CC_SetPrefix("&x04[Protection]");
}
public client_putinserver(id)
{
g_iKills[id] = 0;
g_bProtected[id] = false;
}
public PreTakeDamage(iVictim, iInflictor, iAttacker)
return g_bProtected[iVictim] ? HAM_SUPERCEDE : HAM_IGNORED;
public OnPlayerKilled()
{
new iAttacker = read_data(1), iVictim = read_data(2);
if(!is_user_connected(iAttacker) || iAttacker == iVictim || g_bProtected[iVictim])
return;
if(++g_iKills[iAttacker] >= REQUIRED_KILLS)
{
g_iKills[iAttacker] = 0;
g_bProtected[iAttacker] = true;
CC_SendMessage(iAttacker, "Bezsmurten si v sledvashtite &x03%.0f sekundi &x01tui kato ubi &x03%i igrachi &x01podred.", PROTECTION_DURATION, REQUIRED_KILLS)
set_user_rendering(iAttacker, kRenderFxGlowShell, PROTECTION_COLOR, kRenderTransAlpha, PROTECTION_BRIGHTNESS);
set_task(PROTECTION_DURATION, "RemoveProtection", iAttacker);
}
}
public RemoveProtection(id)
{
if(!is_user_connected(id))
return;
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 255);
CC_SendMessage(id, "Veche ne si bezsmurten.");
g_bProtected[id] = false;
}