Latarka nie korzysta z Orpheu.
Wgrałem na wypadek ten ReAPI ale to nic nie dało
Załączam .sma latarki
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <diablomod>
#include <fakemeta>
#include <engine>
#define PLUGIN "Item: Magiczna Latarka"
#define VERSION "1.0"
#define AUTHOR "Lukensky"
new item_name[] = "Magiczna Latarka";
new item_desc[] = "Posiadasz latarke ujawniajaca niewidzialnych wrogow.";
new type_wartosc[] = "Magiczny";
new wytrzymalosc_item = 250;
new stopien_niszczalnosci = 4;
#define TASK_CHARGE 100
#define TASK_FLASH_LIGHT 81184
#define MAX_FLASH 15 //pojemnosc baterii maga (w sekundach)
new bool:ma_perk[33];
new bool:freezetime = true;
new g_msg_statusicon;
new oswietlony[33];
new flashlight[33];
new flashbattery[33];
new flashlight_r;
new flashlight_g;
new flashlight_b;
new flashlight_custom = 1; //1 = ON | 0 = OFF latarki
new Float:flashlight_drain = 1.0;
new Float:flashlight_charge = 0.5;
new flashlight_radius = 8;
new flashlight_decay = 90;
public plugin_init()
{
register_plugin("Magiczna Latarka", "1.0", "Lukovsky");
dm_register_item(item_name, item_desc, type_wartosc, wytrzymalosc_item, stopien_niszczalnosci);
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_event("DeathMsg", "DeathMsg", "a");
register_event("Flashlight", "event_flashlight", "b");
g_msg_statusicon = get_user_msgid("StatusIcon");
}
public dm_item_enabled(id)
{
ma_perk[id] = true;
flashbattery[id] = MAX_FLASH;
flashlight[id] = 0;
}
public dm_item_disabled(id)
{
ma_perk[id] = false;
flashbattery[id] = 0;
}
public DeathMsg()
{
new vid = read_data(2);
if(oswietlony[vid] > 0)
un_rander(vid);
if(!ma_perk[vid])
return PLUGIN_HANDLED;
flashbattery[vid] = MAX_FLASH;
flashlight[vid] = 0;
return PLUGIN_CONTINUE;
}
public PoczatekRundy()
{
freezetime = false;
for(new i=0; i < 33; i++)
{
if(!is_user_connected(i))
continue;
if(oswietlony[i] > 0)
un_rander(i);
oswietlony[i] = 0;
}
}
public NowaRunda(){
freezetime = true;
}
public client_PreThink(id)
{
if(is_user_bot(id) || is_user_hltv(id) || !is_user_connected(id) || !is_user_alive(id))
return PLUGIN_HANDLED;
if(freezetime)
return PLUGIN_HANDLED;
if(!ma_perk[id])
return PLUGIN_HANDLED;
if(flashlight_custom == 0)
return PLUGIN_HANDLED;
if(flashlight[id] > 0 && flashbattery[id] > 0)
{
new num1, num2, num3;
num1=random_num(0,2);
num2=random_num(-1,1);
num3=random_num(-1,1);
flashlight_r+=1+num1;
if (flashlight_r>250) flashlight_r-=245;
flashlight_g+=1+num2;
if (flashlight_g>250) flashlight_g-=245;
flashlight_b+=-1+num3;
if (flashlight_b<5) flashlight_b+=240;
new origin[3];
get_user_origin(id,origin,3);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(27); // TE_DLIGHT
write_coord(origin[0]); // X
write_coord(origin[1]); // Y
write_coord(origin[2]); // Z
write_byte(flashlight_radius); // radius
write_byte(flashlight_r); // R
write_byte(flashlight_g); // G
write_byte(flashlight_b); // B
write_byte(1); // life
write_byte(flashlight_decay); // decay rate
message_end();
new index1, bodypart1;
get_user_aiming(id,index1,bodypart1);
if(get_user_team(id)!=get_user_team(index1) && index1!=0)
{
if(is_user_connected(index1) && oswietlony[index1] == 0)
{
oswietlony[index1] = 1;
if(task_exists(index1+TASK_FLASH_LIGHT))
remove_task(index1+TASK_FLASH_LIGHT);
dm_set_user_glowshell(index1, flashlight_r, flashlight_g, flashlight_b, 4);
Display_Icon(index1, 2, "dmg_bio", 255, 0, 0);
set_task(7.5, "un_rander", index1+TASK_FLASH_LIGHT, "", 0, "a", 1);
}
}
}
return PLUGIN_CONTINUE;
}
public un_rander(id)
{
oswietlony[id] = 0;
dm_set_user_glowshell(id, 0, 0, 0, 0);
Display_Icon(id, 0, "dmg_bio", 255, 0, 0);
remove_task(id+TASK_FLASH_LIGHT);
}
public event_flashlight(id)
{
if(!ma_perk[id])
return PLUGIN_HANDLED;
if(flashlight_custom == 0)
return PLUGIN_HANDLED;
if(flashlight[id]){
flashlight[id] = 0;
}
else
{
if(flashbattery[id] > 0)
flashlight[id] = 1;
}
if(!task_exists(id+TASK_CHARGE))
{
new parms[1];
parms[0] = id;
set_task(flashlight[id]?flashlight_drain:flashlight_charge,"charge",TASK_CHARGE+id,parms,1);
}
message_begin(MSG_ONE,get_user_msgid("Flashlight"),{0,0,0},id);
write_byte(flashlight[id]);
write_byte(flashbattery[id]);
message_end();
entity_set_int(id,EV_INT_effects,entity_get_int(id,EV_INT_effects) & ~EF_DIMLIGHT);
return PLUGIN_CONTINUE;
}
public charge(parms[])
{
if(flashlight_custom == 0)
return PLUGIN_HANDLED;
new id = parms[0];
if(flashlight[id])
flashbattery[id] -= 1;
else
flashbattery[id] += 1;
message_begin(MSG_ONE,get_user_msgid("FlashBat"),{0,0,0},id);
write_byte(flashbattery[id]);
message_end();
if(flashbattery[id] <= 0)
{
flashbattery[id] = 0;
flashlight[id] = 0;
message_begin(MSG_ONE,get_user_msgid("Flashlight"),{0,0,0},id);
write_byte(flashlight[id]);
write_byte(flashbattery[id]);
message_end();
}
else if(flashbattery[id] >= MAX_FLASH){
flashbattery[id] = MAX_FLASH;
}
set_task(flashlight[id]?flashlight_drain:flashlight_charge,"charge",id+TASK_CHARGE,parms,1);
return PLUGIN_CONTINUE;
}
stock Display_Icon(id, enable ,name[] ,red, green, blue)
{
if(!pev_valid(id) || is_user_bot(id))
return PLUGIN_HANDLED;
message_begin(MSG_ONE, g_msg_statusicon, {0,0,0}, id);
write_byte(enable);
write_string(name);
write_byte(red);
write_byte(green);
write_byte(blue);
message_end();
return PLUGIN_CONTINUE;
}
public client_disconnect(id){
remove_task(id+TASK_CHARGE);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/