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

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

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

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

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

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

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

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

Марио - Surf

Статус пользователя Nebo
сообщение 1.7.2013, 11:27
Сообщение #21


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

Цитата(Templar @ 1.7.2013, 11:48) *
Мне для одной карты нужно surf_ski_2

а лучше для всех :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 12:11
Сообщение #22
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Хорошо было бы но хотя бы для одной )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 1.7.2013, 12:16
Сообщение #23


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

На амх-х ру лежит такой плагин, видел там страниц 7 вроде дополняли его, всякие подсветки зон, худы и тд


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 12:24
Сообщение #24
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Цитата(vovan4ik1997 @ 1.7.2013, 13:16) *
На амх-х ру лежит такой плагин, видел там страниц 7 вроде дополняли его, всякие подсветки зон, худы и тд


а сылку дать можешь, если не трудно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 12:34
Сообщение #25
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

хммм вот чтото нашел

public plugin_init()
{
...
RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
RegisterHam(Ham_TraceAttack, "player" , "Player_TraceAttack" )
...
}
...
public Player_TakeDamage(id, iEnt, idattacker, Float:damage, damagebits)
{
if( iEnt == idattacker )
{
return HAM_IGNORED
}

for(new i; i<g_iZonesNum; i++)
{
if( is_user_in_zone(iEnt, i) )
{
return HAM_SUPERCEDE
}
}

return HAM_IGNORED
}

public Player_TraceAttack(id, idattacker, Float:damage, Float:direction[3], tracehandle, damagebits)
{
for(new i; i<g_iZonesNum; i++)
{
if( is_user_in_zone(id, i) || is_user_in_zone(idattacker, i) )
{
return HAM_SUPERCEDE
}
}
return HAM_IGNORED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 1.7.2013, 12:37
Сообщение #26


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Скрытый текст
http://gamevrn.ru/load/counter_strike_1_6/plaginy_dlja_servera/poleznyj_plagin_dlja_surf_ski_2_ubiraet_kletku_zapreshhaet_ubivat_v_gun_room_v_m
ario_i_td/4-1-0-19

вроде то что тебе надо)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 12:40
Сообщение #27
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Цитата(vovan4ik1997 @ 1.7.2013, 13:37) *
Скрытый текст
http://gamevrn.ru/load/counter_strike_1_6/plaginy_dlja_servera/poleznyj_plagin_dlja_surf_ski_2_ubiraet_kletku_zapreshhaet_ubivat_v_gun_room_v_m
ario_i_td/4-1-0-19

вроде то что тебе надо)


Во походу точно что мне нужно. Щас проверю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 12:54
Сообщение #28
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Хммм он клетку убрал данный плагин
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 1.7.2013, 13:35
Сообщение #29


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Скорее всего там какой то шлак, глянь этот.Должен работать
Код:
#include < amxmodx >
#include < engine >
#include < hamsandwich >

#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )

new const g_szClassname[ ] = "trigger_rules_watch";

enum _:RoomTypes {
JAIL,
GUNROOM,
MARIOROOM
};

enum _:CVARS {
CV_JAIL_NOKILL,
CV_JAIL_TIME,

CV_GUNROOM_NOKILL,
CV_GUNROOM_TIME,

CV_MARIOROOM_NOKILL,
CV_MARIOROOM_TIME
};

new const g_szZones[ RoomTypes ][ ] = {
"Jail",
"Gun room",
"Mario room"
};

new const Float:g_flOrigins[ ][ 3 ] = {
{ -405.0, 2900.0, 720.0 },
{ -486.0, -1000.0, -275.0 },
{ -405.0, 2949.0, 2422.0 }
};

new const Float:g_flAngles[ ][ 3 ] = {
{ 0.0, 270.0, 0.0 },
{ 0.0, 270.0, 0.0 },
{ 0.0, 270.0, 0.0 }
};

new g_iMaxPlayers;
new g_iCounter[ 33 ];
new bool:g_bNoKill[ 33 ];
new Float:g_flLastTouch[ 33 ];
new g_pCvars[ CVARS ], g_iCvars[ CVARS ];

