Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

поправте код плз

, anti_block
Статус пользователя NeMirofff
сообщение 18.4.2013, 7:16
Сообщение #1
Стаж: 13 лет

Сообщений: 182
Благодарностей: 7
Полезность: < 0

кому не трудно ссделайте так что бы плагин работал вегда а не в начале раунда 10 секунд....пробывал менять #define TIME 10.0 но чёт не то походу....спасибо!

вот исходник
Прикрепленные файлы:
Прикрепленный файл  anti_block.sma ( 3,66 килобайт ) Кол-во скачиваний: 14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя apTmusic
сообщение 18.4.2013, 10:02
Сообщение #2


Стаж: 14 лет

Сообщений: 419
Благодарностей: 126
Полезность: 232

Цитата(NeMirofff @ 18.4.2013, 8:16) *
кому не трудно ссделайте так что бы плагин работал вегда а не в начале раунда 10 секунд....пробывал менять #define TIME 10.0 но чёт не то походу....спасибо!

вот исходник

это чтобы не подпирали?
если да, то есть аналогичные плагины, помойму Semiclip, и там делано то, что вам надо.

Отредактировал: apTmusic, - 18.4.2013, 10:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
letsplayer
сообщение 18.4.2013, 10:12
Сообщение #3
Стаж: 13 лет

Сообщений: 215
Благодарностей: 35
Полезность: 0

Попробуй поставь просто 0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
CaHeK86
сообщение 18.4.2013, 11:15
Сообщение #4
Стаж: 16 лет

Сообщений: 324
Благодарностей: 113
Полезность: 0

Цитата(letsplayer @ 18.4.2013, 10:12) *
Попробуй поставь просто 0

0 не получится! не будет работать функция=)

надо так
#define TIME 2700.0
то есть 60 сек умножаем на 45 минут(mp_timelimit=45)
и получаем на всю карту проходимость сквозь !
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 18.4.2013, 11:19
Сообщение #5
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

удалите

Код
set_task(TIME,"reset_state");


и

Код
public reset_state()
g_Work = false;


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
letsplayer
сообщение 18.4.2013, 11:20
Сообщение #6
Стаж: 13 лет

Сообщений: 215
Благодарностей: 35
Полезность: 0

Цитата(iLLuSioN @ 18.4.2013, 12:19) *
удалите

Код
set_task(TIME,"reset_state");


и

Код
public reset_state()
g_Work = false;

и register_event
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 18.4.2013, 11:21
Сообщение #7
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

Цитата(letsplayer @ 18.4.2013, 12:20) *
и register_event

Зачем? )


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
letsplayer
сообщение 18.4.2013, 11:22
Сообщение #8
Стаж: 13 лет

Сообщений: 215
Благодарностей: 35
Полезность: 0

Цитата(CaHeK86 @ 18.4.2013, 12:15) *
0 не получится! не будет работать функция=)

надо так
#define TIME 2700.0
то есть 60 сек умножаем на 45 минут(mp_timelimit=45)
и получаем на всю карту проходимость сквозь !

нам эта функция и не нужна =)

Цитата(iLLuSioN @ 18.4.2013, 12:21) *
Зачем? )

А зачем его оставлять, если мы удалили то, что в ней. =)

Отредактировал: letsplayer, - 18.4.2013, 11:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 18.4.2013, 11:26
Сообщение #9
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

letsplayer,
Ну я не говорил удалять event_round_start, там ведь g_Work = true нам нужен.

Если и её удалять тогда и g_Work за ней

Вот так правильнее будет, чтоб не спорить )
Код:
#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1

#define DISTANCE 120

new g_iTeam[33];
new bool:g_bSolid[33];
new bool:g_bHasSemiclip[33];
new Float:g_fOrigin[33][3];

new bool:g_bSemiclipEnabled;

new g_iForwardId[3];
new g_iMaxPlayers;
new g_iCvar[3];

