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

gtixon

Участник
Сообщения
1,078
Реакции
401
gtixon, мог бы сам вставить код отсюда: Написание плагинов
C-подобный:
public OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath);
}

public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    if(!attacker) return;

    new health = GetClientHealth(attacker);
    if(health < 100)
    {
        health += 20;    // здесь ставим свой инкремент
        SetEntityHealth(attacker, health > 100 ? 100 : health);
    }
   
    PerformFade(attacker, 600, {62, 255, 107, 70});
}

PerformFade(client, duration, const color[4])
{
    new Handle:message = StartMessageOne("Fade", client);
    PbSetInt(message, "duration", duration);
    PbSetInt(message, "hold_time", 0);
    PbSetInt(message, "flags", 0x0001);
    PbSetColor(message, "clr", color);
    EndMessage();
}
Спасибо, работает. А как я могу проиграть звук для игрока котрый убил?
Я так понимаю мне нужно взять переменную attaker, прекешировать звук, и исполнить его для игрока?
 

Туник

Участник
Сообщения
1,281
Реакции
263
Grey83
Можешь помочь скомпилировать плагин?
 

Вложения

  • ServersInfo.sp
    6.3 КБ · Просмотры: 14

Туник

Участник
Сообщения
1,281
Реакции
263
Судя по enum struct для компиляции нужен SM1.10 и всё
Ребята помогите с цветом текста в плагине
Хочу сделать в 2 цвета пример на скрине
{LIGHTBLUE}
{DEFAULT}Посмотреть вложение 48372
Чуть выше скинули готовый вариант но он опять же много цветный, где именно поправить цвета в нем чтобы было как на скрине? Вот пример хочу подключить
#include <csgo_colors>
Обновил компилятор до 1.10 все равно выдает ошибки
 

Вложения

  • ServersInfo.sp
    6.3 КБ · Просмотры: 8
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
arbigon, у тебя инклюд *colors не подключен, чтобы можно было использовать цвета типа {BLUE}
Вот тебе список цветов для КСГО:
C-подобный:
"{DEFAULT}"        = "\x01"
"{RED}"            = "\x02"
"{TEAM}"        = "\x03"
"{GREEN}"        = "\x04"
"{LIME}"        = "\x05"
"{LIGHTGREEN}"    = "\x06"
"{LIGHTRED}"    = "\x07"
"{GRAY}"        = "\x08"
"{LIGHTOLIVE}"    = "\x09"
"{OLIVE}"        = "\x10"
"{BLUEGREY}"    = "\x0A"
"{LIGHTBLUE}"    = "\x0B"
"{BLUE}"        = "\x0C"
"{PURPLE}"        = "\x0E"
"{LIGHTRED2}"    = "\x0F"
И ещё: чтобы использовать цвета в чате КСГО в начале строки нужно добавить пробел.
Т.е. нужно было сделать так: PrintToChatAll(" {LIGHTBLUE}Список наших серверов -{DEFAULT} !servers"); ==> PrintToChatAll(" \x0BСписок наших серверов - \x01!servers");
 

Туник

Участник
Сообщения
1,281
Реакции
263
CGOPrintToChatAll(" {LIGHTBLUE}Список наших серверов -{DEFAULT} !servers"); так и прописано с пробелами, но не компилит плагин
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
CGOPrintToChatAll(" {LIGHTBLUE}Список наших серверов -{DEFAULT} !servers"); так и прописано с пробелами, но не компилит плагин
А ты хоть инклюд подключил, чтобы CGOPrintToChatAll компилился?
Да и не нужен никакой инклюд для раскраски текста в КСГО: цветов всего 15 (это не КСС, где 16 миллионов доступных оттенков) и достаточно где-то на бумажке записать эти цвета.
 

Туник

Участник
Сообщения
1,281
Реакции
263
А ты хоть инклюд подключил, чтобы CGOPrintToChatAll компилился?
Да и не нужен никакой инклюд для раскраски текста в КСГО: цветов всего 15 (это не КСС, где 16 миллионов доступных оттенков) и достаточно где-то на бумажке записать эти цвета.
естественно подключил, но скомпилить не могу, выдает ошибки те что выше указал, sm 1.10
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
arbigon, ну так что за ошибка при компиляции?
Я так её и не увидел до сих пор.
И да, не надолепить картику в коммент без спойлера (да и вообще достаточно прикрепить её к комменту, а не вставлять в его текст)
 

Туник

Участник
Сообщения
1,281
Реакции
263
Ошибки
//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// ServersInfo.sp
//
// C:\Users\admin\Desktop\Compillyator\addons\sourcemod\scripting\include\string.inc(444) : warning 219: local variable "i" shadows a variable at a preceding level
// C:\Users\admin\Desktop\Compillyator\addons\sourcemod\scripting\include\string.inc(454) : warning 219: local variable "i" shadows a variable at a preceding level
// C:\Users\admin\Desktop\Compillyator\addons\sourcemod\scripting\include\menus.inc(368) : warning 219: local variable "i" shadows a variable at a preceding level
// C:\Users\admin\Desktop\Compillyator\addons\sourcemod\scripting\include\halflife.inc(381) : warning 219: local variable "i" shadows a variable at a preceding level
// C:\Users\admin\Desktop\Compillyator\addons\sourcemod\scripting\include\colors.inc(442) : warning 219: local variable "i" shadows a variable at a preceding level
// C:\Users\admin\Desktop\ServersInfo.sp(18) : error 001: expected token: "{", but found "struct"
// C:\Users\admin\Desktop\ServersInfo.sp(20) : error 001: expected token: "public", but found "char"
// C:\Users\admin\Desktop\ServersInfo.sp(21) : error 001: expected token: "}", but found "int"
// C:\Users\admin\Desktop\ServersInfo.sp(32) : error 054: unmatched closing brace ("}")
// C:\Users\admin\Desktop\ServersInfo.sp(61) : error 017: undefined symbol "g_Servers"
// C:\Users\admin\Desktop\ServersInfo.sp(63) : error 017: undefined symbol "g_Servers"
// C:\Users\admin\Desktop\ServersInfo.sp(63) : warning 215: expression has no effect
// C:\Users\admin\Desktop\ServersInfo.sp(63) : error 001: expected token: ";", but found "]"
// C:\Users\admin\Desktop\ServersInfo.sp(63) : error 029: invalid expression, assumed zero
// C:\Users\admin\Desktop\ServersInfo.sp(63) : fatal error 190: too many error messages on one line
//
// Compilation aborted.
// 9 Errors.
//
Правильно прописал? Вот исходник.
 

Вложения

  • ServersInfo.sp
    6.3 КБ · Просмотры: 6
Последнее редактирование модератором:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
Потому что у компилируемого Вами плагина нет поддержки SM 1.9.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980

Вложения

  • ServersInfo (1).sp
    6 КБ · Просмотры: 11
  • socket.inc
    16.5 КБ · Просмотры: 9
  • ServersInfo (1).smx
    8.2 КБ · Просмотры: 4

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
StrAnn1k, держи:
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <cstrike>

public Plugin myinfo =
{
    name        = "AdminTag",
    version        = "2.1.0",
    description    = "Private plugin",
    author        = "KeepCalm"
};


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

public void OnClientPutInServer(int client)
{
    SetTag(client);
}

public void Event_Player(Event event, char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    if(client) SetTag(client);
}

stock void SetTag(int client)
{
    static int flags;
    if((flags = GetUserFlagBits(client)) & ADMFLAG_ROOT)
        CS_SetClientClanTag(client, "[OWNER]");
    else if(flags & ADMFLAG_CUSTOM6)
        CS_SetClientClanTag(client, "[MODERATOR]");
    else if(flags & ADMFLAG_BAN)
        CS_SetClientClanTag(client, "[ADMIN]");
    else if(flags & ADMFLAG_KICK)
        CS_SetClientClanTag(client, "[HELPER]");
    else if(flags & ADMFLAG_CUSTOM1)
        CS_SetClientClanTag(client, "[VIP]");
    else if(flags & ADMFLAG_RESERVATION)
        CS_SetClientClanTag(client, "[SLOT]");
}
 

StrAnn1k

Участник
Сообщения
237
Реакции
23
StrAnn1k, держи:
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <cstrike>

public Plugin myinfo =
{
    name        = "AdminTag",
    version        = "2.1.0",
    description    = "Private plugin",
    author        = "KeepCalm"
};


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

public void OnClientPutInServer(int client)
{
    SetTag(client);
}

public void Event_Player(Event event, char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    if(client) SetTag(client);
}

stock void SetTag(int client)
{
    static int flags;
    if((flags = GetUserFlagBits(client)) & ADMFLAG_ROOT)
        CS_SetClientClanTag(client, "[OWNER]");
    else if(flags & ADMFLAG_CUSTOM6)
        CS_SetClientClanTag(client, "[MODERATOR]");
    else if(flags & ADMFLAG_BAN)
        CS_SetClientClanTag(client, "[ADMIN]");
    else if(flags & ADMFLAG_KICK)
        CS_SetClientClanTag(client, "[HELPER]");
    else if(flags & ADMFLAG_CUSTOM1)
        CS_SetClientClanTag(client, "[VIP]");
    else if(flags & ADMFLAG_RESERVATION)
        CS_SetClientClanTag(client, "[SLOT]");
}
и еще возможно сделать что бы чат можно было сделать и меню сделать что бы можно было включить выключить
 
Сверху Снизу