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

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

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

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

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

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

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

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

Помогите с migraine

, Почему??
Статус пользователя Konoplia
сообщение 10.11.2015, 4:52
Сообщение #1


Стаж: 10 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Всем доброго времени суток. Спасибо всем за активность в решении моих проблем с предыдущими темами :-) Сейчас мне нужна Ваша помощь в другом плагине (Уж извините, что так часто Вас напрягаю Уважаемые) pardon.gif Вообщем, суть проблемы такова: Установил на сервер плагин "migraine", который предназначен для борьбы с читерами (переворачивает экран читеру) Все хорошо и работает. Но вот в самом плагине стоит ljcneg на ADMIN_LEVEL A (флаг m) Дело в том, что у меня на флаг "m" стоит модель девушки админа и нужно этот плагин ставить на другой флаг. В исходнике в строке: register_concmd("amx_migraine", "AdminCommand_Migraine", ADMIN_LEVEL_A, "- < name/@CT/@TE/@ALL > < 0/1 >") сменил ADMIN_LEVEL_A на ADMIN_BAN. Плагин комплиируется, права на бан прописаны, но сам плагин все равно не работает на флаге "d" (ADMIN_BAN) а работает на старом флаге "m" (ADMIN_LEVEL_A)

Подскажите, может там еще, что исправить в исходнике надо? Исходник приложу! Зарание Спасибо!

Код:
/*	Formatright © 2009, ConnorMcLeod

Migraine is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Migraine; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

#include amxmodx
#include amxmisc
#include cstrike
#include fakemeta
#include hamsandwich

#define VERSION "0.0.5"

#define MAX_PLAYERS 32

#define SetUserReversed(%1) g_bMigraineux |= 1<<(%1 & 31)
#define ClearUserReversed(%1) g_bMigraineux &= ~( 1<<(%1 & 31) )
#define HasUserMigraine(%1) g_bMigraineux & 1<<(%1 & 31)

enum _:GlobalState {None, Terrorists, Cts, All}

new g_bMigraineux

new Float:g_vecPunchAngles[MAX_PLAYERS+1][3]
new g_iFfPlayerPreThink
new g_iGlobalState

public plugin_init()
{
register_plugin("Migraine", VERSION, "ConnorMcLeod")

RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)

register_concmd("amx_migraine", "AdminCommand_Migraine", ADMIN_BAN, "- < name/@CT/@TE/@ALL > < 0/1 >")
}

public client_putinserver( id )
{
ClearUserReversed(id)
CheckForward()
}

public client_disconnect( id )
{
ClearUserReversed(id)
CheckForward()
}

public Player_Spawn_Post( id )
{
if( is_user_alive(id) )
{
switch( g_iGlobalState )
{
case Terrorists, Cts:
{
if( g_iGlobalState == _:cs_get_user_team(id) )
{
SetUserReversed(id)
}
else
{
ClearUserReversed(id)
CheckForward()
}
}
case All:
{
SetUserReversed(id)
CheckForward()
}
}
}
}

public AdminCommand_Migraine(id, level, cid)
{
if( cmd_access(id, ban, cid, 3) )
{
new szTarget[32], szOnOff[2], iPlayer, iOnOff
read_argv(1, szTarget, charsmax(szTarget))
read_argv(2, szOnOff, charsmax(szOnOff))

switch( szOnOff[0] )
{
case '0':
{
iOnOff = 0
}
case '1':
{
iOnOff = 1
}
default:
{
return PLUGIN_HANDLED
}
}

if( szTarget[0] == '@' )
{
if( !iOnOff )
{
g_bMigraineux = 0
g_iGlobalState = None
CheckForward()
for(new i; i<sizeof(g_vecPunchAngles); i++)
{
g_vecPunchAngles[iPlayer][0] = 0.0
g_vecPunchAngles[iPlayer][1] = 0.0
}
return PLUGIN_HANDLED
}

new iPlayers[MAX_PLAYERS], iNum
get_players(iPlayers, iNum)
for(new i; i<iNum; i++)
{
iPlayer = iPlayers[i]
switch( szTarget[1] )
{
case 'a','A':
{
g_iGlobalState = All
SetUserReversed(iPlayer)
}
case 't', 'T':
{
g_iGlobalState = Terrorists

if( cs_get_user_team(iPlayer) == CS_TEAM_T )
{
SetUserReversed(iPlayer)
}
else
{
ClearUserReversed(iPlayer)
}
}
case 'c', 'C':
{
g_iGlobalState = Cts

if( cs_get_user_team(iPlayer) == CS_TEAM_CT )
{
SetUserReversed(iPlayer)
}
else
{
ClearUserReversed(iPlayer)
}
}
default:
{
return PLUGIN_HANDLED
}
}
g_vecPunchAngles[iPlayer][0] = 0.0
g_vecPunchAngles[iPlayer][1] = 0.0
}
}
else
{
iPlayer = cmd_target(id, szTarget, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_ALLOW_SELF)
if( iPlayer )
{
if( iOnOff )
{
SetUserReversed(iPlayer)
}
else
{
ClearUserReversed(iPlayer)
}
g_vecPunchAngles[iPlayer][0] = 0.0
g_vecPunchAngles[iPlayer][1] = 0.0
}
}
CheckForward()
}
return PLUGIN_HANDLED
}

public PlayerPreThink( id )
{
if(HasUserMigraine(id) && is_user_alive(id))
{
if( g_vecPunchAngles[id][1] < 180.0 )
{
g_vecPunchAngles[id][1] += 2.0
g_vecPunchAngles[id][0] = g_vecPunchAngles[id][1] * 2.0
}
else
{
g_vecPunchAngles[id][0] = 0.0
}

static Float:vecPunchAngle[3]
vecPunchAngle[0] = g_vecPunchAngles[id][0]
vecPunchAngle[1] = g_vecPunchAngles[id][0]
vecPunchAngle[2] = g_vecPunchAngles[id][1]

set_pev(id, pev_punchangle, vecPunchAngle)
}
}

CheckForward()
{
if( !g_bMigraineux != !g_iFfPlayerPreThink )
{
if( g_bMigraineux )
{
g_iFfPlayerPreThink = register_forward(FM_PlayerPreThink, "PlayerPreThink")
}
else
{
unregister_forward(FM_PlayerPreThink, g_iFfPlayerPreThink)
g_iFfPlayerPreThink = 0
}
}
}

Прикрепленные файлы:
Прикрепленный файл  migraine.sma ( 4,66 килобайт ) Кол-во скачиваний: 3
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Kpacava
сообщение 10.11.2015, 10:26
Сообщение #2


Стаж: 14 лет

Сообщений: 464
Благодарностей: 75
Полезность: 161

Konoplia, чёт не компилировался исходник твой
Ругался на:
код
public AdminCommand_Migraine(id, level, cid)
{
if( cmd_access(id, ban, cid, 3) )


Пробуй заменить на:
Cкрытый текст
public AdminCommand_Migraine(id, level, cid)
{
if( cmd_access(id, level, cid, 3) )

или на:
Cкрытый текст
public AdminCommand_Migraine(id, ban, cid)
{
if( cmd_access(id, ban, cid, 3) )

ну или готовые ниже:

Отредактировал: Kpacava, - 10.11.2015, 10:35
Прикрепленные файлы:
Прикрепленный файл  migraine_ban.sma ( 4,66 килобайт ) Кол-во скачиваний: 3
Прикрепленный файл  migraine_level.sma ( 4,66 килобайт ) Кол-во скачиваний: 2
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 10.11.2015, 10:42
Сообщение #3
Стаж: 11 лет

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

одаа лол
Код:

if( cmd_access(id, ban, cid, 3) )

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kpacava
сообщение 10.11.2015, 11:18
Сообщение #4


Стаж: 14 лет

Сообщений: 464
Благодарностей: 75
Полезность: 161

Цитата(Vaqtincha @ 10.11.2015, 21:38) *
одаа лол
Код:

if( cmd_access(id, ban, cid, 3) )

а чё одаа то? ну не шарит человек, да и я не особо, как он вообще скомпилировал в плагин тот исходник который он выложил, ну а я отредактировал то что есть...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Konoplia
сообщение 10.11.2015, 14:29
Сообщение #5


Стаж: 10 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(Kpacava @ 10.11.2015, 10:22) *
Konoplia, чёт не компилировался исходник твой
Ругался на:
код
public AdminCommand_Migraine(id, level, cid)
{
if( cmd_access(id, ban, cid, 3) )


Пробуй заменить на:
Cкрытый текст
public AdminCommand_Migraine(id, level, cid)
{
if( cmd_access(id, level, cid, 3) )

или на:
Cкрытый текст
public AdminCommand_Migraine(id, ban, cid)
{
if( cmd_access(id, ban, cid, 3) )

ну или готовые ниже:

Спасибо Вам, но та же фигня, что и у меня была! Комплиируется плагин, работает с флагом "m" (ADMIN_LEVEL_A) а вот с флагом "d" (ADMIN_BAN) не работает nea.gif Вот стандартный, который работает на флаге "m" помогите, кто то переделать на флаг "d" (ADMIN_BAN) Когда снимаешь флаг "m" в админке то пишет, что недостаточно прав, хотя в плагине указано, что по ADMIN_BAN но он все равно работает по ADMIN_LEVEL_A..
Код:
/*	Formatright © 2009, ConnorMcLeod

Migraine is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Migraine; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/

#include amxmodx
#include amxmisc
#include cstrike
#include fakemeta
#include hamsandwich

#define VERSION "0.0.5"

#define MAX_PLAYERS 32

#define SetUserReversed(%1) g_bMigraineux |= 1<<(%1 & 31)
#define ClearUserReversed(%1) g_bMigraineux &= ~( 1<<(%1 & 31) )
#define HasUserMigraine(%1) g_bMigraineux & 1<<(%1 & 31)

enum _:GlobalState {None, Terrorists, Cts, All}

new g_bMigraineux

new Float:g_vecPunchAngles[MAX_PLAYERS+1][3]
new g_iFfPlayerPreThink
new g_iGlobalState

public plugin_init()
{
register_plugin("Migraine", VERSION, "ConnorMcLeod")

RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)

register_concmd("amx_migraine", "AdminCommand_Migraine", ADMIN_LEVEL_A, "- < name/@CT/@TE/@ALL > < 0/1 >")
}

public client_putinserver( id )
{
ClearUserReversed(id)
CheckForward()
}

public client_disconnect( id )
{
ClearUserReversed(id)
CheckForward()
}

public Player_Spawn_Post( id )
{
if( is_user_alive(id) )
{
switch( g_iGlobalState )
{
case Terrorists, Cts:
{
if( g_iGlobalState == _:cs_get_user_team(id) )
{
SetUserReversed(id)
}
else
{
ClearUserReversed(id)
CheckForward()
}
}
case All:
{
SetUserReversed(id)
CheckForward()
}
}
}
}

public AdminCommand_Migraine(id, level, cid)
{
if( cmd_access(id, level, cid, 3) )
{
new szTarget[32], szOnOff[2], iPlayer, iOnOff
read_argv(1, szTarget, charsmax(szTarget))
read_argv(2, szOnOff, charsmax(szOnOff))

switch( szOnOff[0] )
{
case '0':
{
iOnOff = 0
}
case '1':
{
iOnOff = 1
}
default:
{
return PLUGIN_HANDLED
}
}

if( szTarget[0] == '@' )
{
if( !iOnOff )
{
g_bMigraineux = 0
g_iGlobalState = None
CheckForward()
for(new i; i<sizeof(g_vecPunchAngles); i++)
{
g_vecPunchAngles[iPlayer][0] = 0.0
g_vecPunchAngles[iPlayer][1] = 0.0
}
return PLUGIN_HANDLED
}

new iPlayers[MAX_PLAYERS], iNum
get_players(iPlayers, iNum)
for(new i; i<iNum; i++)
{
iPlayer = iPlayers[i]
switch( szTarget[1] )
{
case 'a','A':
{
g_iGlobalState = All
SetUserReversed(iPlayer)
}
case 't', 'T':
{
g_iGlobalState = Terrorists

if( cs_get_user_team(iPlayer) == CS_TEAM_T )
{
SetUserReversed(iPlayer)
}
else
{
ClearUserReversed(iPlayer)
}
}
case 'c', 'C':
{
g_iGlobalState = Cts

if( cs_get_user_team(iPlayer) == CS_TEAM_CT )
{
SetUserReversed(iPlayer)
}
else
{
ClearUserReversed(iPlayer)
}
}
default:
{
return PLUGIN_HANDLED
}
}
g_vecPunchAngles[iPlayer][0] = 0.0
g_vecPunchAngles[iPlayer][1] = 0.0
}
}
else
{
iPlayer = cmd_target(id, szTarget, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_ALLOW_SELF)
if( iPlayer )
{
if( iOnOff )
{
SetUserReversed(iPlayer)
}
else
{
ClearUserReversed(iPlayer)
}
g_vecPunchAngles[iPlayer][0] = 0.0
g_vecPunchAngles[iPlayer][1] = 0.0
}
}
CheckForward()
}
return PLUGIN_HANDLED
}

public PlayerPreThink( id )
{
if(HasUserMigraine(id) && is_user_alive(id))
{
if( g_vecPunchAngles[id][1] < 180.0 )
{
g_vecPunchAngles[id][1] += 2.0
g_vecPunchAngles[id][0] = g_vecPunchAngles[id][1] * 2.0
}
else
{
g_vecPunchAngles[id][0] = 0.0
}

static Float:vecPunchAngle[3]
vecPunchAngle[0] = g_vecPunchAngles[id][0]
vecPunchAngle[1] = g_vecPunchAngles[id][0]
vecPunchAngle[2] = g_vecPunchAngles[id][1]

set_pev(id, pev_punchangle, vecPunchAngle)
}
}

CheckForward()
{
if( !g_bMigraineux != !g_iFfPlayerPreThink )
{
if( g_bMigraineux )
{
g_iFfPlayerPreThink = register_forward(FM_PlayerPreThink, "PlayerPreThink")
}
else
{
unregister_forward(FM_PlayerPreThink, g_iFfPlayerPreThink)
g_iFfPlayerPreThink = 0
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kpacava
сообщение 10.11.2015, 15:11
Сообщение #6


Стаж: 14 лет

Сообщений: 464
Благодарностей: 75
Полезность: 161

Konoplia, все работает вроде...


Прикрепленные файлы:
Прикрепленное изображение

Прикрепленные файлы:
Прикрепленный файл  migraine.sma ( 4,01 килобайт ) Кол-во скачиваний: 3
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Konoplia
сообщение 10.11.2015, 15:28
Сообщение #7


Стаж: 10 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(Kpacava @ 10.11.2015, 15:06) *
Konoplia, все работает вроде...

А Вы попробуйте прописать в консоле "amx_migraine Ваш ник 1" не перевернет Вам экран без флага "m" nea.gif Только пропишете себе флаг "m" и сразу переворачивает. Походу намудрили, что то с этим плагином. Ни в какую не хочет работать на других флагах доступа..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kpacava
сообщение 10.11.2015, 18:33
Сообщение #8


Стаж: 14 лет

Сообщений: 464
Благодарностей: 75
Полезность: 161

Цитата(Konoplia @ 11.11.2015, 3:23) *
А Вы попробуйте прописать в консоле "amx_migraine Ваш ник 1" не перевернет Вам экран без флага "m" nea.gif Только пропишете себе флаг "m" и сразу переворачивает. Походу намудрили, что то с этим плагином. Ни в какую не хочет работать на других флагах доступа..

да пожалуйста

Отредактировал: Kpacava, - 10.11.2015, 18:34
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kpacava
сообщение 10.11.2015, 18:50
Сообщение #9


Стаж: 14 лет

Сообщений: 464
Благодарностей: 75
Полезность: 161

я снял с себя всё флаги и оставил только "d" в общем на скрине всё видно!
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Konoplia
сообщение 10.11.2015, 18:53
Сообщение #10


Стаж: 10 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(Kpacava @ 10.11.2015, 18:45) *
я снял с себя всё флаги и оставил только "d" в общем на скрине всё видно!

Странно! Ни в какую у меня не хочет! Ну Спасибо Вам! Видимо у меня на сервере какая то проблема..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 10.11.2015, 18:54
Сообщение #11
Стаж: 13 лет

Сообщений: 509
Благодарностей: 196
Полезность: 635

В cmdaccess.ini гляньте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Konoplia
сообщение 10.11.2015, 19:30
Сообщение #12


Стаж: 10 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(TarikYuzkiv @ 10.11.2015, 18:49) *
В cmdaccess.ini гляньте.

Велике Вам Дякую thank_you2.gif В cmdaccess.ini змінив флаг з "m" на "d" і все запрацювало :-) Не підскажете, можливо так зробити, щоб при перезаході гравця на сервер в нього був перевернутий екран? Просто перевертаєш екран, гравець перезаходить і все знову нормально, екран не перевернутий.. Можливо зробити так, щоб був перевернутий поки Адмін не поверне сам екран в нормальне положення?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: