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); }