public plugin_init( )
{
register_plugin( "(Team-)Semiclip", "1.2", "SchlumPF*/Empower" );

g_iCvar[0] = register_cvar( "semiclip_enabled", "1" );
g_iCvar[1] = register_cvar( "semiclip_teamclip", "0" );
g_iCvar[2] = register_cvar( "semiclip_transparancy", "1" );

register_forward( FM_ClientCommand, "fwdClientCommand" );

if( get_pcvar_num( g_iCvar[0] ) )
{
g_iForwardId[0] = register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" );
g_iForwardId[1] = register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" );
g_iForwardId[2] = register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );

g_bSemiclipEnabled = true;
}
else
g_bSemiclipEnabled = false;

g_iMaxPlayers = get_maxplayers( );
}

public fwdPlayerPreThink( plr )
{
static id, last_think;

if( last_think > plr)
{
for( id = 1; id <= g_iMaxPlayers; id++ )
{
if( is_user_alive( id ) )
{
if( get_pcvar_num( g_iCvar[1] ) )
g_iTeam[id] = get_user_team( id );

g_bSolid[id] = pev( id, pev_solid ) == SOLID_SLIDEBOX ? true : false;
pev( id, pev_origin, g_fOrigin[id] );
}
else
g_bSolid[id] = false;
}
}

last_think = plr;

if( g_bSolid[plr] )
{
for( id = 1; id <= g_iMaxPlayers; id++ )
{
if( g_bSolid[id] && get_distance_f( g_fOrigin[plr], g_fOrigin[id] ) <= DISTANCE && id != plr )
{
if( get_pcvar_num( g_iCvar[1] ) && g_iTeam[plr] != g_iTeam[id] )
return FMRES_IGNORED;

set_pev( id, pev_solid, SOLID_NOT );
g_bHasSemiclip[id] = true;
}
}
}

return FMRES_IGNORED;
}

public fwdPlayerPostThink( plr )
{
static id;

for( id = 1; id <= g_iMaxPlayers; id++ )
{
if( g_bHasSemiclip[id] )
{
set_pev( id, pev_solid, SOLID_SLIDEBOX );
g_bHasSemiclip[id] = false;
}
}
}

public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset )
{
if( player )
{
if( g_bSolid[host] && g_bSolid[ent] && get_distance_f( g_fOrigin[host], g_fOrigin[ent] ) <= DISTANCE )
{
if( get_pcvar_num( g_iCvar[1] ) && g_iTeam[host] != g_iTeam[ent] )
return FMRES_IGNORED;

set_es( es_handle, ES_Solid, SOLID_NOT ); // makes semiclip flawless

if( get_pcvar_num( g_iCvar[2] ) == 1 )
{
set_es( es_handle, ES_RenderMode, kRenderTransAlpha );
set_es( es_handle, ES_RenderAmt, 85 );
}
else if( get_pcvar_num( g_iCvar[2] ) == 2 )
{
set_es( es_handle, ES_Effects, EF_NODRAW );
set_es( es_handle, ES_Solid, SOLID_NOT );
}
}
}

return FMRES_IGNORED;
}

// is there a better way to detect changings of g_iCvar[0]?
public fwdClientCommand( plr )
{
// use the forwards just when needed, for good performance
if( !get_pcvar_num( g_iCvar[0] ) && g_bSemiclipEnabled )
{
unregister_forward( FM_PlayerPreThink, g_iForwardId[0] );
unregister_forward( FM_PlayerPostThink, g_iForwardId[1] );
unregister_forward( FM_AddToFullPack, g_iForwardId[2], 1 );

g_bSemiclipEnabled = false;
}
else if( get_pcvar_num( g_iCvar[0] ) && !g_bSemiclipEnabled )
{
g_iForwardId[0] = register_forward( FM_PlayerPreThink, "fwdPlayerPreThink" );
g_iForwardId[1] = register_forward( FM_PlayerPostThink, "fwdPlayerPostThink" );
g_iForwardId[2] = register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );

g_bSemiclipEnabled = true;
}
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя NeMirofff
сообщение 18.4.2013, 13:23
Сообщение #10
Стаж: 13 лет

Сообщений: 182
Благодарностей: 7
Полезность: < 0

Всем большое спасибо.всё работает! yahoo.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: