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

wilson.aka

Добрая душа
Сообщения
119
Реакции
49
@Tony, В 26

C-подобный:
stock bool:IsValidPlayer(client, bool:alive = false, team = -1)
{
    if(client>0 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client))
    {
        if(alive && IsPlayerAlive(client))
            return false;
        if(team != -1 && GetClientTeam(client) != team)
            return false;
            
        return true;
    }
    return false;
}
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
Я правильно понял что надо чтобы нельзя было использовать?
Может тогда так:
C-подобный:
new t =GetClientTeam(client);
  if(team != -1 && t  != team)
            return false;
if(t == 1)
            return false;
--- Добавлено позже ---
Замени это
stock bool:IsValidPlayer(client, bool:alive = false, team = -1) { if(client>0 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client)) { if(alive && !IsPlayerAlive(client)) return false; if(team != -1 && GetClientTeam(client) != team) return false; return true; } return false; }
На это:
PHP:
stock bool:IsValidPlayer(client, bool:alive = false, team = -1)
{
    if(client>0 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client))
    {
        if(alive && !IsPlayerAlive(client))
            return false;
        if(team != -1 && GetClientTeam(client) != team ||GetClientTeam(client) == 1 ) // или вместо " == 1 " можно поставить " < 2 "
            return false;
           
        return true;
    }
    return false;
}
 
Последнее редактирование:

yanpetrov

Участник
Сообщения
83
Реакции
6
Ищу плагин,например осталось до такого то праздника или акции времени: или истекает акция через:
 

Amirsz

Релаксируем... Ну хотя бы пытаемся
Сообщения
261
Реакции
81
Кто может сделать модуль бесшумной ходьбы для VIP R1KO?
 

Saro

Участник
Сообщения
14
Реакции
0
1. noblock в начале раунда на n промежуток времени;
2. afk killer на n промежуток времени
Перед смертью игроку пишет что то вроде этого
Начните двигаться или вы умрёте: 5 сек./4 сек./3 сек./2 сек./1 сек. "Игрок умирает".
 
Последнее редактирование:

HESOYAM

Участник
Сообщения
11
Реакции
0
Может кто поможет, пытаюсь сделать плагин, который не слепит только мертвых и спектаров.
Но что то не так явно идет, плагин работает, но от него идут логи.


#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#pragma tabsize 0

#define PLUGIN_VERSION "1.2"

new g_iClient;

public OnPluginStart()
{
HookEvent("flashbang_detonate", flashbang_detonate, EventHookMode_Pre);
HookEvent("player_blind", player_blind, EventHookMode_Post);
}

public Action:flashbang_detonate(Handle:event, const String:name[], bool:silent)
{
g_iClient = GetClientOfUserId(GetEventInt(event, "userid"));
return Plugin_Continue;
}

public player_blind(Handle:event, const String:name[], bool:silent)
{
CreateTimer(0.01, TIMER_player_blind, GetEventInt(event, "userid"));
}

public Action:TIMER_player_blind(Handle:timer, any:client)
{
if (g_iClient && IsClientInGame(client) && !IsPlayerAlive(client) && GetClientTeam(client) == 1)
{
SetEntPropFloat(client, Prop_Send, "m_flFlashDuration", 0.0);
SetEntPropFloat(client, Prop_Send, "m_flFlashMaxAlpha", 0.0);
ClientCommand(client, "dsp_player 0.0");
}
return Plugin_Stop;
}
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Может кто поможет, пытаюсь сделать плагин, который не слепит только мертвых и спектаров.
Но что то не так явно идет, плагин работает, но от него идут логи.


#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#pragma tabsize 0

#define PLUGIN_VERSION "1.2"

new g_iClient;

public OnPluginStart()
{
HookEvent("flashbang_detonate", flashbang_detonate, EventHookMode_Pre);
HookEvent("player_blind", player_blind, EventHookMode_Post);
}

public Action:flashbang_detonate(Handle:event, const String:name[], bool:silent)
{
g_iClient = GetClientOfUserId(GetEventInt(event, "userid"));
return Plugin_Continue;
}

public player_blind(Handle:event, const String:name[], bool:silent)
{
CreateTimer(0.01, TIMER_player_blind, GetEventInt(event, "userid"));
}

public Action:TIMER_player_blind(Handle:timer, any:client)
{
if (g_iClient && IsClientInGame(client) && !IsPlayerAlive(client) && GetClientTeam(client) == 1)
{
SetEntPropFloat(client, Prop_Send, "m_flFlashDuration", 0.0);
SetEntPropFloat(client, Prop_Send, "m_flFlashMaxAlpha", 0.0);
ClientCommand(client, "dsp_player 0.0");
}
return Plugin_Stop;
}
g_iClient это вообще кто и для чего по-твоему ?
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Может кто поможет, пытаюсь сделать плагин, который не слепит только мертвых и спектаров.
Но что то не так явно идет, плагин работает, но от него идут логи.
Код в эту штуку пихай, а не просто Ctrl+V.
Там выбираешь PHP и вставляй код.
upload_2017-6-7_19-1-59.png
 

Fox1qqq

Крякнем, плюнем и надежно склеим скотчем!
Сообщения
247
Реакции
145
Люди есть у кого нить пример как сделать таймер в чате? Просто надо к другом плагину прикрутить .
 

HESOYAM

Участник
Сообщения
11
Реакции
0
Код в эту штуку пихай, а не просто Ctrl+V.
Там выбираешь PHP и вставляй код.
Посмотреть вложение 23711
Не по глазам было)
--- Добавлено позже ---
g_iClient это вообще кто и для чего по-твоему ?
Я не так давно в сурс мод пришел, могу ошибаться, но как я понимаю это сохраняет ид игрока или что то такое.
 
Сверху Снизу