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

Черная вдова

Участник
Сообщения
2,795
Реакции
670
1)
SetEntityMoveType(client, MOVETYPE_NONE);
как сделать нормальную, нормальную стрельбу, те точность если игрок был в воздухе или бежал
2)
TR_TraceRayFilter(start, angle, MASK_SOLID, RayType_Infinite, TraceEntityFilterPlayer, client);
как сделать что бы это проходило сквозь это:
C-подобный:
int entity = CreateEntityByName("prop_physics_override");
if (IsValidEntity(entity))
{
   SetEntityModel(entity, "models/props/de_train/vending/vending_machine_old.mdl");
   SetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity", client);
   SetEntProp(entity, Prop_Data, "m_CollisionGroup", 1);
   SetVariantString("!activator");
   AcceptEntityInput(entity, "SetParent", client);
   DispatchSpawn(entity);
   SetEntityMoveType(entity, MOVETYPE_NONE);
   SetEntPropEnt(entity, Prop_Data, "m_hLastAttacker", client);
   SetEntityRenderMode(entity, RENDER_TRANSCOLOR);
 
Последнее редактирование:

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Уже не помню, но вроде если false возвращать, то он через все будет проходить.
public bool:TraceEntityFilterPlayer(entity, contentsMask, any:data)
{
if (IsValidClient(entity)) return false;
if (GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity") == data) return false;
return true;
}
Да спасибо разобрался
--- Добавлено позже ---
C-подобный:
int entity = CreateEntityByName("prop_physics_override");
if (IsValidEntity(entity))
{
   SetEntityModel(entity, "models/props/de_train/vending/vending_machine_old.mdl");
   SetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity", client);
   SetEntProp(entity, Prop_Data, "m_CollisionGroup", 1);
   SetVariantString("!activator");
   AcceptEntityInput(entity, "SetParent", client);
   DispatchSpawn(entity);
   SetEntityMoveType(entity, MOVETYPE_NONE);
   SetEntPropEnt(entity, Prop_Data, "m_hLastAttacker", client);
   SetEntityRenderMode(entity, RENDER_TRANSCOLOR);
Теперь надо что бы сквозь этот проп проходило ослепление :)
 
Последнее редактирование:

GGWP

Участник
Сообщения
7
Реакции
0
Как нанести урон игроку через point_hurt? Sourcemod 1.5.2, CSS:V34
 

Mensi1337

Участник
Сообщения
242
Реакции
16
Здорова всем кто может написать плагин что бы чат был общий. То есть все игроки сервера видели его. ?
(AllChat) не предлагать.
 
D

Devouring code

[CS:GO] Звук при смерти и прыжке игрока

По мне, так и не будет работать. Это для CS:S.
PHP:
#include <sdktools_stringtables>

#define SOUND_DOWNLOAD_DEATH    "sounds/foldermz/other/death.mp3"    //Полный путь звука при смерти игрока
#define SOUND_DOWNLOAD_JUMP        "sounds/foldermz/other/jump.mp3"    //Полный путь звука при прыжке игрока
#define SOUND_PLAY_DEATH        "foldermz/other/death.mp3"        //Проигрываемый звук при смерти игрока
#define SOUND_PLAY_JUMP            "foldermz/other/jump.mp3"        //Проигрываемый звук при прыжке игрока

public OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath);
    HookEvent("player_jump", Event_PlayerJump);
}

public OnMapStart()
{
    AddFileToDownloadsTable(SOUND_DOWNLOAD_DEATH);
    AddFileToDownloadsTable(SOUND_DOWNLOAD_JUMP);
}

public Event_PlayerDeath(Handle:event, String:name[], bool:dontBroacast)
ClientCommand(GetClientOfUserId(GetEventInt(event, "userid")), "playgamesound \"*/%s\"", SOUND_PLAY_DEATH);

public Event_PlayerJump(Handle:event, String:name[], bool:dontBroacast)
ClientCommand(GetClientOfUserId(GetEventInt(event, "userid")), "playgamesound \"*/%s\"", SOUND_PLAY_JUMP);
/del
 
Последнее редактирование модератором:

kleuser

Участник
Сообщения
1,838
Реакции
732
Может кто исправить ошибку, пожалуйста

C-подобный:
L 08/24/2017 - 00:33:24: [SM] Exception reported: Handle a1be032a is invalid (error 1)
L 08/24/2017 - 00:33:24: [SM] Blaming: respawn.smx
L 08/24/2017 - 00:33:24: [SM] Call stack trace:
L 08/24/2017 - 00:33:24: [SM]   [0] CloseHandle
L 08/24/2017 - 00:33:24: [SM]   [1] Line 110, D:\Dev\clear_sm18\scripting\respawn.sp::RoundEnd
L 08/24/2017 - 00:46:27: Error log file session closed.
 

Вложения

  • respawn.sp
    4.9 КБ · Просмотры: 8

Felton

Участник
Сообщения
799
Реакции
59
C-подобный:
/*
adminsounds.sp

Description:
    Allows admins to play sounds from a menu

Versions:
    1.0
        * Initial Release
    
    1.0.1
        * Increased the max number of sounds to 50
        * Added error checking on the number of sounds

*/


#include <sourcemod>
#include <sdktools>

#pragma semicolon 1

#define PLUGIN_VERSION "1.0.1"
#define MAX_FILE_LEN 100
#define MAX_SOUNDS 50
#define MAX_DISPLAY_LENGTH 100

// Plugin definitions
public Plugin:myinfo =
{
    name = "Admin Sounds",
    author = "dalto",
    description = "Allows admins to play sounds from a menu",
    version = PLUGIN_VERSION,
    url = "http://forums.alliedmods.net"
};

new String:g_displayNames[MAX_SOUNDS][MAX_FILE_LEN];
new String:g_soundNames[MAX_SOUNDS][MAX_DISPLAY_LENGTH];
new g_numSounds;

public OnPluginStart()
{
    // Create the rest of the cvar's
    CreateConVar("sm_admin_sounds_version", PLUGIN_VERSION, "Admin Sounds Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
    RegAdminCmd("sm_admin_sounds", AdminSoundsMenu, ADMFLAG_ROOT);
 
    LoadSounds();
}

// On map start we Precache the sound and add the file to the downloads table
public OnMapStart()
{
    decl String:buffer[MAX_FILE_LEN];
    for(new i = 0; i < g_numSounds; i++)
    {
        PrecacheSound(g_soundNames[i], true);
        Format(buffer, MAX_FILE_LEN, "sound/%s", g_soundNames[i]);
        AddFileToDownloadsTable(buffer);
    }
}

// Loads the soundsList array with the quake sounds
public LoadSounds()
{
    decl String:filename[MAX_FILE_LEN];
    BuildPath(Path_SM, filename, MAX_FILE_LEN, "configs/soundlist.txt");
    new Handle:hFile = OpenFile(filename, "r");
 
    if(hFile == INVALID_HANDLE)
    {
        SetFailState("addons/sourcemod/configs/soundlist.txt not found");
        return;
    }
 
    g_numSounds = 0;
    decl String:line[250];
    new pos;
    while(ReadFileLine(hFile, line, sizeof(line)) && g_numSounds < MAX_SOUNDS + 1)
    {
        if(!(line[0] == '/' && line[1] == '/'))
        {
            g_displayNames[g_numSounds][0] = 0;
            g_soundNames[g_numSounds][0] = 0;
            pos = BreakString(line, g_displayNames[g_numSounds], sizeof(g_displayNames[]));
            if(strcmp(g_displayNames[g_numSounds], ""))
            {
                strcopy(g_soundNames[g_numSounds], sizeof(g_soundNames[]), line[pos]);
                if(strcmp(g_soundNames[g_numSounds], ""))
                {
                    TrimString(g_soundNames[g_numSounds]);
                    g_numSounds++;
                }
            }
        }
    }
 
    CloseHandle(hFile);
}

public Action:AdminSoundsMenu(client, args)
{
    new Handle:menu = CreateMenu(AdminSoundsMenuHandler);
 
    SetMenuTitle(menu, "Admin Sounds");
 
    for(new i = 0; i < g_numSounds; i++)
    {
        AddMenuItem(menu, "admin sounds", g_displayNames[i]);
    }
 
    SetMenuExitButton(menu, true);

    DisplayMenu(menu, client, 20);
 
    return Plugin_Handled;
}

public AdminSoundsMenuHandler(Handle:menu, MenuAction:action, param1, param2)
{
    if(action == MenuAction_Select)
    {
        PlaySound(param2);
        AdminSoundsMenu(param1, 0);
    } else if(action == MenuAction_End)    {
        CloseHandle(menu);
    }
}

public PlaySound(soundKey)
{
    decl String:buffer[150];
    for(new i = 1; i <= GetMaxClients(); i++)
    {
        if(IsClientInGame(i) && !IsFakeClient(i))
        {
            Format(buffer, sizeof(buffer), "play %s", g_soundNames[soundKey]);
            ClientCommand(i, buffer);
        }
    }
}
Помогите с этим плагином adminsounds(использую его давно) [Любая игра] - Admin Sounds v.1.0.1
Нужно допилить его.Что бы когда в консоле пишеш sm_play 1 или sm_play 2 и так далее играла музыка.Это бвло реализовано в mani admin plugin когда в консоле прописываеш ma_play 1(1.2...и так далее и музыка играла по списку soundlist)Возможно такое реализовать?
Игра Counter-Strike Source (старушка)

И вот еще как сделать в меню админа что бы была кнопка не 0.Выход а 8.НазадВот скрин чтобы было понятней.
 

Вложения

  • de_piranesi0000.jpg
    de_piranesi0000.jpg
    182.4 КБ · Просмотры: 27
Последнее редактирование:

destrovere

Участник
Сообщения
41
Реакции
6
Дорогие товарищи форумчане!!!Есть отличная идея для проектов и серверов!Но нужен хороший скриптер!Реализовать можно как в ксс так и в кс го!Нужен хороший(отличный скриптер)!Все вопросы в личку!Но идея просто бомба!Интерес к игре ксс вернётся с новой силой!
 
Сверху Снизу