Иконка ресурса

ChangeTeamPlayer 1.0

dmc116

Участник
Сообщения
245
Реакции
13
Не по группе, а по уровню доступа. У тебя в папке /sourcemod/configs/ лежит файлик admin_levels.cfg. Вот в нем и прописаны все дефолтные настройки уровня доступа. Если ты хочешь, чтобы доступ к этим командам был только у главного админа сервера, то поставь ADMFLAG_ROOT.
Я конечно извиняюсь, но надо компилировать когда меняю в .sp что-то?
 

Azenot

Токсичный жировик
Сообщения
331
Реакции
365
Я конечно извиняюсь, но надо компилировать когда меняю в .sp что-то?
Да) Файл с раширением .sp это исходный код плагина. После каждого изменения нужно скомпилировать и потом плагин из папки /scripting/compiled/ отправить в /plugins/
 

dmc116

Участник
Сообщения
245
Реакции
13
Да) Файл с раширением .sp это исходный код плагина. После каждого изменения нужно скомпилировать и потом плагин из папки /scripting/compiled/ отправить в /plugins/
А шо если он не компилируется?
/home/groups/sourcemod/upload_tmp/phpOprg7S.sp(49) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpOprg7S.sp(50) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpOprg7S.sp(51) : error 100: function prototypes do not match
 

Azenot

Токсичный жировик
Сообщения
331
Реакции
365
А шо если он не компилируется?
/home/groups/sourcemod/upload_tmp/phpOprg7S.sp(49) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpOprg7S.sp(50) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpOprg7S.sp(51) : error 100: function prototypes do not match
А почему твой исходный файл называется phpOprg7S.sp?
Вот только что скомпилировал чисто для теста с параметрами:
C-подобный:
g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_ROOT);
g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_ROOT);
g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_BAN);
И все прошло успешно.
Compiling ChangeTeamPlayer.sp...
SourcePawn Compiler 1.9.0.6269
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2017 AlliedModders LLC

Code size: 12948 bytes
Data size: 10776 bytes
Stack/heap size: 16384 bytes
Total requirements: 40108 bytes
 

dmc116

Участник
Сообщения
245
Реакции
13
А почему твой исходный файл называется phpOprg7S.sp?
Вот только что скомпилировал чисто для теста с параметрами:
C-подобный:
g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_ROOT);
g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_ROOT);
g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_BAN);
И все прошло успешно.
Compiling ChangeTeamPlayer.sp...
SourcePawn Compiler 1.9.0.6269
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2017 AlliedModders LLC

Code size: 12948 bytes
Data size: 10776 bytes
Stack/heap size: 16384 bytes
Total requirements: 40108 bytes
Попробовал на также как ты, стало на 1 ошибку больше)
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(49) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(50) : warning 217: loose indentation
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(50) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(51) : error 100: function prototypes do not match
 

Azenot

Токсичный жировик
Сообщения
331
Реакции
365
Попробовал на также как ты, стало на 1 ошибку больше)
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(49) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(50) : warning 217: loose indentation
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(50) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(51) : error 100: function prototypes do not match
У тебя точно есть необходимые файлы в /scripting/include/, которые в самом коде определены?
C-подобный:
#include <cstrike>
#include <sdktools_functions>
#include <adminmenu>
Если ты с таким подходом будешь каждый плагин компилировать и устанавливать, то далеко не уйдешь. Почитай статьи, которые необходимы для базового понимания всего того, что происходит в sourcemod.
 

Ice_Sochi

Участник
Сообщения
710
Реакции
415
Попробовал на также как ты, стало на 1 ошибку больше)
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(49) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(50) : warning 217: loose indentation
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(50) : error 100: function prototypes do not match
/home/groups/sourcemod/upload_tmp/phpZwQgPY.sp(51) : error 100: function prototypes do not match
Не должно быть ошибок, меняется же только флаг
Попробуй
В строке
PHP:
#define FLAG ADMFLAG_ROOT
меняй на необходимый
 

Вложения

  • ChangeTeamPlayer.sp
    10.6 КБ · Просмотры: 8
  • ChangeTeamPlayer.smx
    10.1 КБ · Просмотры: 1

panikajo

Участник
Сообщения
866
Реакции
231
Странно, сблансировка не работает в конце раунда :(
 

m0rbit

Участник
Сообщения
720
Реакции
159
Господа, а можно добавить функцию чтобы ВСЕХ можно было в СПЕК перевести?
 

babka68

Участник
Сообщения
2,124
Реакции
956
Как сделать только для root?
Я предполагаю так,в исходнике заменить
Это
C-подобный:
    {
        g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_KICK);
        g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_KICK);
        g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_KICK);
    }
На это
C-подобный:
    {
        g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_ROOT);
        g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_ROOT);
        g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_ROOT);
    }
P.S могу ошибаться,так как знаний в этой сфере очень мало
Сообщения автоматически склеены:

Протестируй
 

Вложения

  • ChangeTeamPlayer.smx
    10.4 КБ · Просмотры: 2
  • ChangeTeamPlayer.sp
    10.6 КБ · Просмотры: 5

defron

Участник
Сообщения
342
Реакции
138
Я предполагаю так,в исходнике заменить
Это
C-подобный:
    {
        g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_KICK);
        g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_KICK);
        g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_KICK);
    }
На это
C-подобный:
    {
        g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_ROOT);
        g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_ROOT);
        g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_ROOT);
    }
P.S могу ошибаться,так как знаний в этой сфере очень мало
Сообщения автоматически склеены:

Протестируй
Спасибо, но я вчера сам это сделал)
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,920
  • Команда форума
  • #33
В админменю работают оверрайды, если что.
Последняя строка (которая идёт прямо перед флагом) вбивается в оверрайды, указывается нужный флаг, и... всё. Оно недоступно для всех, кроме рута.
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
А может кто нибуть сделать иммунитеты?
Что бы обычный админ не могу перекидывать ADMFLAG_ROOT например.
 

suicide_xD

Участник
Сообщения
213
Реакции
14
Было бы хорошо добавить кнопку назад при выборе игрока... Например нажал не на того игрока, приходится выходить из админ-меню и заново входить...
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,536
Реакции
5,000
@suicide_xD, добавил кнопки возврата назад во всех менюшках, проверяй (возможны некоторые косяки).

Ну и теперь скомпилится с помощью SM1.11 без предупреждений.
Заодно чуток уменьшил аппетиты на память:
SM1.11:
//// ChangeTeamPlayer 1.1.0.sp
//
// Code size:         15132 bytes
// Data size:         6388 bytes
// Stack/heap size:      16724 bytes
// Total requirements:   38244 bytes
//
// Compilation Time: 0,28 sec
// ----------------------------------------

//// ChangeTeamPlayer.sp
//
// Z:\ChangeTeamPlayer.sp(90) : warning 242: function "EVENTS" should return an explicit value
// Z:\ChangeTeamPlayer.sp(90) : warning 242: function "EVENTS" should return an explicit value
// Z:\ChangeTeamPlayer.sp(90) : warning 242: function "EVENTS" should return an explicit value
// Z:\ChangeTeamPlayer.sp(192) : warning 209: function has explicit 'int' tag but does not return a value
// Z:\ChangeTeamPlayer.sp(230) : warning 209: function has explicit 'int' tag but does not return a value
// Z:\ChangeTeamPlayer.sp(287) : warning 209: function has explicit 'int' tag but does not return a value
// Z:\ChangeTeamPlayer.sp(332) : warning 209: function has explicit 'int' tag but does not return a value
// Code size:         15668 bytes
// Data size:         11140 bytes
// Stack/heap size:      16724 bytes
// Total requirements:   43532 bytes
//
// 7 Warnings.
//
// Compilation Time: 0,28 sec
// ----------------------------------------
 

Вложения

  • ChangeTeamPlayer 1.1.0.sp
    10.4 КБ · Просмотры: 5

suicide_xD

Участник
Сообщения
213
Реакции
14
@suicide_xD, добавил кнопки возврата назад во всех менюшках, проверяй (возможны некоторые косяки).

Ну и теперь скомпилится с помощью SM1.11 без предупреждений.
Заодно чуток уменьшил аппетиты на память:
SM1.11:
//// ChangeTeamPlayer 1.1.0.sp
//
// Code size:         15132 bytes
// Data size:         6388 bytes
// Stack/heap size:      16724 bytes
// Total requirements:   38244 bytes
//
// Compilation Time: 0,28 sec
// ----------------------------------------

//// ChangeTeamPlayer.sp
//
// Z:\ChangeTeamPlayer.sp(90) : warning 242: function "EVENTS" should return an explicit value
// Z:\ChangeTeamPlayer.sp(90) : warning 242: function "EVENTS" should return an explicit value
// Z:\ChangeTeamPlayer.sp(90) : warning 242: function "EVENTS" should return an explicit value
// Z:\ChangeTeamPlayer.sp(192) : warning 209: function has explicit 'int' tag but does not return a value
// Z:\ChangeTeamPlayer.sp(230) : warning 209: function has explicit 'int' tag but does not return a value
// Z:\ChangeTeamPlayer.sp(287) : warning 209: function has explicit 'int' tag but does not return a value
// Z:\ChangeTeamPlayer.sp(332) : warning 209: function has explicit 'int' tag but does not return a value
// Code size:         15668 bytes
// Data size:         11140 bytes
// Stack/heap size:      16724 bytes
// Total requirements:   43532 bytes
//
// 7 Warnings.
//
// Compilation Time: 0,28 sec
// ----------------------------------------
Попробуем, спасибо Грей)
 
Сверху Снизу