[ZR] Zombie/Human prefix

Hankey Fake

Участник
Сообщения
27
Реакции
5
Ищу рабочий плагин для CS:S v34.
Префиксы в чате для зомби и людей.
В google.ru материала нет, либо битые ссылки, либо не работает сам плагин.

Если у кого-то завалялся - скиньте пожалуйста:)
 

Webman

Nevermind
Сообщения
803
Реакции
330
Пробуй

PHP:
#include <sourcemod>
#include <zombiereloaded>
#include <colors>

public OnPluginStart() 
{
    AddCommandListener(say, "say");
}

public Action:say(client, const String:command[], args) 
{ 
    if (client > 0 && args > 0) 
    {
        decl String:text[256];text[0] = '\0';
        GetCmdArgString(text, sizeof(text));
        StripQuotes(text);
            
        if(StrContains(text, "@") == 0 || StrContains(text, "/") == 0) return Plugin_Continue;

        if(strcmp(command, "say") == 0)
        {
            if (ZR_IsClientZombie(client))
                Format(text, sizeof(text), "{teamcolor}[Зомби] %N {default}:  %s", client, text);
            
            if (ZR_IsClientHuman(client))
                Format(text, sizeof(text), "{teamcolor}[Человек] %N {default}:  %s", client, text);
                
            CPrintToChatAllEx(client, "%s", text);
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}
 

Вложения

  • zr_prefix.smx
    6.1 КБ · Просмотры: 32

Hankey Fake

Участник
Сообщения
27
Реакции
5
Премного благодарен! Думаю вы не одному мне помогли:)
Не то, чтобы я наглею, но как замутить фильтрацию, чтобы не писались префиксы именно у клиентов VIP Core и по любому флагу Админа?
У меня просто свои префиксы там:)
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Премного благодарен! Думаю вы не одному мне помогли:)
Не то, чтобы я наглею, но как замутить фильтрацию, чтобы не писались префиксы именно у клиентов VIP Core и по любому флагу Админа?
У меня просто свои префиксы там:)

Открыть .inc файл своего випа и найти функцию на проверку игрока.
Открыть исходник любого плагина, который проверяет админ-права игрока.
???
Профит!
 

Webman

Nevermind
Сообщения
803
Реакции
330
Hankey Fake, Достаточно добавить условия.

Оффтоп
 

Hankey Fake

Участник
Сообщения
27
Реакции
5
Webman , Danyas , попробовал что-то сделать - не вышло.
Нашел пару нативов с vip core:
VIP_CheckClient
VIP_IsClientVIP,
а куда втиснуть не знаю.
Вообще не понимаю я скриптовых языков кодинга, очень уж много непонятных символов. По аналогии с другими языками программирования - не выходит.
Выручите?

Насколько я знаю, дописать пару if-условий не сложно:)
 
Последнее редактирование:

Webman

Nevermind
Сообщения
803
Реакции
330
PHP:
if (!VIP_IsClientVIP(client) || !GetUserFlagBits(client))
 

Hankey Fake

Участник
Сообщения
27
Реакции
5
PHP:
if (!VIP_IsClientVIP(client) || !GetUserFlagBits(client))

Как сделать проверку на отсутствие VIP?
Это проверка на наличие вип как я понял.
И как использовать несколько условий? :wacko:

P.S. Не выходит ничего, не понимаю ни черта

PHP:
            if (ZR_IsClientZombie(client) || not (!VIP_IsClientVIP(client) || !GetUserFlagBits(client)))
                Format(text, sizeof(text), "{teamcolor}[Зомби]\x01 %N :{teamcolor}  %s", client, text);

Так?

UPD
Спустя бесконечное кол-во попыток всё же что-то вышло рабочее для проверки наличия админки.
Жаль код скомпилил и удалил исходник:)
Помогите проверку наа vip сделать, я уже не в мощах:(
 
Последнее редактирование:

Webman

Nevermind
Сообщения
803
Реакции
330
Я тебе выше скидывал (в 7 посте) скинул условие проверки випа.

PHP:
if (ZR_IsClientZombie(client) && (!VIP_IsClientVIP(client) || !GetUserFlagBits(client)))
 

Hankey Fake

Участник
Сообщения
27
Реакции
5
PHP:
#include <sourcemod>
#include <zombiereloaded>
#include <colors>
#include <vip_core>

public OnPluginStart() 
{
    AddCommandListener(say, "say");
}

public Action:say(client, const String:command[], args) 
{ 
    if (client > 0 && args > 0) 
    {
        decl String:text[256];text[0] = '\0';
        GetCmdArgString(text, sizeof(text));
        StripQuotes(text);
            
        if(StrContains(text, "@") == 0 || StrContains(text, "/") == 0) return Plugin_Continue;

        if(strcmp(command, "say") == 0)
        {
            if (ZR_IsClientZombie(client) && (!VIP_IsClientVIP(client) || !GetUserFlagBits(client)))
                Format(text, sizeof(text), "{teamcolor}[Зомби]\x01 %N :{teamcolor}  %s", client, text);
            
            if (ZR_IsClientHuman(client) && (!VIP_IsClientVIP(client) || !GetUserFlagBits(client)))
				Format(text, sizeof(text), "\x04[Человек]\x01 %N :\x04  %s", client, text);
			
            CPrintToChatAllEx(client, "%s", text);
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}

Как было так и осталось.
 
Последнее редактирование:
Сверху Снизу