Преработка на плъгина "Magic Marker"
Модератори: Extreme, Extreme, Extreme, Extreme, Extreme, Extreme, Extreme
-
MickeyMouse
Извън линия - Потребител
- Мнения: 36
- Регистриран на: 06 Фев 2018, 15:57
Преработка на плъгина "Magic Marker"
Здравейте. Някой може ли да ми направи този плъгин да е само за играчи с флага "r"
- Прикачени файлове
-
- magic_marker.sma
- (2.62 KiB) Свалено 100 пъти
- magic_marker.sma
- (2.62 KiB) Свалено 100 пъти
Преработка на плъгина "Magic Marker"
Заповядай
Код за потвърждение: Избери целия код
#define ADMIN ADMIN_LEVEL_F
Код за потвърждение: Избери целия код
Флаг "r" ADMIN_LEVEL_F
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>
#define PLUGIN "Magic Marker"
#define VERSION "1.0"
#define AUTHOR "stupok69"
#define MAX_PLAYERS 32
#define ADMIN ADMIN_LEVEL_F
new Float:origin[MAX_PLAYERS+1][3]
new prethink_counter[MAX_PLAYERS+1]
new bool:is_drawing[MAX_PLAYERS+1]
new spriteid
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)
}
public plugin_precache()
{
spriteid = precache_model("sprites/lgtning.spr")
}
public forward_FM_PlayerPreThink(id)
{
if(prethink_counter[id]++ > 5 && get_user_flags(id) & ADMIN)
{
if(pev(id, pev_button) & IN_ATTACK2)
{
static Float:cur_origin[3]
cur_origin = origin[id]
if(!is_drawing[id])
{
fm_get_aim_origin(id, origin[id])
move_toward_client(id, origin[id])
is_drawing[id] = true
return FMRES_IGNORED
}
else
{
fm_get_aim_origin(id, origin[id])
move_toward_client(id, origin[id])
if(get_distance_f(origin[id], cur_origin) > 2)
{
draw_line(origin[id], cur_origin)
}
}
}
else
{
is_drawing[id] = false
}
prethink_counter[id] = 0
}
return FMRES_IGNORED
}
stock draw_line(Float:origin1[3], Float:origin2[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord, origin1[0])
engfunc(EngFunc_WriteCoord, origin1[1])
engfunc(EngFunc_WriteCoord, origin1[2])
engfunc(EngFunc_WriteCoord, origin2[0])
engfunc(EngFunc_WriteCoord, origin2[1])
engfunc(EngFunc_WriteCoord, origin2[2])
write_short(spriteid)
write_byte(0)
write_byte(10)
write_byte(255)
write_byte(50)
write_byte(0)
write_byte(random(255))
write_byte(random(255))
write_byte(random(255))
write_byte(255)
write_byte(0)
message_end()
}
//from fakemeta_util.inc
stock fm_get_aim_origin(index, Float:origin[3])
{
static Float:start[3], Float:view_ofs[3]
pev(index, pev_origin, start)
pev(index, pev_view_ofs, view_ofs)
xs_vec_add(start, view_ofs, start)
static Float:dest[3]
pev(index, pev_v_angle, dest)
engfunc(EngFunc_MakeVectors, dest)
global_get(glb_v_forward, dest)
xs_vec_mul_scalar(dest, 9999.0, dest)
xs_vec_add(start, dest, dest)
engfunc(EngFunc_TraceLine, start, dest, 0, index, 0)
get_tr2(0, TR_vecEndPos, origin)
return 1
}
stock move_toward_client(id, Float:origin[3])
{
static Float:player_origin[3]
pev(id, pev_origin, player_origin)
origin[0] += (player_origin[0] > origin[0]) ? 1.0 : -1.0
origin[1] += (player_origin[1] > origin[1]) ? 1.0 : -1.0
origin[2] += (player_origin[2] > origin[2]) ? 1.0 : -1.0
}
-
MickeyMouse
Извън линия - Потребител
- Мнения: 36
- Регистриран на: 06 Фев 2018, 15:57
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 1 Отговори
- 1308 Преглеждания
-
Последно мнение от Orangegame14
-
- 1 Отговори
- 1396 Преглеждания
-
Последно мнение от Just
-
- 3 Отговори
- 2072 Преглеждания
-
Последно мнение от OciXCrom
-
- 2 Отговори
- 1072 Преглеждания
-
Последно мнение от ChrisBenoit
-
- 4 Отговори
- 1701 Преглеждания
-
Последно мнение от V.A.L.V.E
-
- 2 Отговори
- 609 Преглеждания
-
Последно мнение от Stilex
-
- 2 Отговори
- 1348 Преглеждания
-
Последно мнение от m0ney
Кой е на линия
Потребители разглеждащи този форум: Google [Bot] и 42 госта