public plugin_init( ) {
register_plugin( "surf_ski_2: Rules Watcher", "1.1", "xPaw" );

register_cvar( "ss2_rules_watcher", "1.1", FCVAR_SERVER | FCVAR_SPONLY );

g_iMaxPlayers = get_maxplayers( );

g_pCvars[ CV_JAIL_NOKILL ] = register_cvar( "rw_ss2_jail_nokill", "0" );
g_pCvars[ CV_JAIL_TIME ] = register_cvar( "rw_ss2_jail_time", "1" );

g_pCvars[ CV_GUNROOM_NOKILL ] = register_cvar( "rw_ss2_gunroom_nokill", "1" );
g_pCvars[ CV_GUNROOM_TIME ] = register_cvar( "rw_ss2_gunroom_time", "15" );

g_pCvars[ CV_MARIOROOM_NOKILL ] = register_cvar( "rw_ss2_marioroom_nokill", "1" );
g_pCvars[ CV_MARIOROOM_TIME ] = register_cvar( "rw_ss2_marioroom_time", "30" );

new szMap[ 12 ];
get_mapname( szMap, 11 );

if( equali( szMap, "surf_ski_2" ) ) {
CreateTrigger( JAIL, Float:{ -579.0, 2983.0, 586.0 }, Float:{ -309.0, 3288.0, 796.0 } );
CreateTrigger( GUNROOM, Float:{ -713.0, -990.0, -157.0 }, Float:{ -295.0, -651.0, 26.0 } );
CreateTrigger( MARIOROOM, Float:{ 2735.0, 193.0, -2361.0 }, Float:{ 3654.0, 1118.0, -2083.0 } );

register_touch( g_szClassname, "player", "FwdTriggerTouch" );
RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
RegisterHam( Ham_TakeDamage, "player", "FwdHamTakeDamage" );
RegisterHam( Ham_TraceAttack, "player", "FwdHamTraceAttack" );

register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" );

CacheCvars( );
}
}

public EventNewRound( )
CacheCvars( );

public FwdHamPlayerSpawn( const id ) {
if( is_user_alive( id ) ) {
g_bNoKill[ id ] = false;
g_flLastTouch[ id ] = 0.0;
g_iCounter[ id ] = 0;
}
}

public FwdHamTraceAttack( const id, const iAttacker ) {
if( IsPlayer( iAttacker ) && g_bNoKill[ id ] && id != iAttacker ) {
if( ( g_flLastTouch[ id ] + 0.1 ) >= get_gametime( ) )
return HAM_SUPERCEDE;
else
g_bNoKill[ id ] = false;
}

return HAM_IGNORED;
}

public FwdHamTakeDamage( const id, const iInflictor, const iAttacker ) {
if( IsPlayer( iAttacker ) && g_bNoKill[ id ] && id != iAttacker ) {
if( ( g_flLastTouch[ id ] + 0.1 ) >= get_gametime( ) )
return HAM_SUPERCEDE;
else
g_bNoKill[ id ] = false;
}

return HAM_IGNORED;
}

public FwdTriggerTouch( const iEntity, const id ) {
static Float:flGametime;
flGametime = get_gametime( );

if( flGametime > ( g_flLastTouch[ id ] + 1.2 ) ) {
g_iCounter[ id ] = 0;
g_flLastTouch[ id ] = flGametime;
}
else if( g_flLastTouch[ id ] < flGametime ) {
g_iCounter[ id ]++;

static iType, bool:bNoKill, iTime;
iType = entity_get_int( iEntity, EV_INT_iuser1 );

GetCvars( iType, bNoKill, iTime );

g_bNoKill[ id ] = bNoKill;

if( iTime > 0 ) {
if( g_iCounter[ id ] >= iTime ) {
if( iTime >= 5 ) {
engclient_print( id, engprint_center, "^nYou stood more than %i seconds in%s%s.^nYou have been thrown out.", iTime, iType == MARIOROOM ? "^n" : " ", g_szZones[ iType ] );

client_cmd( id, "spk buttons/blip1" );
}

entity_set_vector( id, EV_VEC_angles, g_flAngles[ iType ] );
entity_set_int( id, EV_INT_fixangle, 1 );
entity_set_origin( id, g_flOrigins[ iType ] );
}

if( g_iCounter[ id ] < 5 ) {
if( iTime >= 5 )
engclient_print( id, engprint_center, "%sYou are in %s.%s^n^nYou have %i seconds to leave it!", bNoKill ? "" : "^n", g_szZones[ iType ], bNoKill ? "^nYou can't kill anyone here." : "", iTime );
else
engclient_print( id, engprint_center, "%sYou are in %s.%s", bNoKill ? "" : "^n", g_szZones[ iType ], bNoKill ? "^nYou can't kill anyone here." : "" );
}
}

g_flLastTouch[ id ] = flGametime + 1.0;
}
}

GetCvars( const iType, &bool:bNoKill, &iTime ) {
static CvarNoKill, CvarTime;

switch( iType ) {
case JAIL: {
CvarNoKill = CV_JAIL_NOKILL;
CvarTime = CV_JAIL_TIME;
}
case GUNROOM: {
CvarNoKill = CV_GUNROOM_NOKILL;
CvarTime = CV_GUNROOM_TIME;
}
case MARIOROOM: {
CvarNoKill = CV_MARIOROOM_NOKILL;
CvarTime = CV_MARIOROOM_TIME;
}
}

bNoKill = bool:( g_iCvars[ CvarNoKill ] );
iTime = g_iCvars[ CvarTime ];
}

CacheCvars( ) {
g_iCvars[ CV_JAIL_NOKILL ] = get_pcvar_num( g_pCvars[ CV_JAIL_NOKILL ] );
g_iCvars[ CV_JAIL_TIME ] = get_pcvar_num( g_pCvars[ CV_JAIL_TIME ] );

g_iCvars[ CV_GUNROOM_NOKILL ] = get_pcvar_num( g_pCvars[ CV_GUNROOM_NOKILL ] );
g_iCvars[ CV_GUNROOM_TIME ] = get_pcvar_num( g_pCvars[ CV_GUNROOM_TIME ] );

g_iCvars[ CV_MARIOROOM_NOKILL ] = get_pcvar_num( g_pCvars[ CV_MARIOROOM_NOKILL ] );
g_iCvars[ CV_MARIOROOM_TIME ] = get_pcvar_num( g_pCvars[ CV_MARIOROOM_TIME ] );
}

CreateTrigger( const iType, const Float:flMins[ 3 ], const Float:flMaxs[ 3 ] ) {
new iEntity = create_entity( "info_target" );

if( !is_valid_ent( iEntity ) ) {
log_amx( "There was an error with creating ^"%s^"", g_szZones[ iType ] );

return 0;
}

entity_set_string( iEntity, EV_SZ_classname, g_szClassname );
entity_set_int( iEntity, EV_INT_iuser1, iType );
entity_set_int( iEntity, EV_INT_movetype, MOVETYPE_NONE );
entity_set_int( iEntity, EV_INT_solid, SOLID_TRIGGER );
entity_set_size( iEntity, flMins, flMaxs );

return iEntity;
}


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 1.7.2013, 13:47
Сообщение #30


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Цитата(Templar @ 30.6.2013, 22:21) *
Так мне требуется:

Запрет на убийств на закупке в течении 40 секунд от начала раунда
Защита в оружейке и марио, чтобы нельзя было там убить.



Код:
#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >

#define PLUGIN_NAME "New-Plugin"
#define PLUGIN_VERSION "0.0.0.1"
#define PLUGIN_AUTHOR "Andrei"

#define surf_ski_2_ClassName "func_door_rotating"
#define surf_ski_2_TargetName "jdoor"

#define MAX_CLIENTS 32

new Float:g_flBlockDoor[ MAX_CLIENTS +1 ]
new Float:g_flBlockDamage;

public plugin_init( )
{
register_plugin
(
PLUGIN_NAME,
PLUGIN_VERSION,
PLUGIN_AUTHOR
);

register_event( "HLTV", "CEvent__Round_Start", "a", "1=0", "2=0" );

RegisterHam( Ham_Touch, surf_ski_2_ClassName, "CBaseEntity__Touch_Post", .Post = true );
RegisterHam( Ham_TakeDamage, "player", "CBasePlayer__TakeDamage_Pre", .Post = false );
}

public CEvent__Round_Start( )
{
g_flBlockDamage = get_gametime( ) + 40.0;
}

public CBaseEntity__Touch_Post( pEntity, pPlayer )
{
static szTargetName[ 32 ];

pev( pEntity, pev_targetname, szTargetName, charsmax( szTargetName ) );

if( equal( szTargetName, surf_ski_2_TargetName ) )
{
g_flBlockDoor[ pPlayer ] = get_gametime( ) + 3.0;
}
}

public CBasePlayer__TakeDamage_Pre( pevVictim, pevInflictor, pevAttacker )
{
static Float:flTime; flTime = get_gametime( );

return ( g_flBlockDoor[ pevVictim ] >= flTime || g_flBlockDamage >= flTime ) ? HAM_SUPERCEDE : HAM_IGNORED;
}


Отредактировал: Andrei, - 1.7.2013, 13:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 14:28
Сообщение #31
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Цитата(Andrei @ 1.7.2013, 14:47) *
Код:
#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >

#define PLUGIN_NAME "New-Plugin"
#define PLUGIN_VERSION "0.0.0.1"
#define PLUGIN_AUTHOR "Andrei"

#define surf_ski_2_ClassName "func_door_rotating"
#define surf_ski_2_TargetName "jdoor"

#define MAX_CLIENTS 32

new Float:g_flBlockDoor[ MAX_CLIENTS +1 ]
new Float:g_flBlockDamage;

public plugin_init( )
{
register_plugin
(
PLUGIN_NAME,
PLUGIN_VERSION,
PLUGIN_AUTHOR
);

register_event( "HLTV", "CEvent__Round_Start", "a", "1=0", "2=0" );

RegisterHam( Ham_Touch, surf_ski_2_ClassName, "CBaseEntity__Touch_Post", .Post = true );
RegisterHam( Ham_TakeDamage, "player", "CBasePlayer__TakeDamage_Pre", .Post = false );
}

public CEvent__Round_Start( )
{
g_flBlockDamage = get_gametime( ) + 40.0;
}

public CBaseEntity__Touch_Post( pEntity, pPlayer )
{
static szTargetName[ 32 ];

pev( pEntity, pev_targetname, szTargetName, charsmax( szTargetName ) );

if( equal( szTargetName, surf_ski_2_TargetName ) )
{
g_flBlockDoor[ pPlayer ] = get_gametime( ) + 3.0;
}
}

public CBasePlayer__TakeDamage_Pre( pevVictim, pevInflictor, pevAttacker )
{
static Float:flTime; flTime = get_gametime( );

return ( g_flBlockDoor[ pevVictim ] >= flTime || g_flBlockDamage >= flTime ) ? HAM_SUPERCEDE : HAM_IGNORED;
}



спасибо за плагин все отлично, только на сервере сразу подняли панику, возможно немножко переделать? На закупке 40 секунд = тут все отлично, а вот кто на вышке сидит допустим более 15 секунд что бы убивало ну или сбрасывало чтоли в низ с надписью "Запрещено сидеть более 15 секунд" чтоб народ знал за что их так то, ну и в самом джайле кто более 20 секунд находится чтобы просто сбрасывало в низ, так же с надписью. Возможно переписать немножко?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 1.7.2013, 15:41
Сообщение #32


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Так убивало или скидывало? Вверху понятие растяжимое,там много высоких мест,джаил,клетка ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 1.7.2013, 17:12
Сообщение #33


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Андрей, думаю лучше сделать что бы плагин ловил простой 15сек, писал худ и сразу же слапал.Ну или отловить небольшой радиус при простое в нем тоже писало худ и слап.Так как кемпера просикут фишку только если стоять, то плагин будет слапать)
Думаю понятна идея)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 1.7.2013, 17:14
Сообщение #34
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Пусть скидывает всех c джайла с клетки и вышки кто сидит более 15 секунд

Цитата(vovan4ik1997 @ 1.7.2013, 18:12) *
Андрей, думаю лучше сделать что бы плагин ловил простой 15сек, писал худ и сразу же слапал.Ну или отловить небольшой радиус при простое в нем тоже писало худ и слап.Так как кемпера просикут фишку только если стоять, то плагин будет слапать)
Думаю понятна идея)



Вот или так да :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 1.7.2013, 17:43
Сообщение #35


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Вы не полностью отвечаете на мои вопросы и про высокие места вобще не последовало ответа.

Что значит выкидывать с клетки ? Открывать её или слапам выкидывать? Хотя там вроде закрыта она полностью.

Я должен знать,что конкретно делать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 2.7.2013, 7:07
Сообщение #36


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Цитата(Andrei @ 1.7.2013, 18:43) *
Вы не полностью отвечаете на мои вопросы и про высокие места вобще не последовало ответа.

Что значит выкидывать с клетки ? Открывать её или слапам выкидывать? Хотя там вроде закрыта она полностью.

Я должен знать,что конкретно делать.

Как можно сделать написал выше, ТС согласен, написать будет быстрее и легче, и будет работать на всех картах, а не только на одной)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: