on mi działa nawet jak go nie mam;d
a ja chce żeby działał dopiero jak go dostane
co jest źle?
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <engine>
#include <codmod>
#include <fakemeta>
#include <posmv>
new const nazwa[] = "Detektor";
new const opis[] = "Uzyj, aby oslepic wrogow w promieniu 250(+inteligencja)";
new spriteBeacon;
new const g_sSound[] = "radar/detector.wav";
new bool:ma_perk[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "xyz?");
register_forward(FM_PlayerPreThink, "fwPreThink");
set_task(2.75, "taskCheck4Beacon", 0, _, _, "b");
}
public plugin_precache(){
spriteBeacon = engfunc(EngFunc_PrecacheModel, "sprites/beacon.spr");
engfunc(EngFunc_PrecacheSound, g_sSound);
}
public cod_perk_enabled(id)
{
ma_perk[id] = true;
}
public cod_perk_disabled(id)
ma_perk[id] = false
public fwPreThink(id){
if(!ma_perk[id]) return 1;
if(!is_user_alive(id)) return 1;
new iClosestPlayer = getClosestPlayer(id, IGNORUJ_SWOICH);
if(is_user_connected(iClosestPlayer) && is_user_alive(iClosestPlayer)){
new Float:flRange = fm_entity_range(id, iClosestPlayer);
if(flRange > 2000.0) return 1;
new iColor[3], sMetry[7];
add(sMetry, sizeof sMetry - 1, "metr");
dodajOw(flRange, sMetry, sizeof sMetry - 1);
getHudColorsByRange(flRange, iColor);
set_hudmessage(iColor[0], iColor[1], iColor[2], 0.40, 0.02, 0, 0.1, 0.01, 0.1, 0.1, 2);
show_hudmessage(id, "Wrog jest w poblizu %.1f %s", flRange / 100.0, sMetry);
}
return 0;
}
public taskCheck4Beacon(){
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "ae", "TERRORIST");
if(iNum == 1){
for(new i = 0 ; i < iNum; i++){
createBeacon(iPlayers[i]);
}
}
}
stock createBeacon(index){
new Float:flOrigin[3];
pev(index, pev_origin, flOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMCYLINDER);
engfunc(EngFunc_WriteCoord, flOrigin[0]);
engfunc(EngFunc_WriteCoord, flOrigin[1]);
engfunc(EngFunc_WriteCoord, flOrigin[2] - 20.0);
engfunc(EngFunc_WriteCoord, flOrigin[0]);
engfunc(EngFunc_WriteCoord, flOrigin[1]);
engfunc(EngFunc_WriteCoord, flOrigin[2] + 200.0);
write_short(spriteBeacon);
write_byte(0);
write_byte(1);
write_byte(6);
write_byte(2);
write_byte(1);
write_byte(255);
write_byte(40);
write_byte(10);
write_byte(200);
write_byte(6);
message_end();
emit_sound(index, CHAN_ITEM, g_sSound, 1.0, ATTN_NORM, 0, PITCH_NORM);
}
stock getHudColorsByRange(Float:flRange, iColor[3]){
switch(floatround(flRange)){
case 0..400: iColor = { 255, 0, 0 };
case 401..1000: iColor = { 255, 255, 0 };
case 1001..2000: iColor = { 0, 255, 0 };
default: iColor = { 0, 255, 0 };
}
return 1;
}
stock Float:fm_entity_range(ent1, ent2) {
new Float:origin1[3], Float:origin2[3];
pev(ent1, pev_origin, origin1);
pev(ent2, pev_origin, origin2);
return get_distance_f(origin1, origin2);
}
stock dodajOw(Float:flRange, sTablica[], iLen){
new iRange = floatround(flRange);
new sToAdd[3];
formatex(sToAdd, sizeof sToAdd - 1, "%s", iRange <= 199 ? "a" : "ow");
add(sTablica, iLen, sToAdd);
}
addSayCommand(const s_Command[], const s_Handle[])
{
new s_TempCommand[64];
formatex(s_TempCommand, sizeof s_TempCommand - 1, "say %s", s_Command);
register_clcmd(s_TempCommand, s_Handle);
formatex(s_TempCommand, sizeof s_TempCommand - 1, "say_team %s", s_Command);
register_clcmd(s_TempCommand, s_Handle);
}


Dodatki SourceMod



Temat jest zamknięty









