поднятие тимейтов

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
12
Реакции
0
Ошибка
ошибки нет
ОС
Linux
Amx Mod X
AMX Mod X version 1.9.0.5294 Copyright (c) 2004-2015 AMX Mod X Development Team 
AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'.
This is free software and you are welcome to redistribute it under
certain conditions; type 'amxx gpl' for details.
Билд
ReHlds-3.11.0.767-dev
ReGamedll
ReGameDLL version: 5.21.0.540-dev
Версия Metamod
Metamod-r v1.3.0.128
Список метамодулей
[ 1] SafeNameAndChat  RUN   -    SafeNameAndChat.so        v1.1             ini  ANY   ANY  
[ 2] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5294 ini Start ANY
[ 3] Reunion RUN - reunion_mm_i386.so v0.1.92d ini Start Never
[ 4] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 5] WHBlocker RUN - whblocker_mm_i386.so v1.5.696 ini Chlvl ANY
[ 6] Engine RUN - engine_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[ 7] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[ 8] MySQL RUN - mysql_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[ 9] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[10] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[11] ReAPI RUN - reapi_amxx_i386.so v5.21.0.248-dev pl2 ANY Never
Список плагинов
[  1] [190] AMXBans RBS       20.06.06    SKAJIbnEJIb & La  amxbans_rbs.amx  running  
[ 2] GameCMS_API 5.5.4 zhorzh78 gamecms_api.amx running
[ 3] Lite CW 1.0 ill two_cw.amxx running
[ 4] Players Menu 21.08.22BE SKAJIbnEJIb & AM admincmd_rbs.am running
[ 5] Commands Menu 20.06.06 SKAJIbnEJIb & AM cmdmenu_rbs.amx running
[ 6] Maps Menu 1.9.0.5294 AMXX Dev Team mapsmenu.amxx running
[ 7] Revive Players 1.0.0 Emma Jule revive_teammate running
[ 8] Map Manager: Core 3.1.1 Mistrick map_manager_cor running
[ 9] Map Manager: Scheduler 0.1.7 Mistrick map_manager_sch running
[ 10] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv running
[ 11] Map Manager: Nominatio 0.2.0 Mistrick map_manager_nom running
[ 12] Map Manager: BlockList 0.0.3 Mistrick map_manager_blo running
[ 13] Map Manager: Online so 0.0.3 Mistrick map_manager_onl running
[ 14] Map Manager: Effects 0.0.10 Mistrick map_manager_eff running
[ 15] Map Manager: Informer 0.0.5 Mistrick map_manager_inf running
Автор плагина
Emma Jule
Версия плагина
1.0.0
Исходный код
public stock const AUTHOR[] = "Emma Jule";
public stock const VERSION[] = "1.0.0";

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>

new const CORPSE_CLASSNAME[] = "info_corpse";

enum _:CVARS
{
ACCESS[32],
Float:DURATION,
USE,
Float:ROUND_TIME,
MAX,
SHOOT,
Float:SPEED,
Float:DISTANCE,
SPAWN_MODE,
OBSERVER,
Float:HEALTH,
Float:BONUS_HEALTH,
MONEY,
FRAG,
GUN[24],
BAR,
BOMB,
DUEL,
VIP,
DIFF,
Float:ALPHA,
NOTIFICATION,
ONLY_KNIFE,
SAMPLE[MAX_RESOURCE_PATH_LENGTH],

}; new CVAR[CVARS];

enum _:FORWARDS
{
REVIVE_RETURN,
REVIVE_BEGIN,
REVIVE_END,

}; new FORWARD[FORWARDS];

new g_iPlayerCorpse[MAX_PLAYERS + 1];

public plugin_precache()
{
register_plugin("Revive Players", VERSION, AUTHOR);

CreateCvars();
}

public plugin_init()
{
if (register_dictionary("revive_teammates.txt") == 0)
server_print("[Revive Teammates] Файл ^"revive_teammates.txt^" отсутствует..");

register_message(get_user_msgid("ClCorpse"), "MsgHookClCorpse");

register_event("TeamInfo", "Event_TeamInfo", "a", "1>0", "2=SPECTATOR");

RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", true);
RegisterHookChain(RG_CSGameRules_CleanUpMap, "CSGameRules_CleanUpMap", true);

if (CVAR[SPEED])
RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "CBasePlayer_ResetMaxSpeed", true);

