Написание плагинов

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

Вложения

  • BotModelColors_v0.1.0.sp
    1.3 КБ · Просмотры: 13
D

dr lex

Подскажите где я затупил, или не так сделал?
Пример: при наличии у игрока в нике #z должна срабатывать команда sm_z и убираться #z из ника.
C-подобный:
#include <sourcemod>
#pragma newdecls required

public void OnPluginStart()
{
    HookEvent("player_spawn", PlayerSpawnModel);
}

public void PlayerSpawnModel(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    if (IsClientInGame(client))
    {
        if (IsPlayerAlive(client))
        {
            char clientname[MAX_NAME_LENGTH];
            GetClientName(client, clientname, sizeof(clientname));
            ReplaceString(clientname, sizeof(clientname), "#z", "", false), FakeClientCommand(client, "sm_z");
            ReplaceString(clientname, sizeof(clientname), "#n", "", false), FakeClientCommand(client, "sm_n");
            ReplaceString(clientname, sizeof(clientname), "#e", "", false), FakeClientCommand(client, "sm_e");
            ReplaceString(clientname, sizeof(clientname), "#c", "", false), FakeClientCommand(client, "sm_c");
            ReplaceString(clientname, sizeof(clientname), "#r", "", false), FakeClientCommand(client, "sm_r");
            ReplaceString(clientname, sizeof(clientname), "#b", "", false), FakeClientCommand(client, "sm_b");
            ReplaceString(clientname, sizeof(clientname), "#f", "", false), FakeClientCommand(client, "sm_f");
            ReplaceString(clientname, sizeof(clientname), "#l", "", false), FakeClientCommand(client, "sm_l");
        }
    }
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
убираться #z из ника
Убирается, но после изменения нужно установить игроку этот самый ник. Оффтоп
ReplaceString(clientname, sizeof(clientname), "#z", "", false), FakeClientCommand(client, "sm_z");
Это уже ненормально.
 

bopppoda

Участник
Сообщения
39
Реакции
1
ПОМОГИТЕ переделать плагин чтобы у жертве на следуйщий раунд был на 1 раунд скин и чтобы в руках был только нож и увеличенная скорость ну не быстрая , а у убивщего его нечего и чтоб не какого меню небыло.
--- Добавлено позже ---
 

Вложения

  • es_knife_bonus_12.txt
    4.2 КБ · Просмотры: 7
  • kb.cfg
    132 байт · Просмотры: 4
Последнее редактирование:

denis.kobzev.rzn

Участник
Сообщения
4
Реакции
0
Убрал плагин funcommands из админки, чтобы не было различных "балований".
Но нужен плагин ноклипа.
1.Admin noclip
2.По команде в чат !admnc выдается ноклип, так же нужно, чтобы этот ноклип можно было выдать кому-то.К примеру, при написании команды !admnc nickname, игроку с данным ником будет выдан ноклип.
Еще хотелось, чтобы ко всему этому велись логи, показывающие кто и кому выдал ноклип.
 

8Ahnenerbe8

Участник
Сообщения
113
Реакции
30
@denis.kobzev.rzn,
PHP:
#include <sourcemod>

public OnPluginStart()
{
    RegAdminCmd("sm_admnc", Admin_Noclip, ADMFLAG_ROOT);
}

public Action:Admin_Noclip(int client,int args)
{
    if(args != 0)
    {
        new String:name[MAX_NAME_LENGTH];
        GetCmdArgString(name, sizeof(name));
      
        new Target = FindTarget(client, name, true, false);
      
        if(Target != -1)
        {
            if(GetEntityMoveType(Target) != MOVETYPE_NOCLIP)
            {
                SetEntityMoveType(Target, MOVETYPE_NOCLIP);
            }
            else
            {
                SetEntityMoveType(Target, MOVETYPE_WALK);
            }
          
            LogMessage("%L включил noclip для %L", client, Target);
        }
    }
    else
    {
        if(IsPlayerAlive(client))
        {
            if(GetEntityMoveType(client) != MOVETYPE_NOCLIP)
            {
                SetEntityMoveType(client, MOVETYPE_NOCLIP);
            }
            else
            {
                SetEntityMoveType(client, MOVETYPE_WALK);
            }
          
            LogMessage("%L включил себе noclip", client);
        }
        else
        {
            PrintToChat(client, "Вы должны быть живым, чтобы включить noclip!")
        }
    }
  
    return Plugin_Handled;
}
 
Последнее редактирование:

DINONAG

Участник
Сообщения
23
Реакции
4
В конце раунда удалит выданное оружие.
Надо ли над этим файлом делать комплиляцию? просто он выдает ошибку при комплиляции, а если просто кинуть его в папку scripting все равно авп остается! Помогите пожалуйста.
 

MaEStro71

Участник
Сообщения
163
Реакции
21
Надо ли над этим файлом делать комплиляцию? просто он выдает ошибку при комплиляции, а если просто кинуть его в папку scripting все равно авп остается! Помогите пожалуйста.
В папке scripting находятся исходники плагинов, которые ты можешь отредактировать, а затем скомпилировать из них плагины.
Естественно у тебя не будет ни каких изменений, если ты плагин не скомпилировал.
 

DINONAG

Участник
Сообщения
23
Реакции
4
В папке scripting находятся исходники плагинов, которые ты можешь отредактировать, а затем скомпилировать из них плагины.
Естественно у тебя не будет ни каких изменений, если ты плагин не скомпилировал.
Все сделал обновил контент хостинг и перезапустил сервер, но он начал крашится и перезапускатся
 

8Ahnenerbe8

Участник
Сообщения
113
Реакции
30
@DINONAG, не понимаю,при чем тут контент-хостинг вообще?
Логи последние прикрепи
 

DINONAG

Участник
Сообщения
23
Реакции
4

Вложения

  • errors_20160729.txt
    39.7 КБ · Просмотры: 7
Сверху Снизу