RegisterHam(Ham_ObjectCaps, "info_target", "fw_ObjectCaps", false);

if (CVAR[ONLY_KNIFE])
RegisterHam(Ham_Item_CanHolster, "weapon_knife", "fw_Item_CanHolster", false);
}

public client_disconnected(id)
{
CorpseRemove(id);
}

public Event_TeamInfo()
{
CorpseRemove(read_data(1));
}

public CBasePlayer_Spawn(const id)
{
CorpseRemove(id);
}

public CBasePlayer_ResetMaxSpeed(const id)
{
if (~get_entvar(id, var_iuser3) & PLAYER_PREVENT_CLIMB)
return;

set_entvar(id, var_maxspeed, CVAR[SPEED]);
}

public CSGameRules_CleanUpMap()
{
new id = rg_find_ent_by_class(NULLENT, CORPSE_CLASSNAME);

while (id > 0)
{
CorpseRemove(get_entvar(id, var_owner));

id = rg_find_ent_by_class(id, CORPSE_CLASSNAME);
}
}

public fw_ObjectCaps(id)
{
if (!FClassnameIs(id, CORPSE_CLASSNAME))
return HAM_IGNORED;

SetHamReturnInteger(FCAP_ONOFF_USE);
return HAM_OVERRIDE;
}

public fw_Item_CanHolster(iWeapon)
{
new pPlayer = get_member(iWeapon, m_pPlayer);

if (~get_entvar(pPlayer, var_iuser3) & PLAYER_PREVENT_CLIMB)
return HAM_IGNORED;

SetHamReturnInteger(false);
return HAM_OVERRIDE;
}

@corpse_use(id, activator, caller, USE_TYPE:type, Float:value)
{
if (get_member_game(m_bRoundTerminating))
return;

if (value == 0.0)
return;

if (is_nullent(id))
return;

if (activator != caller)
return;

if (!ExecuteHam(Ham_IsPlayer, activator))
return;

// if (get_entvar(id, var_movetype) == MOVETYPE_FLY)
// return;

if (get_entvar(activator, var_waterlevel) > 1)
return;

if (get_member(activator, m_iTeam) != get_entvar(id, var_team))
return;

if (~get_user_flags(activator) & read_flags(CVAR[ACCESS]))
return;

static Float:flCurTime;
flCurTime = get_gametime();

if (flCurTime - Float:get_member_game(m_fRoundStartTime) < CVAR[ROUND_TIME])
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_ROUND_TIME");
return;
}

if (CVAR[DUEL] && rg_is_1v1())
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_1VS1");
return;
}

if (CVAR[BOMB] && rg_is_bomb_planted())
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_BOMB_PLANTED");
return;
}

if (CVAR[VIP] && get_member(activator, m_bIsVIP))
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_VIP");
return;
}

if (get_member(activator, m_iTeam) == rg_get_team_dominate())
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_TEAM_DOMINATE");
return;
}

if (get_entvar(id, var_iuser1) > 0)
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_ALREADY_REVIVE", get_entvar(id, var_iuser1));
return;
}

if (get_member((caller = get_entvar(id, var_owner)), m_iNumSpawns) > CVAR[MAX])
{
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_MAX");
return;
}

// @hack: speed rules
new Float:vecVelocity[3];
get_entvar(activator, var_velocity, vecVelocity);
if (vector_length(vecVelocity) > 250.0)
return;

ExecuteForward(FORWARD[REVIVE_BEGIN], FORWARD[REVIVE_RETURN], caller, activator);

if (FORWARD[REVIVE_RETURN] > PLUGIN_CONTINUE)
return;

if (CVAR[ONLY_KNIFE])
if (!rg_switch_weapon(activator, get_member(activator, m_rgpPlayerItems, KNIFE_SLOT)))
return;

// это просто фишка
set_entvar(activator, var_iuser3, get_entvar(activator, var_iuser3) | PLAYER_PREVENT_CLIMB);

set_entvar(id, var_iuser1, activator);
set_entvar(id, var_fuser1, flCurTime + CVAR[DURATION]);
set_entvar(id, var_nextthink, flCurTime + 0.2);

if (CVAR[ALPHA])
rg_set_rendering(id, .mode = kRenderTransAlpha, .flColor = Float:{ 200.0, 200.0, 200.0 }, .iAmount = CVAR[ALPHA]);

// Уведомления
{
set_dhudmessage(0, 160, 30, -1.0, 0.84, 2, 3.0, 2.0, 0.03, 0.4);
show_dhudmessage(caller, "%l", "RT_REVIVING", activator);

set_dhudmessage(0, 160, 30, -1.0, 0.76, 2, 3.0, 2.0, 0.03, 0.4);
show_dhudmessage(activator, "%l", "RT_REVIVING2", caller, CVAR[DURATION]);
}

if (CVAR[OBSERVER])
{
// set_entvar(caller, var_iuser1, OBS_IN_EYE);
rg_internal_cmd(caller, "specmode", "4");
set_entvar(caller, var_iuser2, activator);

set_member(caller, m_hObserverTarget, activator);
set_member(caller, m_flNextObserverInput, flCurTime + 1.6);
}

if (CVAR[SHOOT])
set_entvar(activator, var_iuser3, get_entvar(activator, var_iuser3) & ~PLAYER_CAN_SHOOT);
// set_member(activator, m_bIsDefusing, true);

if (CVAR[SPEED])
rg_reset_maxspeed(activator);

if (CVAR[BAR])
rg_send_bartime(activator, floatround(CVAR[DURATION]), bool:(CVAR[BAR] == 1));

for (new i; i < 3; i++)
vecVelocity[i] *= 0.25;

set_entvar(activator, var_velocity, vecVelocity);
}

@corpse_think(id)
{
if (is_nullent(id))
return;

new bool:bIsStop = false;
new activator = get_entvar(id, var_iuser1);

if (get_entvar(activator, var_deadflag) != DEAD_NO)
bIsStop = true;

if (CVAR[USE] && ~get_entvar(activator, var_button) & IN_USE)
bIsStop = true;

if (CVAR[MONEY] < 0) {
if (get_member(activator, m_iAccount) < -CVAR[MONEY]) {
client_print_color(activator, print_team_red, "%l %l", "RT_PREFIX", "RT_NO_MONEY");
bIsStop = true;
}
}

static Float:flOrigin[3], Float:vecOrigin[3];
get_entvar(id, var_origin, vecOrigin);
get_entvar(activator, var_origin, flOrigin);
if (vector_distance(flOrigin, vecOrigin) > CVAR[DISTANCE]) {
bIsStop = true;
}

static Float:flCurTime;
flCurTime = get_entvar(id, var_fuser1);

if ((flCurTime != 0.0 && get_gametime() >= flCurTime))
{
new player = get_entvar(id, var_owner);

set_member(player, m_bNotKilled, true);

rg_round_respawn(player);

// Возвращаем на место смерти
if (CVAR[SPAWN_MODE])
{
engfunc(EngFunc_SetOrigin, player, vecOrigin);

set_entvar(player, var_flags, get_entvar(player, var_flags) | FL_DUCKING);
set_entvar(player, var_view_ofs, Float:{ 0.0, 0.0, 12.0 });
}

set_entvar(player, var_health, CVAR[HEALTH]);

if (CVAR[GUN][0])
{
new pWeapon = rg_give_item(player, fmt("weapon_%s", CVAR[GUN]));

if (!is_nullent(pWeapon))
{
new WeaponIdType:iId = get_member(pWeapon, m_iId);

set_member(player, m_rgAmmo, rg_get_weapon_info(iId, WI_MAX_ROUNDS), rg_get_weapon_info(iId, WI_AMMO_TYPE));
}
}
else
rg_give_default_items(player);

rg_add_account(activator, CVAR[MONEY]);

if (CVAR[FRAG])
ExecuteHamB(Ham_AddPoints, activator, CVAR[FRAG], true);

if (CVAR[BONUS_HEALTH])
ExecuteHamB(Ham_TakeHealth, activator, CVAR[BONUS_HEALTH], DMG_GENERIC);

switch (CVAR[NOTIFICATION])
{
case 1: client_print_color(0, player, "%l %l", "RT_PREFIX", "RT_NOTIFICATION", activator, player);

case 2:
{
for (new i; i < MaxClients; ++i)
{
if (!is_user_connected(i))
continue;

if (rg_is_player_can_takedamage(player, i))
continue;

client_print_color(i, player, "%l %l", "RT_PREFIX", "RT_NOTIFICATION", activator, player);
}
}
}

if (CVAR[SAMPLE][0])
rh_emit_sound2(activator, 0, CHAN_BODY, CVAR[SAMPLE]);

ExecuteForward(FORWARD[REVIVE_END], _, player, activator);

CorpseRemove(player);
}

if (bIsStop)
{
set_entvar(id, var_iuser1, 0);
set_entvar(id, var_fuser1, 0.0);
set_entvar(id, var_nextthink, 0.0);

rg_set_rendering(id);

ResetRestrictions(activator);
}
else
set_entvar(id, var_nextthink, get_gametime() + 0.2);
}

ResetRestrictions(pActivator)
{
if (pActivator <= 0)
return;

set_entvar(pActivator, var_iuser3, get_entvar(pActivator, var_iuser3) & ~PLAYER_PREVENT_CLIMB);

if (CVAR[SHOOT])
set_entvar(pActivator, var_iuser3, get_entvar(pActivator, var_iuser3) | PLAYER_CAN_SHOOT);
// set_member(pActivator, m_bIsDefusing, false);

if (CVAR[SPEED])
rg_reset_maxspeed(pActivator);

if (CVAR[BAR])
rg_send_bartime(pActivator, 0);
}

public MsgHookClCorpse()
{
new id = rg_create_entity("info_target");

if (is_nullent(id))
return PLUGIN_CONTINUE;

// владелец тела
new pPlayer = get_msg_arg_int(12);

new Float:vecOrigin[3];
new Float:vecAngles[3];
new szModel[32];

g_iPlayerCorpse[pPlayer] = id;

for (new i; i < 3; i++)
{
vecOrigin[i] = float(get_msg_arg_int(2 + i)) / 128.0;
vecAngles[i] = get_msg_arg_float(5 + i);
}

get_msg_arg_string(1, szModel, charsmax(szModel));

engfunc(EngFunc_SetModel, id, fmt("models/player/%s/%s.mdl", szModel, szModel));
engfunc(EngFunc_SetSize, id, Float:{ -26.0, -26.0, 0.0 }, Float:{ 26.0, 26.0, 24.0 });
engfunc(EngFunc_SetOrigin, id, vecOrigin);
// engfunc(EngFunc_DropToFloor, id);

set_entvar(id, var_classname, CORPSE_CLASSNAME);
set_entvar(id, var_angles, vecAngles);
set_entvar(id, var_body, get_msg_arg_int(10));
set_entvar(id, var_framerate, 1.0);
set_entvar(id, var_animtime, 0.0);
set_entvar(id, var_sequence, get_msg_arg_int(9));
set_entvar(id, var_owner, pPlayer);
set_entvar(id, var_team, get_msg_arg_int(11));

// custom values
set_entvar(id, var_iuser1, 0);
set_entvar(id, var_fuser1, 0.0);

// корень
{
SetUse(id, "@corpse_use");
SetThink(id, "@corpse_think");
}

return PLUGIN_HANDLED;
}

CorpseRemove(pPlayer)
{
new id = g_iPlayerCorpse[pPlayer];

g_iPlayerCorpse[pPlayer] = 0;

if ((any:is_nullent(id) & ((-1) / 2)) == 0)
{
set_entvar(id, var_flags, FL_KILLME);

ResetRestrictions(get_entvar(id, var_iuser1));
}
}

CreateCvars()
{
// $ddir/addons/amxmodx/configs/plugins/revive_teammates.cfg
// файл создастся сам автоматически с вполне оптимальными настройками
{
bind_pcvar_string(create_cvar("rt_access_flag", "", .description = "Флаг(и) доступа администратора [^"^" - доступно всем]"), CVAR[ACCESS], charsmax(CVAR[ACCESS]));
bind_pcvar_float(create_cvar("rt_duration", "5.0", .description = "Время через которое воскреснит союзник [в секундах]", .has_min = true, .min_val = 1.0, .has_max = true, .max_val = 10.0), CVAR[DURATION]);
bind_pcvar_num(create_cvar("rt_use", "1", .description = "Метод клавиши^n0 - просто нажать на клавишу^n1 - нужно удерживать клавишу", .has_max = true, .max_val = 1.0), CVAR[USE]);
bind_pcvar_float(create_cvar("rt_round_time", "15.0", .description = "Это будет доступно через N сек. от начала раунда [0 - выкл]", .has_max = true, .max_val = 30.0), CVAR[ROUND_TIME]);
bind_pcvar_num(create_cvar("rt_max_spawns", "3", .description = "Максимальное кол-во раз сколько может воскреснуть игрок за раунд"), CVAR[MAX]);
bind_pcvar_num(create_cvar("rt_cant_shoot", "0", .description = "Заблокировать стрельбу во время события?", .has_max = true, .max_val = 1.0), CVAR[SHOOT]);
bind_pcvar_float(create_cvar("rt_speed", "150.0", .description = "Скорость игрока во время события [0 - будет неизменной]", .has_max = true, .max_val = 250.0), CVAR[SPEED]);
bind_pcvar_float(create_cvar("rt_distance", "128.0", .description = "Максимальная допустимая дистанция", .has_min = true, .min_val = 64.0, .has_max = true, .max_val = 350.0), CVAR[DISTANCE]);
bind_pcvar_num(create_cvar("rt_spawn_mode", "1", .description = "Режим возрождения^n^n0. возрождается на базе^n1. возрождается там где умер", .has_max = true, .max_val = 1.0), CVAR[SPAWN_MODE]);
bind_pcvar_num(create_cvar("rt_force_camera", "1", .description = "Автоматически переключать камеру игрока которого возрождают на того кто его возрождает", .has_max = true, .max_val = 1.0), CVAR[OBSERVER]);
bind_pcvar_num(create_cvar("rt_money", "-500", .description = "Сколько добовляем денег тому кто поднял тиммейта^nИспользуйте отрицательное значение чтобы вычитать"), CVAR[MONEY]);
bind_pcvar_num(create_cvar("rt_frag", "1", .description = "Сколько даем фрагов тому кто поднял тиммейта?"), CVAR[FRAG]);
bind_pcvar_float(create_cvar("rt_bonus_health", "5.0", .description = "Сколько добовляем HP тому кто поднял тиммейта"), CVAR[BONUS_HEALTH]);
bind_pcvar_num(create_cvar("rt_health", "50.0", .description = "Здоровье воскрешенного игрока", .has_min = true, .min_val = 1.0, .has_max = true, .max_val = 255.0), CVAR[HEALTH]);
bind_pcvar_string(create_cvar("rt_weapon", "deagle", .description = "Оружие воскрешенного игрока [^"^" - используем квар mp_default_primary & mp_default_secondary]"), CVAR[GUN], charsmax(CVAR[GUN]));
bind_pcvar_num(create_cvar("rt_bar", "1", .description = "Линия прогресса^n^n0. выкл^n1. вкл^n2. вкл (но те кто наблюдают за игроком не увидят это)", .has_max = true, .max_val = 2.0), CVAR[BAR]);
bind_pcvar_num(create_cvar("rt_bomb", "0", .description = "Блокируем возрождения когда бобма установленна?", .has_max = true, .max_val = 1.0), CVAR[BOMB]);
bind_pcvar_num(create_cvar("rt_1v1", "0", .description = "Блокируем возрождения когда остались 1vs1?", .has_max = true, .max_val = 1.0), CVAR[DUEL]);
bind_pcvar_num(create_cvar("rt_vip", "1", .description = "Запрет VIP игроку воскрешать союзников? (на as_* картах)", .has_max = true, .max_val = 1.0), CVAR[VIP]);
bind_pcvar_num(create_cvar("rt_win_diff", "20", .description = "Если разница между победами команд превышает это значение, то мы блокируем воскрешения?", .has_min = true, .min_val = 3.0), CVAR[DIFF]);
bind_pcvar_num(create_cvar("rt_notifications", "2", .description = "Режим уведомлений^n^n0. выкл^n1. видно всем^n2. только команде", .has_max = true, .max_val = 2.0), CVAR[NOTIFICATION]);
bind_pcvar_float(create_cvar("rt_alpha", "150.0", .description = "Степень прозрачности свечения трупа [^"0^" - выключить свечение]", .has_max = true, .max_val = 255.0), CVAR[ALPHA]);
bind_pcvar_num(create_cvar("rt_only_knife", "0", .description = "Можно возрождать только с ножом в руке", .has_max = true, .max_val = 1.0), CVAR[ONLY_KNIFE]);
bind_pcvar_string(create_cvar("rt_revived_sample", "x/x_recharge3.wav", .description = "Звук при завершении возрождения [^"^" - нет]"), CVAR[SAMPLE], charsmax(CVAR[SAMPLE]));
}

if (!file_exists(CVAR[SAMPLE]))
CVAR[SAMPLE][0] = EOS;
else
precache_sound(CVAR[SAMPLE]);

if (!CheckIsCvarPossible(CVAR[GUN]))
CVAR[GUN][0] = EOS;

/*
new aData[4][4];
if (parse(CVAR[RENDER], aData[0], 3, aData[1], 3, aData[2], 3, aData[3], 3) < 4)
{
#pragma unused flRenderColor, iRenderAlpha

CVAR[RENDER][0] = EOS;
}
else
{
for (new i = 0; i < 3; i++)
flRenderColor[i] = str_to_float(aData[i]);

flRenderAlpha = str_to_float(aData[3]);
}
*/

FORWARD[REVIVE_BEGIN] = CreateMultiForward("rt_start_revive", ET_CONTINUE, FP_CELL, FP_CELL);
FORWARD[REVIVE_END] = CreateMultiForward("rt_revived", ET_IGNORE, FP_CELL, FP_CELL);

AutoExecConfig(.name = "revive_teammates");

// register_cvar("revive_teammates", VERSION, FCVAR_SERVER | FCVAR_SPONLY);
}

CheckIsCvarPossible(const name[])
{
if (!name[0])
return true;

// ConnorMcLeod
static const szWeapons[][] = { "p228", "scout", "xm1014", "mac10", "aug", "elite",
"fiveseven", "ump45", "sg550", "galil", "famas", "usp", "glock18", "awp",
"mp5navy", "m249", "m3", "m4a1", "tmp", "g3sg1", "deagle", "sg552", "ak47", "p90",
"hegrenade", "smokegrenade", "flashbang", "knife" };

for (new i = 0; i < sizeof(szWeapons); i++)
if (strcmp(szWeapons[i], name) == 0)
return true;

return false;
}

stock bool:rg_is_1v1()
{
new alive_t, alive_ct;
rg_initialize_player_counts(alive_t, alive_ct, _, _);

return bool:(alive_t == 1 && alive_ct == 1);
}

stock TeamName:rg_get_team_dominate(&diff = 0)
{
diff = get_member_game(m_iNumTerroristWins) - get_member_game(m_iNumCTWins);

return abs(diff) < CVAR[DIFF] ? TEAM_UNASSIGNED : diff ? TEAM_TERRORIST : TEAM_CT;
}

stock rg_set_rendering(const id, const fx = kRenderFxNone, const mode = kRenderNormal, const Float:flColor[] = NULL_VECTOR, const Float:iAmount = 0.0)
{
set_entvar(id, var_renderfx, fx);
set_entvar(id, var_rendermode, mode);
set_entvar(id, var_rendercolor, flColor);
set_entvar(id, var_renderamt, iAmount);
}
после поднятия тимейта,у человека экран кривой(боком стоит). (может поможет кто то,если нет,тогда в заказы обращусь)
 
Сообщения
594
Реакции
350
Предупреждения
1
Помог
9 раз(а)
Egrasssa691, У квара rt_health Какое значение?
 
Сообщения
66
Реакции
42
487 строчка
замените bind_pcvar_num
на bind_pcvar_float

Я подозреваю что это устаревшая версия, напишите автору и получите новую
 
Сообщения
12
Реакции
0
steelzzz,
// Здоровье воскрешенного игрока
// -
// Default: "50.0"
// Minimum: "1.000000"
// Maximum: "255.000000"
rt_health "100.0"
12 Фев 2022
@Impossible,еще бы найти его контакты:DD
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
344
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
12
Реакции
0
@RockTheStreet,у него в группе новая версия плагина была,я ее поставил,плагин вообще не работает(не поднимает тимейтов вообще)
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
344
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
у него в группе новая версия плагина была,я ее поставил,плагин вообще не работает(не поднимает тимейтов вообще)
Понятия не имею что за новая версия. Я не слежу за любителями.
 
Сообщения
12
Реакции
0
@RockTheStreet,понял,можно как то закрыть тогда эту тему?
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу